intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: ViSumika2711 ViSumika2711 | Ngày: | Loại File: PDF | Số trang:9

45
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết này trình bày kết quả nghiên cứu và thiết kế một thiết bị ngoại vi không dây chuẩn USB (Universal Serial Bus) được gọi là “Touch USB”, thông qua thiết bị này nhiều ngoại vi khác nhau có thể kết nối với máy tính qua cổng USB.

Chủ đề:
Lưu

Nội dung Text: 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

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2