Nghiên cứu khoa học công nghệ THIẾTKẾTHIẾTBỊNGOẠIVIKHÔNGDÂYCHUẨNUSBHỖTRỢĐIỀUKHIỂN,CẤUHÌNHHỆ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ếtkếthiếtbịngoạivikhôngdâychuẩnUSB (Universal Serial Bus) gọi “Touch USB”, thông qua thiếtbị nhiều ngoạivi 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ếtkếthiếtbị phần cứng, phần mềm điềukhiển, viết chương trình điều khiển giao tiếp ngoạivi số thiếtbị 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ôngdây từ thiếtbịngoạivi đến máy tính qua thực cấuhì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ếtkế Touch USB đề xuất ứng dụng thực tế Từ khóa: USB; STM32F103; nRF24L01; Viđiềukhiể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ếtbị đ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ếtbịngoạivi phụ trợ giúp sử dụng tối đa chức năng, kết nối giúp cho thiếtbị điện tử thơng minh hơn, kể đến Wireless mouse [1], presentation equipment [2], Hơn để sử dụng nhiều thiếtbịngoạivi 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ếtkế Touch USB giúp sử dụng nhiều thiếtbịngoạivi 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ếtbịngoạivi để điều khiển thiếtbị mà làm việc Touch USB ngồi việc tích hợp ngoạivi có sẵn số phím cảm ứng điều khiển thực truyền liệu khôngdây Một điểm đặc biệt Touch USBthiếtkế giúp cho cấuhìnhthiếtbị trực tiếp từ xa thơng qua file cấuhì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ếtkế Touch USB gồm phần cứng phần mềm điềukhiể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 USBUSB giao thức nối tiếp tốc độ cao, cung cấp điện cho thiếtbị kết nối với [4] Khoảng cách tối đa cho phép truyền liệu từ thiếtbị đế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ơngdâ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ạivikhơngdây Các thiếtbịngoạivi (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ạiviviđiều khiển xử lý truyền thông qua modul nRF24L01 phục vụ điều khiển thiếtbị nhận Giao diện ngoạivikhôngdây [8] sử dụng để ghép nối với thiếtbịngoạivi 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ếtkế phím cảm ứng cho Touch USB [10] THIẾTKẾ TOUCH USB Sơ đồ khối hệthống Với mục tiêu thiếtkế giao tiếp chuẩnUSB mà qua thiếtbịngoạivi 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ếtkế 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ếtbị 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 USBthông qua việc ghi lệnh vào file config ổ USBthiếtbị Trường hợp lại, liệu nhập từ nút cảm ứng thiếtkế 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ếtbị di động, máy tính nhúng kết nối với thiếtbị 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ạivi cài đặt thiếtbị 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ếtbịngoạivi … cấuhìnhhệ 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 USBUSB RF TX RX RF Touch Keypad TX Battery Hình Sơ đồ khối hệthống Touch USBThiếtkế 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 USBhìnhHì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ếtkế dạng hình tròn xếp theo dạng lưới (hình 3, 4) Thiếtkế 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ếtkế phần mềm mềm Thiết Thi ết kế phần mềm Phần mềm đđược Phần ợc thiếtkế giúp ng người ời dùng dùng thể thay đổi chế độ hoạt động thiếtbị ộ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ấucấuhìnhhì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ạivi … cấu ấu hìnhhìnhhệhệthống thống.”” Nghiên cứu khoa học cơng nghệ độ Ngồi thơng tin cấuhình file config.txt lưu lại nhớ Flash Touch USB để đảm bảo liệu cấuhìnhkhơngbị Touch USBkhơ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ạivi 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ấuhìnhthiếtbị qua ổ USB Khi kết nối với thiếtbị xuất ổ USB Trong ổ chứa tệp cấuhình (file config) phục vụ cho việc cấuhình tham số hoạt động thiếtbị 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ấuhìnhthiếtbị 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ấuhì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ấuhì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ấuhình lại thiếtbị thực thơng qua bước: + Cấuhình module RF tương ứng với chế độ hoạt động tham số lưu file cấuhình + Lưu thơng tin cấuhìnhthiếtbị 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ấuhình sau ấn lưu lưu vào nhớ Flash viđiều khiển Do thiếtbị điện thơng tin cấuhìnhkhơngbị (chú ý thông tin phải lưu vào nhớ Flash trước điện), cấp điện cho thiếtbị 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 ổ USBthiếtbị 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ìnhhì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ìnhhì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ếtbị hoạt Ví 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 ví 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ạivi … cấu ấu hìnhhìnhhệ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ạivi tích hợp thiếtbịThiếtbị Touch USBthiếtkế bao gồm số chuẩn kết nối keyboard, mouse, cổng COM, USB Mass storage cấuhình chip STM32 nhỏ gọn thơng dụng Ngay thiếtbị 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ếtbịngoại vi, từ thiếtbị 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ạivi 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ạivihìnhHì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 USBthiếtbị 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 USBthiếtbị kết nối qua cổng COM, từ thiếtbị 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ếtbị có vai trò quan trọng q trình lập trình ứng dụng liên quan đến cấuhìnhthiếtbị 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ếtbị với máy tính, kiểm tra Device Manager thấy hệđiều hành nhận thiếtbị ổ 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 ổ USBthô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ếtbị ổ 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 USB ổ USB 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ấuhì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ếtbịngoạivikhôngdâychuẩnUSB (Touch USB) cho phép ta giải toán đặt mục 1: sử dụng mouse, keyboard laptop để điềukhiển,cấuhình máy tính khác Ví dụ máy tính nhúng Raspberry khơng có sẵn keyboard mouse ta kết nối thiếtbị 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ạivi có tính động đa dụng cao Khi cấuhì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ếtkế phần cứng phần mềm thiếtbịngoạivikhôngdâychuẩnUSB 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ấuhì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ạivi trao đổi thơng tin qua đường truyền khơngdây Trong tương lai tích hợp thêm nhớ FLASH để tăng khả lưu trữ, thiếtkế 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ơnghỗ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ếtbịngoạivi … cấuhìnhhệ 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