中文摘要:
在微处理器之间的各种通信接口中, SPI(串行外围接口)以其显著的优点得到越来越
广泛的应用。文中通过将TMS320C5410的McBSP口配置为从SPI形式,实现DSP与AVR单片机ATmega128之间的串行通信。经检验,通信能可靠进行。
英文摘要: In all kinds of communication interfaces between microprocessors, the SPI interface has
been used widely for its significant advantages. With the McBSP module configured as slave SPI, the communication between the DSP and AVR microchip is implemented. The reliability of serial communication has
been validated.
0 引 言
随着DSP (
数字信号处理器)性能的迅速提高和
价格的大幅度下降,它在电子工业领域得到了越来越
广泛的应用。在DSP的应用系统设计中,一般要求
DSP与其他器件如单片机之间进行通信。由于SP I
(串行外围接口)具有抗干扰能力强、传输速度高、引
脚数少、接口简单等优点,越来越多的单片机都集成有
SPI模块;在TMS32C54XX系列DSP中,也提供了配置
SPI的方法,这就方便了在不增加硬件的情况下实现
DSP与单片机的互连。本文主要讨论TMS32C54XX
系列DSP ( TMS320C5410 ) 与
AVR 单片机
(ATmega128)进行
SPI通信的问题。
3 DSP与AVR单片机之间SPI通信的实现
由于
AVR单片机的
SPI口收发使用的是同一个
寄存器SPDR,对于SPDR而言,当每次传送被触发后,
数据移出的过程同时也是数据移入的过程,因此才有
收发同时进行。而DSP用
McBSP1 口实现
SPI的功
能,它的收发寄存器是分开的,发数用DXR1,收数用
DRR1。需要注意的是, DSP与
AVR单片机之间的主
从
SPI连接仍然服从图1 的结构,唯一的不同在于
DSP用2个寄存器分别实现收发。8位数据从
AVR
的SPDR移入DSP的DRR1,同时,DSP的DXR1又向
AVR的SPDR移入数据; SPDR每移出1位,本身也移
进1位,相应DSP中的DRR1移进1位,DXR1移出1位,
从而完成16位环形移位。DSP与
AVR的
SPI连接见图3
4 结束语
以上介绍了DSP与
AVR单片机的
SPI口初始化
以及单字节传输的问题。实际应用中一般要求二者进
行数据块的传输,这时,就需要制定相应的软件协议。
在本设计中,采用了帧结构形式。实际编写软件时,可
灵活安排。关于双方协议的具体源代码,限于篇幅,在
本文中不再列出。