NGHIÊN CỨU, THIẾT KẾ HẾ THỐNG CẢM BIẾN NHIỆT ĐỘ GIAO TIẾP VÀ GHÉP NỐI MÁY TÍNH QUA GIAO THỨC USBLỚP HID Chương I: TỔNG QUAN ĐỀ TÀI Chương II: TỔNG QUAN VỀ GIAO THỨC USB VÀ LỚP HID Chương III: TỔNG QUAN VỀ MẠNG 1 DÂY Chương IV: TỔNG QUAN VỀ PIC 18F25504550 Chương V: GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ DS18B20 Chương VI: THIẾT KẾ VÀ LẮP RÁP CÁC MÔ HÌNH
ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 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ái hoạ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ép nố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 SVTH: NGUYỄN HỮU VIỆT Trang 1 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 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à thiế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àm tă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á cao và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ánh trong 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ụng Vậ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ới nhằ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áy tí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ững phầ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áp bà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 SVTH: NGUYỄN HỮU VIỆT Trang 2 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC - 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ủa mô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ại cả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 temperature sensor) và cảm biến có tín hiệu đầu ra số (digital temperature sensor). Đối với các cảm biế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ột chuẩn truyền thông nào đó, có thể là I2C, SPI hay UART.Riêng cảm biến này sử dụng chuẩ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ền thông 1 dây”. - Sơ đồ khối cho các mô hình: SVTH: NGUYỄN HỮU VIỆT Trang 3 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 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 SVTH: NGUYỄN HỮU VIỆT Trang 4 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 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ức tạ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ần nguồ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ăm 1994gồm Compaq, NEC, DEC, IBM, Intel, Cortel và Microsoft SVTH: NGUYỄN HỮU VIỆT Trang 5 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 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êm mộ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ăm 2010. ( 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 USB và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ần khở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. SVTH: NGUYỄN HỮU VIỆT Trang 6 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 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ào chú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 ra thiế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 địa chỉ 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ất lớn (+5V, 500mA) ta không cần cấp nguồn ngoài cho thiết bị SVTH: NGUYỄN HỮU VIỆT Trang 7 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC - 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ức cho 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ên giá 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ức USB, đ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ều khiển hỗ trợ giao thức USB. Ví dụ: PIC 18F2550/18F4550/18F14K50 của hãng Microchip - 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 SVTH: NGUYỄN HỮU VIỆT Trang 8 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 2.3.2: Nhược điểm Như đã trình bày ở trên, USB có rất nhiều ưu điểm tuy nhiên bên cạnh đó cũng có nhưng hạn chế nhất định - Hạn chế về tốc độ: Mặc dù tốc độ truyền của USB khá cao tuy nhiên cũng còn chậm hơn so với IEEE-1394. - Khoảng cách. USB chỉ hỗ trợ cho các thiết bị có khoảng cách tương đối gần với máy tính chủ mà thôi. Bình thường khoảng 5 mét, nếu có sự hỗ trợ của Hub thì đạt được 30 mét. Vì vậy để truyền đi xa hơn ta phải sử dụng thiết bị chuyển đổi qua giao thức RS485. - 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ới nhau 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ệu xuố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 SVTH: NGUYỄN HỮU VIỆT Trang 9 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 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ào khá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 cho luồng âm thanh hoặc kiểu truyền khối cho dữ liệu đã được mã hoá bằng giao thức MIDI (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ông tin 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ỗi thẻ là một module bao gồm bộ nhớ và thường thêm một CPU. Nhiều thẻ cho phép cập nhậ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ín dụ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 SVTH: NGUYỄN HỮU VIỆT Trang 10 [...]... 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ủa lớ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ột và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ền cá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ào lớp thiết bị lưu trữ thứ cấp SVTH:... liệu hồng ngoại sẽ được nối vớ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ả hai hướ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ể... 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... đạ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à. .. 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áy chủ 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ề giao diệ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... 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ời cho â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ột thiế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. .. thuộc lớp HID và cho phép nó trao đổi dữ liệu với máy tính chủ SVTH: NGUYỄN HỮU VIỆT Trang 13 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC 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ác trự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át hiệ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áy chủ... 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ông tin 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... 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ủ đọc thô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... 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 động củ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à . thức MIDI (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ẻ. 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 SVTH: NGUYỄN HỮU VIỆT Trang 10 ĐỒ ÁN TỐT NGHIỆP GVHD: ThS LÂM TĂNG ĐỨC diện thẻ thông minh (CCID-Chip Card Interface Device). 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