串行通讯系统设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MSTN串口通讯系统设计

一、MSTN控制系统的通讯需求分析

MSTN控制系统的控制器部分使用的是两块的DSP ,型号为TMS320F2812,分别在控制板和显示板上。其中控制板负责实现磁浮控制;另一块负责实时显示磁浮轴的位置和光电码盘的角度信息。在系统的调试阶段,控制板的控制参数需要通过键盘或PC机现场调整,同时,磁浮轴的位置和光电码盘的角度信息也要传送到PC机进行更深入分析和处理。因此,通讯系统要实现的功能可以具体分为以下几个部分:

(1)控制器参数——从显示板到控制板(来自键盘或PC机)

(2)控制器参数——从PC机到显示板(手动设置)

(3)控制器参数——从显示板到PC机(来自键盘或PC机)

(4)磁浮间距数据——从控制板到显示板(来自传感器)

(5)磁浮间距数据——从显示板到PC机(来自控制板)

(6)方向角度数据——从显示板到PC机(来自光电码盘)

这样,通讯任务可以尽可能的集中到显示板,从而减轻了控制板工作,使其可以集中力量完成磁浮系统的控制这个核心工作。

二、串口通讯可行性分析

串口通讯接口(SCI)是一个两线制异步串行接口,通常称为UART。这种通讯方式硬件实现容易,通讯格式简单,适合于近距离,小流量的通讯系统。

本系统采用这种通讯方式主要有以下几个原因:

(1)本系统的通讯数据数量不大,尤其是两个DSP之间的数据量较小;

(2)通讯数据种类较多,需要一种易于控制数据格式的通讯方式,异步串口

的单字节通讯方式便于软件控制数据格式;

(3)串口是一种较为常用的通讯接口,现有的PC机和我们所使用的DSP均

有现成的串行口可以使用。

(4)通讯距离很近,两个DSP距离不超过30cm,到PC机的距离不超过2m。

三、串口通讯系统设计

1、整体设计

根据第一部分的需求分析可以把整个系统的通讯数据流程可以用图3-1表示。

图3-1 MSTN数据通讯示意图

通过可行性分析,我们采用异步串行通讯来实现控制板、显示板和PC机之间的通讯。因此,整个通讯系统可以用图3-2表示。

图3-2 MSTN通讯系统框图

2、硬件电路设计

硬件设计部分较为简单,主要是为了电平匹配,加入RS-232电平转换电路。

由于PC机使用是RS-232的串行接口标准,DSP使用的是3.3v的coms电

74LVC04

1A 11Y 22A 32Y 43A 5

3Y 6GND 7

4Y

8

4A 95Y 105A 116Y 126A 13VCC 14U7MAX202D

C1+1VS+2C1-3C2+4C2-5VS-6T2OUT 7R2IN 8R2OUT

9

T2IN 10T1IN 11R1OUT 12R1IN 13

T1OUT 14GND 15

VCC 16U6104

Cap Semi C29104

Cap Semi C31104

Cap Semi C30104

Cap Semi C32

VCC

104

Cap Semi C33SCITXA SCIRXA

SCITXB

SCIRXB

3.3V TXD2

RXD2

RXD1

TXD1

1、DSP的增强型SCI模块分析

TMS320F2812内部集成了两个增强型的SCI外设模块。这使得我们可以很方便的实现显示板上的双路串口通讯。该模块有以下几个部分组成:

(1)发送数据缓冲寄存器和发送移位寄存器

这是发送接口的基本组成,缓冲器暂存要发送的数据,然后由移位器把数据按照设定的格式和速率一位一位的移到SCITXD引脚。

(2)接收移位寄存器和接收数据缓冲寄存器

移位寄存器从SCIRXD引脚上逐位读取数据,然后暂存到缓冲器等待CPU来读取。

(3)16级深度的发送/接收FIFO寄存器

增强型的的SCI增加了可选的16级深度的发送和接收FIFO寄存器,可一次写入或读出最多16个数据,这样可以有效地减轻CPU由于反复操作串口所导致的开销。并且,这种结构给我们设计通讯的数据帧带来了很大的方便,当一个特定的数据帧不超过16个字节时,可以通过一次对串口的操作来完成数据帧的发送或接收。我们下面的数据帧设计和软件编程正式基于这种方式实现的。

(4)可编程的波特率发生器

为了增强系统的通用性和可调性,我们采用的是最为常用的9600bps。

(5)控制寄存器和状态寄存器

实现SCI的配置和状态的读取。

2、数据帧格式设计

通过第一部分的需求分析,可以看出在整个通讯系统中要传送的数据包括三类,即控制器参数、磁浮间距数据和方向角度信息。另外,在接收信息出错时,还要发送错误信息帧,请求数据重发。串行通讯系统的出错帧主要针对控制器参数和磁浮间距数据。所以,我们总共需要五种数据帧。

为了同步数据帧,每种数据帧总是以’$’打头,以’#’结尾,这样也可以起到一定程度容错作用。为了区别各种不同的数据帧,在每帧的起始位置还应加入帧标识符。下面根据每种数据的要求分别进行数据帧格式的设计。

(1)控制器参数帧格式

当采用PID方法对磁浮系统进行控制时,每个自由度共需要3-4个控制参数。在MSTN控制系统中,共需要控制五个自由度,因此,我们数据帧中应该至少设计20个数据区。考虑到控制板的DA输出为12位,为保证控制器的计算精度,控制参数可以选为16位,即两个字节。这样,共需要传输40个数据字节,由于串口的FIFO深度为16级,不适合一次把这些数据放到一个帧中。进一步考虑五路PID控制的相对独立性,我们可以把这些数据分为五组进行传输,并在数据中加入标识加以区分。

控制参数帧格式具体设计如下:

$C打头。后跟1个字节,标识控制器参数的组号(0~4)。然后是8个字节的数据区,每两个字节表示一个参数,高位字节在前,低位字节在后。最后是#结尾。用表格的形式给出如表4-1所示。

表4-1 控制参数数据帧格式

(2)磁浮间距数据帧格式

磁浮间距数据指的是磁浮轴的的外表面到磁浮轴承内表面的距离,共五路,即上径向的X轴和Y轴、上径向的X轴和Y轴以及轴向。它是控制板通过AD采集霍尔位移传感器的信号得来的。控制板AD模块的分辨率也是12位的,故数据也应该选择两个字节。这样,共需10个字节的数据区,可以放在一个数据帧中。

控制磁浮间距数据帧格式具体设计如下:

$D打头。接下来是数据区,包括上部XY、下部XY、Z,共五部分,每部分两个字节,高字节在前,低字节在后。最后以#结尾。用表格的形式给出如表4-2所示。

表4-2 磁浮间距数据帧格式

相关文档
最新文档