模块介绍
参考《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 提供了一个USB2.0全速设备接口。具备一下特征:
USB2.0全速
8个数据端点和一个控制端点
512B共享FIFO
控制端点专用的8字节存储
支持控制,中断,批量,同步传输
支持总线和自供电
支持USB挂起以降低功耗
支持
无DMA,手动DMA模式 最大512字节的包
自动DMA模式 同步传输最大1023自己的包
带22欧终端电阻和1.5k上拉电阻
支持USB2.0 LPM
框图如下

离线模式创建工程
1.安装Modus Toolbox建议从Infineon Developer Center Launcher安装,直接下载的话比较慢。
2.果在线从github拉取,需要配置C:WindowsSystem32driversetchosts后添加一行185.199.108.133 raw.githubusercontent.com 否则会提示不能访问raw.githubusercontent.com
3.如果修改了Modus Toolbox默认安装路径的话需要设置环境变量
CY_TOOLS_PATHS为安装路径D:/ModusToolbox/tools_3.0 注意斜杠方向为左斜杠
4.从以下地址下载离线包,在线git拉取基本都会失败

5.配置离线包
将上述下载内容解压到%USERPROFILE%/.modustoolbox目录下
只有.modustoolbox/offline文件夹,其他之前在线模式已经下载的内容都要删掉。
新建系统环境变量CY_GETLIBS_OFFLINE=true
6.创建工程
离线的方式创建工程
打开Modus ToolBox
File->New->ModusToolbox Applacation->


测试
双击打开
D:BOARDinfineonPSOC62usbUSB_HID_GenericUSB_HID_Generic.cprj
另外需要先安装Cypress.PSoC6_DFP.1.2.0.pack包。
修改设备

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
报以下错误

按如下设置

设置仿真器



下载运行
卡在了WCO初始化

这是因为板子上没有WCO的32.768Khz时钟
所以cycfg_system.c中注释掉//#define CY_CFG_SYSCLK_WCO_ENABLED 1
板子上也没有外接ECO
从手册上看到时钟树,只能使用IMO作为系统时钟源,

修改#define CY_CFG_SYSCLK_CLKBAK_SOURCE CY_SYSCLK_BAK_IN_WCO
为#define CY_CFG_SYSCLK_CLKBAK_SOURCE CY_SYSCLK_BAK_IN_ILO
全部选择IMO作为时钟源

接上USB线到PC,运行程序测试可以看到多了USB输入设备

调试
下载HID调试工具
进入USB-HID-Toolbinwindows目录 右键打开终端
输入./usbhidtool.exe 0x04B4 0xE17E 4 0xDE 0xAD 0xBE 0xEF
其中0x04B4 0xE17E是设备的VID和PID, 发送4个字节给设备(实际发送64字节剩余的补0),设备原样返回收到的数据

以上结合仿真就可以进行调试了。
代码介绍
代码框架如下
使用了usbdev设备驱动

VRRP是什么?VRRP的作用和工作原理
时间:2026-06-05
32768晶振封装尺寸详解
时间:2026-06-05
静态路由是什么?静态路由如何配置?
时间:2026-06-05
一文详解光耦的作用与分类、使用技巧
时间:2026-06-05
热插拔是什么?热插拔有哪些特点?
时间:2026-06-05
深度解析电磁炉的工作原理与常见故障
时间:2026-06-04
介绍电流互感器的6种常见接线方法
时间:2026-06-04
VGA接口的详细解读和应用
时间:2026-06-04
物联网新兴薄膜技术
时间:2026-06-04
接触器的规格、原理结构、应用接线
时间:2026-06-04
电阻的单位
时间:2026-03-05
NVIDIA CPU+GPU超级芯片大升级!
时间:2026-03-09
贴片电阻怎么看阻值
时间:2026-03-05
电阻的原理和作用 电阻色环识别图 电路中电...
时间:2026-03-09
什么是硅片或者晶圆?一文了解半导体硅晶圆
时间:2026-03-09
什么是室温超导?半导体时代将走向结束?芯...
时间:2026-03-09
半导体光刻工艺 光刻—半导体电路的绘制
时间:2026-03-09
HTCC:半导体封装的理想方式
时间:2026-03-06
一文详解MOS管驱动电路拓扑的设计
时间:2026-03-09
石英灯电子变压器电路原理
时间:2026-03-06