
DSP串行通信
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
简介:DSP串行通信是指数字信号处理器(DSP)通过串行接口进行数据交换的一种通信方式,适用于长距离传输和节省引脚资源的应用场景。
本段落主要介绍了在TMS320C55xDSP上实现全双工异步串行通信的方法。传统的实现方法是使用DSP的McBSP接口加外接芯片,但这种方法增加了硬件成本和电路设计复杂度。本段落提出了一种直接利用DSP的MCBSP接口和DMA通道来实现UART的方法,该方法具有低成本、简单硬件电路以及良好的移植性等特点。
在DSP上进行UART异步串行通信需要正确初始化McBSP的相关寄存器。McBSP通过数据、帧同步和时钟三种信号完成同步通信。而在异步通信中,发送与接收各使用一条线路,并各自拥有独立的帧时序。UART的通信频率由波特率决定,常见的有2400、9600、19200等值。由于DSP内部时钟通常不是这些标准波特率的整数倍,在两者进行异步通信时可能会出现数据位偏移。
为了尽量减少这种偏差,需要正确设置McBSP的串口时钟频率以匹配UART波特率。一个数据包由起始位、数据位、奇偶校验位和停止位构成。在实现UART信号16倍过采样过程中,每比特都被DSP按照16倍于波特率的时钟速率进行过采样。
发送端设置上,为了确保接收器能接收到半个停止位,在McBSP发送端口需要配置为2相的数据帧:第1相包含一个完整的16位数据字;而第二相则为8个比特,对应的是停止位。发送时的总帧长(TxPKTBITS)是这两项之和。
接收过程类似地,通过将UART发送信号连接到McBSP的DR与FSR引脚上可以实现触发机制。在接收到一帧数据期间,需要配置MCBSP忽略额外的下降沿以避免重复启动新传输周期。此外,在接收寄存器中设置为2相结构:第一相16位字长(RxPKTBITS),包括起始、数据与校验比特;第二相8位用于停止位,并且帧延时值应设为一个单位。
本段落介绍了一种基于DMA通道的UART实现方案,这种方法能够有效减少DSP和UART异步通信中的数据偏移问题,从而提高系统的可靠性和稳定性。此方法适用于C5000及C6000系列芯片上使用,并具有良好的移植性能与实用性。
全部评论 (0)


