Cypress技术论坛
直播中

唐行轲

8年用户 178经验值
私信 关注
[问答]

怎么使用GPIF双向转发GPIO到USB3?

你好,
我正在尝试使用CYSUB3KIT-003 FX3通过GPIF将GPIO转发给USP3。
我创建了两个DMA通道:
一个从USP3通道1(输入0x01)到GPIF PIB块0。从GPIF PIB块4到UB3信道1(输出0x81)。接下来,我为GPIF状态机配置了,我在TrReD0上等待DMA请求,并在相应的数据总线上写入数据(8位)。在写入之后,我跳转到另一个状态,在这里我比较(动作cMPL数据)在我要写入的数据集中的一个比特的值。事实上,我想把我的数据总线值读回到UB3频道输出,只有当我从我的UB3频道输入一个数据包的比特5在1。
我可以将CMPLE数据的数据值与我设置的值DATABUS值进行比较吗?
我不知道这个错误是来自我的状态模型还是我的DMA配置。
下面是如何配置我的DMA通道:
DMACFG.PRODSCKID=CyuU3PyuBySoCKEL PRODY1;DMACFG.CasSCHID=(CYU3PDMASOCKETDIGT)CYU3PDMAGEtiTCHID(CYU-U3PYPIBIIPBIORIGID ID,0);ApIdReStase= CYU3PDMACHANNEICALIONE(&GLCHANDANLYSUBIN,CYU-U3PYDMAX Type AUTO,和DMACFG);
DMACFG.PRODSCKID=(CYU3PDMASCOKETIGITT)CYU3PDMAGETCSKID(CyuU3PiPibIIpBuxLuxID,4);DMACFG.CascSKID=CyuU3PyuBiSoCKIONEXIL1;ApIdReStase= CYU3PDMACHANNECREATION(&;GLCHANDANLUESBUT,CYU-U3PYDMAX Type AUTO,和DMACFG);
附加状态机。
我希望我已经足够清楚了。
提前谢谢你。
GPIF.PNG
33.2 K

回帖(2)

刘辉

2019-10-21 09:24:23
你好,
是的,这是可行的。你可以继续你的设计。
当做,
- Madhu Sudhan
举报

唐行轲

2019-10-21 09:33:21
引用: dfzvzs 发表于 2019-10-21 09:24
你好,
是的,这是可行的。你可以继续你的设计。
当做,

谢谢Madhu Sudhan的回复。
不幸的是,我没有找到办法去做…写的作品,但我从来没有收到读取数据…
我尝试测试一个简单的循环,在数据总线上逐字节读写。但我仍然坚持…
我做了一个新的状态机,只有3个状态:DMAIWAIT写读。
在DMAI等待状态下,我有一个简单的转换,当DMAYRYDYTH0发生时,我跳到写。
在写上,我有一个动作(DRYDATA)。因为我只想在字节上写,我不检查“从数据源更新新的值”和“重复动作直到下一个转变”。独特的过渡是一个逻辑的阅读。
在Read中,我有2个动作:iNoDATA和提交,因为我只想读取8个字节并在USP3套接字上发送值。我也取消了“重复动作直到下一个转变”。我设置了一个DMAYRYDYTH0转换回写和A!DMAYRDYYTH0到DMAI等待。
第一个字节很好地写在数据总线上,但是在我没有更多(没有读写之后)…我不能读数据,或者写更多…
你能解释一下我哪里错了吗?
GPIFILRW.PNG
28.2 K
举报

更多回帖

发帖
×
20
完善资料,
赚取积分