模塊介紹
參考《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掛起以降低功耗
支持
無(wú)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ì)提示不能訪問(wèn)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)建工程
打開(kāi)Modus ToolBox
File->New->ModusToolbox Applacation->
測(cè)試
雙擊打開(kāi)
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)榘遄由蠜](méi)有WCO的32.768Khz時(shí)鐘
所以cycfg_system.c中注釋掉//#define CY_CFG_SYSCLK_WCO_ENABLED 1
板子上也沒(méi)有外接ECO
從手冊(cè)上看到時(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)行程序測(cè)試可以看到多了USB輸入設(shè)備
調(diào)試
下載HID調(diào)試工具
進(jìn)入U(xiǎn)SB-HID-Toolbinwindows目錄 右鍵打開(kāi)終端
輸入./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)注
54文章
8689瀏覽量
149910 -
上拉電阻
+關(guān)注
關(guān)注
5文章
366瀏覽量
31170 -
USB接口
+關(guān)注
關(guān)注
9文章
707瀏覽量
56971 -
仿真器
+關(guān)注
關(guān)注
14文章
1037瀏覽量
85380 -
MCU控制器
+關(guān)注
關(guān)注
0文章
27瀏覽量
7112
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論