1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

THIẾT KẾ THIẾT BỊ NGOẠI VI KHÔNG DÂY CHUẨN USB HỖ TRỢ ĐIỀU KHIỂN, CẤU HÌNH HỆ THỐNG

9 165 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 542,45 KB

Nội dung

Nghiên cứu khoa học công nghệ THIẾT KẾ THIẾT BỊ NGOẠI VI KHÔNG DÂY CHUẨN USB HỖ TRỢ ĐIỀU KHIỂN, CẤU HÌNH HỆ THỐNG Nguyễn Trung Hiếu*, Hồng Văn Hữu, Vũ Văn Thuận Tóm tắt: Bài báo trình bày kết nghiên cứu thiết kế thiết bị ngoại vi không dây chuẩn USB (Universal Serial Bus) gọi “Touch USB”, thông qua thiết bị nhiều ngoại vi khác kết nối với máy tính qua cổng USB Nhóm nghiên cứu thực thiết kế thiết bị phần cứng, phần mềm điều khiển, viết chương trình điều khiển giao tiếp ngoại vi số thiết bị khác kết nối với máy tính thơng qua Touch USB Việc sử dụng thêm module nRF24L01 giúp thực truyền liệu không dây từ thiết bị ngoại vi đến máy tính qua thực cấu hình từ xa cho máy tính/bộ xử lý trung tâm cách tiện lợi thông qua Touch USB Trong báo trình bày việc thiết kế Touch USB đề xuất ứng dụng thực tế Từ khóa: USB; STM32F103; nRF24L01; Vi điều khiển, touchpad; Cảm ứng điện dung GIỚI THIỆU Trong thời đại bùng nổ công nghệ ngày nay, thiết bị điện tử Laptop, Tablet, Smart Phone, Smart TV, gần diện gia đình, trang bị cho cá nhân nhằm phục vụ công việc nhu cầu sống, kèm theo đời thiết bị ngoại vi phụ trợ giúp sử dụng tối đa chức năng, kết nối giúp cho thiết bị điện tử thơng minh hơn, kể đến Wireless mouse [1], presentation equipment [2], Hơn để sử dụng nhiều thiết bị ngoại vi lúc cần đến USB hub [3] Khi máy tính xách tay (laptop) bị hỏng bàn phím (keyboard) chuột (mouse) hai, giải pháp nghĩ đến thay mới, thay để sử dụng vài lần tốn kém, chưa kể đến số loại linh kiện cần nhiều thời gian để sửa chữa, thay Trong tình vậy, câu hỏi đặt khơng cần thay dùng laptop khác để điều khiển laptop bị hỏng khơng? Sự việc tưởng chừng đơn giản, đến chưa có phương án đảm bảo thực điều cách đơn giản hiệu quả, điều thơi thúc chúng tơi tìm kiếm giải pháp xử lý trước hết vấn đề trên, tiến hành nghiên cứu, phát triển ứng dụng có liên quan Nội dung báo trình bày trình nghiên cứu, thiết kế Touch USB giúp sử dụng nhiều thiết bị ngoại vi lúc mà không cần sử dụng USB hub Sự tiện dụng tăng lên sử dụng thiết bị ngoại vi để điều khiển thiết bị mà làm việc Touch USB ngồi việc tích hợp ngoại vi có sẵn số phím cảm ứng điều khiển thực truyền liệu không dây Một điểm đặc biệt Touch USB thiết kế giúp cho cấu hình thiết bị trực tiếp từ xa thơng qua file cấu hình đơn giản, phổ biến định dạng “*.txt” Bài báo bố cục gồm phần Phần II tóm tắt sở lý thuyết, phần III trình bày thiết kế Touch USB gồm phần cứng phần mềm điều khiển, phần IV tóm tắt tính năng, ứng dụng Touch USB cuối kết luận CƠ SỞ LÝ THUYẾT Giao tiếp USB USB giao thức nối tiếp tốc độ cao, cung cấp điện cho thiết bị kết nối với [4] Khoảng cách tối đa cho phép truyền liệu từ thiết bị đến máy chủ khoảng ba mươi mét, thực cách sử dụng hub [5] Vi điều khiển STM32F103 Tạp chí Nghiên cứu KH&CN quân sự, Số 57, 10 - 2018 73 Kỹ thuật điều khiển & Điện tử hỗ trợ giao tiếp USB với tốc độ Full Speed (12Mbps) có khả kết nối với giao diện USB Host [6] Khối giao diện bao gồm Layer1 Layer2 đảm nhận chức truyền vật lý truyền liệu logic Ngoài ra, hỗ trợ đầy đủ chế độ Suspend Resume nhằm tiết kiệm lượng Phương thức truyền liệu khơng dây qua sóng RF Module nRF24L01 truyền nhận liệu với khả kết nối point-to-point (2 node mạng), network (nhiều node mạng), sử dụng sóng radio 2.4GHz [7] Module điều khiển theo giao thức SPI, chuẩn truyền thông nối tiếp tốc độ cao SPI gọi chuẩn truyền thông “4 dây” có đường giao tiếp chuẩn SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Ouput Slave Input) SS (Slave Select) Ngoại vi khơng dây Các thiết bị ngoại vi (ví dụ: keyboard, mouse, trackball, touch pad, joysticks, game controllers) thực truyền điều khiển thơng qua sóng RF Dữ liệu từ ngoại vi vi điều khiển xử lý truyền thông qua modul nRF24L01 phục vụ điều khiển thiết bị nhận Giao diện ngoại vi không dây [8] sử dụng để ghép nối với thiết bị ngoại vi với máy tính chủ điều khiển Cảm ứng điện dung Cảm ứng điện dung sử dụng thuộc tính điện từ thân thể người để phát tiếp xúc [9] Với cảm ứng điện dung, thao tác chạm dù nhẹ ghi nhận giúp cho việc cảm ứng trở nên dễ dàng so với công nghệ khác Công nghệ sử dụng để thiết kế phím cảm ứng cho Touch USB [10] THIẾT KẾ TOUCH USB Sơ đồ khối hệ thống Với mục tiêu thiết kế giao tiếp chuẩn USB mà qua thiết bị ngoại vi thực hiện/truyền lệnh điều khiển tới trung tâm/máy tính, sơ đồ khối thiết kế Touch USB trình bày hình - Khối phát (TX): máy tính Touch Keypad kết nối với thiết bị phát Nhiệm vụ khối phát thực nhận liệu từ máy tính cá nhân Touch Keypad, đóng gói liệu truyền sang bên thu Trường hợp sử dụng máy tính liệu nhập từ keyboard, mouse để cung cấp cho vi điều khiển qua kết nối USB thông qua việc ghi lệnh vào file config ổ USB thiết bị Trường hợp lại, liệu nhập từ nút cảm ứng thiết kế sẵn sản phẩm, nút tương ứng với số phím định keyboard (việc định nghĩa phím định nghĩa thơng qua file cấu hình), vi điều khiển đọc giá trị ADC từ nút cảm ứng xác định mã phím tương ứng với nút cảm ứng - Khối thu (RX): máy tính cá nhân, thiết bị di động, máy tính nhúng kết nối với thiết bị thu Nhiệm vụ khối thu nhận liệu từ khối phát, gửi cho vi điều khiển thực xử lí Vi điều khiển xử lí liệu nhận để gửi lên máy tính thơng qua giao tiếp USB giúp máy tính nhận ngoại vi cài đặt thiết bị Phía thu hiển thị kết tồn q trình truyền nhận (các kí tự hoạt động gửi điều khiển từ phía phát) + Khối thu/phát vơ tuyến (RF): sử dụng modul nRF24L01, thực nhận liệu từ vi điều khiển truyền liệu từ phía thu thơng qua sóng RF 74 N T Hiếu, H V Hữu, V V Thuận, “Thiết kế thiết bị ngoại vicấu hình hệ thống.” Nghiên cứu khoa học cơng nghệ Máy tính/Server Tablet, Smart Phone Smart TV Raspberry Pi, Laptop Keyboard Mouse USB USB RF TX RX RF Touch Keypad TX Battery Hình Sơ đồ khối hệ thống Touch USB Thiết kế phần cứng Mạch ngun lí Touch USB: Hình Khối điều khiển (MCU) USB Chú thích: đường D+ tương ứng với USBDP, D- tương ứng với USBDM MCU vi điều khiển STM32F103C8T6 kết nối với cổng USB hình Hình Khối thu thập liệu RF nút cảm ứng điện dung Qua trình kiểm thử Sensor (các pad đồng) thiết kế dạng hình tròn xếp theo dạng lưới (hình 3, 4) Thiết kế tận dụng tối đa khả phát chạm/khơng chạm giảm kích thước Board mạch (tiết kiệm chi phí sản xuất) mà đảm bảo việc tránh nhiễu kênh lân cận Tạp chí Nghiên cứu KH&CN quân sự, Số 57, 10 - 2018 75 K Kỹỹ thuật điều khiển & Điện tử Hình Một Một phi phiên ên bbản ản sản phẩm phẩm Hình Lưu đồ đồ thuật toán thiết kế phần mềm mềm Thiết Thi ết kế phần mềm Phần mềm đđược Phần ợc thiết kế giúp ng người ời dùng dùng thể thay đổi chế độ hoạt động thiết bị ột cách linh hoạt (h (hình ình 5) Đểể thực thay đổi chế độ hoạt động Touch USB ta thực ực sửa lệnh MODE file config.txt, cụ thể nh sau: - MODE = TX: ch chếế độ nhận liệu - MODE = RX: ch chếế độ truyền với ddữ ữ liệu đầu vvào được lấy từ keyboard, mouse - MODE = TOUCH: ch đư ợc lấy từ nút cảm ứng chếế độ truyền với liệu đầu vvào thi thiết ết bị Sau th thực ực chọn chế độ lệnh MODE vvà ấn Save để tiến hhành ành lưu file config.txt thi thiết ết bị đđư ợc reset và tiến tiến hhành ành cấu cấu hình hình llại ại để hoạt động với chế ược 76 N T Hi Hiếu, ếu, H V Hữu, V V Thuận Thuận,, “Thi Thiết ết kế thiết b bịị ngoại vicấu ấu hình hình hệ hệ thống thống.”” Nghiên cứu khoa học cơng nghệ độ Ngồi thơng tin cấu hình file config.txt lưu lại nhớ Flash Touch USB để đảm bảo liệu cấu hình khơng bị Touch USB khơng cấp nguồn Ở chế độ TOUCH hàm touch_mode_process() gọi Hàm thực đọc liệu từ nút cảm ứng sau tiến hành đóng gói liệu thực gửi tin sang khối thu Ở chế độ TX hàm tx_mode_process() gọi Hàm thực nhận liệu từ ngoại vi keyboard, mouse máy tính sau tiến hành đóng gói liệu thực gửi tin sang khối thu Ở chế độ RX hàm rx_mode_process() gọi Hàm thực nhận gói tin từ bên nhận gửi sang, giải mã tiến hành gửi liệu lên máy tính Phương pháp cấu hình thiết bị qua ổ USB Khi kết nối với thiết bị xuất ổ USB Trong ổ chứa tệp cấu hình (file config) phục vụ cho việc cấu hình tham số hoạt động thiết bị File config có định dang “*.txt” nên ta sử dụng phần mềm mặc định Windows Notepad để mở file config Việc lựa chọn file text để thực cấu hình thiết bị làm cho sản phẩm trở lên tiện lợi dễ dàng sừ dụng nhiều cho người dùng phổ thơng Từ làm tăng phạm vi sử dụng sản phẩm Hơn sản phẩm sử dụng giao tiếp USB để thực truyền liệu từ ổ USB máy tính xuống vi điều khiển để phục vụ cho việc cấu hình Từ độ tối ưu tính tiện lợi sản phẩm phát huy đến mức tối đa Khi ấn lưu tệp cấu hình (save file config) liệu gửi từ máy tính xuống nhớ RAM vi điều khiển (ramdisk) Trong file ramdisk.c có hàm ramdisk_write xử lý liệu gửi xuống từ máy tính Quá trình thực cấu hình lại thiết bị thực thơng qua bước: + Cấu hình module RF tương ứng với chế độ hoạt động tham số lưu file cấu hình + Lưu thơng tin cấu hình thiết bị vào nhớ Flash vi điều khiển + Khởi tạo lại USB Cơ chế xử lí liệu file config miêu tả chi tiết sơ đồ thuật tốn hình Các lệnh giá trị tham số cấu hình sau ấn lưu lưu vào nhớ Flash vi điều khiển Do thiết bị điện thơng tin cấu hình khơng bị (chú ý thông tin phải lưu vào nhớ Flash trước điện), cấp điện cho thiết bị kiểm tra lại file config.txt thấy thứ giữ nguyên trạng thái trước Sau liệu file config lưu liệu máy tính gửi xuống đệm buffer vi điều khiển Sau liệu lấy để tiến hành xử lý Dữ liệu từ máy tính gửi xuống chia thành sector Tuy nhiên liệu mà máy tính gửi xuống vi điều khiển có vài sector khác ta cần quan tâm đến sector Các sector khác copy vào nhớ RAM vi điều khiển Các sector khác chứa liệu toàn file config.txt lưu ổ USB thiết bị Do ta cần sử dụng hàm ramdisk_write để lấy liệu từ nhớ RAM vi điều khiển Toàn khối liệu file config.txt phân chia thành dòng (string) thơng qua kí tự ‘\n’ để phục vụ việc xử lý lệnh (command) Tạp chí Nghiên cứu KH&CN quân sự, Số 57, 10 - 2018 77 K Kỹỹ thuật điều khiển & Điện tử Hình Thuật Thuật tốn xử lí liệu file config config Trong file ccấu ấu hình hình ssẽẽ có dòng dòng tiêu đđềề (header) llàà [thMakey Config] ddòng òng đầu ầu ti tiên ên file H Hàm àm ramdisk_write sẽẽ thực kiểm tra header nnày, ày, nnếu ếu không header th thìì llệnh ệnh phía ddưới ới dòng dòng header dù có cũng khơng đđư ược ợc xử lý Cấu ấu trúc command có dạng nh sau: [Command string][=][Parameters] Chương tr trình ình th thực ực kiểm tra Command string Nếu llàà lệnh thìì lệnh th parameters ssẽẽ đươc đươc tách kh khỏi ỏi command, command, sau ssẽẽ đ ợc xử lí vvàà lưu lại lại string llàà lệnh phải lệnh thì ssẽẽ bỏ qua vvàà tiến tiến hhành ành xxử lí đến ddòng òng ti tiếp ếp theo Các parameter sau llưu ưu llại ại vào vào bộ nhớ Flash đđư ược ợc khối Process parameter chứa hhàm àm kh khởi ởi tạo USB, ccấu ấu hình hình module RF, hàm thu thuật ật toán phát chạm sử dụng để cấu hhình ình llại ại hoạt động thiết bị hoạt ddụ ụ lệnh: RF24_Channel = 50 Ch Chương ương trình trình sẽ thực kiểm tra ddòng òng lệnh ệnh Nếu xuất chuỗi “RF24_Channel” th thìì chương chương trình trình sẽ thực lấy parameter củủa lệnh ệnh (trong dụ nnày ày 50) Sau giá tr trịị này sẽ đươc đươc lưu llại ại vvàà hàm cấu c ấu hhình ình module RF ssẽẽ sử dụng parameter nnày ày để ình để phục vụ cho việc cấu hhình 78 N T Hi Hiếu, ếu, H V Hữu, V V Thuận Thuận,, “Thi Thiết ết kế thiết b bịị ngoại vicấu ấu hình hình hệ hệ thống thống.”” Nghiên cứu khoa học cơng nghệ THỬ NGHIỆM, ĐÁNH GIÁ VÀ ĐỀ XUẤT ỨNG DỤNG CỦA TOUCH USB Thử nghiệm, đánh giá ngoại vi tích hợp thiết bị Thiết bị Touch USB thiết kế bao gồm số chuẩn kết nối keyboard, mouse, cổng COM, USB Mass storage cấu hình chip STM32 nhỏ gọn thơng dụng Ngay thiết bị kết nối với máy tính thơng qua cổng USB máy tính nhận diện thiết bị ngoại vi, từ thiết bị Touch USB vừa thực tính ngoại vi, vừa làm cầu nối chuyển thông tin điều khiển từ ngoại vi tới máy tính/trung tâm điều khiển Khi đấu nối Touch USB vào máy tính máy tính nhận Touch USB tương ứng với 04 ngoại vi hình Hình Kiểm tra máy tính nhận Touch USB Device Manager Chức Keyboard Ngay kết nối, máy tính nhận Touch USB keyboard Sau nhận keyboard, ta chạm vào nút cảm ứng (thiết kế sẵn Touch USB) để gửi thơng tin phím (nút cảm ứng) lên máy tính Chức Mouse Ngay kết nối, máy tính nhận Touch USB thiết bị mouse máy tính mới, từ sử dụng nút cảm ứng để điều khiển mouse máy tính với thao tác đơn giản lên, xuống, sang trái, sang phải, cuộn lên, cuộn xuống Chức COM Port Ngay kết nối, máy tính nhận Touch USB thiết bị kết nối qua cổng COM, từ thiết bị ta thực gửi liệu từ vi điều khiển lên máy tính qua cổng COM cách dễ dàng Việc giúp cho máy tính nhận cổng COM từ thiết bị có vai trò quan trọng q trình lập trình ứng dụng liên quan đến cấu hình thiết bị Ta dễ dàng dùng hàm in (printf) để thực gỡ lỗi (debug) qua giúp cho trình phát lỗi dễ dàng Chức USB Mass Storage Khi kết nối thiết bị với máy tính, kiểm tra Device Manager thấy hệ điều hành nhận thiết bịUSB bình thường (tên PTITTeam stm32 USB Device) Với ổ USB này, ta thực đầy đủ thao tác với ổ USB thông dụng như: copy, paste, cut, đọc, ghi file Dung lượng ổ USB dung lượng ổ đĩa ảo tạo từ trước máy tính Dung lượng tối đa ổ USB 30MB USB định dạng theo chuẩn FAT Để máy tính nhận thiết bịusb bình thường ta cần phải tạo ổ ảo có dung lượng định dạng phù hợp Sau lưu file (dạng vhd), lọc vùng nhớ có giá trị khác đưa vào mã chương trình (code) Lúc mã chương trình thực đọc mảng giá trị khác ghi ngược lại đệm vi điều khiển Từ máy tính nhận thêm Touch USBUSB Tạp chí Nghiên cứu KH&CN quân sự, Số 57, 10 - 2018 79 Kỹ thuật điều khiển & Điện tử Nhóm tác giả tiến hành khảo sát, thử nghiệm 04 tính Touch USB nhiều lần máy tính hang Dell, HP, Lenovo, Sony, Asus, Acer đạt kết thành công lên tới 100%; thực kết nối cấu hình từ xa thơng qua Touch USB thành cơng với máy tính máy tính nhúng Raspberry Pi Một số ứng dụng Thiết bị ngoại vi không dây chuẩn USB (Touch USB) cho phép ta giải toán đặt mục 1: sử dụng mouse, keyboard laptop để điều khiển, cấu hình máy tính khác dụ máy tính nhúng Raspberry khơng có sẵn keyboard mouse ta kết nối thiết bị với sản phẩm ngồi từ xa điều khiển cách dễ dàng tiện lợi Sản phẩm tích hợp nhiều ngoại vi có tính động đa dụng cao Khi cấu hình phím cảm ứng Touch USB thành số phím định tương ứng với phím keyboard kèm theo nguồn điện sạc dự phòng có sẵn từ ứng dụng làm điều khiển KẾT LUẬN Bài báo trình bày tóm tắt kết nghiên cứu, thiết kế phần cứng phần mềm thiết bị ngoại vi không dây chuẩn USB sử dụng vi điều khiển thông dụng STM32F103 Touch USB sản phẩm mẫu hồn chỉnh cấu hình để hoạt động theo nhiều chế độ TOUCH – TX – RX Về bản, Touch USB hoạt động theo chuẩn giao tiếp USB, tích hợp nhiều ngoại vi trao đổi thơng tin qua đường truyền khơng dây Trong tương lai tích hợp thêm nhớ FLASH để tăng khả lưu trữ, thiết kế tăng số lượng phím cảm ứng tăng tốc độ truyền liệu Lời cảm ơn: Chúng tơi xin chân thành cảm ơn phòng nghiên cứu điện tử PTIT Team, Khoa Kỹ thuật điện tử 1, Học viện Cơng nghệ Bưu Viễn thơng hỗ trợ nhóm thực nội dung nghiên cứu TÀI LIỆU THAM KHẢO [1] Philippe Junod, Berni Joss, Nicolas Sasselli, Rene Sommer, Aldo Bussien, Wireless mouse, US5854621A, 1991 [2] Alexander L Tsakiris, David L Lawson, Remote controlled electronic presentation system, US5204768A, 1991 [3] Toshiyuki Nagase, USB hub, USB-compliant apparatus, and communication system, US20060179144A1, 2005 [4] Shih-Chou Juan, Application method for universal serial bus file transfer cable, US20040230708A1, 2003 [5] Kenichi Ueda, Data transfer control method and controller for universal serial bus interface, US6816929B2, 2000 [6] STMicroelectronics: DocID13587 Rev 17 19/117, 2015 [7] Nordic Semiconductor ASA, nRF2401 Single Chip 2.4 GHz Radio Transceiver, 2004 [8] Sergio Lazzarotto, Jean-Daniel Zanone, Gerhard A Schneider, Wireless peripheral interface with universal serial bus port, US6782245B1, 1999 [9] Bernard Kasser, Bernhard Joss, Stephen J Bisset, Touch sensing method and apparatus, US5790107A, 1995 [10] Liu Hua, Jiang XiaoPing, Capacitance sensing matrix for keyboard architecture, US8059015B2, 2006 80 N T Hiếu, H V Hữu, V V Thuận, “Thiết kế thiết bị ngoại vicấu hình hệ thống.” Nghiên cứu khoa học công nghệ ABSTRACT RESEARCH AND DESIGN OF USB WIRELESS PERIPHERALS SUPPORTING SYSTEM CONFIGURATION This paper presents the results of research and design of a USB (Universal Serial Bus) standard peripheral device called "Touch USB", through this device many different peripherals can connect to the machine via USB port We have designed hardware devices, driver software, and written peripheral control programs for some different devices connected to a computer via a USB interface The device also has some touch keys that can be used conveniently, replacing some of the physical keys of the keyboard At the same time, the addition of the nRF24L01 module enables wireless data transmission from peripheral devices to the computer In this article we will present the Touch USB design and propose its applications in practice Keyword: USB; STM32F103; nRF24L01; Microcontroller; Touchpad; Capacitive sensor Nhận ngày 22 tháng năm 2018 Hoàn thiện ngày 01 tháng năm 2018 Chấp nhận đăng ngày 12 tháng 10 năm 2018 Địa chỉ: Khoa Kĩ thuật điện tử 1, Học viện Cơng nghệ Bưu Viễn thơng, 122 Hồng Quốc Việt, Cầu Giấy, Hà Nội * Email: hieunt@ptit.edu.vn Tạp chí Nghiên cứu KH&CN quân sự, Số 57, 10 - 2018 81 ... Thiết ết kế thiết b bị ngoại vi … cấu ấu hình hình hệ hệ thống thống.”” Nghiên cứu khoa học cơng nghệ độ Ngồi thơng tin cấu hình file config.txt lưu lại nhớ Flash Touch USB để đảm bảo liệu cấu. .. ấu hình hình hệ hệ thống thống.”” Nghiên cứu khoa học công nghệ THỬ NGHIỆM, ĐÁNH GIÁ VÀ ĐỀ XUẤT ỨNG DỤNG CỦA TOUCH USB Thử nghiệm, đánh giá ngoại vi tích hợp thiết bị Thiết bị Touch USB thiết kế. .. máy tính Phương pháp cấu hình thiết bị qua ổ USB Khi kết nối với thiết bị xuất ổ USB Trong ổ chứa tệp cấu hình (file config) phục vụ cho vi c cấu hình tham số hoạt động thiết bị File config có định

Ngày đăng: 12/11/2018, 19:08

TỪ KHÓA LIÊN QUAN

w