![]() |
|
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 | |
Nhập môn đệ tử
Tham gia ngày: Aug 2006
Bài gửi: 4
: |
Trích:
Như bạn biết: một frame (1ms) có 8 micro-frame (125us). Bạn có thể sử dụng chế độ interrupt trong USB host controller 2.0. Ta có thể đặt ngưỡng để xảy ra interrupt là từ 1 tới 8 micro-frame trong frame sẽ xảy ra interrupt. Note: Interrupt này là đường interrupt của USB về Interrupt controller của CPU. Điều kiện để làm đc điều này là chip ( MCU, SOC, Processor ..) của bạn hỗ trợ điều này. Còn tùy vào tần số làm việc của chip bạn nữa. Regards, |
|
![]() |
![]() |
![]() |
#2 | |
Trưởng lão PIC bang
|
Trích:
Cần chú ý rằng USB là giao tiếp thuộc loại host-concentric, nghĩa là mọi sự truyền thông trên bus đều do host khởi đầu. Do đó, nếu sử dụng hi-speed mode (mà hiện nay chưa được bất kỳ vi điều khiển PIC nào hỗ trợ), thì bạn cũng chỉ có thể yêu cầu cập nhật trạng thái từ ngoại vi sau mỗi 125 us. 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, 27-03-2009 lúc 09:56 PM. |
|
![]() |
![]() |
![]() |
#3 | |
Nhập môn đệ tử
Tham gia ngày: Aug 2006
Bài gửi: 4
: |
Trích:
Tôi chỉ nhắc tới khả năng sử dụng interrupt ở cả Host function và device function, ví dụ sau mỗi transaction/micro-frame sẽ có interrupt .. đó là một hướng. ![]() Regards, |
|
![]() |
![]() |
![]() |
#4 | |
Trưởng lão PIC bang
|
Trích:
Tôi muốn nhắc nhở bạn rằng đây là diễn đàn về PIC/dsPIC, nên bạn chú ý đến khả năng thực sự của những chip này khi đưa ra ý kiến. Vì nếu bạn đưa ra những giải pháp mà không áp dụng được với PIC/dsPIC thì có thể khiến người khác mất thời gian một cách vô ích. Nếu bạn nêu ra một giải pháp mà không có PIC/dsPIC nào đáp ứng được thì đề nghị bạn giới thiệu cụ thể một vài chip khác có khả năng đó, để tránh cho người đọc đi vào ngõ cụt. Cụ thể trong trường hợp này, dùng interrupt ở phía device có lẽ chỉ giúp device đáp ứng với các sự kiện bus nhanh hơn, chứ không tăng được tần suất trao đổi dữ liệu giữa host và device. Và với các PIC/dsPIC hiện nay thì không thể dùng microframe. 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 |
|
![]() |
![]() |
![]() |
#5 | |
...Damned...
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
: |
Có thể mình cũng ko hiểu ý bạn, nhưng
Nếu bạn nói đến Interrupt Transfer của USB protocol thì chữ Interrupt hoàn toàn ko có nghĩa là ngắt, nó chỉ mang ý nghĩa rằng: Host đảm bảo với các Interrupt EP rằng bọn này sẽ được host phục vụ liên tục cứ sau 1 khoảng thời gian mà thiết bị yêu cầu (1, 2, 4... frame/micro frame). Mức ưu tiên phục vụ của các loại transfer là Control > Interrupt > Isochronous > Bulk. Nhưng host phục vụ ngay khi cần, ko có nghĩa là software của bạn cũng được báo cáo ngay lập tức. Windows ko phải là HDH thời gian thực, do đó, thời gian trễ giữa 2 sự kiện này là hoàn toàn ko thể biết trước. Trích:
Làm cách nào bạn phục vụ ngắt của Host controller về CPU trong phần mềm của bạn? Mình nghĩ ý tưởng của bạn là cho máy tính boot từ bootloader của bạn, load phần mềm của bạn. Phần mềm của bạn bây giờ chạy hoàn toàn ko dựa trên bất kỳ hệ điều hành nào, lúc đó, với toàn quyền truy xuất phần cứng bạn có thể viết driver cho cả USB Host controller, VGA, Sound, ethernet..., tha hồ thao túng hệ thống, sound cool, ![]() thay đổi nội dung bởi: bien_van_khat, 28-03-2009 lúc 08:58 AM. |
|
![]() |
![]() |
![]() |
|
|