1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ án TN NGHIÊN cứu, THIẾT kế hệ THỐNG cảm BIẾN NHIỆT độ

87 1,6K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 87
Dung lượng 2,43 MB

Nội dung

CHƯƠNG I: TỔNG QUAN ĐỀ TÀI1.1:Tầm quan trọng của truyền thông và ghép nối máy tính với ngànhTự động hóa - Ngày nay trong tất cả các nhà máy, xí nghiệp, các hệ thống, các thiết bị đều cót

Trang 1

CHƯƠNG I: TỔNG QUAN ĐỀ TÀI

1.1:Tầm quan trọng của truyền thông và ghép nối máy tính với ngànhTự

động hóa

- Ngày nay trong tất cả các nhà máy, xí nghiệp, các hệ thống, các thiết bị đều cóthể liên lạc và trao đổi thông tin cho nhau thông qua các chuẩn truyền dẫn khác nhau.Chính điều này đã tạo nên sự hoạt động hài hòa giữa các thiết bị trong hệ thống

- Bên cạnh việc trao đổi thông tin cho nhau, các thiết bị phải được kết nối để đưa

dữ liệu về máy tính chủ Từ máy chủ người điều khiển có thể nhận biết được trạng tháihoạt động, thông tin sảm phẩm đồng thời cũng có thể lưu trữ, in ấn được các thông sốnày khi cần thiết

1.2:Thực trạng hiện nay

Hiện nay giao thức RS-232 được sử dụng phổ biến nhất để thực hiện việc ghépnối các thiết bị ngoại vi với máy tính Tuy nhiên giao thức này đã quá lỗi thời vì tốc độtruyền hạn chế và khả năng linh hoạt không cao Chính vì vậy, các máy tính hiện đạiđều đã tháo bỏ, chỉ còn lại các cổng giao thức USB Vì vậy để có thể ghép nối các thiết

bị ngoại vi với máy tính hiện đại các nhà thiết kế đã sử dụng các giải pháp sau:

Một là sử dụng mô đun chuyển đổi USB-COM (Hình 1.1)

Hai là sử dụng chip chuyển đổi USB-COM (Hình 1.2)

Hình 1.1 Mô đun chuyển đổi USB qua COM

Trang 2

Hình 1.2 Chip chuyển đổi USB-COM (PL2303)

Nhìn trên nhiều phương diện, đây là vấn đề lớn cho mỗi nhà tiết kế cần cân nhắc

- Xét về mặt kinh tế: Thêm Mô-đun chuyển đổi hay Chip chuyển đổi đều làmtăng giá thành của sản phẩm

- Xét về mặt kỹ thuật: Chúng ta biết rằng giao thức USB có tốc độ truyền khá caovào khoảng 12Mbit/sec (với chuẩn full-speed) trong khi đó giao thức RS-232 chỉ có20Kbit/sec Đây được gọi là nguyên lý truyền thông “cổ chai” Vấn đề này cần tránhtrong việc thiết kế các ứng dụng

- Xét về mặt lợi ích của người sử dụng: Các thiết bị đã nêu ở trên đều cần códriver riêng cộng với tính “ảo” của nó đã gây lên một số trở ngại cho người sử dụngVậy để giải quyết vấn đề này, đề tài đã đi vào nghiên cứu để đưa ra giải pháp mớinhằm khắc phục các yếu điểm trên, bằng cách ghép nối các thiết bị ngoại vi với máytính trực tiếp qua giao thức USB

1.3: Nội dung đề tài

Thiết kế và lập trình ứng dụng sử dụng giao thức USB/lớp HID bao gồm nhữngphần sau:

- Tổng quan về giao thức USB

- Giới thiệu chip có hỗ trợ giao thức USB, PIC18F2550/4550

-Thiết kế và lắp rápbàn phím không dây dạng thu nhỏ và mạch đo nhiệt độ

- Tìm hiểu sự hỗ trợ của Hệ điều hành với các lớp trong giao thức USB

Trang 3

- Xây dựng chương trình giao diện trên Windowsbằng VB 6.0 để cập nhật giá trịnhiệt độ được gửi lên từ Vi điều khiển trực tiếp qua giao thức USB

- Tạo firmware cho Vi điều khiển để Hệ điều hành có thể tự động nhận ra thiết bị

và không cần driver giống như các thiết bị hiện có trên thị trường (Bàn phím, chuột…)

- Trong đề tài này cảm biến nhiệt độ DS18B20 được sử dụng để đo nhiệt độ củamôi trường sau đó truyền giá trị về Vi điều khiển Trên thị trường hiện hay có hai loạicảm biến nhiệt độ phổ biến là: cảm biến có tín hiệu đầu ra liên tục (analog temperaturesensor) và cảm biến có tín hiệu đầu ra số (digital temperature sensor) Đối với các cảmbiến liên tục tín hiệu đầu ra hầu hết là điện áp còn đối với cảm biến số thì đầu ra là mộtchuẩn truyền thông nào đó, có thể là I2C, SPI hay UART.Riêng cảm biến này sử dụngchuẩn truyền thông “1 dây” Thông qua cảm biến này đề tài cũng giới thiệu đến thầy

cô và các bạn một giải pháp khá đơn giản trong lĩnh vực truyền thông: “Mạng truyềnthông 1 dây”

- Sơ đồ khối cho các mô hình:

Trang 4

CHƯƠNG II: TỔNG QUAN VỀ GIAO THỨC USB VÀ LỚP HID

2.1: Giới thiệu sơ bộ về giao thức USB

Trang 5

Hình 2.1 Đầu cắm USB (type A)

USB (Universal Serial Bus) là một giao thức cho phép kết nối giữa các thiết bị ngoại vi và máy tính chủ Giao thức này được phát minh và phát triển bởi Ajay Bhatt

trong khi ông làm việc tại Intel.USB đã thay thế cho nhiều giao thức đa dạng và phứctạp cũ như cổng giao tiếp nối tiếp và cổng giao tiếp song song…

USB có thể kết nối với nhiều thiết bị ngoại vi như chuột máy tính, bàn phím, máy

in, camera kỹ thuật số, các ỗ đĩa flash và ổ đĩa di động…Kể từ khi ra đời USB đã trởthành giao thức kết nối tiêu chuẩn cho các thiết bị này

Buổi ban đầu mới ra đời USB chỉ được thiết kế giành riêng cho máy tính cá nhân,nhưng thời gian trôi qua USB cũng trở nên phổ biến với các thiết bị nhưSmartphone,PDAs, Video game…

Không giống như các chuẩn truyền thông cũ (RS-232, Parallel port), cổng USB cócung cấp sẵn nguồn điện vì vậy các thiết bị ngoại vi kết nối qua cổng USB không cầnnguồn riêng, ngoại trừ các thiết bị cần công suất lớn

2.2:Quá trình phát triển giao thức USB

Một nhóm gồm 7 công ty bắt đầu tìm hiểu và phát triển giao thức này từ năm1994gồm Compaq, NEC, DEC, IBM, Intel, Cortel và Microsoft

Trang 6

Phiên bản USB 1.0 được ra đời vào tháng 1 năm 1996 với tốc độ truyền 1.5MBit/s(Low speed) Phiên bản 1.1 được công bố vào tháng 9 năm 1998 với hai cấp tốc độtruyền 1.5 MBit/s (Low speed) và 12 MBit/s (Full speed) USB 1.1 có bổ sung thêmmột kiểu truyền thông mới “interrupt OUT” Tháng 4 năm 2000 giao thức USB 2.0 rađời với 3 cấp tốc độ truyền 1.5 MBit/s (Low speed), 12 MBit/s (Full speed), 480 MBit/

s (High speed) Ngày 12 tháng 11 năm 2008 giao thức USB 3.0 ra đời với tốc độtruyền 5 GBit/s Sản phẩm sử dụng USB 3.0 đầu tiên được ra đời vào tháng 1 năm2010

( Trong đồ án này chỉ tìm hiểu về giao thức USB 2.0 Full speed)

2.3: Phân tích ưu điểm và nhược điểm của giao thức USB

2.3.1: Ưu điểm:

2.3.1.1:Đối với người sử dụng

- USB rất linh hoạt đủ để tương thích với nhiều loại thiết bị ngoại vi, thay vìlàm nhiểu kiểu đầu cắm cho từng loại thiết bị khác nhau ở đây ta chỉ cần 1 mà thôi

- Tự động thiết lập cấu hình: Khi người dùng kết nối thiết bị ngoại vi USBvào máy tính, Hệ điều hành sẽ phát hiện và tải xuống một driver tương ứng Với 1 sốthiết bị trong lần kết nối đầu tiên, Hệ điều hành sẽ yêu cầu người dùng cho vào 1 đĩa

có chứa driver, sau đó quá trình cài đặt sẽ tự động tiến hành Chúng ta cũng không cầnkhởi động lại máy tính trước khi sử dụng thiết bị ngoại vi đó

- Dễ dàng kết nối: Chúng ta không cần phải tháo rời máy tính để cắm thiết bịvào, bởi vì tất cả các máy tính đã có cổng USB ở mặt trước và mặt sau của máy

- Cáp nối đơn giản: Cáp có 4 sợi bên trong, nhỏ gọn, dài khoảng 5 mét, nếu cóHub thì có thể dài đến 30 mét Cổng và Cáp USB đã được thiết lập sao cho cắm không

bị sai chiều

Trang 7

Bảng 2.1:Bảng so sánh các giao thức

- Cắm nóng: Chúng ta có thể cắm và tháo thiết bị khỏi máy tính bất cứ lúc nàochúng ta cần mà không làm hỏng máy tính hay thiết bị Hệ điều hành tự động nhận rathiết bị khi nó được cắm vào và sẵn sàng để dùng

- Không cần người dùng cài đặt thêm: Người dùng không cần phải chọn địachỉ cổng và cũng không có jumper nào để thiết lập các mục đích khác

- Nhiều thiết bị có thể cắm vào một máy tính mà không yêu cầu phần cứng quáphức tạp

- Đôi khi không cần nguồn cung cấp: Với các thiết bị không yêu cầu công suấtlớn (+5V, 500mA) ta không cần cấp nguồn ngoài cho thiết bị

Trang 8

- Tốc độ truyền khá cao: Với USB Low speed 1.5MBit/s,Full speed 12MBit/s,High speed 12MBit/s Dưới đây là 2.1 bảng so sánh các giao thức.

-Độ tin cậy cao: Độ tin cậy của USB được thừa kế cả phần cứng và giao thứccho việc truyền dữ liệu Đặc điểm của phần cứng giúp cho việc loại trừ nhiễu được dễdàng.Đồng thời cơ chế tự kiểm tra lỗi và yêu cầu gửi lại giúp cho giao thức này tăng

độ tin cậy

-Giá thành hạ: Mặc dù USB phức tạp hơn các giao thức trước đây, tuy nhiêngiá thành cho thiết bị lại không quá đắt

-Tiết kiệm năng lượng: Những mạch điện tiết kiệm năng lượng tự động

“power down” khi thiết bị USB ở chế độ chờ và sẵn sàng khi chúng cần được sử dụng.Giảm tiêu thụ năng lượng đồng nghĩa với việc tiết kiệm tiền, thân thiện với môi trường

và cũng tặng tuổi thọ của Pin

2.3.1.2:Đối với người thiết kế

- Sự linh hoạt trong thiết kế: USB có 4 phương thức truyền và 3 cấp tốc độ,điều này giúp cho USB tương thích với nhiều loại thiết bị ngoại vi Tùy thuộc vào đặcđiểm của từng thiết bị ngoại vi mà ta chọn phương thức và tốc độ truyền cho phù hợp

- Sự hỗ trợ của hệ điều hành: Hầu hết các hệ điều hành đều hỗ trợ giao thứcUSB, điển hình là Windows 98 trở về sau này

- Sự hỗ trợ của thiết bị ngoại vi: Trên thị trường có rất nhiều dòng Vi điềukhiển hỗ trợ giao thức USB Ví dụ: PIC 18F2550/18F4550/18F14K50 của hãngMicrochip

- Sự hỗ trợ về kiến thức: Ngày nay cùng với sự phát triển của máy tính vàmạng Internet, chúng ta có thể tìm thấy thông tin cần thiết một cách đơn giản Ví dụ:

www.usb.org

Trang 9

- Giao tiếp Chủ-Chủ: Giao thức USB chỉ cho phép kết nối giữa máy tính chủ vàthiết bị ngoại vi mà thôi Còn việc kết nối 2 máy tính chủ, trao đổi dữ liệu trực tiếp vớinhau qua USB là điều không thể.

- Cập nhật đa thiết bị: USB không cho phép máy chủ gửi cùng lúc nhiều dữ liệuxuống nhiều thiết bị khác nhau

- Một số yêu cầu cho phần cứng: Đối với các thiết bị không hỗ trợ USB ta phải

sử dụng bộ chuyển đổi USB qua các giao thức khác cho phù hợp Các máy tính đời cũ,

hệ điều hành không hỗ trợ giao thức USB cũng là một vấn đề cần nhắc tới

Trang 10

2.4: Giới thiệu các lớp của giao thức USB

Dưới đây là bảng thống kê các lớp của giao thức USB

Bảng 2.2: Bảng liệt kê các lớp của giao thức USB

2.4.1: Lớp thiết bị âm thanh (Audio)

Lớp thiết bị âm thanh chính là lớp các thiết bị gửi và nhận dữ liệu âm thanh Dữliệu âm thanh có thể là tiếng nói được mã hoá, nhạc hay bất kỳ một loại âm thanh nàokhác Các thiết bị thuộc lớp thiết bị âm thanh có thể sử dụng kiểu truyền đẳng thời choluồng âm thanh hoặc kiểu truyền khối cho dữ liệu đã được mã hoá bằng giao thứcMIDI (Musical Instrument Digital Interface)

2.4.2: Lớp thiết bị thẻ thông minh (Chip/Smart Card Interface)

Thẻ thông minh là các loại thẻ quen thuộc được sử dụng cho việc gọi điện thoại,thẻ ra vào, trả cước cầu đường, bảo hiểm y tế, giải mã cho các bộ thu truyền hình vệtinh và nhiều các ứng dụng khác, những ứng dụng này yêu cầu một khối lượng thôngtin nhỏ hoặc trung bình với sự truy cập dữ liệu lưu trong thẻ một cách dễ dàng Mỗithẻ là một module bao gồm bộ nhớ và thường thêm một CPU Nhiều thẻ cho phép cậpnhật nội dung của chúng để thay đổi một số thông tin ví dụ như giá trị tiền trong thẻ tíndụng hay mã của thẻ Để truy cập một thẻ thông minh, bạn kết nối nó với thiết bị giao

Trang 11

diện thẻ thông minh (CCID-Chip Card Interface Device) thường bằng cách nhét thẻvào khe đọc hoặc soi nó trước các bộ đọc đối với loại thẻ không cần tiếp xúc USBđịnh nghĩa lớp thiết bị giao diện thẻ thông minh vì có một số thiết bị giao diện thẻthông minh (CCID) sử dụng giao diện USB để giao tiếp với máy tính.

2.4.3: Các thiết bị truyền thông (Modems and Networks)

Lớp các thiết bị truyền thông bao gồm hai loại thiết bị chính là: thiết bị thoại vàcác thiết bị mạng tốc độ trung bình Thiết bị thoại bao gồm điện thoại tương tự,modem tương tự, Các bộ thích nghi đầu cuối ISDN và điện thoại số Các thiết bị mạngbao gồm modem ADSL, modem điện tín, 10BASE-T Ethernet adapter và Hub

2.4.4: Lớp thiết bị bảo mật thông tin

Lớp thiết bị bảo mật định nghĩa cách thức giúp ta điều khiển sự truy cập tới cácfile, âm nhạc, hình ảnh hoặc các dữ liệu khác được truyền trên bus (ví dụ muốn copymột file nào đó lên thiết bị hoặc đọc nội dung được lưu trong thiết bị thì phải cópassword)

2.4.5 Lớp các thiết bị nâng cấp firmware

Lớp thiết bị cập nhật firmware định nghĩa một giao thức cho phép máy chủ gửifirmware tăng cường hoặc sửa lỗi cho một thiết bị Sau khi nhận sự nâng cấp firmwarethì thiết bị sẽ được thiết lập lại để sử dụng firmware mới của nó Lớp thiết bị này đượcbiết đến khi chúng ta sử dụng chức năng bootloader cho vi điều khiển

2.4.6:Lớp các thiết bị tương tác với con người (Human Interface)

Lớp thiết bị giao diện người sử dụng bao gồm các loại bàn phím, thiết bị con trỏ

và các bộ điều khiển dùng để chơi game Đối với những thiết bị này, máy chủ đọcthông báo từ thiết bị và gần như lập tức thực hiện theo các yêu cầu của người sửdụng (các yêu cầu này mang tính giao tiếp trực tiếp giữa người sử dụng và máy)như sự ấn phím, sự di chuyển của con chuột Máy chủ phải đáp ứng đủ nhanh saocho người sử dụng không nhận thấy độ trễ rất nhỏ giữa yêu cầu của họ và các đápứng của máy

Trang 12

2.4.7:Cầu chuyển đổi hồng ngoại (IrDA)

Lớp thiết bị cầu liên kết dữ liệu hồng ngoại định nghĩa những yêu cầu về phầncứng và các giao thức cho phép việc truyền tải dữ liệu ở khoảng cách ngắn thôngqua năng lượng hồng ngoại Thiết bị cầu liên kết dữ liệu hồng ngoại sẽ được nốivới máy chủ qua cổng USB cho phép máy chủ sử dụng giao diện USB để giám sát,điều khiển và truyền dữ liệu qua một giao diện hồng ngoại

2.4.8: Lớp các thiết bị lưu trữ thứ cấp (Mass Storage)

Lớp thiết bị lưu trữ thứ cấp chính là các thiết bị có thể truyền dữ liệu theo cả haihướng (từ máy chủ tới thiết bị hoặc từ thiết bị về máy chủ) Điển hình cho lớp thiết bịnày có thể kể đến các ổ đĩa mềm, ổ đĩa cứng, ổ CD, ổ DVD và ổ nhớ flash Các loạicamera cũng có thể sử dụng lớp lưu trữ thứ cấp cho phép việc truy cập các file hìnhảnh trong bộ nhớ của camera Trong các máy tính sử dụng hệ điều hành Windows, cácthiết bị thuộc lớp lưu trữ thứ cấp sẽ xuất hiện như các ổ đĩa trong cửa sổ My Computer

và hệ điều hành cho phép người sử dụng sao chép, di chuyển và xoá các dữ liệu trongcác thiết bị đó

2.4.9:Lớp các thiết bị in ấn (Printers)

Lớp printer được áp dụng cho các thiết bị chuyển đổi dữ liệu nhận được thànhdạng văn bản, hình ảnh trên giấy hoặc một số dạng khác Các máy in đời đầu chỉ inđược các dòng chữ trong những font đơn cố định Đối với các máy in fun hay laser thì

có thể in nhiều dòng chữ dưới nhiều định dạng font khác nhau, đồng thời cũng có thể

in các hình ảnh phức tạp

2.4.10:Lớp các thiết bị lưu giữ hình ảnh tĩnh (Still Image Capture)

Lớp thiết bị này bao gồm các loại máy ảnh và máy quét Công việc chủ yếu củalớp thiết bị này là truyền dữ liệu hình ảnh từ thiết bị lên máy tính chủ Ngoài ra mộtvài thiết bị còn có thể nhận dữ liệu từ máy tính Nếu tất cả những gì ta cần là truyềncác file hình ảnh từ một máy ảnh lên máy tính chủ thì ta có thể đưa một máy ảnh vàolớp thiết bị lưu trữ thứ cấp

Trang 13

2.4.11: Các thiết bị đo đạc và kiểm tra

Lớp các thiết bị đo lường và kiểm tra là để dành cho các thiết bị đo đạc như các

bộ ADC, DAC, cảm biến và các bộ chuyển đổi (chuyển đổi đơn vị vật lý chẳng hạn).Các thiết bị này có thể là một khối riêng rẽ hoặc là một cạc trong một máy tính lớn

2.4.12: Lớp thiết bị ảnh động (Video)

Lớp các thiết bị ảnh động: Lớp các thiết bị ảnh động hỗ trợ các thiết bị ghi hình

số xách tay, webcam, và một số thiết bị có chức năng gửi, nhận hay can chỉnh ảnhđộng Lớp thiết bị này cũng hỗ trợ việc truyền các ảnh tĩnh từ các thiết bị ảnh động

2.4.13: Thực hiện các chức năng không tiêu chuẩn

Một vài thiết bị không có sự phù hợp rõ rệt với một lớp thiết bị được định nghĩa

Ví dụ như các thiết bị điều khiển động cơ, rơ le, hay các cơ cấu chấp hành khác.Một ví dụ khác là các thiết bị kết nối giữa hai máy vi tính (Cầu sử dụng USB) Nếumột thiết bị đầu cuối mà không phù hợp để gán vào một lớp được định nghĩa thìngười thiết kế sẽ phải viết driver cho thiết bị để cung cấp cho máy chủ các thôngtin giúp nó giao tiếp được với thiết bị đó

2.5:Lớp thiết bị giao diện người sử dụng (HID-Human Interface Device)

Lớp thiết bị giao diện người sử dụng là một trong những lớp đầu tiên được hệđiều hành Windows hỗ trợ Trên những chiếc máy tính cá nhân sử dụng Windows

98 hoặc các phiên bản muộn hơn thì những ứng dụng có thể giao tiếp với các thiết

bị giao diện người sử dụng bằng cách sử dụng các bộ điều khiển (driver) được xâydựng sẵn trong hệ điều hành Cũng chính vì lý do trên mà nhiều nhà cung cấp thiết

bị đầu cuối USB sử dụng lớp thiết bị giao diện người sử dụng cho sản phẩm của họ.Chương này sẽ trình bày về lớp HID với mục đích giúp người đọc nhận định xemmột thiết bị nào đó có phù hợp để gán vào lớp HID hay không Chỉ ra các yêu cầuđối với vi chương trình (firmware) để định nghĩa một thiết bị thuộc lớp HID và chophép nó trao đổi dữ liệu với máy tính chủ

Trang 14

2.5.1: Khái niệm về HID

Từ “giao diện người sử dụng” trong tên gọi của lớp HID để chỉ ra sự tương táctrực tiếp giữa con người với thiết bị thuộc lớp này Ví dụ một con chuột có thể pháthiện việc chúng ta di chuyển hay nhấn chuột để gửi thông tin lên máy chủ và máychủ sử dụng thông tin này để đem lại các đáp ứng mà người sử dụng đang mong đợitrong một ứng dụng cụ thể nào đó Bên cạnh các thiết bị phổ biến của lớp HID nhưbàn phím, con chuột, cần điều khiển (joystick) thì lớp HID còn bao gồm một sốthiết bị khác như các núm điều chỉnh, các chuyển mạch, nút nhấn, thanh trượt, điềukhiển từ xa, bàn phím điện thoại, các thiết bị điều khiển dùng cho game như baotay, bánh lái

Tuy nhiên một thiết bị thuộc lớp HID không nhất thiết phải có một giao diện người

sử dụng Một thiết bị có thể gán vào lớp HID khi các chức năng của nó nằm gọntrong các giới hạn của đặc tả lớp HID Dưới đây là các giới hạn và khả năng chủcủa các thiết bị thuộc lớp HID

Tất cả dữ liệu được trao đổi dưới cùng một dạng cấu trúc được gọi là báo cáo(report) Máy chủ gửi và nhận dữ liệu bằng cách gửi các báo cáo và yêu cầu cácbáo cáo trong các phương thức truyền điều khiển hoặc truyền ngắt Định dạng báocáo là khá linh hoạt và nó có thể áp dụng cho rất nhiều dạng của dữ liệu song đốivới mỗi một báo cáo đã được định nghĩa thì kích cỡ của nó là xác định

Một giao diện HID phải có một điểm cuối ngắt vào (interrupt IN enpoint) để gửi

dữ liệu lên máy chủ

Một giao diện HID có thể có tối đa một điểm cuối ngắt vào và một điểm cuốingắt ra (interrupt OUT enpoint) Nếu ta cần nhiều điểm cuối ngắt hơn nữa thì ta cóthể tạo một thiết bị đa chức năng gồm nhiều thiết bị HID ở trong nó Một ứng dụngphải đảm bảo sự điều khiển riêng biệt tới từng HID trong thiết bị đa chức năng.Điểm cuối ngắt vào cho phép HID gửi thông tin lên máy chủ ở những thời điểm

mà không hề biết trước Ví dụ không thể có cách nào giúp máy tính biết trước khinào người sử dụng ấn một phím nào đó trên bàn phím do đó bộ điều khiển máy chủ

sử dụng giao tác ngắt để thăm dò có định kỳ nhằm thu lượm dữ liệu mới

Trang 15

Tốc độ trao đổi dữ liệu là hạn chế, đặc biệt là khi truyền ở tốc độ thấp hoặc toàntốc Điểm cuối ngắt tốc độ thấp không thể vượt quá 800 bytes/sec, với các điểmcuối toàn tốc thì tốc độ tối đa là 64 KB/s còn điểm cuối ngắt tốc độ cao thì tốc độtối đa vào khoảng 24 MB/s

Với bản Windows 98 Gold thì nó chỉ hỗ trợ USB 1.0 tức là không hỗ trợ điểmcuối ngắt ra do đó tất cả dữ liệu truyền từ máy chủ xuống thiết bị phải sử dụngtruyền điều khiển

Lưu ý là giao diện HID có thể chỉ là một trong nhiều kiểu giao diện được hỗ trợbởi một thiết bị Ví dụ một loa USB có thể sử dụng phương thức truyền đẳng thờicho âm thanh đồng thời cũng có thể có một giao diện HID cho việc điều khiển độ

to nhỏ, cân bằng, treble và bass – có nghĩa là với cùng một giao tiếp USB trên mộtthiết bị nhưng ta có thể sử dụng hai lớp giao tiếp khác nhau

2.5.2: Các yêu cầu về phần cứng

Các điểm cuối

Tất cả các kiểu truyền của HID sử dụng hoặc điểm cuối điều khiển hoặc điểmcuối ngắt Tất cả các HID phải có một điểm cuối ngắt vào để gửi dữ liệu tới máychủ Một điểm cuối ngắt ra là tuỳ chọn

Các loại báo cáo (Report)

Yêu cầu đối với một điểm cuối ngắt vào cho thấy mọi HID phải có tối thiểu làmột report đầu vào được định nghĩa trong bộ mô tả report của HID Các report đầu ra

và report đặc biệt là tuỳ chọn

Các yêu cầu có thể gửi từ Host tới thiết bị trong kiểu truyền điều khiển

Đặc tả HID định nghĩa 6 yêu cầu cụ thể mà Host có thể gửi tới thiết bị Haitrong số đó là Set_Report và Get_Report, đem lại cách để Host và thiết bị trao đổireport thông qua kiểu truyền điều khiển Host sử dụng Set_Report để gửi report vàGet_Report để nhận thông báo Bốn yêu cầu còn lại liên quan tới việc cấu hình thiết

bị Các yêu cầu Set_Idle và Get_Idle dùng để thiết lập và đọc tốc độ rỗi, cái cho biết

Trang 16

có hay không việc một thiết bị gửi lại dữ liệu không hề thay đổi kể từ lần thăm dòcuối.

Các yêu cầu Set_Protocol và Get_Protocol thiết lập và đọc giá trị giao thức Giá trịgiao thức sẽ cho biết một thiết bị có thể được sử dụng hay không ngay cả khi bộđiều khiển đầy đủ của nó chưa được tải trên Host (ví dụ con chuột và bàn phím cóthể thực hiện chức năng của nó ngay trong giai đoạn khởi động - khi mà bộ điềukhiển chính thức của nó chưa được tải ở trên Host) Các loại yêu cầu vừa nêu sẽđược trình bày chi tiết hơn ở đoạn sau

Trang 17

Kiểu truyền ngắt

Các điểm cuối ngắt đem lại sự luân phiên trong việc trao đổi dữ liệu, đặc biệtkhi phía thu phải có được dữ liệu một cách nhanh chóng hoặc định kỳ Truyền điềukhiển có thể bị trễ nếu bus quá bận trong khi băng thông cho truyền ngắt lại đượcđảm bảo

Khả năng thực hiện truyền ngắt ra (OUT) được bổ sung ở phiên bản 1.1 của chuẩnUSB Windows 98 SE là phiên bản Windowsđầu tiên hỗ trợ USB 1.1 và HID 1.1

2.5.3: Các yêu cầu về vi chương trình (Firmware)

Vi chương trình phải phù hợp với các yêu cầu của lớp thiết bị Các bộ mô tả củathiết bị phải bao gồm một bộ mô tả giao diện để định nghĩa thiết bị thuộc lớp HID,một bộ mô tả HID và một bộ mô tả điểm cuối ngắt vào (IN) Bộ mô tả điểm cuốingắt ra (OUT) là tuỳ chọn Vi chương trình cũng phải chứa một bộ mô tả report.Một HID có thể hỗ trợ một hay nhiều report Bộ mô tả report chỉ ra kích thước

và nội dung của dữ liệu chứa trong report cũng như cách mà phía thu sẽ sử dụng dữliệu nhận được Các giá trị trong bộ mô tả sẽ chỉ ra mỗi report là một report đầuvào, đầu ra hay là một report đặc biệt Máy chủ nhận dữ liệu chứa trong report đầuvào và gửi dữ liệu chứa trong report đầu ra Một report đặc biệt có thể được truyềntheo cả hai hướng Mọi thiết bị phải hỗ trợ tối thiểu một report đầu vào để máy chủ

có thể thu nhận dữ liệu thông qua truyền ngắt hoặc truyền điều khiển Các reportđầu ra là tuỳ chọn Để tương thích với Windows 98 Gold thì các thiết bị sử dụng cácreport đầu ra nên hỗ trợ việc gửi report thông qua truyền điều khiển Sử dụng truyềnngắt cho các thông báo đầu ra là tuỳ chọn Còn các thông báo đặc biệt cũng là tuỳchọn và nếu được sử dụng thì nó luôn được truyền thông qua truyền điều khiển

2.5.4: Cách thức để chỉ ra một thiết bị thuộc lớp HID

Với bất kỳ thiết bị USB nào thuộc lớp HID thì các bộ mô tả của nó chỉ cho máychủ thông tin máy chủ cần biết để giao tiếp với thiết bị Máy chủ tìm hiểu về giaodiện HID trong suốt quá trình thiết lập bằng cách gửi một yêu cầu Get_Descriptor.Các bộ mô tả của một thiết bị thuộc lớp HID bao gồm: Bộ mô tả thiết bị (Device

Trang 18

Descriptor), bộ mô tả cấu hình (Configuration Descriptor), bộ mô tả giao diện(Interface Descriptor), bộ mô tả HID (HID Descriptor), bộ mô tả điểm cuối ngắt vào(IN interrupt Enpoint Descriptor), bộ mô tả điểm cuối ngắt ra (OUT InterruptEndpoint Descriptor) và bộ mô tả điểm cuối ngắt đặc biệt (Feature InterruptEndpoint Descriptor) Hai bộ mô tả sau cùng là tuỳ chọn (tức có thể có hoặckhông) Ngoài các bộ mô tả vừa liệt kê ở trên thiết bị thuộc lớp HID còn phải cómột bộ mô tả nữa đó là bộ mô tả Report (bộ mô tả Report sẽ được nói cụ thể sau).

2.5.5: Bộ mô tả báo cáo (Report Descriptor)

Một bộ mô tả thông báo định nghĩa khuôn dạng và công dụng của dữ liệu chứatrong các report Ví dụ nếu thiết bị là một con chuột thì dữ liệu trong report sẽ thôngbáo cho máy chủ biết sự di chuyển của con chuột và các sự kiện click chuột, nếuthiết bị là một bộ điều khiển rơle thì dữ liệu trong báo cáo sẽ cho biết rơle nào mở

và rơle nào đóng

Bộ mô tả report cần phải đủ linh hoạt để điều khiển thiết bị với các mục đíchkhác nhau Dữ liệu lưu trong report cần được tối ưu hoá về kích thước để tránh lãngphí không gian lưu trữ và rút ngắn thời gian khi truyền trên bus

2.5.6: Các yêu cầu mà host có thể gửi tới một thiết bị thuộc lớp HID

Như đã trình bày ở trên, đặc tả HID định nghĩa 6 yêu cầu mà Host có thể gửitới một thiết bị thuộc lớp HID Tất cả các HID phải hỗ trợ Get_Report, còn đối vớicác thiết bị hỗ trợ giao thức khởi động thì phải đáp ứng được các yêu cầuGet_Protocol và Set_Protocol Các yêu cầu còn lại gồm Set_Report, Get_Idle vàSet_Idle là tuỳ chọn, trừ trường hợp đối với một keyboard sử dụng giao thức khởiđộng phải hỗ trợ Set_Idle Nếu một HID không có một điểm cuối ngắt ra (OUT)hoặc nếu HID đang giao tiếp với một máy chủ chỉ hỗ trợ USB 1.0 như Windows 98Gold chẳng hạn thì HID đó nếu muốn nhận report từ host nó phải hỗ trợSet_Report Các yêu cầu ở trên sẽ được Host gửi tới thiết bị trong giai đoạn setupcủa truyền điều khiển Giai đoạn setup của truyền điều khiển diễn ra như sau: banđầu host phát ra gói thông báo setup, theo sau đó là gói dữ liệu dành cho giao tácsetup có kích thước của phần dữ liệu là 8 byte, cuối cùng host chờ gói bắt tay ACK

Trang 19

để biết rằng giao tác setup có thành công hay không Các yêu cầu của host đượcchứa trong 8 byte dữ liệu của gói dữ liệu theo sau gói thông báo setup, nó có khuôndạng như sau:

Hình 2.2: Khuôn dạng dữ liệu của giai đoạn setup trong kiểu truyền Control

Có một số Bit trong gói trên có giá trị giống nhau đối với cả 6 yêu cầu đó là:

5 Bit Destination type =00000B để chỉ ra đích đến của yêu cầu là một thiết bị.(00001B: đích là một giao diện cụ thể, 00010B: đích là một điểm cuối trên thiết bị,00011B: đích là một trong các thành phần khác trong thiết bị)

2 Bit Request Type =01 để chỉ ra loại yêu cầu này là để dành cho một lớp thiết bị

cụ thể (00: tức request là một trong các request chuẩn (có 11 loại request chuẩn),10: request được định nghĩa bởi nhà cung cấp thiết bị)

bRequest = 01h cho biết yêu cầu mà host gửi tới thiết bị là Get_Report

wValue: Byte cao chứa thông tin cho biết host muốn nhận loại report nào từ thiết

bị (1=Input, 3=Feature), byte thấp chứa report ID

wIndex: chứa số lượng giao diện mà yêu cầu được hướng tới

wlength: chứa chiều dài tối đa cho phép của report trong giai đoạn dữ liệu tínhtheo byte

Lưu ý: tất cả các HID nên hỗ trợ yêu cầu Get_Report

Trang 20

wIndex chứa số lượng giao diện hỗ trợ yêu cầu này.

wlength = 1 1 byte trường dữ liệu của gói dữ liệu trong giai đoạn dữ liệu sẽ chứatốc độ rỗi tính theo số nguyên lần của 4 ms

Các HID không buộc phải hỗ trợ yêu cầu Get_Idle

wIndex chứa số lượng giao diện hỗ trợ yêu cầu này

wLength = 1 Nếu 1 byte trường dữ liệu của gói dữ liệu = 0 tức có hỗ trợ giaothức khởi động còn nếu ≠ 0 tức là không hỗ trợ giao thức khởi động Các thiết bị có

hỗ trợ giao thức khởi động thì phải đáp ứng yêu cầu này

Trang 21

wValue: Byte cao chứa thông tin về loại report sẽ được gửi trong giai đoạn dữliệu (2: Output report, 3: Feature report) Byte thấp chứa report ID.

wIndex chứa số lượng giao diện mà yêu cầu này được hướng tới

wLength: cho biết chính xác kích thước của report tính theo byte sẽ được gửitrong giai đoạn dữ liệu

Các HID có thể hỗ trợ hoặc không hỗ trợ yêu cầu Set_Report Nếu một HIDkhông có điểm cuối ngắt ra (OUT) hoặc HID đang làm việc với một máy chủ chỉ hỗtrợ phiên bản USB 1.0 mà lại muốn nhận dữ liệu từ Host thì việc đáp ứng lại yêucầu Set_Report là cách duy nhất để có thể nhận dữ liệu từ host

Set_Idle

Host gửi yêu cầu này là để tiết kiệm băng thông thông qua việc giới hạn tần sốgửi báo cáo của một điểm cuối ngắt vào (IN) khi dữ liệu chứa trong báo cáo không

có sự thay đổi so với báo cáo gần nhất

Bit Direction = 0 để chỉ ra hướng của dữ liệu trong giai đoạn dữ liệu nếu có thì sẽ

là từ host tới thiết bị

bRequest = 0Ah

wValue: Byte cao thiết lập khoảng thời gian tối thiểu phải trôi qua giữa hai Inputreport có dữ liệu giống nhau mà lại được gửi kế tiếp nhau, byte thấp chứa report IDcủa report mà yêu cầu này tác động tới Nếu byte thấp là 00h thì có nghĩa là yêucầu này tác động tới tất cả các Input report của HID

wIndex chứa số lượng giao diện hỗ trợ yêu cầu này

wLength 0000h: Cho thấy không có giai đoạn dữ liệu theo sau giai đoạn setup.Chú thích: Khoảng thời gian giữa hai Input report là một số nguyên lần của 4 ms,như vậy với 1 byte cao của wValue thì khoảng thời gian này sẽ nằm trong phạm vi

từ 4 tới 1020 ms Nếu byte cao của wValue = 00h thì có nghĩa là HID chỉ được gửiInput report khi dữ liệu của report đã có thay đổi so với lần gửi ngay trước đó Nếu

dữ liệu của report có thay đổi so với lần gửi ngay trước đó thì nó có thể được gửingay khi có một thông báo IN bất kể giá trị byte cao của wValue là bao nhiêu.Trong trường hợp dữ liệu của report không hề có thay đổi gì so với lần gửi ngay

Trang 22

trước đó mặt khác khoảng thời gian được gán trong byte cao của wValue chưa trôiqua kể từ lần gửi report ngay trước mà lại có một thông báo IN từ host thì HID sẽgửi gói bắt tay NAK Còn nếu khoảng thời gian được gán trong byte cao củawValue đã trôi qua kể từ lần gửi report ngay trước thì HID sẽ gửi tới host reportmặc dù dữ liệu của report không hề có thay đổi so với lần gửi ngay trước Nếu HIDtrả lời yêu cầu Set_Idle của host bằng gói bắt tay STALL thì nó có thể gửi report bất

cứ khi nào có thông báo IN từ host kể cả khi dữ liệu của report không hề có sự thayđổi Các HID không bị bắt buộc phải hỗ trợ yêu cầu Set_Idle của host ngoại trừkeyboard có sử dụng giao thức khởi động

Set_Protocol

Host gửi yêu cầu này để chỉ định HID có nên sử dụng giao thức khởi động haykhông

Bit Direction = 0 để chỉ ra hướng của dữ liệu trong giai đoạn dữ liệu nếu có thì sẽ

là từ Host tới thiết bị

bRequest = 0Bh

wValue = 0000h: nên sử dụng giao thức khởi động; wValue ≠ 0000h: không nên

sử dụng giao thức khởi động

wIndex chứa số lượng giao diện hỗ trợ yêu cầu này

wLength 0000h: Cho thấy không có giai đoạn dữ liệu theo sau giai đoạn setup.Thiết bị muốn thực hiện chức năng trong quá trình khởi động phải hỗ trợ yêu cầuSet_Protocol

2.6: Sự hỗ trợ của Hệ điều hành với lớp HID

Các hệ điều hành của Microsoft từ Windows 2000 trở đi đều hỗ trợ sẵn các driver

Vì vậy người thiết kế không cần phải xây dựng driver riêng, chỉ cần theo đúng cácchuẩn của nhà cung cấp hệ điều hành đã tạp ra trước đó

Trong đề tài này, các sản phẩm và mô hình đều được thiết kế theo chuẩn củaWindows, tuy nhiên các sản phẩm và mô hình này cũng có thể chạy tốt trên các hệđiều hành khác như Linux

Trang 24

2.7: Chọn chip

Dưới đây là danh sách các chip có hỗ trợ giao thức USB, đồng thời cũng rất quenthuộc với sinh viên:

AT43USB35x, AT67C713 của hãng Atmel

PIC 18F2550/4550 của hãng Microchip

EZ-USB của hãng Cypress Semiconductor

TUSB3210/3410 của hãng Texas Instrument

Ngoài ra còn có một số chip khác, mời xem thêm phụ lục 4

Trang 25

CHƯƠNG III: TỔNG QUAN VỀ MẠNG TRUYỀN THÔNG 1 DÂY

3.1:Định nghĩa mạng truyền thông 1 dây

Mạng 1 dây là mạng sử dụng 1 dây để làm đường Bus truyền và nhận dữ liệu

Hình 2.1: Sơ đồ mạng 1 dây

3.2: Tổng quan về Bus 1 dây

Giao thức 1 dây sử dụng cổng logic CMOS/TTL và hoạt động ở điện áp từ 2.8Vđến 6V

Chủ và tớ đều có thể là thiết bị nhận hoặc là thiết bị truyền, tuy nhiên việc truyền dữliệu tại 1 thời điểm chỉ được theo 1 hướng Chủ thiết lập và điều khiển mọi hoạt độngcủa giao thức 1 dây

Việc đọc và viết dữ liệu được thực hiện theo từng Bit 1, Bit có trọng số nhỏ nhất(LSB) được truyền trước, và việc đọc viết dữ liệu được thực hiện theo từng khoảngthời gian

Mỗi thiết bị không cần xung clock của hệ thống vì nó đã có clock riêng trong mỗithiết bị và được đồng bộ bởi cạnh xuống của xung của chủ

Trang 26

3.3: Các yêu cầu

Những yêu cầu cho bất kì bus 1 dây: Hệ thống phải có khả năng tạo ra một khoảngthời gian delay chính xác và liên tục trong 1us để đạt được tốc độ chuẩn hay là 0.25uscho tốc độ tối đa

Cổng giao tiếp phải là song cổng (có thể nhập và xuất dữ liệu) Cổng xuất của nóphải là cực máng hở Không được ngắt việc giao tiếp trong khi đang quá trình trao đổi

dữ liệu đang diễn ra (Chú ý: Hầu hết các dòng vi điều khiển PIC cho phép người dùngđiều chỉnh bất kì chân I/O nào thành cực máng hở như yêu cầu.Để biết thêm cáckhuyến cáo về giá trị điện trở kéo lên Xem trong datasheet kèm theo từng loại thiết bịtớ.)

3.4:Hoạt động của bus 1 dây

Bốn thao tác cơ bản của Bus 1 dây là RESET, viết Bit 0, viết Bit 1 và đọc Bit

Sử dụng các thao tác Bit này, 1 thiết bị phải biết được 1 byte hoặc 1 khung cácbytes

Hình 3.2: Cấu trúc Timing trên Bus

Trang 27

Bus chủ thiết lập và điều khiển tất cả việc giao tiếp 1 dây Hình 2.2 mô tả biểu đồthời gian của giao tiếp 1 dây Nó giống với Điều xung bởi vì dữ liệu được truyền đibằng 1 xung rộng(logic = 0) và xung hẹp(logic 1) trong suốt khoảng thời gian truyềnBit dữ liệu hay là 1 ngăn thời gian.

Một chuỗi giao tiếp bắt đầu khi bus chủ xuất ra 1 xung “Reset” đã được định sẵn độdài, cái mà đồng bộ cả bus Mỗi tớ trả lời xung “Reset” bằng 1 xung “Presence” cómức logic thấp

Để viết dữ liệu, chủ trước tiên thiết lập 1 ngăn thời gian bằng cách kéo đường 1 dâyxuống mức thấp, sau đó, hoặc là giữ nguyên đường line ở mức thấp (xung rộng) đểtruyền mức logic 0, hoặc là “thả” đường line (xung hẹp) để cho bus về lại mức logic 1

Để đọc dữ liệu, chủ lại thiệt lập 1 ngăn thời gian bằng việc kép đương line xuốngthấp với 1 xung hẹp Tớ có thể hoặc là trả về logic 0 bằng cách mở đường xuất của nóvới cực máng hở và giữ cho đường line ở mức thấp để mở rộng xung, hoặc trả về mứclogic 1 bằng việc đóng đường xuất của nó với cực máng hở để cho đường line về lạimức cao

Hầu hết các thiết bị 1 dây hỗ trợ 2 mức tốc độ dữ liệu:

Tốc độc chuẩn khoảng 15kbps và tốc độ tối đa và khoảng 111kbps

3.4: Mạng một dây và Vi điều khiển PIC

Vi điều khiển PIC có nhiều chân ra vào với mục đích chung (GPIO), và có thể dễdàng hiệu chỉnh để thực hiện giao thức 1 dây của Maxim/DallasSemiconductor(M/DS)

Giao thức 1 dây (1-Wire) cho phép giao tiếp với nhiều thiết bị khác của M/DS, baogồm pin, các thiết bị quản lí nhiệt, bộ nhớ, iButtons, và vân vân…

Các thiết bị 1 dây cung cấp các giải pháp vềbộ nhớ, timer, đo lường và điều khiển.Giao tiếp dữ liệu của mạng 1 dây được giảm thiểu đến mức tối đa (1 đường dữ liệucùng với 1 đường nối mass ) Vì vậy hầu hết các thiết bị 1-dây cung cấp tương đối nhỏkhối lượng dữ liệu, tỉ lệ dữ liệu thông thường đạt 16kbps đủ cho các công việc mong

Trang 28

muốn Sử dụng một chân GPIO của 1 vi điều khiển 8 Bit hoặc 16 Bit để thực hiện như

1 bus chủ thường rất thuận tiện các thiết bị 1 dây giao tiếp bằng cách sử dụng 1đường dữ liệu đơn và đã xác định rõ ràng

Chú ý:

Trạng thái nghỉ cho bus 1 dây là ở mức cao Nếu việc truyền dữ liệu cần được kếtthúc, dù bất kì 1 lí do gì, bus phải được đưa về trạng thái nghỉ Nếu không được đưa vềtrạng thái nghỉ, và bus được đưa về mức thấp lâu hơn 120us, 1 hoặc nhiều thiếc bị trênbus sẽ bị reset

Trang 29

CHƯƠNG IV: TỔNG QUAN VỀ PIC 18F2550/4550

4.1: Giới thiệu PIC 18F2550/4550

PIC 18F2550/4550 là dòng PIC 8 Bit của Microchip có hỗ trợ chức năng USB vớihai cấp tốc độ: full-speed và high-speed với các chuẩn truyền khác nhau gồm kiểu điềukhiển, ngắt, không đồng bộ và bulk Hỗ trợ hơn 32 endpoints Giành riêng 1KbyteRAM cho chức năng USB Có bộ truyền nhận và bộ nắn điện áp trên chip Hỗ trợ giaothức USB cho bộ truyền nhận ngoài

Bên cạnh chức năng quan trọng trên, dòng Vi điều khiển này còn hỗ trợ rất nhiềucác chức năng khác như: 3 ngắt ngoài, 4 timers, 2 bộ CCP/PWM, 1 bộ UART, I2C vàSPI, 13 kênh ADC 10 Bit Tần số hoạt động lên tới 48MHz

Nguồn cung cấp từ 2.0V tới 5.5V cùng với các chế độ tiết kiệm năng lượng

Bảng 4.1: Bảng tóm tắt chức năng của PIC 182550/4550

Hình 4.1: Sơ đồ chân của PIC 18F2550/4550

Trang 30

4.2: Khái quát chức năng USB trong PIC

Hình 4.2: Cấu trúc của chức năng USB bên trong chip

4.2.1:Trạng thái và điều khiển USB

Hoạt động của mô-đun USB được định dạng và quản lí thông qua 3 thanh ghiđiều khiển Ngoài ra còn có tổng cộng 19 thanh ghi được dùng vào việc quản lí việcgiao dịch của USB

4.2.2: Thanh ghi điểu khiển (UCON)

Thanh ghi này bao gồm những Bit cần thiết cho việc điều khiển hoạt động củamô-đun trong suốt quá trình trao đổi dữ liệu Thanh ghi này bao gồm các Bit thiết cấuhình để điều khiển các vấn đề sau:

+ Kích hoạt chức năng chính của thiết bị ngoại vi USB

+ Reset con trỏ bộ đệm ping-pong

+ Điều khiển chế độ tiết kiệm năng lượng

+ Vô hiệu hóa quá trình truyền

Trang 31

Bit 7 và Bit 0: Không dùng, đọc giá trị 0

Bit 6: PPBRST – Bit reset cho bộ đệm ping-pong

1 = reset tất cả các con trỏ của bộ đệm ping-pong

0 = các giá trị của bộ đệm ping-pong không bị reset

Bit 5: SE0 – Bit cờ cho biết sự có mặt của thiết bị trên bus

1 = Cho biết giao thức USB được hình thành

0 = Giao thức USB chưa được hình thành

Bit 4: PKTDIS – Bit vô hiệu hóa quá trình truyền packet

1 = Quá trình truyền packet bị vô hiệu hóa

0 = Quá trình truyền packet được thiết lập

Bit 3: USBEN – Bit kích hoạt mô-đun USB

1 = Mô-đun USB được kích hoạt

0 = Mô-đun USB bị vô hiệu hóa

Bit 2: RESUME – Bit kích hoạt phục hồi tín hiệu

1 = Quá trình phục hồi tín hiệu được kich hoạt

0 = Quá trình phục hồi bị vô hiệu hóa

Bit 1: SUSPND – Bit trì hoãn quá trình

1 = Chế độ tiết kiệm năng lượng được thiết lập

Trang 32

4.2.3: Thanh ghi cấu hình USB (UCFG)

Thanh ghi UCFG bao gồm hầu hết các Bit điều khiển mức độ hoạt động của hệthống trong mô-đun USB

+ Tốc độ trên bus

+ Kích hoạt điện trở kéo bên trong chip

+ Kích hoạt bộ truyền nhận bên trong chip

+ Sử dụng bộ đệm ping-pong

Trên thanh ghi này cũng bao gồm 2 Bit giúp đỡ cho việc kiểm tra mô-đun,debug

Bit 7: UTEYE – Bit kích hoạt chức năng “Eye Pattern Test” (EPT)

1 = Kích hoạt chức năng EPT

0 = Vô hiệu hóa chức năng EPT

Bit 6: UOEMON- Bit kích hoạt giám sát USB OE (Output Enable)

1 = Bật tín hiệu OE, Bit này cho biết khoảng thời gian dữ liệu chạy trên bus

0 = Tắt tín hiệu OE

Bit 5: Không dùng

Bit 4: UPUEN – Bit kích hoạt điện trở kéo trong chip

1 = Điện trở kéo được kích hoạt

0 = Điện trở kéo không được kích hoạt

Trang 33

Bit 3: UTRDIS – Bit kích hoạt mô-đun truyền nhận trên chip

1 = Mô-đun truyền nhận trên chip bị tắt, giao thức truyền nhận mô-đun số đượckích hoạt

0 = Mô-đun truyền nhận trên chip được kích hoạt

Bit 2: FSEN –Bít kích hoạt Full-Speed

1 = Full Speed

0 = Low Speed

Bit 1-0: PPB1:PPB0 – Các Bit thiết lập cấu hình của bộ đệm ping-pong

11 = Dự trữ

10 = Bộ đệm được dùng cho tất cả các endpoint

01 = Bộ đệm được dùng cho OUT endpoint 0

00 = Bộ đệm bị tắt

4.2.4: Thanh ghi trạng thái USB

Thanh ghi trạng thái này cho chúng ta biết trạng thái của sự gia dịch trong suốtquá trình truyền nhận

Trang 34

Bit 2: DIR - Bit chỉ thị hướng của BD cuối cùng

1 = Hoạt động truyền dữ liệu cuối cùng là 1 IN token

0 = Hoạt động truyền dữ liệu cuối cùng là 1 OUT hoặc SETUP token

Bit 1: PPBI - Bit con trỏ chỉ thị Ping-Pong BD

1 = Hoạt động truyền dữ liệu cuối cùng là bank BD lẻ

0 = Hoạt động truyền dữ liệu cuối cùng là bank BD chẳn

Bit 0: Chưa tích hợp

4.2.5: Thanh ghi điều khiền USB ENDPOINT( UEPn)

Mỗi enpoint trong tổng số 16 endpoint có thanh ghi điều khiển riêng, chữ n là sốthứ tự của endpoint Tất cả các thanh ghi đều giống nhau về mặt bố trí và chức năngcủa Bit điều khiển

Bit 7-5: Chưa thích hợp

Bit 4: EPHSHK - Bit khởi động bắt tay Endpoint (Endpoint handshake)

1 = Kích hoạt Endpoint handshake

0 = Không kích hoạt Endpoint handshake

Bit 3: EPCONDIS - Bit điều khiển Endpoint

( nếu EPOUTEN = 1 và EPINEN = 1)

1 = Tắt Endpoint n control transfers; chỉ có IN và OUT transfers được cho phép

0 = Bật Endpoint n control transfers; IN và OUT transfers cũng được cho phépBit 2: EPOUTEN - Bit kích hoạt Endpoint Output

1 = Bật Endpoint n output

0 = Tắt Endpoint n output

Trang 35

Bit 1: EPINEN: Bit kích hoạt Endpoint Input

1 = Bật Endpoint n input

0 = Tắt Endpoint n input

Bit 0: EPSTALL: Bit kích hoạt Endpoint Stall

1 = Endpoint n được stall

0 = Endpoint n không được stall

4.2.6: Thanh ghi trạng thái ngắt của giao thức USB

Thanh ghi này gồm có nhiều cờ báo hiệu mỗi trạng thái ngắt từ nhiều nguồn khácnhau

Bit 7: Chưa được tích hợp

Bit 6: SOFIF - Bit ngắt START-OF-FRAME Token

1 = SIE nhận được một START-OF-FRAME token

0 = SIE không nhận được bất kì START-OF-FRAME token

Bit 5: STALLIF - Bit ngắt STALL Handshake

1 = SIE vừa truyền một STALL Handshake

0 = STALL Handshake chưa được truyền

Bit 4: IDLEIF - Bit ngắt phát hiện trạng thái chờ

1 = Phát hiện chờ (trạng thái chờ khoảng 3ms hoặc hơn)

0 = Không rãnh

Bit 3: TRNIF - Bit ngắt hoàn thành quá trình truyền

1 = Quá trình truyền hoàn tất, đọc thanh ghi USTAT về thông tin endpoint

0 = Quá trình truyền chưa hoàn tất hoặc là không có transaction nào đang chờ

Trang 36

Bit 2: ACTVIF - Bit ngắt phát hiện hoạt động của bus

1 = Phát hiện hoạt động trên đường

0 = Không có hoạt động trên đường

D+/D-Bit 1: UERRIF - D+/D-Bit ngắt điều kiện lỗi USB

1 = Một điều kiện lỗi không xác định xảy ra

0 = Không có lỗi

Bit 0: URSTIF - Bit ngắt reset USB

1 = Reset USB hợp lệ 00h được nạp vào thanh ghi UADDR

0 = USB reset không xảy ra

4.2.7: Thanh ghi kích hoạt trạng thái ngắt của giao thức USB

Thanh ghi này bao gồm các Bit kích hoạt cho các trạng thái ngắt của giao thức USB

Trang 37

Bit 3: TRNIE - Bit kích hoạt hoàn thành Transaction

Trang 38

CHƯƠNG V: GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ DS18B20

5.1: Khái quát chung

DS1820 là một sản phẩm của công ty Dallas (Hoa Kỳ), đây cũng là công ty đónggóp nhiều vào việc cho ra đời bus một dây và các cảm biến một dây Hình dạng bênngoài của cảm biến một dây DS1820 được mô tả trên hình 5.1, trong đó dạng vỏ TO-

92 với 3 chân là dạng thường gặp và được dùng trong nhiều ứng dụng, còn dạng vỏSOIC với 8 chân được dùng để đo nhiệt độ bề mặt, kể cả da người

Hình 5.1: Dạng đóng vỏ và bề ngoài của cảm biến DS1820

Các đặc điểm kỹ thuật của cảm biến DS1820 có thể kể ra một cách tóm tắt như sau:

 Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông

Trang 39

 Độ phân giải khi đo nhiệt độ là 9, 10, 11, hay 12Bit Dải đo nhiệt độ -55oC đến

125oC, từng bậc 0.5oC; 0.25oC; 0.125o; 0.0625oC

 Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có thể đượcnối trên một bus, bus này được gọi là bus một dây (1-wire bus)

 Không cần thêm linh kiện bên ngoài

 Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3,0 V đến 5,5 V mộtchiều và có thể được cấp thông qua đường dẫn dữ liệu

 Dòng tiêu thụ tại chế độ nghỉ cực nhỏ

 Thời gian lấy mẫu và biến đổi thành số tương đối nhanh, <=750 ms (12 Bit)

 Mỗi cảm biến có một mã định danh duy nhất 64 Bit chứa trong bộ nhớ ROMtrên chip (on chip), giá trị nhị phân được khắc bằng tia laze

Đầu đo nhiệt độ số DS1820 đưa ra số liệu để biểu thị nhiệt độ đo được dưới dạng

mã nhị phân Các thông tin được gửi đến và nhận về từ DS1820 trên giao diện 1-wire,

do đó chỉ cần hai đường dẫn gồm một đường cho tín hiệu và một đường làm dây đất là

đủ để kết nối vi điều khiển đến điểm đo Nguồn nuôi cho các thao tác ghi/đọc/chuyểnđổi có thể được trích từ đường tín hiệu, không cần có thêm đường dây riêng để cấpđiện áp nguồn

Trang 40

5.2: Cấu trúc phần cứng

Hình 5.2 Sơ đồ các khối cấu tạo nên cảm biến DS18B20

Ngày đăng: 08/06/2015, 12:36

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w