Trung tâm hỗ trợ xe buýt USB - hơn 100 mA mỗi thiết bị?


11

Tôi muốn hỏi một câu hỏi khá cụ thể về quản lý nguồn USB.

Trước hết, tôi sẽ phác thảo thiết kế của thiết bị của tôi. Nó là trình điều khiển dòng tín hiệu đối xứng với codec âm thanh tích hợp cho hệ thống loa DIY của tôi. Thiết bị được chia nội bộ thành hai khối chủ yếu là độc lập: trình điều khiển chính với MCU điều khiển và codec âm thanh (PCM2706 của TI). Cả hai đều cần kết nối dữ liệu USB (thông qua FT232R cho khối trình điều khiển) và toàn bộ thiết bị phải được cung cấp năng lượng từ xe buýt. Hai khối sẽ được liên kết với nhau bằng chip trung tâm USB, mang lại kết nối USB đường lên duy nhất cho PC. Tôi hy vọng mức tiêu thụ của giai đoạn trình điều khiển là khoảng từ 100 đến 200 mA (chắc chắn là nhiều hơn một đơn vị tải).

Vấn đề ở đây là: Theo đặc điểm kỹ thuật của USB, một trung tâm hỗ trợ xe buýt chỉ có thể cung cấp một đơn vị cho mỗi cổng hạ lưu trong khi rút tối đa 5 đơn vị từ thượng nguồn. Tôi muốn biết, trung tâm sẽ làm gì nếu tôi yêu cầu hai đơn vị thông qua FT 232 cho giai đoạn trình điều khiển. Giới hạn ngược dòng 5 đơn vị sẽ không đạt được (1 đơn vị cho hub, 1 đơn vị cho codec và hai cho trình điều khiển), vì vậy máy tính sẽ có thể cung cấp dòng điện đó.

Đối với chip trung tâm, tôi đã kiểm tra http://www.ti.com/lit/ds/symlink/tusb2036.pdf . Có một tùy chọn chế độ cung cấp năng lượng "ganged", điều này có giúp được gì không? Hoặc chip sẽ từ chối cấp hai đơn vị cho trình điều khiển? Và trong trường hợp này, có bất kỳ cách giải quyết bẩn?

Tôi nhận thức được yêu cầu rằng các thiết bị công suất cao cũng được yêu cầu để rút tối đa 100 mA trong quá trình liệt kê; Đây không phải là vấn đề vì FT 232 có thể bật trình điều khiển ngay sau khi liệt kê. Các trung tâm sẽ biến các giai đoạn trên độc lập là tốt.

Hy vọng tôi đã nêu vấn đề của mình đủ rõ ràng và cảm ơn vì đã dành thời gian cho bạn trước :)

CẬP NHẬT:

Tôi đã thực hiện một số nghiên cứu thêm về chip TUSB2036. Việc bảo vệ quá dòng có thể được tắt bằng chân / OCPROT. Hub sau đó báo cáo cho bộ điều khiển gốc rằng nó không thể phát hiện quá dòng. Có một cảnh báo trong biểu dữ liệu, rằng bảo vệ OC được yêu cầu bởi thông số kỹ thuật USB 2.0 - điều này không quan trọng đối với tôi, tôi chỉ cần 1.1 Tốc độ tối đa. Trung tâm gốc của PC sau đó IMO sẽ cung cấp 500 mAmps cho toàn bộ thiết bị. Do đó, tôi có thể đặt FT 232 của trình điều khiển chỉ yêu cầu 100 mA và trung tâm sẽ không bao giờ biết liệu tôi có vượt quá giới hạn hay không (tất nhiên là tôn trọng 500 mA từ PC). Ai đó có thể nói nếu điều này có thể làm việc?

Câu trả lời:


3

Tôi hiểu về thiết kế của bạn là toàn bộ thiết bị nằm trên một PCB duy nhất, nằm trong một vỏ bọc duy nhất và được kết nối với máy chủ bằng một cáp USB duy nhất. Bạn đã tích hợp một trung tâm vào PCB để cho phép cả hai thiết bị giao tiếp với PC. Câu trả lời sau đây sẽ xoay quanh các giả định này, nếu nó được tạo thành từ một số thiết bị riêng biệt được kết nối bằng cáp không thể kết nối thì điều đó sẽ thay đổi mọi thứ.

Trong trường hợp này, tôi khuyên bạn chỉ cần cấu hình hub để liệt kê thành một thiết bị có công suất cao và chia sẻ kết quả 500 mA trong toàn bộ bảng. Thật thú vị, sơ đồ mẫu cổng gang của TI cho thấy tất cả các thiết bị được kết nối với nhau, ngay cả khi sử dụng IC quản lý năng lượng của chúng:

nhập mô tả hình ảnh ở đây

Đường dây cấp nguồn 5V đến (được tô màu xanh lam, vì đây là một trong hai lưới mà chúng tôi quan tâm trên sơ đồ phức tạp này) được kết nối với IC quản lý năng lượng TPS2041 (một mô tả hào phóng, nó thực sự chỉ là một FET tắt khi nó phát hiện 500mA của dòng điện được thông qua). Tuy nhiên, mỗi đầu vào được rút ngắn lại với nhau và mỗi đầu ra cũng được rút ngắn lại với nhau, và sau đó được phân phối cho mỗi cổng hạ lưu (mạng hiển thị màu đỏ).

Về cơ bản, họ đang thực hiện bảo vệ quá dòng cho tất cả các phần hạ lưu trong một IC. Họ không có cách nào để phát hiện xem họ có ba đơn vị năng lượng thấp (100mA), một đơn vị công suất cao hay hai đơn vị năng lượng thấp và một đơn vị 300 mA. Tất cả các tùy chọn này được chấp nhận dựa trên thiết kế tham chiếu này. Bạn đã viết:

Theo thông số kỹ thuật USB, một trung tâm hỗ trợ xe buýt chỉ có thể cung cấp một đơn vị cho mỗi cổng hạ lưu trong khi vẽ tối đa 5 đơn vị ...

nhưng, để trả lời trực tiếp câu hỏi của bạn, thiết kế này từ Texas Cụ (một thành viên nhóm USB và người triển khai chính) cho thấy rằng bạn chỉ phải đảm bảo rằng tổng dòng điện dưới 5 đơn vị.


Để giải quyết vấn đề của bạn, trạng thái quy tắc (được lấy từ USB xuất sắc trong tài liệu tóm tắt ):

Các chức năng cung cấp năng lượng cao cho xe buýt sẽ lấy toàn bộ năng lượng từ xe buýt và không thể rút nhiều hơn một đơn vị tải cho đến khi được định cấu hình, sau đó nó có thể rút 5 tải trọng (500 mA Max) với điều kiện nó yêu cầu điều này trong bộ mô tả.

Nếu bạn có thể đảm bảo rằng giai đoạn trình điều khiển của bạn sẽ không bắt đầu vẽ dòng điện cho đến khi thiết bị được định cấu hình (có thể đơn giản như độ trễ theo thời gian trong bộ điều khiển máy chủ), bạn chỉ cần kết nối mọi thứ lại với nhau. Do toàn bộ mạch của bạn nằm trên một PCB duy nhất và không có cổng hạ lưu có thể truy cập được, người dùng có thể rời khỏi TPS2041 và chỉ cần thiết kế hệ thống để không yêu cầu quá 500 mA dòng điện ở bất kỳ trạng thái nào.

Một lợi ích khác của việc liệt kê như một thiết bị công suất cao là cải thiện thông số kỹ thuật điện áp đầu vào. Khi bạn đã liệt kê là một thiết bị có công suất thấp, máy chủ chỉ được yêu cầu sản xuất 4,40 V ở cổng ngược dòng (sẽ thấp hơn ở thiết bị của bạn do điện trở của cáp). Khi bạn đã liệt kê là một thiết bị có công suất cao, thông số kỹ thuật đảm bảo rằng bạn sẽ nhận được 4,75 V, có khả năng nằm trong phạm vi hoạt động của bất kỳ thành phần 5V nào bạn có thể đang sử dụng.


Cảm ơn cho một câu trả lời tuyệt vời. Nhưng làm thế nào để tôi cấu hình trung tâm theo cách đó? Tôi có cần EEPROM bên ngoài không hay tôi chỉ buộc chân / GANGED xuống đất (và các chân cấu hình khác theo sơ đồ bạn đã gửi)?
Ladislav

1
Bạn cần buộc! GANGED xuống đất và! EXTMEM tới 3.3V. Tuy nhiên, EEPROM bên ngoài có thể tốt: Nếu không, thiết bị của bạn sẽ hiển thị dưới dạng 'hub USB chung' trên PC. Ngoài ra, bạn có thể mô phỏng EEPROM với bộ vi điều khiển trên bo mạch của bạn (cấu hình một trong các giao diện I2C để hoạt động như một nô lệ). Sau đó, bạn có thể báo cáo nó dưới dạng 'Trình điều khiển hệ thống loa và bộ điều khiển codec' hoặc đại loại như thế.
Kevin Vermeer

5

Tôi đã thiết kế một bảng xung quanh trung tâm đó.

Trong ứng dụng của tôi, nó đã cho phép truy cập vào FT 232 và FT245.

Nếu mọi thứ đều nằm trên PCB của riêng bạn, tôi khuyên bạn hoàn toàn nên bỏ qua toàn bộ hệ thống bảo vệ quá dòng hoàn toàn. Rốt cuộc, nếu một cái gì đó trên PCB của bạn thất bại, toàn bộ điều đó sẽ cần làm việc, do đó, làm cho thiết bị có thể xử lý một phần lỗi là một điểm cần thiết.

Trong tình huống của tôi, tôi đã buộc TUSB để yêu cầu đủ 500 ma và vô hiệu hóa bảo vệ quá dòng và chỉ chạy mọi thứ trực tiếp từ USB 5.0v. Tôi đã thực hiện điều này bằng cách buộc trung tâm báo cáo là tự cấp nguồn cho máy chủ ngược dòng.

Tôi đã thực hiện một vài bảng, mà không có bất kỳ vấn đề thực sự, vì vậy nó có vẻ là một chiến lược hoàn toàn khả thi. Nó cũng được sử dụng với một số máy tính khác nhau, vì vậy tôi cảm thấy khá tự tin khi sử dụng nó.

Tất nhiên, nếu đây là cho một thiết bị sản xuất, thay vì một dự án cá nhân hoặc khai thác thử nghiệm (đó là những gì trong trường hợp của tôi), thì đó là một vấn đề hoàn toàn khác.

nhập mô tả hình ảnh ở đây

(Xem ghi chú trên sơ đồ)


Đối với những gì nó có giá trị, bạn thường có thể lạm dụng khá khủng khiếp hầu hết các cổng USB hiện đại mà không gặp quá nhiều khó khăn. Rất nhiều trong số chúng có thể cung cấp nhiều năng lượng hơn rất nhiều so với 500ma mà chúng được đánh giá, mà không gặp quá nhiều khó khăn.
Ngoài ra, hầu hết trong số họ (tất cả những gì tôi đã thử nghiệm, loại bỏ một số máy tính xách tay ) sẽ vui vẻ cung cấp đủ 500ma mà không cần phải liệt kê thiết bị nào cả.

Tuy nhiên, điều này thay đổi từ bo mạch chủ sang bo mạch chủ, tùy thuộc vào cách thiết kế máy chủ USB. Số dặm của bạn có thể thay đổi.


Vâng, tôi đã suy nghĩ về điều đó, nhưng như bạn đã nói, điều này thay đổi từ MB sang MB. Thiết bị sẽ không được sản xuất hàng ngàn, nhưng tôi cần nó có thể tương thích như nó có thể, vì vậy nó sẽ "Chỉ hoạt động" trên bất kỳ máy tính nào. Dù sao cũng cảm ơn, những quan sát thực tế cũng có giá trị như vậy :).
Ladislav

@Ladislav - Tôi không nghĩ rằng dù sao cũng cần tránh khả năng chuyển đổi năng lượng cho các thiết bị hạ nguồn mà không vi phạm thông số kỹ thuật USB ít nhất là phần nào.
Sói Connor

Điều đáng chú ý là nếu bạn buộc thiết bị báo cáo là chạy bằng xe buýt và không bận tâm đến việc chuyển đổi năng lượng, thì dù sao thì nó cũng có thể hoạt động. Nó có thể là giá trị thử nghiệm. Ngoài ra, hãy tìm IC trung tâm chỉ USB-1.1.
Sói Connor

1

Có thể hơi bẩn: TUSB2036 cho phép lựa chọn cổng hạ lưu (p3 NPINT1-0 được đặt thành 10). Sau đó kết nối thiết bị của bạn với hai cổng (vật lý) để bạn có thể vẽ song song 2 đơn vị.

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.