Thông báo

Collapse
No announcement yet.

Usb <==>lpc2148

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

  • Usb <==>lpc2148

    Có bác nào đã có kinh nghiệm về giao tiếp arm với usb xin giúp em với.
    Đọc datasheet của LPC2148 (UM10139.pdf) chương 14 mà không hình dung được zì hết. Như ATLE mode, DD retired, Endpoint....

  • #2
    DÙNG VỚI CHỨC NĂNG NHƯ THẾ NÀO?
    - USB SOUND CARD AUDIO
    - HAY USB-HID
    - HAY USB MASS STORE????

    Nói chung là không khó lắm để làm.
    Mấy cái trên mình đã test ok- thành công hết!

    Comment


    • #3
      giao tiếp LPC2148 và USB

      Nguyên văn bởi MicroDuyphi Xem bài viết
      DÙNG VỚI CHỨC NĂNG NHƯ THẾ NÀO?
      - USB SOUND CARD AUDIO
      - HAY USB-HID
      - HAY USB MASS STORE????

      Nói chung là không khó lắm để làm.
      Mấy cái trên mình đã test ok- thành công hết!
      Bác có thể nào thể nào giúp em phần USB-HID được không, bác . Em viết chương trình trên Kiel for ARM. Em xin cảm ơn trước.

      Comment


      • #4
        Với LPC2148, bạn có thể tham khảo ví dụ của Keil viết cho board MCB2140 được đấy. Trong đó có cả HID và MassStorage

        Comment


        • #5
          Mình cũng tham khảo rùi như, mình muốn hiểu một cách tường minh hơn:
          - Truyền nhận giữa PC và vi điều khiển là nhiêu byte 1 lần.
          - DAM là kiểu truy xuất bộ nhớ trực tiếp, khi lập trình cần quan tâm đến vấ đề gì.
          - Các hàm HID_GetReport, HID_SetReport.... Đọc ko hiểu lắm
          - USB_ENDPOINT có kích thước như thé nào là phù hợp
          và..........

          có quá nhiều để tìm hiểu mong các bác giúp em.

          Comment


          • #6
            HID thì ko rành lắm nhưng mà MassStorage thì có chơi với nó rồi. Thật ra cũng đơn giản, để đọc USB drive thông thường thì bác chỉ cần coi cai BOT (bulk-only transfer) spec trên usb.org + SCSI command. Thằng SCSI command hết sức lằng nhằng bạn chỉ nên coi những lệnh này thôi: INQUIRY, READ_CAPACITY, READ10, WRITE10, TEST_UNIT_READY.
            Đại khái là 1 BOT = Command Block Wrapper (CBW) 31 bytes + Data + Command Status Wrapper (CSW) 13 bytes. VD lênh READ10 có 10 bytes lệnh thì 1 lần đọc sẽ như sau (mấy cái xxxx là wrapper bạn coi trong cai BOT spec sẽ thấy)
            CBW: xxxxxx10 bytes of READ10xxxxxx (dài 31 bytes)
            DATA: 512 bytes của một sector (VD mình chỉ đọc 1 sector)
            CSW: xxxSTATUSCODExxxxxx (dài 13 bytes)

            Comment


            • #7
              à chợt nhớ ra là hình như có 1 chương trình tên là usbtrace http://www.sysnucleus.com/ (kiếm xxxxx thì vào sonsivri) mình chưa có xài nhưng nó quăng bomb là có thể parse được hết những cái usb packet rồi group lại theo transaction/transfer hoặc mức độ class level (make USB visible). Nó chỉ đơn thuần dùng software thôi, bạn cắm cái USB drive vào thử coi mấy cái transaction là sẽ hiểu nhiều hơn. Nhân tiện nếu kiếm được đồ cổ là fullspeed thì sẽ tốt hơn, highspeed nó có thêm mấy cái packet slipt/nyet/ping sẽ làm mình nhức đầu thêm

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X