STM32 Ấn USB Thiết bị USB so với USB USB OTG HSR - sự khác biệt là gì?


10

Gần đây tôi đã tải xuống ứng dụng stm32 để tìm kiếm MCU và phát hiện ra rằng ví dụ STM32F429 có "KHÔNG" trong thiết bị ngoại vi "Thiết bị USB", trong khi nó nói "CÓ" trong "USB OTG FS" và "USB OTG HS". Điều này khá đáng ngạc nhiên vì STM32F429 có đầy đủ chức năng như Thiết bị USB, tức là nó hỗ trợ tất cả các thư viện và các lớp USB.
Một số MCU khác có "Thiết bị USB" được nêu trong đó, ví dụ: STM32L052 nhập mô tả hình ảnh ở đây

Sau đó, tôi đã thử kiểm tra CubeMX và phát hiện ra rằng có thiết bị ngoại vi USB_Device trong tìm kiếm của họ (và một lần nữa STM32F429 không bao gồm nó, công cụ USB được thực hiện thông qua OTG).

Có thể là câu hỏi khá dễ vì tôi nghi ngờ rằng Thiết bị USB chỉ đơn giản là thiết bị không hỗ trợ OTG, nhưng tôi không chắc chắn, thông thường MCU vẫn sử dụng OTG (và hơn nữa chỉ có một thư viện, vậy tại sao lại nói "KHÔNG" trong USB ngoại vi). Tôi không thể tìm thấy thông tin về nó trong google hoặc trong tài liệu CubeMX.

Tôi không thực sự quan tâm nhiều về nó vì USB OTG HS dường như hoạt động tốt với thư viện, nhưng tôi đang tự hỏi về thuật ngữ.

Tôi hiểu rằng có lẽ diễn đàn ST là một nơi tốt hơn cho câu hỏi này, nhưng nhiều chủ đề không được trả lời hoặc trả lời sau 2 năm đã qua. :)

Cảm ơn.


1
Tôi đã có trải nghiệm đó với các diễn đàn ST, vì vậy tôi đồng cảm ...
mờ

Về diễn đàn ST có đóng góp không tốt, rõ ràng không chỉ diễn đàn mà còn trên mỗi Email, tôi đã mở một vé về một lỗi có thể xảy ra trong một trong các tài liệu và ví dụ về USB của họ, nhưng không ai (chưa) làm phiền tôi viết lại cho tôi. Mà thực sự là khó chịu.
Mohammed Noureldin

Câu trả lời:


15

Suy nghĩ của bạn là chính xác: các thiết bị được đánh dấu "Có" trong cột thiết bị USB chỉ có thể hoạt động như một thiết bị USB. Họ không hỗ trợ thông số OTG và họ cũng không thể hoạt động như một máy chủ lưu trữ.

Nhưng tất nhiên, mặt khác, bất kỳ thiết bị nào có khả năng USB OTG đều có thể hoạt động như một thiết bị đơn giản. Ai làm được nhiều thì làm ít.

Họ xác định chúng theo cách này vì "thiết bị USB", "OTG FS" và "OTG HS" là ba lõi IP khác nhau trong chip. Tất cả đều có khả năng / thông số kỹ thuật cụ thể và họ có thể yêu cầu các trình điều khiển khác nhau (như bạn nhận thấy).

Tóm lại:

  • Thiết bị USB: chỉ có thể hoạt động như một thiết bị, ở tốc độ tối đa (12Mbps)
  • USB OTG FS: có thể hoạt động như một thiết bị / máy chủ / thiết bị ngoại vi OTG, ở tốc độ tối đa (12Mbps)
  • USB OTG HS: có thể hoạt động như một thiết bị / máy chủ / thiết bị ngoại vi OTG, ở tốc độ tối đa (12Mbps) hoặc tốc độ cao (480Mbps). Lưu ý rằng lõi HS cho [đại đa số] * ST MCU yêu cầu chip ULPI PHY bên ngoài để thực sự hỗ trợ tốc độ cao. PHY trên chip chỉ có thể làm tốc độ tối đa. ... Vâng, nó rất khó hiểu.

* Chỉnh sửa : Có vẻ như ST cuối cùng đã thực hiện một số nỗ lực để tích hợp PHY tốc độ cao trên chip vào một số MCU mới nhất của họ (cụ thể hơn: một số phiên bản STM32F7x3 và STM32F730 vào lúc này). Tuy nhiên, không có một cột cụ thể nào chỉ rõ tính năng này trong bảng chọn thiết bị của họ, điều này lại làm tăng thêm sự nhầm lẫn. Bạn cần xem chi tiết bảng dữ liệu.


Ok, cảm ơn, chỉ muốn nghe nó không phải từ đầu của tôi :)
ScienceSamovar

1
Liên quan, tôi có một hệ thống iMX có cả "máy chủ usb" và "otg fs", cung cấp cho nó hai cổng USB có thể sử dụng được - nhưng chúng yêu cầu các trình điều khiển khác nhau! Một cái gì đó tương tự có thể áp dụng cho ST - cùng chức năng yêu cầu phần mềm khác nhau.
pjc50

Thật vậy, tôi chắc chắn rằng họ có hoặc đã có trong quá khứ các thiết bị có nhiều cổng ngoại vi với mức tính năng khác nhau. Đây là một cách rõ ràng để liệt kê các tính năng cho một loạt các bộ phận (hoặc có vẻ như trong quá khứ)
Sean Houlihane

Chào! Bạn có thể mở rộng một chút? Nếu một vi điều khiển hỗ trợ USB OTG, về mặt lý thuyết bạn có thể kết nối hai cổng USB với chip: 1 để hoạt động như một Máy chủ OTG USB (ví dụ: cắm vào bàn phím) và USB còn lại hoạt động như một thiết bị không? Có một thuật ngữ để mô tả hành vi này?
NessDan

1
@Ness Nếu chip chỉ nhúng khối USB OTG, không, bạn không thể. Nhưng rất nhiều MCU cao cấp bao gồm cả thiết bị USB và các khối OTG USB. Sau đó, bạn có thể sử dụng đồng thời cả hai và có hai cổng độc lập trên MCU của mình: một cổng đóng vai trò là thiết bị và cổng còn lại là máy chủ, vâng. Kiểm tra bảng dữ liệu.
mờ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.