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 89 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 1,22 MB

Nội dung

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.

Trang 1

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

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

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

1 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

2 CƠ SỞ LÝ THUYẾT 2.1 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

Trang 2

Kỹ thuật điều khiển & Điện tử

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.”

74

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

2.2 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)

2.3 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

2.4 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]

3 THIẾT KẾ TOUCH USB 3.1 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

Trang 3

Nghiên c

Tạp chí Nghi

3.2

M

điều khiển STM32F103C8T6 đ

sắp xếp theo dạng l

ch

mà v

Nghiên c

ạp chí Nghi

3.2 Thi

Mạch nguyên lí c

Chú thích:

ều khiển STM32F103C8T6 đ

Qua quá trình ki

ắp xếp theo dạng l

chạm/không chạm

mà vẫn đảm bảo việc

Nghiên c

ạp chí Nghi

Thiết kế phần cứng

ch nguyên lí c

Chú thích:

ều khiển STM32F103C8T6 đ

Qua quá trình ki

ắp xếp theo dạng l

ạm/không chạm

ẫn đảm bảo việc

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

ạp chí Nghi

ết kế phần cứng

ch nguyên lí c

Chú thích:

ều khiển STM32F103C8T6 đ

Qua quá trình ki

ắp xếp theo dạng l

ạm/không chạm

ẫn đảm bảo việc

ứu khoa học công nghệ

ạp chí Nghiên c

ết kế phần cứng

ch nguyên lí c

Chú thích:

ều khiển STM32F103C8T6 đ

Hình 3.

Qua quá trình ki

ắp xếp theo dạng l

ạm/không chạm

ẫn đảm bảo việc

ứu khoa học công nghệ

ên cứu KH&CN

ết kế phần cứng

ch nguyên lí củ

Chú thích: đư

ều khiển STM32F103C8T6 đ

Hình 3.

Qua quá trình ki

ắp xếp theo dạng l

ạm/không chạm

ẫn đảm bảo việc

ứu khoa học công nghệ

ứu KH&CN

Keyboard

ết kế phần cứng

ủa Touch USB:

ường D+ t

ều khiển STM32F103C8T6 đ

Hình 3.

Qua quá trình kiểm thử th

ắp xếp theo dạng l

ạm/không chạm và gi

ẫn đảm bảo việc

ứu khoa học công nghệ

ứu KH&CN

Keyboard

ết kế phần cứng

a Touch USB:

ờng D+ t

ều khiển STM32F103C8T6 đ

Hình 3 Kh

ểm thử th

ắp xếp theo dạng lưới (h

và gi

ẫn đảm bảo việc tránh nhi

ứu khoa học công nghệ

ứu KH&CN

Laptop Keyboard

ết kế phần cứng

a Touch USB:

Hình 2.

ờng D+ t

ều khiển STM32F103C8T6 đ

Khối thu thập dữ liệu RF v

ểm thử th

ới (h

và giảm đ tránh nhi

ứu khoa học công nghệ

ứu KH&CN quân s

Laptop Keyboard

TX

Hình 1.

a Touch USB:

Hình 2.

ờng D+ tương

ều khiển STM32F103C8T6 đ

ối thu thập dữ liệu RF v

ểm thử th

ới (hình 3,4) Thi

ảm đư tránh nhi

ứu khoa học công nghệ

uân s

Laptop Mouse

TX USB

Hình 1.

a Touch USB:

Hình 2.

ương

ều khiển STM32F103C8T6 đư

ối thu thập dữ liệu RF v

ểm thử thì các Sensor (

ình 3,4) Thi ược kíc tránh nhiễu giữa các k

uân sự, Số

Mouse

USB

Hình 1.

a Touch USB:

Hình 2 Kh

ương ứng với USBDP, D ược kết nối với cổng USB nh

ối thu thập dữ liệu RF v

ác Sensor ( ình 3,4) Thi

ợc kíc

ễu giữa các k

ự, Số

Mouse

Hình 1 Sơ đ

Khối điều khiển (MCU) v

ứng với USBDP, D

ợc kết nối với cổng USB nh

ối thu thập dữ liệu RF v

ác Sensor ( ình 3,4) Thi

ợc kích thư

ễu giữa các k

ự, Số 57

Sơ đ

ối điều khiển (MCU) v

ứng với USBDP, D

ợc kết nối với cổng USB nh

ối thu thập dữ liệu RF v

ác Sensor ( ình 3,4) Thiết kế n

h thư

ễu giữa các k

7, 10

RF

Sơ đồ khối hệ thống Touch USB

ối điều khiển (MCU) v

ứng với USBDP, D

ợc kết nối với cổng USB nh

ối thu thập dữ liệu RF v

ác Sensor (c

ết kế n

h thước

ễu giữa các kênh lân c

10 - 20

RF

ồ khối hệ thống Touch USB

ối điều khiển (MCU) v

ứng với USBDP, D

ợc kết nối với cổng USB nh

ối thu thập dữ liệu RF v

các pad đ

ết kế n Board m ênh lân c

2018

Touch Keypad

ồ khối hệ thống Touch USB

ối điều khiển (MCU) v

ứng với USBDP, D

ợc kết nối với cổng USB nh

ối thu thập dữ liệu RF và các nút c

ác pad đ

ết kế này t Board m ênh lân c

8

Máy tính Tablet Smart TV Raspberry Pi

Touch Keypad Battery

ồ khối hệ thống Touch USB

ối điều khiển (MCU) v

ứng với USBDP, D-

ợc kết nối với cổng USB nh

à các nút c

ác pad đồng) đ

ày tận dụng tối đa khả năng Board mạch chính (

ênh lân cận

Máy tính Tablet Smart TV Raspberry Pi

Touch Keypad Battery

ồ khối hệ thống Touch USB

ối điều khiển (MCU) v

tương

ợc kết nối với cổng USB nh

à các nút c

ồng) đ

ận dụng tối đa khả năng ạch chính (

ận

Máy tính Tablet, Smart Phone Smart TV

Raspberry Pi

Battery

ồ khối hệ thống Touch USB

ối điều khiển (MCU) và USB

tương

ợc kết nối với cổng USB nh

à các nút cảm ứng điện dung

ồng) đ

ận dụng tối đa khả năng ạch chính (

Máy tính/Server Smart Phone Smart TV

Raspberry Pi

RX

TX Battery

ồ khối hệ thống Touch USB

à USB

tương ứng với USBDM MCU l

ợc kết nối với cổng USB như h

ảm ứng điện dung

ồng) được thiết kế dạng h

ận dụng tối đa khả năng ạch chính (

Server Smart Phone Raspberry Pi,

RX USB

TX

RF

ồ khối hệ thống Touch USB

à USB

ứng với USBDM MCU l

ư hình

ảm ứng điện dung

ợc thiết kế dạng h

ận dụng tối đa khả năng ạch chính (ti

Server Smart Phone

USB

RF

ồ khối hệ thống Touch USB

ứng với USBDM MCU l ình 2

ảm ứng điện dung

ợc thiết kế dạng h

ận dụng tối đa khả năng

tiết kiệm chi phí sản xuất

Smart Phone

ồ khối hệ thống Touch USB

ứng với USBDM MCU l

ảm ứng điện dung

ợc thiết kế dạng h

ận dụng tối đa khả năng

ết kiệm chi phí sản xuất

ứng với USBDM MCU l

ảm ứng điện dung

ợc thiết kế dạng h

ận dụng tối đa khả năng

ết kiệm chi phí sản xuất

ứng với USBDM MCU l

ảm ứng điện dung

ợc thiết kế dạng h

ận dụng tối đa khả năng

ết kiệm chi phí sản xuất

ứng với USBDM MCU l

ợc thiết kế dạng hình tròn

ận dụng tối đa khả năng phát hi

ết kiệm chi phí sản xuất

ứng với USBDM MCU l

ình tròn phát hi

ết kiệm chi phí sản xuất

ứng với USBDM MCU là vi

ình tròn phát hi

ết kiệm chi phí sản xuất

75

à vi

ình tròn và phát hiện

ết kiệm chi phí sản xuất)

75

à vi

ện )

Trang 4

3.3

một cách linh hoạt (h

thực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

trên thi

config.txt thì thi

76

3.3 Thi

Ph

ột cách linh hoạt (h

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

- MODE = TX: ch

- MODE = RX: ch

- MODE = TOUCH: ch

trên thi

Sau khi th

config.txt thì thi

Thiết kế phần mềm

Phần mềm đ

ột cách linh hoạt (h

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

MODE = TX: ch

MODE = RX: ch

MODE = TOUCH: ch

trên thiết bị

Sau khi th

config.txt thì thi

N T Hi

ết kế phần mềm

ần mềm đ

ột cách linh hoạt (h

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

MODE = TX: ch

MODE = RX: ch

MODE = TOUCH: ch

ết bị

Sau khi th

config.txt thì thi

N T Hi

ết kế phần mềm

ần mềm đ

ột cách linh hoạt (h

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

MODE = TX: ch

MODE = RX: ch

MODE = TOUCH: ch

ết bị

Sau khi thực hiện chọn chế độ bằng lệnh MODE v

config.txt thì thi

N T Hi

ết kế phần mềm

ần mềm được thiết kế giúp ng

ột cách linh hoạt (h

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

MODE = TX: ch

MODE = RX: ch

MODE = TOUCH: ch

ực hiện chọn chế độ bằng lệnh MODE v

config.txt thì thiết bị sẽ đ

N T Hiếu, H V Hữu,

ết kế phần mềm

ợc thiết kế giúp ng

ột cách linh hoạt (h

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

MODE = TX: ch

MODE = RX: ch

MODE = TOUCH: ch

ực hiện chọn chế độ bằng lệnh MODE v

ết bị sẽ đ

ếu, H V Hữu,

Hình 5.

ết kế phần mềm

ợc thiết kế giúp ng

ột cách linh hoạt (hình 5)

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

MODE = TX: chế độ nhận dữ liệu

MODE = RX: chế độ truyền v

MODE = TOUCH: ch

ực hiện chọn chế độ bằng lệnh MODE v

ết bị sẽ đ

ếu, H V Hữu,

Hình 4.

Hình 5.

ết kế phần mềm

ợc thiết kế giúp ng ình 5)

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ế độ nhận dữ liệu

ế độ truyền v MODE = TOUCH: ch

ực hiện chọn chế độ bằng lệnh MODE v

ết bị sẽ đư

ếu, H V Hữu,

Hình 4.

Hình 5.

ợc thiết kế giúp ng ình 5)

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ế độ nhận dữ liệu

ế độ truyền v MODE = TOUCH: chế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

ược reset

ếu, H V Hữu, V V Thu

Hình 4.

Hình 5 Lưu đ

ợc thiết kế giúp ng ình 5) Để thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ế độ nhận dữ liệu

ế độ truyền v

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

ợc reset

V V Thu

Hình 4 M

Lưu đ

ợc thiết kế giúp ng

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ế độ nhận dữ liệu

ế độ truyền với dữ liệu đầu v

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

ợc reset

V V Thu

Một phi

Lưu đồ thuật toán thiết kế phần mềm

ợc thiết kế giúp người d

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ế độ nhận dữ liệu

ới dữ liệu đầu v

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

và ti

V V Thuận

ột phi

ồ thuật toán thiết kế phần mềm

ời dùng

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ế độ nhận dữ liệu

ới dữ liệu đầu v

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

và tiến h

ận,

ột phiên b

ồ thuật toán thiết kế phần mềm

ùng

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ới dữ liệu đầu v

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

ến h

, “Thi

ên bản của sản phẩm

ồ thuật toán thiết kế phần mềm

ùng có th

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ới dữ liệu đầu v

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

ến hành c

Thiết kế thiết bị ngoại vi

ản của sản phẩm

ồ thuật toán thiết kế phần mềm

có th

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ới dữ liệu đầu vào đư

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

ành c

ết kế thiết bị ngoại vi

ản của sản phẩm

ồ thuật toán thiết kế phần mềm

có thể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể nh

ào đư

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

ành cấu h

ết kế thiết bị ngoại vi

ản của sản phẩm

ồ thuật toán thiết kế phần mềm

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ực hiện sửa lệnh MODE trong file config.txt, cụ thể như sau:

ào được lấy từ keyboard, mouse

ế độ truyền với dữ liệu đầu v

ực hiện chọn chế độ bằng lệnh MODE v

ấu hình l

ết kế thiết bị ngoại vi

ản của sản phẩm

ồ thuật toán thiết kế phần mềm

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ư sau:

ợc lấy từ keyboard, mouse

ế độ truyền với dữ liệu đầu vào đư

ực hiện chọn chế độ bằng lệnh MODE và ấn Save để tiến h

ình l

K

ết kế thiết bị ngoại vi

ản của sản phẩm

ồ thuật toán thiết kế phần mềm

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ư sau:

ợc lấy từ keyboard, mouse

ào đư

ấn Save để tiến h ình lại để có thể hoạt động với chế

Kỹ thuật điều khiển & Điện tử

ết kế thiết bị ngoại vi

ản của sản phẩm

ồ thuật toán thiết kế phần mềm

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ keyboard, mouse

ào được lấy từ các nút cảm ứng

ấn Save để tiến h

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

ết kế thiết bị ngoại vi

ồ thuật toán thiết kế phần mềm

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ keyboard, mouse

ợc lấy từ các nút cảm ứng

ấn Save để tiến h

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ keyboard, mouse

ợc lấy từ các nút cảm ứng

ấn Save để tiến h

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

… cấu h

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ keyboard, mouse

ợc lấy từ các nút cảm ứng

ấn Save để tiến h

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

ấu hình h

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ keyboard, mouse

ợc lấy từ các nút cảm ứng

ấn Save để tiến h

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

ình h

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ keyboard, mouse

ợc lấy từ các nút cảm ứng

ấn Save để tiến hành lưu file

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

ình hệ thống

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ keyboard, mouse

ợc lấy từ các nút cảm ứng

ành lưu file

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

ệ thống

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ các nút cảm ứng

ành lưu file

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

ệ thống.”

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ các nút cảm ứng

ành lưu file

ại để có thể hoạt động với chế

ỹ thuật điều khiển & Điện tử

ể thay đổi chế độ hoạt động của thiết bị

ể thực hiện thay đổi chế độ hoạt động của Touch USB ta

ợc lấy từ các nút cảm ứng

ành lưu file

ại để có thể hoạt động với chế

Trang 5

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

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

độ 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

3.4 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)

Trang 6

của file H

các l

parameters s

ph

đư

USB, c

ho

lệnh Nếu xuất hiện chuỗi “RF24_Channel” th

của lệnh (trong ví dụ n

RF s

78

Trong file c

ủa file H

các lệnh phía d

Cấu trúc của 1 command có dạng nh

Chương tr

parameters s

phải l

được l

USB, c

hoạt động thiết bị

Ví d

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ủa lệnh (trong ví dụ n

RF sẽ sử dụng parameter n

Trong file c

ủa file H

ệnh phía d

ấu trúc của 1 command có dạng nh

Chương tr

parameters s

ải là 1 l

ợc lưu l

USB, cấu h

ạt động thiết bị

Ví dụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ủa lệnh (trong ví dụ n

ẽ sử dụng parameter n

N T Hi

Trong file c

ủa file Hàm

ệnh phía d

ấu trúc của 1 command có dạng nh

Chương tr

parameters s

à 1 lệnh th

ưu lại v

ấu h

ạt động thiết bị

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ủa lệnh (trong ví dụ n

ẽ sử dụng parameter n

N T Hi

Trong file c

àm

ệnh phía d

ấu trúc của 1 command có dạng nh

Chương trình th

parameters sẽ đ

ệnh th

ại v

ấu hình module RF, và các hàm thu

ạt động thiết bị

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ủa lệnh (trong ví dụ n

ẽ sử dụng parameter n

N T Hi

Trong file cấu h

àm ramdisk_write

ệnh phía dưới d

ấu trúc của 1 command có dạng nh

ình th

ẽ đươc tách ra kh

ệnh thì nó s

ại vào b

ình module RF, và các hàm thu

ạt động thiết bị

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ủa lệnh (trong ví dụ n

ẽ sử dụng parameter n

N T Hiếu, H V Hữu,

ấu hình s

ramdisk_write

ới dòng header dù có

ấu trúc của 1 command có dạng nh

ình thực hiện kiểm tra từng Command string Nếu nó đúng l

ươc tách ra kh

ì nó s

ào bộ nhớ Flash sẽ đ ình module RF, và các hàm thu

ạt động thiết bị

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ủa lệnh (trong ví dụ n

ẽ sử dụng parameter n

ếu, H V Hữu,

Hình 6.

ình s

ramdisk_write

òng header dù có

ấu trúc của 1 command có dạng nh

ực hiện kiểm tra từng Command string Nếu nó đúng l ươc tách ra kh

ì nó sẽ bỏ qua v

ộ nhớ Flash sẽ đ ình module RF, và các hàm thu

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ủa lệnh (trong ví dụ này là 50) Sau đó giá tr

ẽ sử dụng parameter n

ếu, H V Hữu,

Hình 6.

ình sẽ có d

ramdisk_write

òng header dù có

ấu trúc của 1 command có dạng nh

[Comman

ực hiện kiểm tra từng Command string Nếu nó đúng l ươc tách ra kh

ẽ bỏ qua v

ộ nhớ Flash sẽ đ ình module RF, và các hàm thu

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ày là 50) Sau đó giá tr

ẽ sử dụng parameter n

ếu, H V Hữu,

Hình 6 Thu

ẽ có d

ramdisk_write

òng header dù có

ấu trúc của 1 command có dạng nh

[Comman

ực hiện kiểm tra từng Command string Nếu nó đúng l ươc tách ra kh

ẽ bỏ qua v

ộ nhớ Flash sẽ đ ình module RF, và các hàm thu

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ày là 50) Sau đó giá tr

ẽ sử dụng parameter này

ếu, H V Hữu, V V Thu

Thu

ẽ có dòng t

sẽ thực hiện kiểm tra header n òng header dù có

ấu trúc của 1 command có dạng nh

[Comman

ực hiện kiểm tra từng Command string Nếu nó đúng l ươc tách ra khỏi command, sau đó sẽ đ

ẽ bỏ qua và ti

ộ nhớ Flash sẽ đ ình module RF, và các hàm thu

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ày là 50) Sau đó giá tr

ày để phục vụ cho việc cấu h

V V Thu

Thuật toán xử lí dữ liệu trong file config

òng t

ẽ thực hiện kiểm tra header n òng header dù có

ấu trúc của 1 command có dạng nh

[Command string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ỏi command, sau đó sẽ đ

à tiến h

ộ nhớ Flash sẽ đ ình module RF, và các hàm thu

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ày là 50) Sau đó giá tr

ể phục vụ cho việc cấu h

V V Thu

ật toán xử lí dữ liệu trong file config

òng tiêu đ

ẽ thực hiện kiểm tra header n òng header dù có đúng c

ấu trúc của 1 command có dạng nh

d string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ỏi command, sau đó sẽ đ

ến h

ộ nhớ Flash sẽ đư ình module RF, và các hàm thu

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ày là 50) Sau đó giá tr

ể phục vụ cho việc cấu h

V V Thuận

ật toán xử lí dữ liệu trong file config

iêu đ

ẽ thực hiện kiểm tra header n đúng c

ấu trúc của 1 command có dạng như sau:

d string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ỏi command, sau đó sẽ đ

ến hành x ược khối Process parameter chứa các h ình module RF, và các hàm thu

ụ đối với lệnh: RF24_Channel = 5

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ày là 50) Sau đó giá tr

ể phục vụ cho việc cấu h

ận,

ật toán xử lí dữ liệu trong file config

iêu đề (header) l

ẽ thực hiện kiểm tra header n đúng cũng sẽ không đ

ư sau:

d string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ỏi command, sau đó sẽ đ

ành x

ợc khối Process parameter chứa các h ình module RF, và các hàm thuật toán phát hiện chạm sử dụng để cấu h

ụ đối với lệnh: RF24_Channel = 50 Chương tr

ệnh Nếu xuất hiện chuỗi “RF24_Channel” th

ày là 50) Sau đó giá tr

ể phục vụ cho việc cấu h

, “Thi

ật toán xử lí dữ liệu trong file config

ề (header) l

ẽ thực hiện kiểm tra header n

ũng sẽ không đ

ư sau:

d string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ỏi command, sau đó sẽ đ

ành xử lí đến d

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

0 Chương tr ệnh Nếu xuất hiện chuỗi “RF24_Channel” thì ch

ày là 50) Sau đó giá trị n

ể phục vụ cho việc cấu h

Thiết kế thiết bị ngoại vi

ật toán xử lí dữ liệu trong file config

ề (header) l

ẽ thực hiện kiểm tra header n

ũng sẽ không đ

d string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ỏi command, sau đó sẽ đ

ử lí đến d

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

0 Chương tr

ì chương tr

ị này s

ể phục vụ cho việc cấu h

ết kế thiết bị ngoại vi

ật toán xử lí dữ liệu trong file config

ề (header) là

ẽ thực hiện kiểm tra header n

ũng sẽ không đ

d string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ỏi command, sau đó sẽ đ

ử lí đến d

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

0 Chương tr

ương tr

ày sẽ đ

ể phục vụ cho việc cấu h

ết kế thiết bị ngoại vi

ật toán xử lí dữ liệu trong file config

à [thMakey Config]

ẽ thực hiện kiểm tra header n

ũng sẽ không đ

d string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ỏi command, sau đó sẽ được xử lí v

ử lí đến dòng ti

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

0 Chương trình s

ương tr

ẽ đươc lưu l

ể phục vụ cho việc cấu hình

ết kế thiết bị ngoại vi

ật toán xử lí dữ liệu trong file config

[thMakey Config]

ẽ thực hiện kiểm tra header n

ũng sẽ không đư

d string][=][Parameters]

ực hiện kiểm tra từng Command string Nếu nó đúng l

ợc xử lí v òng ti

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

ình sẽ thực hiện kiểm tra từng d ương trình s

ươc lưu l ình

K

ết kế thiết bị ngoại vi

ật toán xử lí dữ liệu trong file config

[thMakey Config]

ẽ thực hiện kiểm tra header này, n

ược xử lý

ực hiện kiểm tra từng Command string Nếu nó đúng l

ợc xử lí v òng tiếp theo Các parameter sau khi

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

ẽ thực hiện kiểm tra từng d ình sẽ thực hiện lấy ra parameter ươc lưu l

Kỹ thuật điều khiển & Điện tử

ết kế thiết bị ngoại vi

ật toán xử lí dữ liệu trong file config

[thMakey Config]

ày, nếu không đúng header th

ợc xử lý

ực hiện kiểm tra từng Command string Nếu nó đúng l

ợc xử lí và lưu l

ếp theo Các parameter sau khi

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

ẽ thực hiện kiểm tra từng d

ẽ thực hiện lấy ra parameter ươc lưu lại v

ỹ thuật điều khiển & Điện tử

ết kế thiết bị ngoại vi

ật toán xử lí dữ liệu trong file config

[thMakey Config]

ếu không đúng header th

ợc xử lý

ực hiện kiểm tra từng Command string Nếu nó đúng l

à lưu l

ếp theo Các parameter sau khi

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

ẽ thực hiện kiểm tra từng d

ẽ thực hiện lấy ra parameter

ại và hàm c

ỹ thuật điều khiển & Điện tử

ật toán xử lí dữ liệu trong file config

[thMakey Config]

ếu không đúng header th

ợc xử lý

ực hiện kiểm tra từng Command string Nếu nó đúng l

à lưu lại nếu string không

ếp theo Các parameter sau khi

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

ẽ thực hiện kiểm tra từng d

ẽ thực hiện lấy ra parameter

à hàm c

ỹ thuật điều khiển & Điện tử

… cấu h

[thMakey Config] ở d

ếu không đúng header th

ực hiện kiểm tra từng Command string Nếu nó đúng l

ại nếu string không

ếp theo Các parameter sau khi

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

ẽ thực hiện kiểm tra từng d

ẽ thực hiện lấy ra parameter

à hàm c

ỹ thuật điều khiển & Điện tử

ấu hình h

ở dòng

ếu không đúng header th

ực hiện kiểm tra từng Command string Nếu nó đúng l

ại nếu string không

ếp theo Các parameter sau khi

ợc khối Process parameter chứa các h

ật toán phát hiện chạm sử dụng để cấu h

ẽ thực hiện kiểm tra từng d

ẽ thực hiện lấy ra parameter

à hàm cấu h

ỹ thuật điều khiển & Điện tử

ình h

òng

ếu không đúng header th

ực hiện kiểm tra từng Command string Nếu nó đúng là 1 l

ại nếu string không

ếp theo Các parameter sau khi

ợc khối Process parameter chứa các hàm kh

ật toán phát hiện chạm sử dụng để cấu h

ẽ thực hiện kiểm tra từng d

ẽ thực hiện lấy ra parameter

ấu hình module

ỹ thuật điều khiển & Điện tử

ình hệ thống

òng đầu ti

ếu không đúng header th

à 1 lệnh th

ại nếu string không

ếp theo Các parameter sau khi

àm kh

ật toán phát hiện chạm sử dụng để cấu h

ẽ thực hiện kiểm tra từng d

ẽ thực hiện lấy ra parameter

ình module

ỹ thuật điều khiển & Điện tử

ệ thống

ầu ti

ếu không đúng header th

ệnh th

ại nếu string không

ếp theo Các parameter sau khi

àm khởi tạo

ật toán phát hiện chạm sử dụng để cấu hình l

ẽ thực hiện kiểm tra từng dòng

ẽ thực hiện lấy ra parameter

ình module

ỹ thuật điều khiển & Điện tử

ệ thống.”

ầu tiên

ếu không đúng header thì

ệnh thì

ại nếu string không

ếp theo Các parameter sau khi

ởi tạo ình lại

òng

ẽ thực hiện lấy ra parameter

ình module

ỹ thuật điều khiển & Điện tử

ên

ì

ì

ại nếu string không

ếp theo Các parameter sau khi

ởi tạo

ại

òng

ẽ thực hiện lấy ra parameter

ình module

Trang 7

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

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

4 THỬ NGHIỆM, ĐÁNH GIÁ VÀ ĐỀ XUẤT ỨNG DỤNG CỦA TOUCH USB 4.1 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

Trang 8

Kỹ thuật điều khiển & Điện tử

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.”

80

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 hãng 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

4.2 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

5 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

Trang 9

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

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

ABSTRACT

RESEARCH AND DESIGN OF USB WIRELESS PERIPHERALS

SUPPORTING SYSTEM CONFIGURATION

In this paper, 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 art presented The hardware devices, driver software, and written peripheral control programs for some different devices connected to a computer via a USB interface have been designed 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, the Touch USB design will be presented and its applications in practice will be proposed

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: hieunt@ptit.edu.vn

Ngày đăng: 12/02/2020, 12:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w