Các đặc trưng của giao tiếp USB

Một phần của tài liệu CÔNG NGHỆ RFID và ỨNG DỤNG (Trang 73)

Giao tiếp USB có những đặc trưng như liệt kê ở dưới đây:

• Mở rộng tới 127 thiết bị có thể kết nối cùng vào một máy tính trên một cổng USB duy nhất (bao gồm các hub USB)

• Những sợi cáp USB riêng lẻ có thể dài tới 5 mét; với những hub, có thể kéo dài tới 30 mét (6 sợi cáp nối tiếp nhau thông qua các hub) tính từ đầu cắm trên máy tính.

• Với USB 2.0 (tốc độ cao), đường truyền đạt tốc độ tối đa đến 480 Mbps.

• Cáp USB gồm hai sợi nguồn (+5V và dây chung GND) cùng một cặp gồm

hai sợi dây xoắn để mang dữ liệu.

• Trên sợi nguồn, máy tính có thể cấp nguồn lên tới 500mA ở điện áp 5V một chiều (DC).

• Những thiết bị tiêu thụ công suất thấp (ví dụ: chuột, bàn phím, loa máy tính công suất thấp...) được cung cấp điện năng cho hoạt động trực tiếp từ các cổng USB mà không cần có sự cung cấp nguồn riêng (thậm trí các thiết bị giải trí số như SmartPhone, PocketPC ngày nay sử dụng các cổng USB để xạc pin). Với các thiết bị cần sử dụng nguồn công suất lớn (như máy in, máy quét...) không sử dụng nguồn điện từ đường truyền USB như nguồn chính

mức điện thế của tín hiệu. Hub có thể có nguồn cấp điện riêng để cấp điện thêm cho các thiết bị sử dụng giao tiếp USB cắm vào nó bởi mỗi cổng USB chỉ cung cấp một công suất nhất định.

• Những thiết bị USB có đặc tính cắm nóng, điều này có nghĩa các thiết bị có thể được kết nối (cắm vào) hoặc ngắt kết nối (rút ra) trong mọi thời điểm mà người sử dụng cần mà không cần phải khởi động lại hệ thống.

• Nhiều thiết bị USB có thể được chuyển về trạng thái tạm ngừng hoạt động khi máy tính chuyển sang chế độ tiết kiệm điện.

2.2.1.3 Chuẩn giao tiếp USB 2.0

Chuẩn giao tiếp USB 2.0 được đưa ra vào tháng tư năm 2000 và được xem như là bản nâng cấp của USB1.1. USB 2.0 (USB với loại tốc độ cao) mở rộng băng thông cho ứng dụng đa truyền thông và truyền với tốc độ nhanh hơn 40 lần so với USB 1.1 . Để có sự chuyển tiếp các thiết bị mới và cũ, USB 2.0 có đầy đủ khả năng tương thích ngược với những thiết bị USB trước đó và cũng hoạt động tốt với những sợi cáp, đầu cắm dành cho cổng USB trước đó.

Hình 2.24 Đầu nối chuẩn giao tiếp USB2.0

Hỗ trợ ba chế độ tốc độ (1,5 Mbps; 12 Mbps và 480 Mbps), USB 2.0 hỗ trợ những thiết bị chỉ cần băng thông thấp như bàn phím và chuột, cũng như thiết bị cần băng thông lớn như Webcam, máy quét, máy in, máy quay và những hệ thống lưu trữ lớn. Sự phát triển của chuẩn USB 2.0 đã cho phép những nhà phát triển phần cứng phát triển các thiết bị giao tiếp nhanh hơn, thay thế các chuẩn giao tiếp song song và tuần tự cổ điển trong công nghệ máy tính. USB 2.0 và các phiên bản kế tiếp của nó trong tương lai sẽ giúp các máy tính có thể đồng thời làm việc với nhiều thiết bị ngoại vi hơn.

2.2.1.4 Chuẩn giao tiếp USB 3.0

Ở đồ án này tôi không sử dụng chuẩn USB 3.0 mà sử dụng chuẩn USB 2.0 để thực hiện giao tiếp giữa reader và máy tính. Tuy nhiên đây là một chuẩn mới ra đời vào năm 2009 với nhiều ưu điểm nổi trội so với chuẩn 2.0. Nên tôi xin phép được giới thiệu qua ở đây.

Được mệnh danh là USB “siêu tốc độ”, USB 3.0 là chuẩn mới nhất trong giao tiếp giữa máy tính và các thiết bị ngoại vi (máy ảnh số, thiết bị nghe nhạc cầm tay,

điện thoại, ổ cứng di động...). Nó là sự thay thế cho chuẩn USB 2.0 vốn được mệnh danh là “tốc độ cao”.

USB 2.0 có tốc độ truyền tải dữ liệu tối đa là 480 Mbps. Chuẩn giao tiếp mới có tốc độ nhanh gấp 10 lần chuẩn cũ. Tức là tốc độ của USB 3.0 đạt gần 5 Gbps. Với chuẩn giao tiếp mới này, thời gian để truyền đi 25 GB sẽ giảm xuống chỉ còn khoảng 70 giây - một con số vô cùng ấn tượng. Và ta sẽ còn cảm thấy bất ngờ hơn, khi cùng với tiến trình xử lý này, USB 2.0 mất khoảng 14 phút, trong khi đó chuẩn USB 1.1 phải mất đến 9 giờ.

Không giống với USB 2.0 dữ liệu chỉ có thể truyền một hướng tại một thời điểm xác định thì USB 3.0 lại có khả năng đọc ghi dữ liệu đồng thời. Để làm được kiểu này, nhà sản xuất đã thêm 4 kết nối mới (2 để truyền và 2 để nhận dữ liệu) nâng tổng số kết nối lên 8 (so với 4 của USB 2.0).

Hình 2.25 Đầu nối chuẩn giao tiếp USB3.0

USB 3.0 được thiết kế với hiệu suất cải thiện hơn so với người tiền nhiệm của nó. Khi bắt đầu dòng điện chỉ tăng từ 500 tới 900 mA. Điều này giúp làm tăng tính ổn định, cho phép máy tính và USB hub có thể kết nối tới nhiều thiết bị ngoại vi hơn.

2.2.2 Lớp định nghĩa HID

Ở đây ta chỉ nói đến lớp HID được sử dụng với chuẩn giao tiếp USB 2.0. Lớp

HID bao gồm các thiết bị cơ bản được sử dụng bởi con người để điều khiển thao tác của các hệ thống tính toán. Các ví dụ điển hình của lớp HID bao gồm:

• Các thiết bị bàn phím và con trỏ - ví dụ, các thiết bị chuột máy tính tiêu chuẩn, các quả bóng xoay, và các cần điều khiển.

• Các bộ phận điều khiển tìm thấy trong các thiết bị chẳng hạn như điện thoại, điều khiển từ xa, các thiết bị trò chơi hoặc mô phỏng.

• Các thiết bị không cần tới thao tác của con người nhưng cung cấp dữ liệu theo định dạng giống như lớp thiết bị HID – ví dụ, các máy đọc mã vạch, nhiệt kế đo nhiệt độ, hoặc vôn kế.

Thông tin về bản thân một thiết bị USB được lưu trữ bên trong các segment của bộ nhớ ROM của nó. Các segment này được gọi là các descriptor. Một giao diện

descriptor có thể nhận dạng một thiết bị như là thuộc về một trong số các lớp đã được định nghĩa của nó.

Một thiết bị lớp HID sẽ sử dụng một tham chiếu tới trình điều khiển lớp HID

để lấy dữ liệu và định tuyến nó.Và công đoạn này được hoàn thành bằng việc kiểm tra các descriptor của thiết bị và dữ liệu nó cung cấp.

Hình 2.26 Tham chiếu giữa trình điều khiển lớp HID và thiết bị HID Descriptor của thiết bị lớp HID được sử dụng để nhận dạng các descriptor của lớp HID khác tại thời điểm hiện tại và cho biết các kích thước của chúng. Ví dụ, các descriptor Report Physical như chỉ ra ở hình dưới đây:

Hình 2.27 Ví dụ về descriptor của thiết bị lớp HID

Một descriptorreport mô tả mỗi phần dữ liệu mà thiết bị sinh ra và đo lường dữ liệu trong thực tế là gì. Ví dụ, nó định nghĩa các mục để mô tả một vị trí hoặc trạng thái nút bấm. Thông tin về các mục này sẽ được sử dụng để:

• Quyết định định tuyến đầu vào ở đâu .

• Cho phép phần mềm thao tác các chức năng đầu vào.

Bằng cách kiểm tra một mục (còn được gọi là descriptor report) trình điều khiển của lớp HID có thể quyết định kích thước và bố cục dữ liệu được báo cáo từ thiết bị lớp HID.

Descriptor physical thiết lập các descriptor tùy chọn để cung cấp thông tin các phần hoặc các bộ phận trên cơ thể con người được sử dụng để kích hoạt bộ điều khiển trên một thiết bị.

Tất cả những cái này có thể được kết hợp lại để minh họa cấu trúc descriptor

Hình 2.28 Cấu trúc các descriptor của thiết bị lớp HID

2.2.2.2 Mô hình hoạt động

Tại mức cao nhất, một descriptor bao gồm hai bảng thông tin được tham chiếu tới là descriptor device và descriptor string. Với thiết bị theo chuẩn giao tiếp USB thì descriptor device sẽ chịu trách nhiệm chỉ ra mã số sản phẩm ( product ID) và các thông tin khác về thiết bị đó. Ví dụ, descriptor device có thể bao gồm các trường thông tin cơ bản sau:

• Các thông tin về lớp (Class)

• Các thông tin về phân lớp (Subclass)

• Các thông tin về nhà sản xuất (Vendor)

• Các thông tin về sản phẩm (Product)

• Các thông tin về phiên bản của sản phẩm (Version) Với các thiết bị lớp HID thì hơi có sự khác biệt ở chỗ :

• Kiểu lớp không được định nghĩa tại mức descriptor device của thiết bị. Mà nó sẽ được định nghĩa bởi descriptor interface.

• Trường phân lớp được sử dụng để nhận dạng các thiết bị khởi động .

Trước đây các descriptor được minh họa bằng các sơ đồ các mục dữ liệu được biểu diễn dưới dạng các bảng thông tin. Mỗi bảng thông tin có thể được sử dụng như một khối dữ liệu.Tuy nhiên hiện tại thay vì làm theo cách đó, các descriptor report sẽ bao gồm nhiều đoạn thông tin. Mỗi đoạn thông tin được gọi là một danh mục (item) như hình minh họa dưới đây.

Hình 2.29 Các descriptor report bao gồm các đoạn thông tin là các danh mục Một danh mục là một đoạn thông tin về thiết bị. Tất cả các danh mục đều có một byte đầu tiên để chứa thẻ danh mục, kiểu danh mục, và kích thước danh mục.

Hình 2.30 Cấu trúc một danh mục

Một danh mục có thể bao gồm các dữ liệu tùy chọn của danh mục đó. Kích thước của phần dữ liệu đó được quyết định bởi kiểu cơ sở của danh mục đó. Có hai kiểu danh mục cơ sở là: các danh mục ngắn và các danh mục dài. Nếu là một danh mục ngắn, thì kích thước phần dữ liệu của nó có thể là 0, 1, 2, hoặc 4 byte. Còn nếu là kiểu danh mục dài, thì giá trị tham số bSize luôn luôn là 2. Dưới đây là ví dụ minh họa các giá trị có thể ở bên trong một byte đầu tiên cho một danh mục dài.

Hình 2.31 Ví dụ về một danh mục dài

2.2.3 Vi điều khiển PIC18F2550 và sơ đồ khối mạch điều khiển

Vi điều khiển PIC18F2550 nằm trong họ PIC18 ,là dòng vi điều khiển PIC có tính thực thi cao của hãng Microchip. Đây là dòng vi điều khiển được sử dụng nhiều trong các ứng dụng hệ thống nhúng công nghiệp. Dưới đây ta sẽ tìm hiểu qua về vi điều khiển PIC18F2550 ,một thành viên tiêu biểu của họ mà tôi đã lựa chọn để sử dụng vì tính thân thiện với các ứng dụng nhỏ của sinh viên .

Thông qua công nghệ Nanowat, hãng Microchip đã đưa vào bên trong thiết bị PIC18F2550 các chức năng đặc trưng mà khiến nó có thể giảm được đáng kể sự tiêu thụ năng lượng trong suốt quá trình hoạt động.Bao gồm như:

• Các chế độ chạy xen kẽ: Bằng cách tạo xung nhịp cho khối điều khiển từ nguồn Timer1 hoặc từ khối tạo dao động ở bên trong , năng lượng tiêu thụ trong suốt quá trình thực thi mã có thể giảm được tới 90%.

• Các chế độ Idle: Khối điều khiển cũng có thể chạy với lõi CPU của nó không hoạt động nhưng các thiết bị ngoại vi vẫn ở trạng thái hoạt động. Trong các trạng thái này,năng lượng tiêu thụ có thể giảm tới mức thấp hơn nữa, ít nhất là bằng 4% mức cần thiết trung bình để hoạt động.

• Chế độ chuyển mạch on-the-fly: Các chế độ quản lý năng lượng được gọi ra bởi người dùng trong suốt quá trình thao tác mã, cho phép họ có thể đưa ra các ý tưởng tiết kiệm năng lượng vào bên trong các thiết kế phần mềm của ứng dụng.

• Các chế độ khóa tiêu thụ ít năng lượng: khiến cho năng lượng cần cho cả bộ Timer1 và bộ Watchdog Timer là rất nhỏ.

Khi nói đến các dòng vi điều khiển hay vi xử lý nói chung, thì không thể không nhắc tới bộ tạo xung dao động cho nó. Với thiết bị PIC18F2550 cùng các anh chị trong họ của nó (như PIC18F2455,PIC18F4550,...) đã được Microchip hỗ trợ lên tới mười hai lựa chọn chế độ dao động khác nhau,vì vậy người dùng sẽ tùy biến hơn rất nhiều trong việc thiết kế phần cứng ứng dụng so với các loại vi điều khiển khác. Nó bao gồm:

• Bốn chế độ dao động tinh thể bằng cách sử dụng các bộ cộng hưởng tinh thể hoặc ceramic.

• Bốn chế độ dao động xung ở bên ngoài.

• Một khối tạo dao động ở bên trong cung cấp một xung tín hiệu có tần số 8 MHz (với độ chính xác là ±2%) và một nguồn INTRC (khoảng 31 kHz),cũng như là một phạm vi sáu tần số xung người dùng có thể lữa chọn,nằm giữa 125 kHz và 4 MHz, trong tổng số tám kiểu tần số xung.

• Một bộ nhân tần số PLL ,có thể bao gồm cả chế độ dao động tinh thể tốc độ cao và các chế độ dao động ở bên ngoài, cho phép tốc độ xung có một phạm vi rộng từ 4 MHz tới 48 MHz.

• Hai xung hoạt động không đồng bộ với nhau, cho phép module USB có thể

chạy được với bộ tạo dao động tần số cao trong khi phần còn lại của vi điều khiển thì được tạo xung dao động từ một bộ tạo dao động công suất thấp ở bên trong.

Ngoài ra thiết bị PIC18F2550 còn được đưa vào một mô đun truyền thông USB đầy đủ phù hợp với các đặc điểm kỹ thuật của chuẩn USB 2.0. Mô đun hỗ trợ cả hai kiểu truyền thông low-speedfull-speed cho tất cả các kiểu dữ liệu mà nó hỗ trợ. Nó cũng được tích hợp thêm một bộ thu-phát và bộ điều chỉnh điện áp 3.3V trên chip của nó và hỗ trợ sử dụng với các bộ thu- phát và bộ điều chỉnh điện áp ở bên ngoài.

Dưới đây là hình dạng đóng gói của thiết bị PIC18F2550 trong thực tế cùng tên các chân của chúng:

Hình 2.32 Hình dạng đóng gói vi điều khiển PIC18F2550

Trong đồ án này , thì vi điều khiển PIC18F2550 có thể nói là thành phần quan trọng nhất. Nó thực hiện hai nhiệm vụ chính là:

• Kết nối với chip RFID EM4095 để nhận kết quả mã số thẻ trả về và lưu trữ trong bộ nhớ ROM ,đồng thời đưa ra các cảnh báo LED để giúp người dùng biết được trạng thái hiện tại của hệ thống.

• Kết nối với máy tính cá nhân qua chuẩn giao tiếp USB2.0 , để thực hiện

truyền dữ liệu mã số thẻ lưu trữ trong bộ nhớ ROM về máy tính, để cho phần mềm quản lý trên máy tính thực hiện khâu tiếp theo.

Hình 2.33 Sơ đồ khối mạch điều khiển chính

2.3 Thiết kế phần mềm quản lý

Như đã nói trong phần giới thiệu chung về một hệ thống RFID ,hệ thống RFID có thể hoạt động mà không cần tới thành phần này.Tuy nhiên, nếu như không sử dụng thành phần này thì hệ thống RFID sẽ trở nên vô giá trị.Vì vậy vẫn có thể nói rằng, thành phần này đóng góp phần quan trọng làm nên thành công của một hệ thống RFID được triển khai. Ở đây ta xây dựng không phải là một hệ thống phần mềm mà chỉ là phần mềm quản lý đơn giản để thử nghiệm. Nó có khả năng quản lý kết nối giữa máy tính và reader thông qua giao tiếp USB, và quản lý cở sở dữ liệu trên máy tính. Dưới đây là chi tiết về phần mềm quản lý tôi đã xây dựng cho đồ án này.

2.3.1 Xây dựng giao diện

Visual Csharp hiện là ngôn ngữ lập trình được sử dụng rộng rãi nhất để viết các ứng dụng chạy trên hệ điều hành windows. Visual Csharp cho phép phát triển nhanh chóng các ứng dụng truyền thống được thiết kế theo mô hình đặc trưng của windows. Với Csharp người thiết kế có thể rất nhanh chóng và dễ dàng tạo ra được một giao diện trực quan thân thiện với người sử dụng. Ngoài ra các cú pháp trong Csharp cũng khá giống với ngôn ngữ hướng đối tượng C++. Nên khi sử dụng qua ngôn ngữ này người lập trình sẽ có cái nhìn tổng quan hơn về lập trình hướng đối tượng, một xu hướng trong nghành công nghệ thông tin.

• Visual Csharp là một ngôn ngữ lập trình có cấu trúc tương đối đơn giản

• Ngôn ngữ này là lý tưởng để phát triển các giao diện đồ họa người dùng

(GUI).

• Các thư viện MSDN trực tuyến cung cấp một tương tác toàn diện và hệ

thống trợ giúp trực tuyến.

• Dễ dàng xây dựng các phần mềm quản lý giao tiếp giữa máy tính và thiết bị

Một phần của tài liệu CÔNG NGHỆ RFID và ỨNG DỤNG (Trang 73)