找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2288|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

該如何實(shí)現(xiàn) USB to I2C呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:460612 發(fā)表于 2020-10-5 19:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
各位前輩好

標(biāo)題不知道該怎麼下才好, 故先用USB to I2C當(dāng)標(biāo)題
第一次寫USB to other interface的需求, 很多方面都不了解
規(guī)劃上, 不知道該選擇何種protocol會(huì)比較好開發(fā)
故想求助一些方向,如果有現(xiàn)成的原代碼可以參考更好

目前的問(wèn)題如下
MCU上有下列多組interface
I2C    (4組)
SPI    (4組)
UART (3組)
PWM  (原生2組+2組GPIO模擬)
SDIO (一組 for SD card)

想利用USB 2.0  interface串接起來(lái) (USB to I2C/SPI/UART/PWM/SD)
USB2.0 endpoints 5 in /5 out

目前研究了幾種方式

1. 使用IAD 複合式 的方式,但發(fā)現(xiàn)光是 CDC endpoints 數(shù)目會(huì)不夠用
    IAD -> CDC-ACM -> UART  (3 endpoints * 4)
           ->  ...  

2. Vendor-Specific
    參考市面上的USB to UART
    它們的作法是使用 Vendor-Specific
    以Interrupt IN / Bulk in/out  三個(gè)endpoints 來(lái)作
    但該傳哪些資料/哪些Byte代表什么意思 , 需全部自定義
    但 有一個(gè)疑問(wèn)點(diǎn)為
    如果在 USB to I2C/SPI/UART/PWM 之下
    需要更多的endpoints 嗎?

3. 使用HID
    目前于網(wǎng)路上有查詢到 MS 有定義過(guò) USB HID I2C的 spec
    但著墨不多, 范例也少
    直覺(jué)上 USB to I2C/SPI/UART/PWM
    也需自定義, 但是基于自定義Report descriptor的架構(gòu)上 去實(shí)現(xiàn)


關(guān)于2跟3,如日后driver和application 會(huì)在linux 上開發(fā)
會(huì)建議使用哪種方式較佳呢?

關(guān)于這類USB to XXX interface的部分 有網(wǎng)站或文件可以推薦參考嗎?


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:822755 發(fā)表于 2020-10-6 10:40 | 只看該作者
可以用FT232芯片, 調(diào)用廠家的SDK,就可以像IO一樣模擬I2C時(shí)序了。
市面上好像也有usb轉(zhuǎn)i2c的專用芯片。
回復(fù)

使用道具 舉報(bào)

板凳
ID:460612 發(fā)表于 2020-10-6 18:49 | 只看該作者

目前因?yàn)樾枨笏?USB to I2C/UART/PWM...部分需全部自己在STM32上實(shí)現(xiàn), 無(wú)法使用chip 去轉(zhuǎn)換
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表