SPORT+DMA方式
本人正在学习DSP(ADI的blackfin53x系列),一下是在应用中对一些外设的理解,欢迎一起讨论. 1.可以在配置中打开DMA,也可以配置完再打开. 2.SPORT一定要在DMA打开后再开. 3.SPORT同时发送和接收的时候,SPORT1_RCR1应该设置成外部RCLK和外部RFS,上升沿和下降沿采样都可以. 4.每次发送16bit时,SLEN设置成000F,发送的实际位数=SLEN+1. 5.主从双通道同时发送数据的时候,SPORT的SPORT1_TCR2寄存器应该设置成:010F. 6.用DMA方式传送数据时,如果选用描述符方式要注意当一次数据传送完成后下个描述符及其参数都要准备好,否则DMA发生错误. 7.调试过程中采用中断方式修改描述符,但DMA发送完数据后来不及进中断修改描述符,会发生错误,所以中断方式不行. 8.开始调试的时候将SPORT口SPORT1_TCR2设置成每次发送32位,应该是每次发送16位,主从两路发送才是32位.设置成每次发送32位,发送 数据是对的,但每次只能发送偶数个字. 9.LTFS设置为1时,帧同步是低电平,设置为0时,帧同步为高电平.LATFS要设置为1,否则帧同步信号宽度不够. 具体设置: SPORT1_TCR1 (ITCLK|ITFS|LTFS|LATFS) 理想的TFS信号: ----| |----------- ----------------------------------------- 实际的TFS信号: ----| |----| |----| |----| |----| |---- ----- ----- ----- ----- ----- 数据应该在TFS为低时传送,TFS的低电平宽度就是一次传送数据的位数(如果SPORT一次发送5个字,则是16*5个时钟宽度),高电平是设置延时,保证数据发送完.(也可以改成中断方式) 相应的话把LTFS设置为0,TFS反相.
错误的地方欢迎指正.
|