Part Number:TMS320F28377D-EPOther Parts Discussed in Thread:DAC8568
先生您好:
我的问题:
1.SPIFIFO工作模式下,编程者是否可读写FIFO缓存器?我是否可以这样使用:
step 1
初始化SPI工作在FIFOMOD下
TXDLY= 0;
TXFFIL = 8;
发送不能(Talk = 0)
step 2
配置TXFIFO BUFFER
for(i = 0;i< 8;i++){
SpiaRegs.SPITXBUF = i;
}
step 3
启动发送(talk = 1 Or SPISWRESET = 1)
2,问题是我这样写时,放到SPITXBUF数据是缓存到发送FIFO内还是直接传输到SPIDAT 中(根据手册应传送给它的);
这很疑惑,是否有详细描述它的工作机制的资料呢?
在TXDLY = 0条件下:在连续发送多个字的情况下,SPISTE 可以保持位“Low”?
许多应用的场景下:如8通道SPI总线DAC8568 ,每个通道写入字是32bits,期间STE维持位“低”;
如果连续输入4个通道数据,需要连续发送128bits数据,如果用F28377D管理它,至小需要每次写32bits,而且期间STE需维持位低;
应用软件IO仿真SPI是可以的,但效率很低!
3.直接使用SPI高速传输方式是否可以实现呢?
请教各位大咖!
非常感谢!
非常感谢!
Ben Qin:
你好,
Ling Fei Zhang 说:编程者是否可读写FIFO缓存器?
应该是不能读写
Ling Fei Zhang 说:放到SPITXBUF数据是缓存到发送FIFO内还是直接传输到SPIDAT 中
是的,到SPIDAT中,查看下下图
Ling Fei Zhang 说:应用软件IO仿真SPI是可以的,但效率很低!
效率很低是指?
Ling Fei Zhang 说:直接使用SPI高速传输方式是否可以实现呢?
你是指的哪个模块?
,
Ling Fei Zhang:
参考手册:GPIO58\59\60\61 作Spia 使用时可以工作在高速方式,SpiClk = 40MHZ
我的问题是:如果需要连续发送数据,假设 32bits;利用FIFO方式,连续发送两个字(16bits);是否有方法实现连发32bits字期间,维持SPISTE = 0?
,
Ben Qin:
我将在你另一个帖子中回复你:
(+) TMS320F28377D-EP: SPI FIFO使用问题 – C2000︎ 微控制器论坛 – C2000 微控制器 – E2E 设计支持 (ti.com)