TMS320F24x与PC机串行通信接口设计及应用

发布者:WanderlustSoul最新更新时间:2007-06-22 来源: 电子设计信息网关键字:控制  接受  异步  输入 手机看文章 扫描二维码
随时随地手机看文章
引言

tms320f24x是美国ti公司tms320系列定点数字信号处理器(dsp)之一,tms320f240是f24x系列面向数字控制芯片的典型代表。由于tms320f240并不具备人机界面,在实际使用过程中,需要为它提供一个人机接口或上层控制接口,以便于观察控制效果或传递必要的控制信息。因此,实现tms320f240与pc之间串行通信接口的设计方法,具有较高的实用价值。

串行通信接口的硬件设计

f240芯片内部集成了一个串行通信接口(sci)模块,该模块是一个标准的通用异步接收/发送(uart)通信接口,通信接口有scitxd(sci发送输出引脚)和scirxd(sci接收输入引脚)两个外部引脚,引脚的信号电平为ttl类型。而pc机串口的异步串行通信基于rs232c标准,两者的信号逻辑电平不一致,必须进行信号电平转换。选用内部含有电压倍增电路的电平变换芯片max232,max232有两对收/发单元,实现dsp与pc之间的串口通信只需一对收/发单元即可,在完成dsp与pc的正常通信任务的基础上,利用另外一对收/发单元,扩展了实现pc与dsp的双向复位功能。当dsp控制器程序出错、监控对象异常或需要控制程序重新运行时,可以直接从上位pc发控制指令,达到复位下位机的功能。同样,也可以从dsp端复位pc或给pc发特定的命令信号。dsp与pc串行通信接口的硬件设计如图1所示。

以rs232c通信标准进行通信,在保证通信准确性的前提下,通信距离一般以不超过12m为宜,在工业控制现场很受限制。为保证硬件设计的兼容性和易扩展性,能够应用于不同场合,在dsp硬件电路板端还采用了一个max489芯片,添加了一个rs485/rs422通信接口。

实际使用过程中,系统在选择不同的通信标准时,切换十分方便。如图1所示,当跳线端子jump2与jump3的2、3脚短接时,scitxd接通max232芯片的t1i引脚,scirxd接通max232芯片的r1o引脚,即dsp的通信接口与max232芯片相连,此时系统采用rs232c的通信标准。当跳线端子jump2与jump3的1、2脚短接时,scitxd接通max489芯片的di引脚,scirxd接通max489芯片的ro引脚,即dsp的通信接口与max489芯片相连,此时系统采用rs485/422的通信标准,pc端只需添加一个rs232c/rs485转换器即可进行通信接口电平转换。

通信接口的软件设计

● 通信协议的设定

uart通信对噪音比较敏感,特别是脉冲边沿抖动。所以,为了确保uart能够正确工作,必须能够检测它的开始和结束字节。也就是说,需要一定的数据包格式,即使是使用一个uart端口,在这个数据包中的每一个字节也都要编成uart格式。因此在异步串行通信中,收、发双方必须事先规定字符格式、采用的波特率,以及时钟频率和波特率的关系。

这些规定是通过初始化设置与串行通信有关的寄存器来实现的。本通信系统中,规定字符格式为:每一帧的数据占10位,一位奇校验位,8位数据位,1位停止位。中间的8位数据位即为有效的通信传输字节。双方的波特率设置为19200bps。同时,为了增强通信的可靠性,减少通信的误码率,规定了通信双方收发数据包的协议如表1所示。

特征码选用0xff、0xaa、0x55这3字节为发送数据包的前导数据,这是因为这几字节在传输噪声中同时出现的几率很小,特征码起到向接收方表明有数据发送过来的作用,通知接收方可以开始接收有效数据;字节数是数据包中除了字节数这一项之外,其他所有项字节的长度;有效数据字符串是通信发送方要传送的有效数据;校验和是数据包中除了校验和这一项之外所有项字节的无进位累加和,用于校验通信是否正确。

同时,在通信过程中约定了双方的软件握手方法。为了不使通信过于复杂,提高通信速度,可以直接将握手信号0xff嵌入到数据包中。软件握手协议规定如下:pc定时发送符合通信协议规定的数据包,dsp接收到的第四字节若为握手信号0xff,则将校验正确后的有效数据存储,并从中分解有效字节信息,然后回送相同格式的数据包。若pc接收到的数据包的第四字节不是0xff,则摒弃该数据包。dsp与pc的通信流程图如图2所示。

● dsp端下位机sci通信程序的编制

在dsp端的软件程序设计中,通过中断方式接收pc发送过来的数据包,握手并校验确认后接收有效数据,再将pc所需的数据打包回送。基于dsp功能模块化的特点,其串行通信汇编程序的编制主要分三个步骤:

(1)初始化设置时钟源模块,得到所需的cpuclk和sysclk(因为计算波特率时与之有关);

(2)设置sci模块,初始化各sci控制寄存器;

(3)编写串行通信中断服务子程序,即可完成dsp与pc之间的串行通信。

在串行通信中断服务子程序的编制过程中,参考图2所示的dsp与pc串行通信流程图,即可完成正常的数据通信任务。如果需要利用软件来实现dsp与pc的双向复位,则可将图1中的跳线端子jump1的1、2脚短接,串口的dtr引脚通过上拉电阻接通电源,将jump4的2、3脚短接,max232的第二路收/发单元的发送引脚接通dsp的复位端hostrest。系统上电之后,dtr呈现高电平状态,若系统运行过程中出现dsp控制器的程序出错、监控对象异常时,可以通过在上位机端执行特定的复位操作,在程序中使pc串口的dtr引脚状态产生由低到高的电平变化,通过max232芯片的第二路通信收/发单元,将输出电平传递给hostrest,最后提供给dsp的复位引脚rs,使得复位引脚rs上同样出现低到高的电平变化,从而使dsp复位,下位机dsp控制程序得以重新运行。同样的,当dsp端自行检测到通信数据不正常时,可以根据检测结果,自行发送复位信号。通过指令clr xf,置位xf引脚为低电平,经由max232芯片的第二路通信收/发单元,串口的cts引脚接收到低电平信号,pc端程序若查询到cts电平出现由高到低的电平变化时(触发comevcts事件),自动改变程序运行流程,使得pc端的通信程序重新开始,以期恢复通信的正常。当然,也可以通过在dsp端改变xf引脚电平状态,作为给pc发送的特定命令信号,相当于在dsp与pc之间预留了一个相互联系的通信接口。

● pc端上位机通信程序的编制

上位pc串行通信程序在windows 2000平台下采用visual c++ 6.0实现。vc自带的activex控件microsoft communications control,即mscomm控件,提供了对windows通信驱动程序的api函数接口,为应用程序提供了通过串行口收发数据的简便方法。因此直接在应用程序中嵌入mscomm控件,可以方便地进行计算机串口的通信管理。即只需设置mscomm控件的相应属性,调用控件的相应方法和事件,按照通信协议的要求定时发送数据包,上位机即可完成相应功能,实现数据通信任务。

mscomm控件提供下列两种处理通信的方式:事件驱动方式和查询方式。表2列出了mscomm控件的主要属性并给出了这些属性在程序中的设定值。上位pc一般采取事件驱动的方式接收来自于下位机dsp的二进制数据。事件驱动方式的工作原理类似于中断,当有通信事件发生时(如发送数据、接收数据等),就会触发oncomm事件,在该事件的处理函数中调用getcommevent()函数,通过返回值即可确定是哪类事件,再做出相应的数据处理,完成双方之间的通信。

结束语

通过串行口完成dsp与pc之间的通信,具有硬件接口简单、数据传送距离远以及开发周期短、成本低的特点,已经成功应用到研制的机器人作业系统中。本文介绍tms320f240与pc串行通信接口的设计方法具有一定的通用性,对tms320f241/f243/c242以及tms320lf2406/lf2407等tms320f24x系列芯片具有很好的参考作用。

参考文献

1 张雄伟.dsp芯片的原理与开发应用.电子工业出版社. 1997
2 tms320c2xx users guide. america. texas instruments. 1997
3 李朝青.pc机及单片机数据通信技术.北京航空航天大学出版社. 2001
4 向先波,张琴.tms320f24x的实时多中断任务处理.单片机与嵌入式系统应用. 2003.12

关键字:控制  接受  异步  输入 引用地址:TMS320F24x与PC机串行通信接口设计及应用

上一篇:TMS320F24x与PC机串行通信接口设计及应用
下一篇:TMS320F24x与PC机串行通信接口设计及应用

推荐阅读最新更新时间:2024-05-02 20:36

卫星射频单元设备远程控制监测系统的设计
  0引言   卫星通信具有远距离、大容量、多业务等诸多优点,现在越来越受到人们的关注和青睐,在抗震救灾、应急维稳中发挥了很大作用,但是由于卫星通信要求地球站发射频率能穿透大气层到达通信卫星上这个特殊要求,因此固定站设备射频单元均工作在微波频段,且配备有将微波信号进行放大的高功率放大器,因此整个射频单元具有很强的辐射性,为此固定站射频单元的设备一般都放在距离主机房比较远的单独机房或天线附近。目前对于射频单元的测试与管理,只能靠人工进行巡视和管理,这种值勤方式就造成了射频单元管理的时效性不好,容易出现巡视不及时造成设备的损坏,特别是恶劣天气状况下时,当射频单元参数需要调整和维护管理时,人员操作就比较困难,容易造成整个系统的通信中断
[单片机]
卫星射频单元设备远程<font color='red'>控制</font>监测系统的设计
基于C8051F920的太阳能金卤灯控制器设计
在世界能源短缺、环境污染日益严重的今天,如何有效地利用清洁的太阳能正在成为各国可持续发展的能源战略。目前,大部分照明设备仍以传统能源来照明,所以充分利用太阳能作为照明设备的能源供给,在节约能源、保护环境等方面具有重要意义。 为此,设计了具有太阳能供电功能的金卤灯控制器。该控制器既具有金卤灯电子镇流器功能,又具有太阳能充电器功能。该控制器作为电子镇流器,与传统镇流器相比,具有功率因素高,运行稳定,体积小等优点。作为具有太阳能供电功能的控制器,根据设定,控制器白天控制太阳能充电系统对12 V/100 Ah蓄电池充电,晚上使金卤灯工作。由于太阳能光伏板在自然环境下容易受到雷击损坏,所以该控制器在设计时还兼顾了防雷击的保护功能。
[单片机]
基于C8051F920的太阳能金卤灯<font color='red'>控制</font>器设计
PLC可编程序控制器基础知识
          PLC可编程序控制器:PLC英文全称Programmable Logic Controller ,中文全称为可编程逻辑控制器,定义是:一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。DCS集散系统: DCS英文全称 DISTRIBUTED CONTROL SYSTEM ,中文全称为集散型控制系统。DCS可以解释为在模拟量回路控制较多的行业中广泛使用的,尽量将控制所造成的危险性分散,而将管理和显示功能集
[嵌入式]
STM32GPIO的八种输入输出模式
上拉电阻:把不确定的信号通过电阻连接到高电平,电信号初始化为高电平。 下拉电阻:把不确定的信号通过电阻连接到低电平,电信号初始化为低电平。 输入 1.上拉输入:输入信号通过上拉电阻被初始化为高电平,再通过TTL施密特触发器从模拟信号9V、3.3V、1.9V转为数字信号0、1后存入输入寄存器中。 2.下拉输入:同上拉输入一样,区别只在通过下拉电阻初始化为低电平。 3.浮空输入:即信号输入既不连接上拉也不连接下拉,输入信号电压值不确定,通过TTL施密特触发器从模拟信号9V、3.3V、1.9V转为数字信号0、1后存入输入寄存器中。通常用于IIC、串口USART中。 4.模拟输入:不通过上下拉电阻,也不通过TTL施密特
[单片机]
消除有源电力滤波器系统振荡的控制方法仿真分析
1  引言     有源电力滤波器(APF)是一种动态抑制谐波电流、补偿无功的新型装置,具有响应速度快、补偿效果好,能实现动态连续实时补偿等优点。其基本原理在于向电网中注入一个与谐波电流、无功电流大小相等、方向相反的补偿电流,从而达到消除谐波,使电网侧电流成为正弦且电网功率因数为1的目的。因此,采用有效的控制方式,精确地产生补偿电流是决定滤波效果的重要因素。在各种类型的电力有源滤波器中,并联型电力滤波器应用最为广泛。本文对传统的并联有源电力滤波器控制方式进行改进,增加局部反馈环节用于解决系统中无源滤波器引起的振荡问题。仿真结果说明该方法能同时改善电网侧电流和公共连接点电压的波形,降低畸变率。 2  主电路及其传统控制方式
[嵌入式]
基于LIN2.1协议的车窗控制系统的应用
  LIN协会于1999年发布了第一版LIN协议,至今已有十几年了,在这十几年中,LIN总线不断发展,已经在以车身控制为主的许多场合得到了应用。LIN总线至今一共有7个版本,其中,LIN2.1协议于2006年11月发布,是目前较新的一个版本。它与最新的 LIN2.2协议几乎没有区别,却比它的前身LIN2.0协议有明显的改进,主要体现在加入了事件触发帧的竞争处理、完善了节点配置功能和进行了诊断分级三个方面。这些改进使用户可以更加方便和快速地组织LIN网络,可以根据自己的需求重新设置LIN网络,既保证了产品的稳定性,又满足了用户的个性化需求,是LIN总线自身发展过程中很有意义的一步。   1 LIN2.1协议的新特点   1.
[嵌入式]
基于ARM的智能家居远程控制系统设计
  随着互联网技术和信息通信技术向普通家庭生活的不断普及,如何将消费电子、计算机和通信融为一体,已成为人们非常关心的一个问题。智能家电网络管理系统能够实现家用电器的网络化、智能化管理。通过该系统将家中的网络电器与互联网和GPRS网络相连,这样无论何时何地,用户都可以通过该系统远程操纵家用电器。本文主要讨论智能家居远程控制系统的设计与实现。    智能家居系统的总体结构   智能家居远程控制系统的核心部分是一个嵌入式Web服务器,系统集有线和无线Web服务器于一体,用户可以利用办公室的PC或者手机登录家中的Web服务器,在通过用户名和密码验证后,便可以查看并控制家用电器;系统带有LCD和键盘,具有良好的人机界面;用户还可以通过键
[嵌入式]
利用小型MCU实现LED照明的色彩控制
中心议题 *分析了利用小型MCU实现LED照明的色彩控制的方法 解决方案 *MCU读取来自光传感器的颜色成分,校准光传感器输出,并通过调节各个LED驱动器的输出获得想要的颜色 *LED使用恒流驱动器来维持光输出的一致性 LED用于通用照明已指日可待。LED在通用照明系统中优势很多,如寿命更长以及效率更高。然而, LED技术还面临着一些挑战。其中一个挑战就是如何产生高品质的白光。白光LED的构成包含了蓝光LED 和能将光输出移至光谱的其他波段的一种荧光粉。许多白光LED都无法产生高显色指数(Color Rendering Index,CRI),该参数用于衡量光源真实重现色彩的能力。 通过混合两种或两种以
[电源管理]
利用小型MCU实现LED照明的色彩<font color='red'>控制</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved