微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于双DSP的并联控制系统中串行通信的研究

基于双DSP的并联控制系统中串行通信的研究

时间:01-07 来源:互联网 点击:

void spi_TxProcess()

{

while(SpiRegs.SPISTS.bit.BUFFULL_FLAG==1) {}

/*判断SPISTS.bit.BUFFULL_FLAG)是否为空*/

if(SpiRegs.SPISTS.bit.BUFFULL_FLAG==0)

{

SpiRegs.SPITXBUF=slave_value;

/*向SPITXBUF 写入数据以启动数据发送*/

}

}

interrupt void SPIRXINTA_ISR(void)

/*中断方式接受*/

{

TX_data2=SpiRegs.SPIRXBUF;

/*读取SpiRegs.SPIRXBUF 后自动清除中断标志位*/

return;

}

4 异步通信模块的设计

4.1 基于SCI 的硬件设计

图 5 为上位机和DSP 的硬件连接图。RS-232C 标准采用负逻辑:逻辑“1”为-5V~-15V 之间的低电平,通常用-12V 表示;逻辑“0”为+5V~+15V 之间的高电平,通常用+12V 表示。 上述标准称为EIA 电平。

  RS-232C 是用正负电压来表示逻辑状态,并且是负逻辑,而TTL 则以高低TTL 器件电平表示逻辑状态,且为正逻辑,两者的规定是不同的。为了能够将与EIA 器件连接,保证二者之间正常通信,必须在它们之间进行电平和逻辑关系的变换。本Maxim 公司生产的集 成芯片MAX232 来实现这一变换[4]。变化后的电平在经过6N137 转换为适合TMS320F2812 的电平在+3.3V 以内的信号。

4.2 SCI 通信的软件实现

通信前,发送端和接受端必须使用双方协商一致的通信协议,数据被拆分成为(bit)进行传送。传送的顺序一次为起始位、数据位、奇偶校验位、停止位。每秒钟传送的bit 数由波特率来决定。本文中的通信协议设定为:波特率38400bit/s,8 位数据位,无奇偶校验,1 位停止位,数据传输同时采用ASCⅡ码和二进制两种形式。

上位机采用Visual Basic6.0(以下简称VB)语言编程实现,利用VB 中提供的MSComm 控件可以实现PC 机与下位机的通信。利用MSComm 实现通信有两种方法:一是事件驱动 方法,也就是OnComm 事件。当有数据到达端口或端口状态发生改变或有通信错误产生时, 都将发生OnComm 事件。另一种就是查询方式。查询方式是通过周期性读取缓冲区的信号来发现是否有事件发生并进行处理的方法。本设计中,发送采用查询方式,接受采用事件驱 动方法。MSComm 控件初始化程序如下:

MSComm1.CommPort = 1 '端口号'

MSComm1.Settings = 38400,n,8,1

'波特率38400bit/s,8 位数据位,无奇偶校验,1 位停止位'

MSComm1.InputLen = 0

MSComm1.InBufferCount = 0 '清空接收缓冲区'

MSComm1.OutBufferCount = 0 '清空'

MSComm1.RThreshold = 1 '接收缓冲区或发送缓冲区中可以接收的字符数'

MSComm1.PortOpen = True

应实际要求,我们要在通信中同时传输数据和控制字符,所以数据传输同时采用ASCⅡ 码和二进制两种形式。这就需要在每次传输前改变MSComm1.InputMode 的属性。

TMS320F2812(SPI 通信中主处理器)在完成时钟和中断初始化后,对其SCI 寄存器进 行设置,使其通信协议和上位机一致。TMS320F2812 采用查询方式给上位机发送数据,中 断方式接受上位机的数据。SCI 寄存器设置如下:

SciaRegs.SCICCR.all=0x0007;

/*一个停止位,禁止奇偶校验,禁止自测,8 个字符*/

SciaRegs.SCICTL1.all=0x0003;

/*禁止接受错误中断,复位,禁止休眠,开启发送使能*/

SciaRegs.SCICTL2.all=0x0002;

/*开接受中断,关发送中断*/

SciaRegs.SCIHBAUD=0x00;

SciaRegs.SCILBAUD=0x79;

/*波特率38400*/

SciaRegs.SCICTL1.all=0x0023;

/*开始使能SCIA*/

5 结束语

以上为解决两个DSP 之间以及DSP 与PC 机之间的通信的软硬件设计方案,当上位机 发送给定信息(位置信息)后,下位机接受到数据并传输给SPI 处理器,上位机和下位机界 面如图6、图7。


  系统的最大特点是根据实际需要,采用同时同步和异步两通信方式。双系统间的同步串 行通信,保证了双系统运行的同步性;通过PC 机和上位机的异步串行通信,实现把DSP 采集的一系列数据通过串口发送至PC 机,解决了DSP 存储空间有限的问题,在PC 上可以很方便地对数据进行一些在DSP 上难以实现的处理,得到一些数据曲线等,效果直观便捷。此系统已应用与某一开关磁阻电机电机并联控制系统中,运行稳定,通信性能良好。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top