资料介绍
1 引 言
随着计算机系统、通讯设备的迅猛发展,不间断电源UPS(uninterruptible power supply)的应用范围越来越广。银行、证券、通信基站等等对于UPS的需求量也是与日俱增。本文主要介绍200KVAUPS中的DSP[1]与单片机的两种串行通讯方式,实验证明:两种通讯方式均可以使DSP和单片机顺利通讯,并且使得算法控制和监控顺利实现,均是行之有效的DSP与单片机的通讯方式。
目前,高速数字信号处理器(DSP,digital signal processor)已经广泛应用于工业控制,电机控制,航天宇航控制等诸多复杂控制系统中。在电力电子领域,由于各种开关功率器件开关频率越来越高,开关损耗越来越小,所以普通的8位单片机并不能满足要求,TI公司的TMS320F240系列单片机因其具有快速的处理能力在大功率开关管控制方面已经得到实践认可,并在诸多复杂控制检测系统中起到核心作用[4]。由于本系统中PFC整流电路以及逆变电路算法复杂,加之比较繁琐的逻辑顺序,所以分别需要一块DSP对其进行控制。如果将监控程序加入DSP中,键盘显示以及数据存储速度势必要加入等待周期,同时会影响CPU的处理速度。所以,现大都采用另加一块单片机对其进行监控、键盘显示、以及一些重要数据的备份。因此,在数字化UPS中串行通讯也显得犹为重要。
2 MCS51单片机和TMS320F240的串行通讯
MCS51系列单片机内部具有一个全双工串行口,该串行口有四种工作方式,可以利用软件进行设置,由片内定时/计数器产生。串行口的接收发送数据均可以触发中断,并含有接收、发送缓冲器SBUF,两个缓冲器共用一个字节地址。串行口是可编程的接口,对它的初始化只用两个控制字分别写入特殊功能寄存器SCON和电源控制寄存器PCON中即可。
TMS320F240中的串行外设接口(SPI)模块,是一个高速、同步串行I/O口,它允许长度可编程的串行位流(1~8)位以可编程的位传输速度移入或移出器件。数据的传输需要三条线,即时钟、发送和接收。串行通讯接口(SCI)模块支持CPU和使用NRZ(Nonreturn-to-zero)的异步通讯设备之间的通讯,跟SPI不同的是SCI仅仅需要两个I/O口进行数据传输,即发送端和接收端,所以在外围硬件电路设计方面更容易实现。虽然外围电路设计简单可行,但是SCI数据传输的速度较SPI要差很多,因为SPI具有的时钟线可以使得两块芯片达到真正意义上的同步,而通过SCI连接的两块芯片各自有自己的时钟,这就使得传输速度受到影响(最高可达64kb/s),有些应用场所在传输距离很短(15m以内)的情况下通常使用较为容易实现的SCI异步串行通讯。但对传输速率要求较高,或传输距离要求较长的情况下通常使用SPI(1.2km,10Mb/s) 同步串行通讯。故虽本系统才用SCI进行通讯,同时给出SPI设计方法,通过对照比较达到灵活运用DSP串行通讯接口的效果。
3 SCI接口实现DSP与单片机的串行通讯
在利用SCI连接外围芯片的时候通常需要外加接口芯片,常用的有MAXIUM公司的MAX232A和MAX485[3]等等。本文给出SCI经由MAX232A与单片机相连的,如图1所示:
图1 利用SCI实现的单片机与DSP通讯原理图
MAX232A由监控板上的普通+5V电压供电,内部有一个电子桨电压变换器,可以把输入的+5V电源电压变换成RS232C通讯的 10V电压。这种芯片内部含有两个发送器和两个接收器,能够满足双工发送器/接收器的电气规范。并且此芯片可以完成RS232C电平到TTL/CMOS电平的转换。
3.1 初始化设置
在异步通讯中必须先规定两件事:一是字符格式,即规定每一阵数据的格式,二是采用波特率及时钟频率和波特率的关系。这些规定是通过初始化设置与串行通讯有关的寄存器来实现的。在TMS320F240中本系统中SYSCLK=24MHz,现选择波特率为9600bps进行RS-232通信,确定波特率选择寄存器的值BRR方法如下:
当BRR=1到65535时的串行通信接口异步波特率为:SCI异步波特率=SYSCLK/[(BRR+1) 8]其中BRR=SYSCLK/(SCI异步波特率 8)-1
当 BRR=0时的串行通信接口异步波特率为:SCI异步波特率=SYSCLK/16这里的BRR等于波特率选择寄存器的16位值
根据上面公式计算得BRR=24 10 /(9600 8)-1=311.5 138H所以波特率选择寄存器设置为SCIHBAUD=01H,SCILBAUD=38H
TMS320F240初始化程序如下:
LDP #00E0H 页地址指针设置
SPLK #0017H,SCICCR;设定通讯格式每帧10数据
SPLK #0013H,SCICTL1;使能TX,RX
SPLK #0000H,SCICTL2;禁止RXINT,TXINT中断
SPLK #0001H,SCIHBAUD;波特率设定为9600bit/s
SPLK #0038H,SCILBAUD;
SPLK #0033H,SCICTL1;使能SCI
MCS51单片机的特殊功能寄存器SCON定义了串行通信的方式选择、接收和发送控制以及串行口的状态标志等。初始化中将其设置成串口方式1,接收允许状态。串口方式1收发的数据格式为1位起始位,8位数据位,1位停止位。SCON中的TI,RI位在初始化中置0,在发送、接收完一帧数据,硬件自动将其置1,中断被响应后,TI、Ri不会自动清0,必须由软件清0。其串行通信波特率由定时器T1溢出率获得
随着计算机系统、通讯设备的迅猛发展,不间断电源UPS(uninterruptible power supply)的应用范围越来越广。银行、证券、通信基站等等对于UPS的需求量也是与日俱增。本文主要介绍200KVAUPS中的DSP[1]与单片机的两种串行通讯方式,实验证明:两种通讯方式均可以使DSP和单片机顺利通讯,并且使得算法控制和监控顺利实现,均是行之有效的DSP与单片机的通讯方式。
目前,高速数字信号处理器(DSP,digital signal processor)已经广泛应用于工业控制,电机控制,航天宇航控制等诸多复杂控制系统中。在电力电子领域,由于各种开关功率器件开关频率越来越高,开关损耗越来越小,所以普通的8位单片机并不能满足要求,TI公司的TMS320F240系列单片机因其具有快速的处理能力在大功率开关管控制方面已经得到实践认可,并在诸多复杂控制检测系统中起到核心作用[4]。由于本系统中PFC整流电路以及逆变电路算法复杂,加之比较繁琐的逻辑顺序,所以分别需要一块DSP对其进行控制。如果将监控程序加入DSP中,键盘显示以及数据存储速度势必要加入等待周期,同时会影响CPU的处理速度。所以,现大都采用另加一块单片机对其进行监控、键盘显示、以及一些重要数据的备份。因此,在数字化UPS中串行通讯也显得犹为重要。
2 MCS51单片机和TMS320F240的串行通讯
MCS51系列单片机内部具有一个全双工串行口,该串行口有四种工作方式,可以利用软件进行设置,由片内定时/计数器产生。串行口的接收发送数据均可以触发中断,并含有接收、发送缓冲器SBUF,两个缓冲器共用一个字节地址。串行口是可编程的接口,对它的初始化只用两个控制字分别写入特殊功能寄存器SCON和电源控制寄存器PCON中即可。
TMS320F240中的串行外设接口(SPI)模块,是一个高速、同步串行I/O口,它允许长度可编程的串行位流(1~8)位以可编程的位传输速度移入或移出器件。数据的传输需要三条线,即时钟、发送和接收。串行通讯接口(SCI)模块支持CPU和使用NRZ(Nonreturn-to-zero)的异步通讯设备之间的通讯,跟SPI不同的是SCI仅仅需要两个I/O口进行数据传输,即发送端和接收端,所以在外围硬件电路设计方面更容易实现。虽然外围电路设计简单可行,但是SCI数据传输的速度较SPI要差很多,因为SPI具有的时钟线可以使得两块芯片达到真正意义上的同步,而通过SCI连接的两块芯片各自有自己的时钟,这就使得传输速度受到影响(最高可达64kb/s),有些应用场所在传输距离很短(15m以内)的情况下通常使用较为容易实现的SCI异步串行通讯。但对传输速率要求较高,或传输距离要求较长的情况下通常使用SPI(1.2km,10Mb/s) 同步串行通讯。故虽本系统才用SCI进行通讯,同时给出SPI设计方法,通过对照比较达到灵活运用DSP串行通讯接口的效果。
3 SCI接口实现DSP与单片机的串行通讯
在利用SCI连接外围芯片的时候通常需要外加接口芯片,常用的有MAXIUM公司的MAX232A和MAX485[3]等等。本文给出SCI经由MAX232A与单片机相连的,如图1所示:
图1 利用SCI实现的单片机与DSP通讯原理图
MAX232A由监控板上的普通+5V电压供电,内部有一个电子桨电压变换器,可以把输入的+5V电源电压变换成RS232C通讯的 10V电压。这种芯片内部含有两个发送器和两个接收器,能够满足双工发送器/接收器的电气规范。并且此芯片可以完成RS232C电平到TTL/CMOS电平的转换。
3.1 初始化设置
在异步通讯中必须先规定两件事:一是字符格式,即规定每一阵数据的格式,二是采用波特率及时钟频率和波特率的关系。这些规定是通过初始化设置与串行通讯有关的寄存器来实现的。在TMS320F240中本系统中SYSCLK=24MHz,现选择波特率为9600bps进行RS-232通信,确定波特率选择寄存器的值BRR方法如下:
当BRR=1到65535时的串行通信接口异步波特率为:SCI异步波特率=SYSCLK/[(BRR+1) 8]其中BRR=SYSCLK/(SCI异步波特率 8)-1
当 BRR=0时的串行通信接口异步波特率为:SCI异步波特率=SYSCLK/16这里的BRR等于波特率选择寄存器的16位值
根据上面公式计算得BRR=24 10 /(9600 8)-1=311.5 138H所以波特率选择寄存器设置为SCIHBAUD=01H,SCILBAUD=38H
TMS320F240初始化程序如下:
LDP #00E0H 页地址指针设置
SPLK #0017H,SCICCR;设定通讯格式每帧10数据
SPLK #0013H,SCICTL1;使能TX,RX
SPLK #0000H,SCICTL2;禁止RXINT,TXINT中断
SPLK #0001H,SCIHBAUD;波特率设定为9600bit/s
SPLK #0038H,SCILBAUD;
SPLK #0033H,SCICTL1;使能SCI
MCS51单片机的特殊功能寄存器SCON定义了串行通信的方式选择、接收和发送控制以及串行口的状态标志等。初始化中将其设置成串口方式1,接收允许状态。串口方式1收发的数据格式为1位起始位,8位数据位,1位停止位。SCON中的TI,RI位在初始化中置0,在发送、接收完一帧数据,硬件自动将其置1,中断被响应后,TI、Ri不会自动清0,必须由软件清0。其串行通信波特率由定时器T1溢出率获得
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于STM32单片机和MCP2515的CAN通讯 83次下载
- 基于DSP的多联空调内外机通讯设计与实现 32次下载
- DSP与单片机到底有什么区别
- 使用单片机实现Modbus通讯协议的实例程序和讲解分析
- 51单片机串口通讯需要注意的寄存器及51单片机使用PRINTF的示例程序
- DSP与单片机的那些区别
- 如何使用HC-05蓝牙模块进行单片机通讯
- 如何使用51单片机进行串口通讯的实现
- 单片机和串口设备通讯设计时需要注意那几个问题
- DSP与单片机串口通信的设计与实现 5次下载
- 基于DSP与单片机的LCD显示控制系统设计 7次下载
- 单片机串口通讯程序 36次下载
- 基于XC166单片机的DSP优化方法
- TMS320F240 DSP与C51单片机串行通讯的实现
- 单片机与DSP结合的dsPIC芯片
- dsp怎么调音质最好 dsp芯片和单片机的区别 1352次阅读
- 基于TMS320VC5402和单片机实现主从双CPU处理器平台的设计 3422次阅读
- 单片机使用多种通信方式的原因分析 3338次阅读
- 单片机解密原理_单片机解密方法 1.1w次阅读
- 支持RS485接口的PLC与单片机的通讯 7793次阅读
- 常用单片机通信方式综述 5031次阅读
- 8051单片机数据传送的方式有哪些 2973次阅读
- STM8S单片机通过蓝牙与智能手机实现串口通讯的设计 5573次阅读
- 51单片机控制继电器的方式及原理 3.3w次阅读
- 51单片机的复位方式及原理 5.5w次阅读
- FPGA和单片机、DSP的差异 7964次阅读
- 单片机的通信性能分析与评价方法 2102次阅读
- 晶振对于单片机的影响分析 1.2w次阅读
- 单片机有什么特点_为什么要学习单片机? 1w次阅读
- 教你了解DSP与单片机的区别 1.7w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多