View Single Post
Old 13-12-2006, 12:01 PM   #22
phamthaihoa
Đệ tử 3 túi
 
Tham gia ngày: Jun 2005
Bài gửi: 56
:
Trích:
Nguyên văn bởi RedRose View Post
Cảm ơn ntc, trang web đó có hướng dẫn thật tuyệt. Mình làm theo ok rồi.
Mình đã sửa file user.c để có thêm request của mình. Nhưng sao tốc độ chậm thế nhỉ, mình cho truyền liên tục từ firmware lên chỉ đạt 16KByte/s (mở EP1, chế độ Bulk, 64 bytes)

Đọc trên forum của Microchip thấy có người dùng mpusbapi.dll này được 0.5Mbits/s (~62.6 KBytes/s).

Làm thế nào để nâng cao tốc độ nhỉ? Các bạn đã làm thực tế ở đây đạt được tốc độ là bao nhiêu?
Theo bạn thì để có tốc độ cao thì nên làm theo cách nào?
+ Mở nhiều endpoint ? (cái này mình còn mơ hồ về cách truyền nhận khi có nhiều endpoint)
+ Dùng class khác ? (CDC, Custom?)
....
Khi bạn dùng file mpusbapi.dll thì bạn đang dùng custom driver rồi đó, mình cũng thất ngạc nhiên vì cao thủ nào đã đạt 0.5Mbits với file này, chắc truyền cả 64byte, huy động cả 15 EP. Thực chất cái file Microchip cho này mang tính demo thì hơn thì hàm truyền nhận của nó đều dính hàm delay bên trong, không nhanh được.
Nếu bạn dùng CDC thì tốc độ đạt gần 1Mbits nhưng sẽ gặp vấn đề chương trình giao tiếp với COM trên PC, viết bằng VB thì mình chưa thấy thằng nào hỗ trợ ở tốc độ đó. Delphi thì no problem.
Để hiểu thêm về giao tiếp qua EP, bạn có thể dùng WinDriver, nó giao tiếp qua EndPoint đó, khi khởi tạo bạn chọn EPIN, OUT, khi lập trình bạn tương tác với các EP này.
phamthaihoa vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn