[請益] USB device開發請益

看板Soft_Job作者 (CCT)時間2年前 (2021/11/22 23:13), 2年前編輯推噓4(4013)
留言17則, 8人參與, 2年前最新討論串1/3 (看更多)
最近因為想要弄一些東西,所以開始自修USB相關開發 因為自己對USB device / host / host driver幾乎是完全陌生, 所以想先跳過host driver的部分,之後再回來補QQ 目前想要完成的目標: 1. PC 跟device能夠透過USB交換資料, 例如PC端會需要傳一大筆資料給device & device也須做一樣的事 Q1: 參考了一些範例code,都是用vendor specific + bulk來做, 但是這樣在PC端是不是要額外寫driver? Q2: 如果用HID class,是否能夠設定成bulk傳輸? Q3: 如果用mass storage class + Bulk來做,PC端需要額外driver嗎? Q4: PC端有辦法繞過driver來做到我的目標嗎? 2. PC端可以將audio raw data透過USB到device,device再將聲音撥出 => 這部分目前還沒想法XD 謝謝 -- 更新一下 今天從推文的建議去查一些關鍵字找到了Inf Wizard, 用它build出來的driver,PC可以順利認到我的板子還有endpoint了(bulk in/out) 在PC端用python去做實驗, 目標是PC傳出去的資料可以被device收到 + device丟出去的資料可以被筆電收到 這是Python部分的code,都是從網路上學習的 https://imgur.com/UbEjwQZ
host丟出去的資料確定有在device被收到 但是一直都無法觸發device順利丟出資料到PC QQ 如: https://imgur.com/5bXLIIS
錯誤碼解出來為:https://imgur.com/zP8F47f
今天有做了一些實驗 + 查一些資料,但是還是找不到問題點QQ 請問這個問題有沒有想法建議呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.9.143 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1637594016.A.447.html

11/22 23:22, 2年前 , 1F
driver端可以考慮用winusb可以省一些功
11/22 23:22, 1F

11/23 00:05, 2年前 , 2F
有點不太懂你想要做什麼,是寫fw, driver, 還是applic
11/23 00:05, 2F
主要還是FW, 但是FW要能demo還是需要有host的行為, 所以host部分也要弄簡單的程式來確定我的板端正常

11/23 00:05, 2年前 , 3F
ation
11/23 00:05, 3F

11/23 00:28, 2年前 , 4F

11/23 07:25, 2年前 , 5F
Hidapi
11/23 07:25, 5F

11/23 07:27, 2年前 , 6F
我猜原po想有沒有現成driver或原生支援,然後只靠app做
11/23 07:27, 6F

11/23 07:27, 2年前 , 7F
到資料傳輸跟聲音輸出
11/23 07:27, 7F
就是這樣XD

11/23 08:23, 2年前 , 8F
libusb可以參考,如果不需要太高效率
11/23 08:23, 8F

11/23 09:30, 2年前 , 9F
libusb應該可以處理掉很多東西 只要做應用的部份
11/23 09:30, 9F

11/23 09:32, 2年前 , 10F
但你要先錄一下前面initial要設定什麼 configure選哪
11/23 09:32, 10F

11/23 09:32, 2年前 , 11F
個, interface的alt要不要切之類的 然後最後在丟data
11/23 09:32, 11F

11/23 09:32, 2年前 , 12F
到endpoint
11/23 09:32, 12F

11/23 09:40, 2年前 , 13F
話說聲音應該要用isochronous 不是用bulk
11/23 09:40, 13F
這個我知道,所以我這邊還沒把AUDIO拉進來看,一步一步來

11/23 09:54, 2年前 , 14F
喔喔 看懂你的問題了 如果你已經找到透過usb傳遞資料
11/23 09:54, 14F

11/23 09:58, 2年前 , 15F
的方法 先把資料傳過去device (linux?) device再把dat
11/23 09:58, 15F

11/23 09:59, 2年前 , 16F
a透過alsa播放還是用libusb丟都可以
11/23 09:59, 16F
※ 編輯: CCT63 (42.73.78.61 臺灣), 11/23/2021 10:09:28 ※ 編輯: CCT63 (42.73.78.61 臺灣), 11/23/2021 10:10:17 ※ 編輯: CCT63 (42.73.78.61 臺灣), 11/23/2021 10:11:26

11/23 13:14, 2年前 , 17F
Device 可以買silicon lab 的 efm8 開發板來試
11/23 13:14, 17F
目前是先用xMOS的開發版,因為未來工作上需求 另外,我手上有一塊樹莓pi的板子,適合拿來學習USB底層的protocol嗎? 還是要另外用其他種類的板子比較適合? 有推薦的嗎? ※ 編輯: CCT63 (1.171.9.143 臺灣), 11/23/2021 21:31:43 ※ 編輯: CCT63 (1.171.9.143 臺灣), 11/23/2021 21:40:35
文章代碼(AID): #1XcxEWH7 (Soft_Job)
文章代碼(AID): #1XcxEWH7 (Soft_Job)