Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

TÌM HIỂU USB TRONG STM32

I. USB là gì ?
Ổ USB Flash, thường được gọi là USB, là một thiết bị lưu trữ dữ liệu sử dụng bộ nhớ flash
(một dạng IC – vi mạch nhớ hỗ trợ tháo lắp nhanh), tích hợp với giao tiếp USB (Universal
Serial Bus).
USB có kích thước nhỏ nhẹ và cho phép người dùng tự do ghi lại dữ liệu. Dung lượng của các
USB trên thị trường hiện nay có thể lên tới 2TB và còn có thể tăng nữa trong tương lai.USB
cung cấp giao diện nối tiếp thành công nhất với các đặc điểm sau:
- Sự đơn giản và linh hoạt (cắm và chạy)
- Khả năng hai chiều truyền dẫn dữ liệu
- Tăng tốc độ truyền dẫn
- Chi phí thấp
Kể từ khi được phát triển, USB đã liên tục được cải thiện, luôn duy trì khả năng tương thích với
sự tiến hóa và yêu cầu của công nghệ mới. Phần cứng và phần mềm USB của STM32 tuân thủ
các thông số kỹ thuật USB1.1 và USB2.0 và tất cả các phần tiếp theo đều nói về các thiết bị và
máy chủ tuân thủ tiêu chuẩn này.
Ngoài ra hiện nay mới ra đời USB 4 có tốc độ truyền 40GBits/s (2 làn).
1.1Các thành phần kết nối USB(CÁCH THỨC TỔ CHỨC):
Hệ thống kết nối USB có ba thành phần chính:
- Host hoặc Root Hub (Trung tâm hoặc Hub Gốc): Đây là thành phần duy nhất trong mỗi hệ
thống USB. Nó chịu trách nhiệm khởi tạo tất cả các giao dịch.
- Function hoặc Device (Chức năng hoặc Thiết bị): Điểm cuối cuối cùng trong kết nối đảm bảo
các vai trò mà người dùng yêu cầu (như bàn phím, chuột, microphone).
- Hub (Trung tâm): Một cầu nối đảm bảo giao tiếp giữa máy chủ và nhiều thiết bị. Nó có một
cổng upstream để kết nối trực tiếp (kết nối điểm-điểm qua cáp USB) hoặc gián tiếp (kết nối
thông qua một hub khác) với máy chủ và nhiều cổng downstream để kết nối trực tiếp hoặc gián
tiếp với các chức năng USB.
Các thành phần trước đó có thể được kết nối với nhau thông qua cáp USB với chiều dài tối đa là
5 mét.
Số lượng tối đa các hub kết nối liên tiếp được cho phép theo thông số kỹ thuật USB là 5. Do đó,
một chức năng hoặc thiết bị có thể được kết nối với máy chủ thông qua một hoặc nhiều hub.
Hình sau đây cung cấp một ví dụ về cách kết nối các thành phần hệ thống USB.

1.2 Cấu trúc mạng USB(Đặc trưng của USB) :


Kết nối vật lý của USB được đặc trưng bởi một cấu trúc mạng sao bánh xe. Mỗi sao bánh xe có
một hub ở trung tâm, với một kết nối upstream trực tiếp hoặc gián tiếp với máy chủ và một hoặc
nhiều kết nối downstream với chức năng hoặc hub khác.
Tối đa 127 thiết bị (chức năng hoặc hub) có thể được kết nối với một máy chủ (root hub) với tối
đa 5 hub kết nối liên tiếp.
1.3 Nguyên tắc hoạt động:

1.4 Truyền Dữ Liệu USB :


Giao tiếp USB dựa trên bốn loại truyền dẫn chính:
- Truyền dẫn Kiểm soát (Control Transfer): chủ yếu được sử dụng cho dữ liệu cấu hình của
thiết bị mới được kết nối.
- Truyền dẫn Dữ liệu Khối (Bulk Transfer): được sử dụng để truyền hoặc nhận lượng lớn dữ
liệu.
- Truyền dẫn Rơi (Interrupt Transfer): được sử dụng cho việc truyền dữ liệu hạn chế với độ
trễ tối thiểu.
- Truyền dẫn Đồng bộ (Isochronous Transfer): được sử dụng cho việc truyền dữ liệu có yêu
cầu thời gian thực.
1.5 Cấu hình Hệ thống :
Hệ thống USB có một cơ chế thông minh để phát hiện việc kết nối và ngắt kết nối thiết bị bất kỳ
lúc nào.
- Kết nối thiết bị: Máy chủ có thể phát hiện bất kỳ lúc nào việc ngắt kết nối của một thiết bị
bằng cách liên tục truy vấn một bit cho tất cả các cổng hub được kết nối. Khi một thiết bị được
kết nối, máy chủ kích hoạt cổng và cấp cho thiết bị một địa chỉ duy nhất sau đó thiết lập giao tiếp
với thiết bị mới được kết nối này để xác định xem đó có phải là một chức năng hay một hub.
- Ngắt kết nối thiết bị: Khi một thiết bị bị ngắt kết nối, cổng tương ứng sẽ bị tắt. Nếu một hub bị
ngắt kết nối, tất cả các cổng thiết bị hạ dòng được kết nối với hub đã bị loại bỏ sẽ bị tắt và cổng
upstream của hub bị ngắt kết nối.
- Liệt kê Bus (Bus Enumeration): Đó là một tập hợp các sự kiện phần cứng và phần mềm cho
phép máy chủ liên tục quản lý quá trình các sự kiện của các thiết bị mới được kết nối hoặc ngắt
kết nối. Nó bao gồm cả bộ sự kiện đảm bảo việc loại bỏ một thiết bị.
1.6 Ứng dụng nguyên tắc hoạt động của USB:
Nguyên tắc hoạt động của USB đã mở ra một loạt các ứng dụng trong nhiều lĩnh vực khác nhau.
Dưới đây là một số ví dụ về các ứng dụng sử dụng nguyên tắc hoạt động của USB:
1. Lưu trữ Dữ liệu:
- Ổ USB Flash Drive: USB được sử dụng rộng rãi như một phương tiện lưu trữ dữ liệu di động.
Người dùng có thể lưu trữ, chuyển và truy cập dữ liệu từ một máy tính sang một máy tính khác
thông qua các ổ USB.

2. Nhập/Xuất Dữ Liệu:
- Kết Nối Thiết Bị Ngoại Vi:** Nhiều thiết bị ngoại vi như máy in, máy quét, và máy ảnh kỹ
thuật số kết nối với máy tính thông qua cổng USB để truyền dữ liệu.
3. Âm Thanh và Video:
- Tai Nghe và Loa USB: Tai nghe và loa có thể được kết nối thông qua cổng USB, cung cấp
chất lượng âm thanh tốt.
- Webcam và Camera:Các thiết bị ghi hình như webcam và máy ảnh kỹ thuật số có thể truyền
dữ liệu hình ảnh và video qua USB.
4. Điều Khiển và Giao Tiếp:
- Bàn Phím và Chuột: Bàn phím và chuột USB cho phép người dùng điều khiển máy tính một
cách thuận tiện và chính xác.
- Gamepad và Joystick: Các thiết bị chơi game có thể được kết nối qua USB để chơi trò chơi
trên máy tính.
5. Điện Tử Tiêu Dùng:
- Sạc và Đồ Điện Tử Di Động: USB được sử dụng cho các bộ sạc di động, pin dự phòng và các
thiết bị di động khác.
- Đèn LED và Thiết Bị Điều Khiển Thông Minh: Nhiều đèn LED và thiết bị điều khiển thông
minh có thể được kết nối và điều khiển qua USB.
6. Y Tế và Công Nghệ Y Học:
- Thiết Bị Đo Lường Y Tế:*Các thiết bị y tế như máy đo huyết áp và đồng hồ đo nhịp tim có
thể kết nối với máy tính thông qua USB để chia sẻ dữ liệu với bác sĩ hoặc hệ thống y tế.
7. Phát Triển Phần Mềm và Công Cụ Điều Khiển:
- Lập Trình và Debugging: USB được sử dụng trong việc kết nối thiết bị nhúng và
mikrocontroller với máy tính để phát triển và debug phần mềm.
Như vậy, nguyên tắc hoạt động của USB đã trở thành một phần quan trọng trong cuộc
sống hàng ngày và trong nhiều ngữ cảnh công nghệ khác nhau.

II. STM32 VÀ USB :


2.1 STM32 hỗ trợ những gì?
Tất cả các họ STM32 (không phải tất cả các sản phẩm) bao gồm IP USB. Tùy thuộc vào phần
cứng, mỗi MCU STM32 bao gồm USB có thể hỗ trợ:
- Thiết bị ở tốc độ FS (Full Speed) duy nhất.
- OTG (chức năng kép: thiết bị và máy chủ) ở tốc độ FS.
- OTG ở tốc độ HS (High Speed).
Một số MCU STM32 bao gồm hai thiết bị USB và hỗ trợ cả OTG ở cả tốc độ FS và HS.
2.2 STM32 MCU có thể đảm nhận vai trò gì trong hệ thống USB?
Một hệ thống USB cơ bản có thể được thiết lập bằng cách kết nối một máy chủ và một thiết bị
thông qua một cáp USB. Hình sau đây cho thấy các vai trò có thể được STM32 MCU's USB
thực hiện:
Đối với các hệ thống USB phức tạp hơn, thiết bị có thể được kết nối với máy chủ thông qua một
hoặc nhiều hub:

2.3 Làm thế nào để chọn một STM32 MCU cho ứng dụng USB ?
Đối với mọi ứng dụng USB, việc lựa chọn đúng STM32 với vai trò USB yêu cầu (Máy chủ hoặc
Thiết bị) và tốc độ (LS hoặc FS hoặc HS) là rất quan trọng. Tuy nhiên, có nhiều STM32 MCU có
cùng thiết kế phần cứng USB, làm thế nào để chọn được? Ngoài các tính năng USB, các MCU
STM32 cung cấp một bộ peripherals đa dạng với nhiều tính năng. Sự đa dạng của các peripherals
và tính năng đảm bảo sự linh hoạt và dễ dàng trong việc triển khai ứng dụng yêu cầu. Trên thực
tế, việc lựa chọn MCU phù hợp là một trong những chìa khóa quan trọng của một ứng dụng USB
thành công.
Để lựa chọn MCU phù hợp, các tính năng sau đây cần được xem xét tùy thuộc vào yêu cầu ứng
dụng:
- Hiệu suất MCU có ảnh hưởng trực tiếp đến việc truyền dữ liệu và xử lý trong hệ thống STM32.
- Sự sẵn có và kích thước của bộ nhớ (RAM và ROM) rất quan trọng cho các ứng dụng xử lý
lượng dữ liệu lớn.
- Sự sẵn có và tính năng của các peripherals cần thiết phải được kiểm tra khi lựa chọn STM32
MCU vì phiên bản và kết hợp của các peripherals có thể khác biệt lớn từ một MCU này sang
MCU khác.
- Tiêu thụ năng lượng là yêu cầu rất quan trọng đối với một số ứng dụng.
- Phần tuân thủ theo USB của STM32 cung cấp một tổng quan về tất cả các MCU STM32 bao
gồm USB, nó cũng bao gồm một số tính năng quan trọng nhất cho yêu cầu ứng dụng USB.
2.4 Tìm thấy thông tin chi tiết hơn về USB cho MCU STM32 được chọn ở đâu?
Đối với mỗi MCU STM32, có một bộ tài liệu cung cấp thông tin về tất cả các peripherals tích
hợp và trong đó có USB. Tất cả các MCU STM32 đều có một trang cung cấp một tổng quan
chung với liên kết trực tiếp đến bảng dữ liệu của MCU. Trên thực tế, tất cả các thông tin về
peripherals USB của MCU STM32 chủ yếu được tích hợp trong bảng dữ liệu (đặc biệt là các đặc
điểm điện) và trong hướng dẫn tham chiếu (bao gồm tất cả thông tin về các peripherals của
MCU, bao gồm thông tin chi tiết về peripherals USB tích hợp).

You might also like