Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

6 1.3K 16
Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

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

Thông tin tài liệu

1 NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ ĐIỆN TỬ Ks. Mai Thị Phương Thảo, Ks. Chu Ngọc Liêm Ks. Phan Minh Tân, TSKH. Phạm Thượng Cát Phßng c«ng nghÖ §éng Hãa - ViÖn C«ng NghÖ Th«ng Tin Tel: 84-4-8363484, Fax: 84-4- 8363485 e-mail: ptcat@ioit.ncst.ac.vn Tóm tắt: Sự ra đời của Hiệp hội dữ liệu hồng ngoại (Infrared Data Association) và nhu cầu kết nối không dây khoảng cách ngắn và chi phí thấp đã và đang kích hoạt sự phát triển của các thiết bị thu phát hồng ngoại. Với mục tiêu nội địa hoá và giảm giá thành sản phẩm bằng cách ứng dụng công nghệ hiện đại PSoC, phòng công nghệ tự động hoá của viện Công nghệ thông tin đã nghiên cứu chế tạo được thiết bị thu pháp sử dụng công nghệ IrDA với độ tin cậy cao, gọn nhẹ và giá thành hạ. Thiết bị thu phát này thể được ứng dụng rộng rãi trong nhiều lĩnh vực như công nghiệp, quốc phòng, và đặc biệt là trong các ứng dụng dân dụng, các sản phẩm gia dụng điện tử. Research and Development of Infrared Remote Control Device for Mechatronic Systems Abstract: The formation of Infrared Data Association and the need of low-cost, short-range wireless data link continue booting up the development of Send/Receive IrDA devices. Aiming to build Vietnamese devices and to reduce production cost by using new technology PSoC, Department for Automation and Technology of Institute of Information Technology has researched and developed sucessfully send/receive IrDA devices, which are reliable, light weight, and low cost. These IrDA devices can be use broadly in industry, defence and security, and especially in consumer and mechatronics products. 1 Công nghệ IrDA: Chuẩn hồng ngoại IR từ lâu đã được dùng để phát triển các kết nối không dây với khoảng cách ngắn và chi phí thấp. Công nghệ này được sử dụng nhiều trong điều khiển từ xa của vô tuyến, điều hoà nhiệt độ, trong máy tính, máy tính cầm tay, các thiết bị y tế và cả trong máy in . Trước năm 1993, công nghệ hồng ngoại phát triển không đồng bộ trong các công ty lớn vì thiếu chuẩn chính thức. Để trung hoà vấn đề này, Hiệp hội dữ liệu hồng ngoại (Infrared Data Association – IrDA) được thành lập. Ngày nay, chuẩn IrDA định nghĩa giao thức truyền thông tin cho rất nhiều các ứng dụng hồng ngoại. 2 Giới thiệu chung về điều khiển từ xa sử dụng công nghệ IrDA: Như đã nói ở trên, chuẩn hồng ngoại IrDA cung cấp cho người sử dụng một giao thức thực tế với chi phí thấp để truyền dẫn tín hiệu. Thêm vào đó, nhu cầu truyền dữ liệu giữa các dụng cụ động và tĩnh bằng các thiết bị điều khiển từ xa trong thời đại tự động hoá đã kích hoạt sự phát triển và phổ biến của truyền dẫ tín hiệu sử dụng tia hồng ngoại. Nhận rõ tầm quan trọng và phổ biến của công nghệ IrDA, Hãng Cypress đã cung cấp 2 user module IrDATX và IrDARX trong chip PSoC (Programmable System on Chip) để hỗ trợ các ứng dụng truyền và nhận tín hiệu hồng ngoại. Sử dụng các user module này, hai bảng mạch đã được phát triển, một hoạt động để nhận tín hiệu (sẽ được gắn trong thiết bị được điều khiển), một hoạt động trong vai trò là bộ điều khiển từ xa (remote control), gửi tín hiệu đến bảng mạch thứ nhất để điều khiển hoạt động của thiết bị đó. 3 Nguyên lý hoạt động 3.1 Bộ điều khiển từ xa hồng ngoại (remote control): Module phát được thiết kế (như hình 1) bao gồm: ! Bàn phím: gồm 13 phím bấm để nhận lệnh điều khiển từ người sử dụng 2 ! Màn hình hiển thị LCD: hiển thị các lệnh đang được thực hiện ! Transitor (NPN C2383, độ khuyếch đại 114) và IrLED để truyền tín hiệu hồng ngoại. ! Chíp PSoC để nhận lệnh từ người sử dụng, xử lý và phát lệnh đến dụng cụ được điều khiển. Chíp đặc trưng PSoC được thiết kế sử dụng 4 user module là: Counter8, LCD, PWM8, và IrDATX. Counter và PWM được sử dụng để lần lượt tạo tín hiệu cho BaudClk và BitTimerClk của IrDATX module. Các giá trị của Clock và Processor được đặt để tốc độ truyền dẫn tín hiệu trên kênh hồng ngoại đạt được là 2.4kbps. Trên lý thuyết, tốc độ truyền dẫn tín hiệu trên kênh hồng ngoại thể đạt tới 115kbps. Nhưng thực tế thử nghiệm cho thấy tại 2.4kbps kênh hồng ngoại điều khiển bởi PSoC chạy ổn định nhất, do đó thiết bị hồng ngoại được mặc định tại giá trị này. Với các kết quả đã đạt được chúng tôi đang tiếp tục phát triển để tạo ra chip chuyên dụng cho bộ điều khiển xa hồng ngoại của máy lạnh hai cục. Hình 1: Sơ đồ mạch của bộ điều khiển xa 3.2 Module nhận Module nhận (hình 2) gồm có: ! chip nhận hồng ngoại ! LCD để hiển thị dữ liệu nhận được từ điều khiển từ xa ! Chíp PSoC để xử lý dữ liệu Dựa vào các dữ liệu nhận được, máy điều hoà sẽ các lệnh tương ứng để cho máy hoạt động. Module nhận cũng sử dụng 4 module người sử dụng là PWM8, counter8, LCD và IrDARX. Cấu hình cài đặt của các module này giống hệt các module ở trong phần module phát, tạo điều kiện cho việc đồng bộ giữa bộ phận thu và phát. 3 Hình 2: Sơ đồ mạch thu 3.3 Phần mềm Chương trình vận hành của module thu và nhận được viết bằng ngôn ngữ lập trình C, dịch và chạy trên môi trường PSoC Designer cung cấp bởi Cypress. Module phát 4 Hình 6: Lưu đồ của module phát Trong module phát này, Chương trình main chỉ làm nhiệm vụ scan keyboard (khi mà keycode bằng 0) và gọi hàm hiển thị các phím đã được ấn (khi đó keycode sẽ khác 0). Hàm keyscan() là hàm nhiệm vụ quét bàn phím để kiểm tra xem người sử dụng ấn phím nào không. Hàm này hoạt động dựa trên nguyên tắc của bàn phím cấu tạo như sau: Hình 7: Cấu tạo của keyboard Từ đặc điểm cấu tạo của bàn phím, ta thể viết ra hàm quét bàn phím bằng cách đọc vào các giá trị từ cổng 2 của PSoC. Hình 8: Mã nguồn của chương trình quét bàn phím Giá trị của hàm readkeydelay() hiện tại là 300ms. Giá trị này là giá trị được dựa trên thực tiễn thử nghiệm, cho giá trị khá chính xác của phím bị nhấn. Sở dĩ ta cần sử dụng hàm này là để chip thể nhận dạng đúng phím bị ấn, tránh trường hợp nhiễu do môi trường tạo ra tại port 2 của PSoC chip. Hàm Codeout() được sử dụng để truyền dữ liệu khi một trong những phím lệnh trên thiết bị điều khiển từ xa đã được ấn. Hàm này nhiệm vụ tạo ra hai Byte lệnh, cmdSend, trong đó cmdSend[1] = 0x06 và cmdSend[2] được gán giá trị tuỳ theo việc phím nào đã được ấn (ví dụ khi phím 1 được ấn thì cmdSend[2] = 0x90. khi phím 2 được ấn thì cmdSend[2] = 0x91 .). Các giá trị khác nhau của cmdSend[2] được gán bằng cách sử dụng lệnh Switch(keycode), với keycode khác nhau, ta sẽ các giá trị khác nhau của cmdSend[2]. Sau khi cmdSend đã được gán giá trị, hàm IrDASend() sẽ được gọi để phát đi giá trị của nó trên kênh hồng ngoại. ở đây, một lưu ý nhỏ là: tuy cmdSend chỉ chứa 2 byte giá trị, ta cần khai báo nó là một mảng gồm 3 byte vì hàm IrDASend() chỉ dừng phát tín hiệu khi nó pointer của mảng là bằng NULL (mặc định nếu như ta định nghĩa một string). Byte thứ 3 của cmdSend sẽ giá trị là 0 để hàm IrDASend không bị lỗi. Hình 9 là một đoạn trong hàm IrDASend, kiểm tra giá trị của con trỏ để quyết định xem tiếp tục gửi dữ liệu đi không. 5 Hình 9: Giải thuật của hàm IrDASend Ví dụ ở bộ điều khiển xa hồng ngoại cho máy lạnh, khi muốn gửi đi giá trị của Giờ và Phút sau khi đã gửi lệnh BEFORE_HAND, ta phải định nghĩa 1 mảng gồm 3 byte time[3]. Khi time[0] = 1, module nhận sẽ đọc giá trị của time[1] là giờ, và nếu time[0] = 2 thì module nhận sẽ đọc giá trị của time[1] là phút. Giá trị của time[2] luôn luôn bằng 0 để ngăn chặn việc hàm IrDASend gửi đi các mã lệnh ngoài ý muốn. Module thu Lưu đồ cho chương trình thu tín hiệu được thể hiện ở hình 10. Hình 10: Lưu đồ của chương trình thu tín hiệu Dựa vào lưu đồ, ta thể thấy, chương trình nhận chỉ loop trong vòng while để đợi tín hiệu tới. Đầu tiên, chương trình kiểm tra xem là Bit mở đầu của một chuỗi tín hiệu 8 bít đã được nhận ra chưa? Nếu được nhận rồi, chương trình sẽ chuyển xuống bước tiếp theo. Nếu chưa bit mở đầu nào được nhận thì nó sẽ ở đó để chờ. Sau khi bit mở đầu đã được nhận, chương trình sẽ đợi cho đến khi một lệnh 8 bit được nhận đủ. Điều kiện để nhận biết là bit RX_COMPLETE trong Control Register được set. Khi bit này bằng 1, nghĩa là buffer để chứa 1 byte dữ liệu của module nhận đã đầy, ta sẽ phải đọc dữ liệu để tránh trường hợp buffer overflow. Trong phần xử lý tín hiệu, việc xử lý lệnh sẽ chỉ được thực hiện sau khi chương trình đọc đủ 2 byte, trong đó byte đầu là 0x06. Sau đó 2 trường hợp: ! Trường hợp thứ nhất: khi lệnh truyền tới không phải là lệnh BEFORE_HAND (0xA1). Trong trường hợp này, ta sẽ tuỳ theo mã lệnh mà thực hiện các nhiệm vụ mà người điều khiển muốn làm. ! Trường hợp thứ hai: khi lệnh truyền tới là lệnh BEFORE_HAND (0xA1). Trong trường hợp này, ta sẽ phải đợi để đọc thêm dữ liệu về giờ và phút (mỗi lần đặt giờ hoặc phút sẽ 2 byte dữ liệu gửi đến) 4 Kết luận Sử dụng chip PSoC với công nghệ hồng ngoại IrDA, ta thể chế tạo thiết bị thu phát điều khiển từ xa với độ tin cậy cao, gọn nhẹ và giá thành thấp. Ứng dụng của thiết bị thu phát là rất nhiều trong lĩnh vực công nghiệp, dân dụng và an ninh quốc phòng bởi nó cung cấp cho người sử dụng độ linh động cao rất phù hợp trong thời điểm hiện nay. 6 5 Tài liệu tham khảo [1] IrDA information. [Online] http://www.irda.org/ [2] CY8C25122, CY8C26233, CY8C26443, CY8C26643” Device data sheet, Cypress MicroSystem, 2002 [3] “PSoC Designer. Integrated Development Environment User Guide”, Cypress MicroSystem, 2002 . 1 NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ Ks. Mai Thị Phương Thảo, Ks. Chu. thị dữ liệu nhận được từ điều khiển từ xa ! Chíp PSoC để xử lý dữ liệu Dựa vào các dữ liệu nhận được, máy điều hoà sẽ có các lệnh tương ứng để cho máy

Ngày đăng: 10/12/2013, 14:15

Hình ảnh liên quan

Hình 1: Sơ đồ mạch của bộ điều khiển xa - Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

Hình 1.

Sơ đồ mạch của bộ điều khiển xa Xem tại trang 2 của tài liệu.
Hình 2: Sơ đồ mạch thu - Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

Hình 2.

Sơ đồ mạch thu Xem tại trang 3 của tài liệu.
Hình 7: Cấu tạo của keyboard - Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

Hình 7.

Cấu tạo của keyboard Xem tại trang 4 của tài liệu.
Hình 8: Mã nguồn của chương trình quét bàn phím - Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

Hình 8.

Mã nguồn của chương trình quét bàn phím Xem tại trang 4 của tài liệu.
lỗi. Hình 9 làm ột đoạn trong hàm IrDASend, kiểm tra giá trị  của con trỏđể quyết định xem có tiếp tục  gửi dữ liệu đi không - Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

l.

ỗi. Hình 9 làm ột đoạn trong hàm IrDASend, kiểm tra giá trị của con trỏđể quyết định xem có tiếp tục gửi dữ liệu đi không Xem tại trang 4 của tài liệu.
hình 10. - Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

hình 10..

Xem tại trang 5 của tài liệu.
Hình 9: Giải thuật của hàm IrDASend - Tài liệu NGHIÊN CỨU THIẾT KẾ THIẾT BỊ ĐIỀU KHIỂN TỪ XA HỒNG NGOẠI (IRDA) CHO CÁC HỆ CƠ ĐIỆN TỬ doc

Hình 9.

Giải thuật của hàm IrDASend Xem tại trang 5 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan