在线时间32 小时
UID3162156
注册时间2016-12-15
NXP金币0
TA的每日心情 | 奋斗 2016-12-16 15:24 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
中级会员
 
- 积分
- 272
- 最后登录
- 2018-1-24
|
通信流程:使用mcu为MK64FN1M0,开发环境为Keil mdk5,mcu的SPI0与FPGA 通信,mcu为主设备,FPGA为从设备,FPAG与mcu之间连接一根GPIO,FPGA开始发送数据的时候给GPIO产生一个上升沿,通知mcu开始接受数据。mcu接受数据的时间不能超过100us。
实现的方式:
GPIO配置为上升沿中断,SPI0硬件实现+DMA,spi的接受数据函数放在GPIO的中断服务程序里面
遇到的问题:
1.为了提高响应时间,时钟需要配置为持续时钟,
SPI0 的时钟模式配置为 enableContinuousSCK = false; 时,时钟,片选,SOUT通过示波器抓都正常,
SPI0 的时钟模式配置为 enableContinuousSCK = true; 时,时钟产生正常,片选,SOUT通过示波器都不响应,
想知道时钟配置为持续时钟时,是不是有其他关联的配置,才导致片选,SOUT都不响应?
如果我SOUT引脚不发送任何数据, 且enableContinuousSCK = false; 能否给从设备提供时钟和片选?
2.要求fpga发送数据的时候 mcu不需要给fpga发送任何东西,根据demo修改接受fpga的数据调用的是
DSPI_MasterTransferEDMA(EXAMPLE_DSPI_MASTER_BASEADDR, &g_dspi_edma_m_handle, &masterXfer),
此处结构体masterXfer里面有设置的txData,rxData,
我怎么实现只接受fpga的数据,我给txData是否传入一个空指针NULL,
而且我什么时候开始接受数据?是发送数据的同时在进行接受数据吗?
|
|