Thông báo

Collapse
No announcement yet.

cấu tạo và nguyên lý USB

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    Nguyên văn bởi Tonduy Xem bài viết
    Tui truyen o che do Bulk. Toi co mot Thread chuyen doc ghi du lieu. moi goi du lieu co kich thuoc 64kbyte. Toi da tien hanh truyen trong thoi gian dai > 1 phut (thoi gian cang dai thi toc do trung binh cang chinh xac). sau do chia trung binh (bang tay hoac bang phan mem). Cau khong phai nghi ngo toc do toi dua ra. Toi da lam nhieu lan nhu vay. Ket luan : Toc do dat duoc > (2/3) 12Mb/s.
    Xem 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
    Attached Files
    Tín đồ AVR giáo.

    Comment


    • #17
      Nguyên văn bởi nvt2 Xem bài viết
      Xem 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
      Vay thi cau chua hieu het ve Usb roi. Chiu kho tim hieu tiep nhe !

      Comment


      • #18
        Kich 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.

        Comment


        • #19
          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 vui
          Falleaf
          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


          • #20
            Nguyên văn bởi falleaf Xem bài viết
            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 vui
            Em xin loi dai ca ! em khong de y.

            Comment


            • #21
              Falleaf: cảnh cáo nói bậy

              Comment


              • #22
                Nguyên văn bởi Tonduy Xem bài viết
                Kich 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.
                Ha 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
                Tín đồ AVR giáo.

                Comment


                • #23
                  Nguyên văn bởi nvt2 Xem bài viết
                  Ha 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
                  Trướ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.

                  Comment


                  • #24
                    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


                    • #25
                      Nguyên văn bởi Tonduy Xem bài viết
                      Trướ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.
                      Giải thích của bác xem ra rất có cơ sở, chắc bác chuyên nhiều về phần mềm điều khiển trên PC, NVT2 xin bày tỏ sự khâm phục.

                      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

                      NVT2
                      Tín đồ AVR giáo.

                      Comment


                      • #26
                        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


                        • #27
                          vay thì có anh nào biết về cách sửa không tui từng tháo vài cái ra nhưng ma không biết được cách đo và kiểm tra anh nào có sơ đò và cách sửa thì cho mọi người xem

                          Comment


                          • #28
                            Chủ đề này hay đây,các bác tiếp tục đi chứ!
                            Có bác nào làm USB với AVR chưa,chia sẻ ít kinh nghiệm

                            Comment


                            • #29
                              CÁ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ạ

                              Comment


                              • #30
                                Nguyên văn bởi thaison_0803 Xem bài viết
                                CÁ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ạ
                                nếu làm giao tiếp qua cổng Com thì dễ thôi mà.
                                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

                                Về tác giả

                                Collapse

                                aoxanh125 Tìm hiểu thêm về aoxanh125

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X