Cypress技术论坛
直播中

杨平

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

为什么PSOC3-SPI主交换半字节被更改了?

很少有SPI问题,只需插上就行。
这一次有一个在低3MbPS的SPI双向主控器。把它留在发送模式,直到需要扭转它。
偶尔会被奴隶绞死。将一个分析器连接到下游数据上,什么是一致的0x020b、0x5000、0x022b、0x5000的字符串将被更改为0x50b、0x0200、0x052b、0x0200。
从本质上说,它是在啃咬!
我的代码非常简单,只是在单词之间使用延迟。剩下的留给真正的程序员。
刚刚下载SP1,但看到SPI大师仍然是V2.4所以怀疑任何新的存在。
附件PDF显示分析仪的痕迹,代码和示意段。
有什么建议吗?
谢谢
迈克S
柏树PSOC3 SPI.PDF
144 K

回帖(6)

王淑珍

2019-8-2 07:05:16
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

杨平

2019-8-2 07:22:51
嗨,谢谢。
1)用于双向拉阻的SDAT被设置为电阻上拉,也在10K上拉。在上升的时钟边缘放大4V,这样对从属者来说将是很好的。显示图片连接,而不是在附加修订PDF。
2)是的,从属设备通过2英寸柔性电缆连接。删除它,并采取另一个图片。实际上没有差别。
3)自从时间感兴趣区以来,没有对这一瞬间给予太多的思考,认为是从线变出来然后抬起一点。
4)一个尝试会慢一点,但是既然设置了高速,那么3MbP就足够慢了,这是另外一回事。
有两个其他SPI在PSoc谈DAC,和数字锅。不要使用它们几乎相同,但还没有已知的问题。
试着从双向走向公正的输出,同样的结果。
附上修订。
迈克
柏树PSOC3 SPI1.PDF
275.8 K
举报

王淑珍

2019-8-2 07:38:11
1。我认为,应该用强有力的驱动力,但这不是你的问题在这个时候。
2。为了解决这个问题,这个怎么样?
而ldriver(0x020b,0x5000);ldriver(0x022b,0x5000);使用test1();test2();无效test1(void){ ..spim_2_writedata(0x020b);Cydealyus(6);spim_2_writedata(0x5000);Cydealyus(6);..无效Test2(空){…spim_2_writedata(0x022b);Cydealyus(6);spim_2_writedata(0x5000);Cydealyus(6);..只是看看它是否改变了什么
举报

杨平

2019-8-2 07:45:09
再次感谢。实际上已经试过了,没有什么区别。不能有强烈的驱动,自需要双向。
回到“工作”档案,测试,和仍然工作在SPI传输不难过。
刚刚更新的C代码添加我的新命令,和它的作品太。重要的是要注意,只是建造,而不是清洁和建设。
看着生成的源代码问题的SPI模块,即使两版本设置相同,在工作版,以下是未启用:
spim_3_txdisable虚空(void){ spim_3_control_reg &;=((卡片)~ spim_3_ctrl_tx_signal_en);}在非工作一行启用(更有意义的我)。自从有了工作和非工作的版本,将开放的情况下,包括代码集。这需要得到固定,或放弃SPI共做离散实现。不需要先进先出,不需要中断,只需要它工作可靠。
举报

更多回帖

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