模塊介紹
參考《Infineon-PSoC6_MCU_CY8C6xx8_CY8C6xxA_Architecture_Technical_Reference_Manual(TRM)-AdditionalTechnicalInformation-v08_00-EN.pdf》的33. Universal Serial Bus (USB) Device Mode
PSoC 6 MCU 提供了一個(gè)USB2.0全速設(shè)備接口。具備一下特征:
USB2.0全速
8個(gè)數(shù)據(jù)端點(diǎn)和一個(gè)控制端點(diǎn)
512B共享FIFO
控制端點(diǎn)專用的8字節(jié)存儲(chǔ)
支持控制,中斷,批量,同步傳輸
支持總線和自供電
支持USB掛起以降低功耗
支持
無DMA,手動(dòng)DMA模式 最大512字節(jié)的包
自動(dòng)DMA模式 同步傳輸最大1023自己的包
帶22歐終端電阻和1.5k上拉電阻
支持USB2.0 LPM
框圖如下
離線模式創(chuàng)建工程
1.安裝Modus Toolbox建議從Infineon Developer Center Launcher安裝,直接下載的話比較慢。
2.果在線從github拉取,需要配置C:WindowsSystem32driversetchosts后添加一行185.199.108.133 raw.githubusercontent.com 否則會(huì)提示不能訪問raw.githubusercontent.com
3.如果修改了Modus Toolbox默認(rèn)安裝路徑的話需要設(shè)置環(huán)境變量
CY_TOOLS_PATHS為安裝路徑D:/ModusToolbox/tools_3.0 注意斜杠方向?yàn)樽笮备?br /> 4.從以下地址下載離線包,在線git拉取基本都會(huì)失敗
5.配置離線包
將上述下載內(nèi)容解壓到%USERPROFILE%/.modustoolbox目錄下
只有.modustoolbox/offline文件夾,其他之前在線模式已經(jīng)下載的內(nèi)容都要?jiǎng)h掉。
新建系統(tǒng)環(huán)境變量CY_GETLIBS_OFFLINE=true
6.創(chuàng)建工程
離線的方式創(chuàng)建工程
打開Modus ToolBox
File->New->ModusToolbox Applacation->
測試
雙擊打開
D:BOARDinfineonPSOC62usbUSB_HID_GenericUSB_HID_Generic.cprj
另外需要先安裝Cypress.PSoC6_DFP.1.2.0.pack包。
修改設(shè)備
Pre_Include_Global.h中注釋掉#define CY_SUPPORTS_DEVICE_VALIDATION
#define CY_TARGET_DEVICE CY8C624ABZI_S2D44
改為#define CY_TARGET_DEVICE CY8C624ABZI_S2D44
#define CY_TARGET_DEVICE CY8C624ALQI_S2D42
報(bào)以下錯(cuò)誤
按如下設(shè)置
設(shè)置仿真器
下載運(yùn)行
卡在了WCO初始化
這是因?yàn)榘遄由蠜]有WCO的32.768Khz時(shí)鐘
所以cycfg_system.c中注釋掉//#define CY_CFG_SYSCLK_WCO_ENABLED 1
板子上也沒有外接ECO
從手冊上看到時(shí)鐘樹,只能使用IMO作為系統(tǒng)時(shí)鐘源,
修改#define CY_CFG_SYSCLK_CLKBAK_SOURCE CY_SYSCLK_BAK_IN_WCO
為#define CY_CFG_SYSCLK_CLKBAK_SOURCE CY_SYSCLK_BAK_IN_ILO
全部選擇IMO作為時(shí)鐘源
接上USB線到PC,運(yùn)行程序測試可以看到多了USB輸入設(shè)備
調(diào)試
下載HID調(diào)試工具
進(jìn)入U(xiǎn)SB-HID-Toolbinwindows目錄 右鍵打開終端
輸入./usbhidtool.exe 0x04B4 0xE17E 4 0xDE 0xAD 0xBE 0xEF
其中0x04B4 0xE17E是設(shè)備的VID和PID, 發(fā)送4個(gè)字節(jié)給設(shè)備(實(shí)際發(fā)送64字節(jié)剩余的補(bǔ)0),設(shè)備原樣返回收到的數(shù)據(jù)
以上結(jié)合仿真就可以進(jìn)行調(diào)試了。
代碼介紹
代碼框架如下
使用了usbdev設(shè)備驅(qū)動(dòng)
-
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
53文章
8302瀏覽量
147213 -
上拉電阻
+關(guān)注
關(guān)注
5文章
363瀏覽量
30752 -
USB接口
+關(guān)注
關(guān)注
9文章
703瀏覽量
55871 -
仿真器
+關(guān)注
關(guān)注
14文章
1019瀏覽量
83972 -
MCU控制器
+關(guān)注
關(guān)注
0文章
27瀏覽量
6935
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
在MODUS TOOLBOX中獲取電容測量值失敗了的原因?
請問KitProg2是否支持加載使用Modus工具箱構(gòu)建的程序閃存?
XMC4400 USBD_VCOM設(shè)備描述符請求失敗的原因?
使用自定義BSP的空項(xiàng)目出現(xiàn)Modus工具箱編譯錯(cuò)誤的原因?
可以在Modus工具箱eclipse中使用DAVE?創(chuàng)建的項(xiàng)目嗎?
如何使用支持標(biāo)準(zhǔn)藍(lán)牙HCI命令的定制BLE模塊(如 DA14531)來代替ModusToolbox支持的藍(lán)牙模塊?
DevEco Studio中創(chuàng)建了demo工程,Wearable模板為什么無法打開遠(yuǎn)程模擬器?
【英飛凌PSoC 6 RTT開發(fā)板試用】+USB測試
Instrument Control Toolbox 2
IP例化和幾個(gè)基于FPGA芯片實(shí)現(xiàn)的Demo工程
ZM433S M DEMO評(píng)估套件原理圖
![ZM433S M <b class='flag-5'>DEMO</b><b class='flag-5'>評(píng)估</b>套件原理圖](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論