您的位置:控制工程论坛网论坛 » 教程与手册 » TMS320F240与PC机串行通讯的设计

water

water   |   当前状态:离线

总积分:882  2024年可用积分:0

注册时间: 2006-06-09

最后登录时间: 2007-01-25

空间 发短消息加为好友

TMS320F240与PC机串行通讯的设计

water  发表于 2006/6/15 12:09:59      619 查看 0 回复  [上一主题]  [下一主题]

手机阅读

摘 要:简要介绍了数字信号处理器TMS320F240串行通信接口模块SCI和RS-485标准接口芯片MAX485的原理和应用,并给出了TMS320F240与PC机串行通信接口电路,最后,编程实现了串行通信。
关键词:数字信号处理器,串行通信接口,MAX485
1 引言
TMS320F240系列是美国TI公司于1997年推出的,专为数字电机控制和其它控制应用系统而设计的16位定点数字信号处理器。它将数字信号处理的高速运算功能与面向电机的强大控制能力结合在一起,从而成为传统的多微处理器单元和多片设计系统的理想替代品。F240片内外设包括双10位A/D转换器,带有锁相环PLL时钟模块,带中断的看门狗定时器模块,串行通信接口SCI及串行外设接口SPI,另外,还集成了一个事件管理模块EVM。因此,TMS320F240不仅具有高速数据处理能力,还具有控制和事件管理能力,可完成人机界面、与上位机进行串行通信等功能。
2 TMS320F240串行通信接口简介
TMS320F240串行通信接口(SCI)是一个标准的通用异步接收/发送(UART)通信接口。它的接收器和发送器都是双级缓冲的,有自己的使能和中断位,可以半双工或全双工工作。为保证数据的完整性,串行通信接口对接收的数据进行间断检测、奇偶性、超时和帧错误的检查。串行通信接口的波特率可高达64kbps。TMS320F240的SCI串行通信接口包括SCIRXD/IO(串行通信数据接收,也可作普通IO)和SCITXD(串行通信数据发送,也可作普通IO)两个引脚,与之相关的寄存器包括控制类寄存器和数据类寄存器。其中,控制类寄存器有7个,分别用来设置数据格式协议和通信模式(SCICCR)、中断使能和内部时钟使能(SCICTL1和SCICTL2)、中断优先级(SCIPRI)、波特率(SCIHBAND和SCILBAND)、引脚控制功能(SCIPC2)以及反映通信状态(SCIXST)等;数据类寄存器有3个,分别是数据发送缓冲寄存器SCITXBUF、数据接受缓冲寄存器SCIRXBUF和仿真数据接收缓冲寄存器SCIRXEMU。
TMS320F240的串行通信接口(SCI)模块提供了两种工作方式:
1)空闲线方式。通过空闲状态的长短区分信息帧,信息帧里前面的信息块是地址信息,后面是数据信息。
2)地址位方式。数据格式上增加1个地址/数据位,该位为1表示信息块为地址信息,否则为数据信息。
地址位方式适合于短信息的传送,空闲线方式适合于长信息的传送。
3 RS-485串口通信标准及接口电路
RS-232C是广泛应用的串口通信标准,但因其推出较早,在现代网络通信中已暴露出数据传输速度慢、传输距离短、接口处各信号间容易产生干扰等明显的缺点。鉴于RS-232C的这些缺点,EIA于1977年制定了新标准RS-499,RS-423/422(全双工)是RS-499的子集,RS-485(半双工)则是RS-422的变型。RS-485是一种多发送器的电路标准,它扩展了RS-422A的性能,允许双绞线上一个发送器驱动32个负载设备,负载设备可以是被动发送器、接收器或收发器,RS-485最大传输距离为1200m,最大传送速率可达10Mb/s。因此,RS-485在远程通信和多机总线系统中具有很大的吸引力。MAXIM公司生产的MAX48X/49X系列收发器芯片,适合于RS-422/RS-485通信标准,在实际设计中得到了广泛应用。本设计采用MAX485收发器芯片完成RS-485标准接口通信。MAX485芯片主要有以下特点:
·单+5V电源供电;
·低功耗:工作电流120~500uA;
·驱动过载保护;
·通信传输线上可挂32个收发器方便组成半双工通信电路;
·共模输入电压范围:-7V~+12V。
MAX485为8脚封装,引脚配置如图1所示,各引脚功能说明如表1所示。

本设计以PC机为主机,TMS320F240为从机,主从机之间进行串口通信。TMS320F240与PC机之间采用RS-485标准进行半双工通信的接口电路如图2所示。其中,接收器和驱动器的选择由TMS320F240的XF/IOPC2引脚控制。由于一般PC机上提供的是标准的RS-232C串行接口,因此,需要RS-232C/RS-485转换器进行接口转换。
4 上位机PC串行通信软件设计
上位机PC采用高级语言VB通信控件控制通信的方法。在VB5.0及以上版本中,提供了一个名为MSComm的通信控件,它为应用程序提供基本的串行通信功能,可以通过串行接口传输和接收数据。
MSComm控件的重要属性简述如下:
·CommPort:设置并返回通信端口号;
·Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位;
·PortOpen:设置并返回通信端口的状态,也可以打开和关闭端口;
·Input:从接收缓冲区返回和删除字符;
·Output:向传输缓冲区写一个字符串。
PC串行口发送器输出端和接收器输入端的数据格式为帧信息格式,与TMS320F240的SCI口格式相同。通信时,双方必须预先约定通信数据传输格式、传输速率及各自工作方式等。本文设计一个通信测试软件,其功能是,PC机键盘输入1个字符,发送给TMS320F240,TMS320F240接收到PC机发送的字符后,回送同一个字符给PC机,并在PC机屏幕上显示出来。双方约定:波特率为19200bps;1帧信息格式为1个起始位、8个数据位和1个停止位;传送方式:PC机采用查询方式接收数据,TMS320F240采用中断方式接收数据。
5 TMS320F240通信软件设计
TMS320F240有较强的串行通信能力,设计到的控制类寄存器较多,这使系统设计比较灵活。设计时,首先对控制类寄存器进行初始化,包括数据格式、中断使能、中断优先级、波特率等参数的设置。初始化完成以后,就可以发送和接收数据了。如果要发送数据,只要把数据写入SCITXBUF即可。加入起始位、停止位、校验位以及在波特率规定的节拍下移位到发送引脚SCITXD/IO等工作由串行通信SCI模块本身自动完成;如果要接收数据,只要把SCIRXBUF的内容读出即可(从引脚SCIRXD/IO移位来的信息由串行通信SCI模块本身自动去掉起始位、停止位、校验位,并将数据放到SCIRXBUF中)。下面给出用TMS320F240汇编语言编写的串行通信测试程序(图3为程序流程图)。

·title“SCI testprogram”
·include“F240reg.h”
;TMS320F240的所有寄存器地址定义
;都包括在头文件F240reg.h中,
;为增加本程序的可读性,特把本程序
;中用到的寄存器列出如下。
*中断控制寄存器

 

6 结束语
本文所设计的通讯测试程序在IBM-PC机和TMS320F240上调试成功,说明DSP通信设计中硬件和软件都是正确的,下一步可以进行实用通讯软件的设计。
参考文献
1 范逸之.利用Visual Basic实现串并行通信技术.北京:清华大学出版社,2001

1楼 0 0 回复