Nguyên văn bởi Tonduy
Xem bài viết
Thông báo
Collapse
No announcement yet.
cấu tạo và nguyên lý USB
Collapse
X
-
Nguyên văn bởi nvt2 Xem bài viếtXem cái này nha, 1MB/s thì không phải không được nhưng mà mổi packet tới 64KB thì hông bit làm sao làm được
Comment
-
Nhớ viết tiếng Việt có dấu. Diễn đàn đã hỗ trợ bộ gõ tiếng Việt có dấu mặc định. Kiểu gõ Telex hoặc VNI đều được chấp nhận.
Chúc vuiFalleaf
Công ty TNHH Thương mại và Giao nhận R&P
58/57 Nguyễn Minh Hoàng - Phường 12 - Quận Tân Bình - TP.HCM
mail@falleaf.net - VP: (04) 36408561 - (08) 38119870
Comment
-
Nguyên văn bởi falleaf Xem bài viếtNhớ viết tiếng Việt có dấu. Diễn đàn đã hỗ trợ bộ gõ tiếng Việt có dấu mặc định. Kiểu gõ Telex hoặc VNI đều được chấp nhận.
Chúc vui
Comment
-
Nguyên văn bởi Tonduy Xem bài viếtKich thuoc goi tin toi muon noi o day la kich thuoc cua bo dem du lieu duoc truyen cho ham doc, ghi ( Cac ham API ). Kich thuoc nay phu thuoc vao Driver cua ban. -> Ban can tim hieu Driver.
Bác dùng API để truyền nhận vậy xin hỏi NVT2 muốn bố trí một bộ đệm 1MB thì có vấn đề gì không nhỉ !
USB full speed kiểu truyền Bulk thì truyền 64 byte và 64KB có khác nhau gì không ? Có phải cần ít nhất 1/(1000*19) giây để truyền 64 byte và 1024(1/(1000*19)) giây để truyền 64KB hay không ? Thế thì truyền 4KB và 1024KB thì có gì khác nhau nhỉ ! (1024KB có nhanh hơn không ?)
Bác dùng PIC, tốc độ tối đa 40MHz(!) thế thì bác chỉ có ít hơn 40(!) nhip để xử lý 1 byte và vài KB SRAM , kịp không nhỉ khi nhận một cái ào 64KB từ USB ? !. Đo tốc độ USB thế thì có cao nhân nào trên diễn đàn chứng minh phương pháp này giúp em cái !
Em chưa hỉu nhiều về USB, mong các cao nhân chỉ giáo !
NVT2Tín đồ AVR giáo.
Comment
-
Nguyên văn bởi nvt2 Xem bài viếtHa ha ha vậy ra gặp cao thủ ở đây rồi NVT2 tính thế này bác chỉ giáo xem có vấn đề gì không nhỉ :
Bác dùng API để truyền nhận vậy xin hỏi NVT2 muốn bố trí một bộ đệm 1MB thì có vấn đề gì không nhỉ !
USB full speed kiểu truyền Bulk thì truyền 64 byte và 64KB có khác nhau gì không ? Có phải cần ít nhất 1/(1000*19) giây để truyền 64 byte và 1024(1/(1000*19)) giây để truyền 64KB hay không ? Thế thì truyền 4KB và 1024KB thì có gì khác nhau nhỉ ! (1024KB có nhanh hơn không ?)
Bác dùng PIC, tốc độ tối đa 40MHz(!) thế thì bác chỉ có ít hơn 40(!) nhip để xử lý 1 byte và vài KB SRAM , kịp không nhỉ khi nhận một cái ào 64KB từ USB ? !. Đo tốc độ USB thế thì có cao nhân nào trên diễn đàn chứng minh phương pháp này giúp em cái !
Em chưa hỉu nhiều về USB, mong các cao nhân chỉ giáo !
NVT2
Hình như bạn bận tâm nhiều về tốc độ của vi điều khiển. Khi test, tôi đã tối ưu firmware bằng cách chuyển địa chỉ con trỏ bộ đệm. Như vậy, chỉ gán địa của bộ đệm dữ liệu (để đọc và để ghi) mới cho con trỏ -> tôi đã truyền thông được một gói có kích thước 64byte. ( Dữ liệu được truyền vòng để kiển tra độ chính xác).
Trình điều khiển trên PC được dùng kỹ thuật MultiThread và Overlapped.
Comment
-
Tốc độ tối đa của Fullspeed là 12Mb/s, tốc độ tôi đạt được >8Mb/s không có gì mâu thuẫn cả. Còn bạn muốn cung cấp bộ đệm 1Mbyte cho hàm API đọc ghi cái đó còn phụ thuộc vào Driver của bạn. Nếu kích thước bộ đệm mà lớn hơn kích thước Driver cho phép, tốc độ truyền sẽ giảm trong hoạt động đọc(cái này đã được kiểm tra) còn hoạt động ghi thì chưa kiểm tra.
Comment
-
Nguyên văn bởi Tonduy Xem bài viếtTrước tiên nói về cái Driver. Driver là tập hợp các hàm được dựng sẵn để đáp ứng các yều cầu Io, giống như lập trình thông điệp của windown vậy. Khi bạn chia một gói lớn thành nhiều gói nhỏ hơn thì thời gian để hoàn tất truyền thông các gói nhỏ đó tất nhiên phải lớn hơn thời gian truyền thông một gói lớn (thời gian lấy yều cầu từ hàng đợi -IRP-, cấp phát bộ nhớ...).
Hình như bạn bận tâm nhiều về tốc độ của vi điều khiển. Khi test, tôi đã tối ưu firmware bằng cách chuyển địa chỉ con trỏ bộ đệm. Như vậy, chỉ gán địa của bộ đệm dữ liệu (để đọc và để ghi) mới cho con trỏ -> tôi đã truyền thông được một gói có kích thước 64byte. ( Dữ liệu được truyền vòng để kiển tra độ chính xác).
Trình điều khiển trên PC được dùng kỹ thuật MultiThread và Overlapped.
NVT2 thật ra cũng đang "ăn ngủ" với USB nên có ý kiến thế này :
Với protocol phần cứng của USB, nó hoàn toàn có thể truyền từng byte 1, không nhất thiết phải đợi đến đủ 64 byte mới truyền, do đó viêc driver phải polling cho đầy buffer mới truyền tiếp thì lúc đó nó không mang ý nghĩa là buffer phần cứng nữa.
Do kiểu truyền vật lý của USB theo từng Frame do đó tốc độ truyền của USB còn ảnh hưởng bởi nhiều yếu tố, tuy nhiên tốc độ cao nhất thì ta hoàn toàn có thể tính được, không nên dùng phương pháp đo cục bộ để đo tốc độ USB.
Nếu bác TonDuy có nhả hứng xin cho NVT2 được làm quen để cùng trao đổi :
Y!M : nvttuong@yahoo.com
NVT2Tín đồ AVR giáo.
Comment
-
Giải pháp kết nối Pc
Hiện tôi đã xây dựng được một số ActiveX phục vụ cho giao tiếp PC qua Socket, Parallel Port, RS232, USB (Bao gồm cả FrameWork cho FirmWare, Driver và Protocol) và một số ActiveX chức năng khac. Nếu bạn cần trợ giúp có thể liên hệ với tôi. Call : 0945669100 ( ngoài giờ hành chính ).
Comment
-
Nguyên văn bởi thaison_0803 Xem bài viếtCÁc bạn cho mình hỏi?
Mình muốn dùng cái máy tính của mình để điều khiển thiết bị điện trong nhà thông qua cổng com. Bạn nào biết chỉ mình với. Đa tạ
chọn 1 con VDK (AVR, PIC ...) thực hiện giao tiếp RS232 qua MAX232 là okie ngay mà.
bạn có thể thực hiện các bước như sau:
1. Thực hiện truyền nhận qua Com bằng cách nối tắt 2 chân số 2 và số 3 với nhau (RX, TX). thực hiện truyền nhận ngon lành bằng 1 ngôn ngữ nào đó trước nhé (thông dụng nhất là VB, cao cấp dùng C, không thì Matlab) ...
2. thực hiện nhận tín hiệu (dữ liệu )truyền lên từ VDK
3. thực hiện truyền dữ liệu xuống VDK
==> chắc chắn thành công.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11Màn của e là LCD , e muốn thay thế bằng màn led thì có cáp chuyển đổi nào thực hiện đc việc đó ko nhỉ, nếu có bác mách e với....
-
Channel: Thiết bị điện tử cá nhân
hôm nay, 16:34 -
-
bởi bqvietServo cuối cùng vẫn chỉ là điều chỉnh tốc độ và đọc phản hồi vị trí
Qua cổng song song LPT cổ
https://www.electronicsforu.com/elec...eed-controller
Qua cổng USB - xem thêm đám FT232RL-
Channel: Điện tử công nghiệp
22-11-2024, 15:56 -
-
bởi thiennam0703Em đang tìm hiểu cách xây dựng chương trình điều khiển động cơ Servo Yaskawa bằng máy tính tuy nhiên khi tìm kiếm trên mạng các hướng dẫn thì thường là điều khiển bằng vi điều khiển hoặc điều khiển bằng PLC hay điều khiển động cơ...
-
Channel: Điện tử công nghiệp
22-11-2024, 15:32 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi bacthoMình cũng bị như vậy mà chưa biết ở đâu
-
Channel: Vi điều khiển AVR
21-11-2024, 21:00 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi nhathung1101Câu trả lời là không dùng được.
Hai lớp dán mặt trước và mặt sau, gọi là film phân cực. Muốn hiểu rõ về nó thì chịu khó search nhé. Ở đây có rất nhiều chó cứ ngửi thấy phân là sủa nhặng, nên không giải thích nhiều....-
Channel: Thiết bị điện tử cá nhân
21-11-2024, 16:20 -
-
Comment on Tổng hợp các thông tin về mạch nạp cho AVRbởi Memem
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi MememMọi người ơi cho em hỏi cái này ạ, hiện tại em đang làm btl về hiển thị giá trị nhiệt độ trên led 7 thanh sử dụng atmega16, code em chạy trên mô phỏng rất oke nhưng khi lắp qua mạch thực thì bị lỗi ở led đầu tiên bị lỗi như thế này...
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
bởi mantruongepuNhờ cả nhà tìm giúp mình thông tin IC này với, thấy ghi 943B W58BAL mà mình tìm mấy ngày nay không được, nó được đóng gói dạng TSSOP 8. Cám ơn cả nhà....
-
Channel: Điện tử dành cho người mới bắt đầu
20-11-2024, 14:40 -
-
bởi TherulCảm ơn bạn đã chia sẻ câu chuyện và quá trình phát triển sản phẩm của mình. Trước tiên, thật may mắn khi bạn vượt qua tai nạn và vẫn giữ được niềm đam mê cũng như khả năng sáng tạo trong lĩnh vực kỹ thuật. Việc bạn tiếp tục...
-
Channel: từ PIC tới dsPIC
20-11-2024, 07:20 -
Comment