USB- HID : hỏi về các bước tìm hiểu và thực hiện

Collapse
This is a sticky topic.
X
X
 
  • Giờ
  • Show
Clear All
new posts
  • tppdua
    Nhập môn đệ tử
    • Dec 2009
    • 6

    #1

    USB- HID : hỏi về các bước tìm hiểu và thực hiện

    chào các anh chị, em là người mới tìm hiểu về giao tiếp USB mà cụ thể là lớp HID. Em đã đọc qua phần HID trong USB complete nhưng cảm thấy nó quá chung chung. Vì em muốn làm hẳn 1 project có ứng dụng cụ thể , nghĩa là có làm mạch và viết các chương trình, nên em muốn biết mình nên tìm hiểu theo trình tự nào là hợp lý (tìm hiểu hay làm cái gì trước, cái gì sau, và nên thực hiện ứng dụng cụ thể nào? . Thêm nữa là em chỉ mới biết về 8051, nhưng trong giao tiếp USB thì cần biết về PIC, nên em cố sẽ học nhanh về PIC. Tóm lại, em ko biết nên bắt đầu như thế nào, mong anh chị cho ý kiến ( như các bước thực hiện , tìm hiểu ?) (sách và mạng nói rất nhiều nhưng chính vì quá nhiều làm em lúng túng).Thanks
  • bien_van_khat
    ...Damned...
    • Apr 2006
    • 522

    #2
    Nguyên văn bởi tppdua View Post
    chào các anh chị, em là người mới tìm hiểu về giao tiếp USB mà cụ thể là lớp HID. Em đã đọc qua phần HID trong USB complete nhưng cảm thấy nó quá chung chung. Vì em muốn làm hẳn 1 project có ứng dụng cụ thể , nghĩa là có làm mạch và viết các chương trình, nên em muốn biết mình nên tìm hiểu theo trình tự nào là hợp lý (tìm hiểu hay làm cái gì trước, cái gì sau, và nên thực hiện ứng dụng cụ thể nào? . Thêm nữa là em chỉ mới biết về 8051, nhưng trong giao tiếp USB thì cần biết về PIC, nên em cố sẽ học nhanh về PIC. Tóm lại, em ko biết nên bắt đầu như thế nào, mong anh chị cho ý kiến ( như các bước thực hiện , tìm hiểu ?) (sách và mạng nói rất nhiều nhưng chính vì quá nhiều làm em lúng túng).Thanks
    Trước tiên cần xác định rõ ràng hơn, bạn cần gì?

    1 - Để bắt đầu với PIC, bạn vào box dành cho nguời mới bắt đầu, sẽ có các hướng dẫn về các loại công cụ...

    2 - Nếu bạn cần nắm về giao thức USB, thậm chí có khả năng tự viết lại firmware thì bạn nên bắt đầu bằng:
    - Đọc qua thread này, và đọc 1 số tài liệu, 1 số chương mình đã recommend.

    - Đọc firmware của Bminch, đây là 1 firmware USB cho 18F2550/4550 rất phổ biến, được viết rút gọn bằng ASM để bạn có thể nắm được cách thức cũng như các bước mà 1 fw USB cần thực hiện
    http://www.microchip.com/forums/tm.aspx?m=89669&mpage=1

    3 - Nếu bạn chỉ cần làm được ứng dụng USB:
    - Đọc các tài liệu để hiểu cơ bản về các USB descriptor và HID descriptor
    - Tải Microchip Application Libraries trong đó có USB stack và rất nhiều project mẫu về USB, có cả HID và software giao tiếp thiết bị viết bằng C#
    http://www.microchip.com/stellent/id...cName=en537044
    - Xin đọc trước khi post bài

    Xin đặt code trong thẻ [ code ] [ /code ]

    Comment

    • tppdua
      Nhập môn đệ tử
      • Dec 2009
      • 6

      #3
      Thanks anh, qua reply của anh thì em nghĩ sẽ làm phần ứng dụng ( có thể chưa hiểu rõ về giao thức nhưng khi hoàn thành 1 ứng dụng cụ thể em sẽ dễ tìm hiểu kĩ )
      _ Cho em hỏi là khi làm ứng dụng thì đọc quyển "usb in a nutshell" đúng không anh?
      _ em đã down cái microchip Application Libraries, có phải là em sẽ cố gắng hiểu code mẫu? Với cách làm ứng dụng thì liệu em có thực hiện dc giao tiếp thiết bị qua usb (như bàn phím or chuột....)

      Comment

      • tppdua
        Nhập môn đệ tử
        • Dec 2009
        • 6

        #4
        anh chị có thể hướng dẫn cách sử dụng thư viện microchip application dc ko? Em mở ra, lấy vd là usb-hid mouse, thì trong đó có rất nhiều file code , nhưng ko rõ cấu trúc của nó ntn nên không biết xem từ đâu, nhất là có những file ghi PIC18, nhưng cũng có file ghi PIC 24, có phải là mình chỉ tham khảo cái loại mình muốn sử dụng phải ko?

        Comment

        • ICpro
          Nhập môn đệ tử
          • Jan 2008
          • 8

          #5
          Nguyên văn bởi tppdua View Post
          chào các anh chị, em là người mới tìm hiểu về giao tiếp USB mà cụ thể là lớp HID. Em đã đọc qua phần HID trong USB complete nhưng cảm thấy nó quá chung chung. Vì em muốn làm hẳn 1 project có ứng dụng cụ thể , nghĩa là có làm mạch và viết các chương trình, nên em muốn biết mình nên tìm hiểu theo trình tự nào là hợp lý (tìm hiểu hay làm cái gì trước, cái gì sau, và nên thực hiện ứng dụng cụ thể nào? . Thêm nữa là em chỉ mới biết về 8051, nhưng trong giao tiếp USB thì cần biết về PIC, nên em cố sẽ học nhanh về PIC. Tóm lại, em ko biết nên bắt đầu như thế nào, mong anh chị cho ý kiến ( như các bước thực hiện , tìm hiểu ?) (sách và mạng nói rất nhiều nhưng chính vì quá nhiều làm em lúng túng).Thanks
          Để làm về giao tiếp usb thì bạn cần chọn vi điều khiển PIC18 như PIC18F2550,...(loại PIC16F765 chỉ là các đời đầu dùng cho các ứng dụng usb).Mạch nạp cho vi điều khiển PIC18 hay PIC6F765 thì sử dụng mạch nạp SCHAER+,dưới đây là sơ đồ mạch nap:

          Còn đây là sơ đồ mạch đơn giản thiết kế cho vi điều khiển PIC16F765 ,giao tiếp với PC qua cổng usb:

          Sau đó bạn cần viết firmware bằng C hay asm cho vi điều khiển ,và phần mềm chạy trên máy tính bằng vb6.0 hoặc C#,visual C++.Nếu viết bằng visual C++ thì gọi luôn các hàm API calls của win,còn viết bằng vb thì chuyển đổi các hàm api calls vào bên trong các hàm vb.
          Để viết firmware cho pic ta sử dụng phần mềm MPLAB IDE của microchip .khi viết firmware thì sử dụng HID class,để khi cắm board mạch vào cổng usb thì phần mềm trên máy tính nhận được thông qua các hàm api calls.Dưới đây là một firmware cơ bản viết bằng asm cho pic16f765:
          http://www.mediafire.com/?4e3cnyjjzzo

          Comment

          • tppdua
            Nhập môn đệ tử
            • Dec 2009
            • 6

            #6
            em đã quyết định sẽ làm giao tiếp với bàn phím, anh chị nào có thể nói sơ sơ về ứng dụng này dc ko? em vẫn ko biết tham khảo cái microchip application ntn? Em có phải viết driver cho nó ko? có phải mình sẽ làm cái giao diện để truyền dữ liệu ( vd như chữ cái) vào máy tính. Quan trọng là em không biết tham khảo cái microchip application ntn? Mong anh chị chỉ giáo. À, em dùng PIC8f4550

            Comment

            • letanminh
              Nhập môn đệ tử
              • Feb 2010
              • 7

              #7
              Chào các Anh!Em mới bắt đầu làm mạch giao tiếp USB với máy tính.Em không biết bắt đầu từ đâu.Anh nào biết chỉ hộ Em với,Em cảm ơn.
              letanminhqn@gmail.com

              Comment

              • rocket42
                Đệ tử 4 túi
                • Jun 2010
                • 72

                #8
                begin usb

                đầu tiên bạn phải biết giao tiếp usb là cái gì đã
                bạn đọc tài liệu này nhé:
                Web: http://elinux.vn
                Email: elinuxvn@gmail.com

                Comment

                • rocket42
                  Đệ tử 4 túi
                  • Jun 2010
                  • 72

                  #9
                  begin usb

                  bắt đầu làm về usb thì tất nhiên bạn phải biết usb là cái gì
                  bạn đọc tài liệu này nhé:
                  Attached Files
                  Web: http://elinux.vn
                  Email: elinuxvn@gmail.com

                  Comment

                  • atmega_avr
                    Đệ tử 1 túi
                    • Apr 2010
                    • 20

                    #10
                    Thực ra giao tiếp USB theo chuẩn HID rất dễ, đầu tiên chúng ta phải làm một cái mạch đã, khi làm chúng ta sẽ có kinh nghiệm à, các bạn cứ làm mạch đi, sau đó code mình sẽ up lên sau nhe, mong các bạn ủng hộ.
                    Attached Files

                    Comment

                    • atmega_avr
                      Đệ tử 1 túi
                      • Apr 2010
                      • 20

                      #11
                      USB HID gửi các bạn tham khảo cho vui.

                      Như đã hứa mình gửi các bạn xem qua cho vui.
                      Attached Files

                      Comment

                      • lacduong2000
                        Nhập môn đệ tử
                        • Dec 2006
                        • 1

                        #12
                        Nguyên văn bởi atmega_avr View Post
                        Như đã hứa mình gửi các bạn xem qua cho vui.
                        ANH ATMEGA_AVR ơi.
                        Mình làm xong, nộp file hẽ của anh thi chạy.
                        như mình dùng ccs biên dịch từ source của anh thi nộp vô không chạy.
                        Mình có cần chỉnh sửa gì trong ccs không anh.

                        Comment

                        • atmega_avr
                          Đệ tử 1 túi
                          • Apr 2010
                          • 20

                          #13
                          Lâu lắm rồi mới có người hỏi! hình như mình có sử VID và PID của nó hay sao đó, bạn sử kiểm tra bên VB và CCS có giống nhau không. nếu không được mình Post lại cho! mình mới làm đồ án về cái này mà, có gì cứ hỏi nhe.

                          Comment

                          • tnt288
                            Nhập môn đệ tử
                            • Jun 2009
                            • 10

                            #14
                            Các bạn có thể hướng dẫn giúp mình viết giao diên giao tiếp USB được không.RS232 mình có làm qua rồi nhưng USB thì tìm không được tài liệu.Giao diện viết bằng VB.???

                            Comment

                            • atmega_avr
                              Đệ tử 1 túi
                              • Apr 2010
                              • 20

                              #15
                              Dự án trên bạn tải về tham khảo! mình cũng viết rõ ràng và dễ hiểu mà

                              Comment

                              Working...