Tải bản đầy đủ (.pdf) (9 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (542.45 KB, 9 trang )

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*, Hoàng Văn Hữu, Vũ Văn Thuận
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
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.
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,
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
với máy tính thông qua Touch USB. Việc sử dụng thêm module nRF24L01 giúp thực
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
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
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à đề
xuất các ứng dụng của nó trong 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, những thiết bị điện tử như Laptop, Tablet,
Smart Phone, Smart TV,... gần như hiện diện ở mỗi gia đình, được trang bị cho mỗi cá
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
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ị
điện tử thông minh hơn, có thể kể đến như Wireless mouse [1], presentation equipment
[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].
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
(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
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à
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
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
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
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


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
ứng dụng có liên quan.
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ử
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
đượ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
đ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ố
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
đặ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
hoặc từ xa thông qua file cấu hình đơn giản, phổ biến dưới định dạng “*.txt”.
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
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
tính năng, ứng dụng của Touch USB và cuối cùng là kết luận.
CƠ SỞ LÝ THUYẾT
Giao tiếp USB
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
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ó
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

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ả năng kết nối với một giao
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
truyền vật lý và truyền dữ liệu logic. Ngoài ra, hỗ trợ đầy đủ chế độ Suspend và Resume
nhằm tiết kiệm năng lượng.
Phương thức truyền dữ liệu không dây qua sóng RF

Module nRF24L01 truyền nhận dữ liệu với khả năng kết nối point-to-point (2 node
mạng), hoặc network (nhiều node mạng), sử dụng sóng radio 2.4GHz [7]. Module này
đượ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
đượ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
(Serial Clock), MISO (Master Input Slave Output), MOSI (Master Ouput Slave Input) và
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, và game
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ẽ
đượ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
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ị
ngoại vi với máy tính chủ hoặc bộ điều khiển.
Cảm ứng điện dung
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
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
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ệ
này được sử dụng để thiết kế các 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ế bộ giao tiếp chuẩn USB mà qua đó các thiết bị ngoại vi có thể
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
USB được trình bày trong hình 1.
- 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ị
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
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
được 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 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
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
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
đượ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

định mã phím tương ứng với nút cảm ứng.
- 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
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à
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
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
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
được gửi hoặc đ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 hiện nhận dữ liệu từ vi
điều khiển và truyền dữ 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 vi … cấ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 1. Sơ đồ khối hệ thống Touch USB.
Thiết kế phần cứng
Mạch nguyên lí của Touch USB:

Hình 2. Khối điều khiển (MCU) và USB.
Chú thích: đường D+ tương ứng với USBDP, D- tương ứng với USBDM. MCU là vi
điều khiển STM32F103C8T6 được kết nối với cổng USB như hình 2.

Hình 3. Khối thu thập dữ liệu RF và các nút cảm ứng điện dung.
Qua quá trình kiểm thử thì các Sensor (các pad đồng) được thiết kế dạng hình tròn và
sắp xếp theo dạng lưới (hình 3, 4). Thiết kế này tận dụng tối đa khả năng phát hiện
chạm/không chạm và giảm được kích thước Board mạch chính (tiết kiệm chi phí sản xuất)
mà vẫn đảm bảo việc tránh nhiễu giữa các 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 4. Một
Một phi
phiên
ên bbản
ản của sản phẩm
phẩm.

Hình 5. 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 có thể
thể thay đổi chế độ hoạt động của thiết bị
một
ột cách linh hoạt (h
(hình
ình 5). Đểể thực hiện thay đổi chế độ hoạt động của Touch USB ta
thực

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh
như
ư sau:
- MODE = TX: ch
chếế độ nhận dữ liệu.
- MODE = RX: ch
chếế độ truyền với ddữ
ữ liệu đầu vvào
ào được
được lấy từ keyboard, mouse.
- MODE = TOUCH: ch
ào đư
được
ợc lấy từ các nút cảm ứng
chếế độ truyền với dữ liệu đầu vvào
trên thi
thiết
ết bị.
Sau khi th
thực
ực hiện chọn chế độ bằng lệnh MODE vvà ấn Save để tiến hhành
ành lưu file
config.txt thì thi
thiết
ết bị sẽ đđư
ợc reset và
và tiến
tiến hhành
ành cấu
cấu hình

hình llại
ại để có thể 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 vi … cấu
ấu hình
hình hệ
hệ thống
thống.””


Nghiên cứu khoa học công nghệ

độ 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ớ
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
được cấp nguồn.
Ở chế độ TOUCH thì hàm touch_mode_process() được gọi. Hàm này thực hiện đọc dữ
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
khối thu.
Ở 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ừ
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
hiện gửi bản tin sang khối thu.

Ở 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ừ
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.
Phương pháp cấu hình thiết bị qua ổ USB
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
(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ó
đị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ư
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
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ừ
đó 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
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ụ
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
mức tối đa.
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ộ
nhớ RAM của vi điều khiển (ramdisk).
Trong file ramdisk.c có hàm ramdisk_write xử lý dữ liệu được gửi xuống từ máy tính.
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:
+ Cấu hình module RF tương ứng với chế độ hoạt động và tham số được lưu trong file
cấu hình.
+ Lưu thông tin cấu hình thiết bị vào bộ nhớ Flash của vi điều khiển.
+ Khởi tạo lại USB.
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
hình 6.
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
đ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à
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
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 đó.
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ộ
đệ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ừ
máy tính gửi xuống được chia thành các sector.
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

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ộ
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
config.txt được lưu trong ổ USB của thiết bị. Do đó ta chỉ cần sử dụng hàm ramdisk_write
để 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
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
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 6. Thuật
Thuật toán xử lí dữ liệu trong 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
của
ủa file. H
Hàm
àm ramdisk_write sẽẽ thực hiện kiểm tra header nnày,

ày, nnếu
ếu không đúng header th
thìì
các llệnh
ệnh phía ddưới
ới dòng
dòng header dù có đúng cũng
cũng sẽ không đđư
ược
ợc xử lý.
Cấu
ấu trúc của 1 command có dạng nh
như
ư sau:
[Command string][=][Parameters]
Chương tr
trình
ình th
thực
ực hiện kiểm tra từng Command string. Nếu nó đúng llàà 1 lệnh
thìì
lệnh th
parameters ssẽẽ đươc
đươc tách ra kh
khỏi
ỏi command,
command, sau đó ssẽẽ được
đ ợc xử lí vvàà lưu lại
lại nếu string không
phải llàà 1 lệnh

phải
lệnh thì
thì nó 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 khi
được llưu
được
ưu llại
ại vào
vào bộ
bộ nhớ Flash sẽ đđư
ược
ợc khối Process parameter chứa các hhàm
àm kh
khởi
ởi tạo
USB, ccấu
ấu hình
hình module RF, và các hàm thu
thuật
ật toán phát hiện chạm sử dụng để cấu hhình
ình llại
ại
hoạt động thiết bị.
hoạt
Ví ddụ

ụ đối với lệnh: RF24_Channel = 50. Ch
Chương
ương trình
trình sẽ
sẽ thực hiện kiểm tra từng ddòng
òng
lệnh.
ệnh. Nếu xuất hiện chuỗi “RF24_Channel” th
thìì chương
chương trình
trình sẽ
sẽ thực hiện lấy ra parameter
củủa lệnh
ệnh (trong ví dụ nnày
ày là 50). Sau đó giá tr
trịị này
này sẽ
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 vi … 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á các ngoại vi được tích hợp trên thiết bị
Thiết bị Touch USB được thiết kế ở trên đã bao gồm một số chuẩn kết nối keyboard,
mouse, cổng COM, USB Mass storage và được cấu hình trong chip STM32 nhỏ gọn thông
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ể
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
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
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ẽ
nhận Touch USB tương ứng với 04 ngoại vi như hình 7.

Hình 7. Kiểm tra máy tính nhận Touch USB trong Device Manager.
Chức năng Keyboard
Ngay khi được kết nối, máy tính nhận Touch USB như một keyboard mới. Sau khi đã
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)
để gửi thông tin của mỗi phím (nút cảm ứng) lên máy tính.
Chức năng Mouse

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
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
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.
Chức năng COM Port
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
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
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
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ị.
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á
trình phát hiện lỗi được dễ dàng hơn.
Chức năng USB Mass Storage
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
hành nhận thiết bị như một ổ USB bình thường (tên là PTITTeam stm32 USB Device). Với
ổ 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
dụng như: copy, paste, cut, đọc, ghi file. Dung lượng của ổ USB là dung lượng của một ổ
đĩ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
USB được định dạng theo chuẩn FAT. Để máy tính nhận thiết bị như một ổ usb bình
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
(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
(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
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ư
một ổ USB mới.

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 năng trên của Touch USB
nhiều lần trên máy tính của các hang Dell, HP, Lenovo, Sony, Asus, Acer và đạt kết quả
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
công với các máy tính trên và máy tính nhúng Raspberry Pi 3.
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 quyết bài toán
đặ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,
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
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ó
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ơ
độ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
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
từ đó có thể ứng dụng làm các bộ điều khiển.
KẾT LUẬN
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
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 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ế
độ TOUCH – TX – RX. Về cơ bản, Touch USB đã hoạt động theo chuẩn giao tiếp USB,
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.
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ế
tăng số lượng phím cảm ứng và tăng tốc độ truyền dữ 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 chính Viễn thông đã hỗ trợ nhóm thực
hiện nội dung nghiên cứu này.
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 vi … cấ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 bài ngày 22 tháng 6 năm 2018
Hoàn thiện ngày 01 tháng 8 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 chính Viễn thông, 122 Hoàng
Quốc Việt, Cầu Giấy, Hà Nội.
*
Email:

Tạp chí Nghiên cứu KH&CN quân sự, Số 57, 10 - 2018

81



×