![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 | |
Trưởng lão PIC bang
|
Trích:
Chỉ có hi-speed mới thực hiện các transaction bằng các microframe, full-speed và low-speed chỉ có thể thực hiện transaction bằng các frame. Do đó câu trả lời cho câu hỏi của bạn là: Thiết bị full-speed không thể thực hiện các transaction ở mỗi microframe. Tiêu chuẩn USB 2.0 không định nghĩa kiểu truyền isochronous và bulk cho low-speed. Nếu bạn vẫn cố sử dụng nó thì đơn giản là thiết bị không hiểu yêu cầu, và không đáp ứng, còn host thì không hỗ trợ các kiểu truyền đó khi thiết bị khai báo trong quá trình enumeration. PIC18F4550 không hỗ trợ hi-speed. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 thay đổi nội dung bởi: namqn, 18-03-2009 lúc 04:40 PM. Lý do: trả lời thiếu 1 mục |
|
![]() |
![]() |
![]() |
#2 | |
Nhập môn đệ tử
Tham gia ngày: Aug 2008
Bài gửi: 6
: |
Trích:
MÌnh thấy chuẩn usb có nói đến max payload transaction /frame .Và có một cái nữa kèm theo là khả năng cung cấp số truyền packet trong một frame .Ví dụ với kiểu iso : khi payload là 1byte thì max transfer /frame là 150 .MaximumBandwidth /s là 150kb/s . ...Khi paylaod =1023byte max transfer /frame =1 .MaximumBandwidth/s =1.023Mb/s .(trang 124usb system architechture) Trong một endpoint ,thì chỉ có thực hiện 3 transaction /frame . Như vậy thông số 150 ở trên có phải là có nghĩa :cho phét thực hiện 150 transaction /fram nhưng ứng với nhiều endpoint khác nhau trên nhiều thiêt bị khác nhau cùng kết nối vào bus . Một endpoint mình cấu hình là in ,còn endpoint khác mình cấu hình là out .Vĩ dụ payload của mình cũng chỉ là 1byte .thì trong 1ms ấy ,mình có thể thực hiện được cả 2 transaction trên 2 endpoint này không .Và nếu mà được như thế ,Thì nếu mình cấu hình 16 enpoint có 7in và 7out thì mình có thể thực hiện được 14 transaction /ms không ! Bạn có thẻ giải thích ký hơn hộ mình về chính sách quản lý bandwidth trên bus ! rất mong được giải đáp ! |
|
![]() |
![]() |
![]() |
#3 | |
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
Mình ko nghĩ như vậy. Mỗi frame hoặc microframe là khoảng thời gian để host và device giao tiếp. Vì vậy phụ thuộc vào tốc độ bus, tốc độ host, tốc độ device mà số lượng transaction được thực hiện có thể ít hay nhiều.
Trích:
Bạn có thể xem hình test tốc độ đọc ghi USB trong file đính kèm: * driver: winusb * software: VB.net * device: PIC24F starter kit (PIC24FJ256GB106 @ 16MIPS), BULK EP out 64byte + BULK EP In 64byte Thử nghiệm đọc hoặc ghi 64KB dữ liệu "không có gì", tức là PIC chỉ đọc EP buffer ngay khi có dữ liệu đến và ghi vào EP buffer ngay khi buffer này empty để hạn chế tối đa PIC NotACK làm giảm rất nhiều tốc độ truy xuất. Tốc độ đỉnh đạt được: * Write: 587KB/s (hàng thứ 1), ~ 9 BULK Out transfer/frame * Read: 1015KB/s (hàng thứ 1), ~ 16 BULK In transfer/frame Tuy nhiên đây chỉ là kiểm tra theo kiểu "gửi không làm gì", khi vào ứng dụng thực tế, FW và SW phải xử lý dữ liệu, các tác vụ khác, luồng dữ liệu ko ổn định... tốc độ truyền tải sẽ giảm đi rất nhiều! Mình thấy bạn quan tâm đến Isochronous transfer ko rõ bạn đang định làm gì? thay đổi nội dung bởi: bien_van_khat, 21-03-2009 lúc 11:14 AM. |
|
![]() |
![]() |
![]() |
|
|