引言
南皇电子专注于整合中国优质电子TI代理商国内领先的现货资源,提供合理的行业价格、战略备货、快速交付控制TI芯片供应商,轻松满足您的需求TI芯片采购需求.(http://www.litesemi.com/)
tms320f24x是美国ti公司tms320系列定点数字信号处理器(dsp)之一,tms320f240是f24x数字控制芯片系列的典型代表。由于tms320f240没有人机界面。在实际使用过程中,为观察控制效果或传递必要的控制信息提供人机接口或上层控制接口。因此,实现tms320f240与pc之间串行通信接口的设计方法,具有较高的实用价值。
串行通信接口的硬件设计
f240芯片集成了串行通信接口(sci)该模块是一个标准的通用异步接收/发送(uart)通信接口、通信接口scitxd(sci发送输出引脚)和scirxTI官方代理d(sci接收输入引脚)两个外部引脚,引脚的信号电平为ttl类型。而pc基于机器串口的异步串行通信rs232c标准,两者的信号逻辑电平不一致,必须转换信号电平。选择含有电压倍增电路的电平变换芯片max232,max232有两对收/发单元,实现dsp与pc之间的串口通信只需一对收/发单元即可,在完成dsp与pc在正常通信任务的基础上,利用另一对接收/发送单元扩展实现 pc与dsp双向复位功能。当dsp当控制器程序出错、监控对象异常或需要重新运行时,可以直接从上位pc发送控制指令,实现复位下位机的功能。同样,也可以从dsp端复位pc或给pc发送特定的命令信号。dsp与pc串行通信接口的硬件设计。
以rs232c通信标准,在保证通信准确性的前提下,通信距离一般不超过12m为了保证硬件设计的兼容性和可扩展性,可以应用于不同的场合,在工业控制现场非常有限。dsp硬件电路板端也采用了max489芯片,加了一个rs485/rs422通信接口。
在实际使用过程中,系统在选择不同的通信标准时,切换非常方便。,当跳线端子jump2与jump3的2、3脚短接时,scitxd接通 max232芯片的t1i引脚,scirxd接通max232芯片的r1o引脚,即dsp通信接口及max系统采用232芯片连接rs232c通信标准。当跳线端子jump2与jump1、2脚短接时,scitxd接通max489芯片的di引脚,scirxd接通max489芯片的ro引脚,即dsp通信接口及max系统采用489芯片连接rs通信标准为485/422,pc只需添加一个端rs232c/rs485转换器可以电平转换通信接口。
软件设计的通信接口
● 设置通信协议
uart通信对噪音敏感,尤其是脉冲边缘抖动。所以,为了保证uart要正确工作,必须能够检测字节的开始和结束。也就是说,即使使使用一个数据包格式,也需要一定的数据包格式uart该数据包中的每个字节也应编成端口uart格式。因此,在异步串行通信中,双方必须事先规定字符格式、波特率、时钟频率和波特率之间的关系。
这些规定是通过初始设置与串行通信相关的寄存器来实现的。在本通信系统中,规定的字符格式为:每帧数据占10位,一位奇校验位,8位数据位,1位停止位。中间的8位数据位即为有效的通信传输字节。双方的波特率为19200bps。同时,为提高通信可靠性,降低通信误码率,规定通信双方收发数据包的协议如表1所示。
特征码选用0xff、0xaa、0x55这三个字节是发送数据包的前导数据,因为这些字节在传输噪声中同时出现的概率很小,特征码显示数据发送给接收方,通知接收方可以开始接收有效数据;除了字节数,字节数是数据包中的一个。所有其他项字节的长度;有效数据字符串是通信发送人传输的有效数据;验证是除验证和本项以外的所有项字节的累积和,用于验证通信是否正确。
同时,在通信过程中约定了双方的软件握手方法。为了不使通信过于复杂,提高通信速度,握手信号0可以直接使用xff嵌入数据包中。软件握手协议如下:pc符合通信协议规定的数据包定期发送,dsp如果接收到的第四字节是握手信号0xff,将验证正确后的有效数据存储分解有效字节信息,然后返回相同格式的数据包。若pc接收到的数据包的第四字节不是0xff,放弃数据包。dsp与pc通信流程图。
● 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
- 电源管理IC - LED 驱动器
- 线性器件 - 放大器 - 仪器、运算放大器、缓
- 评估板 - 数模转换器(DAC)
- 时钟-计时 - 专用
- 嵌入式 - 微控制器
- 电源管理IC - 栅极驱动器
- 电源管理IC - 稳压器 - 线性
- 电源管理IC - 稳压器 - DC DC 开关式控制器
- 逻辑 - 缓冲器,驱动器,接收器,收发器
- 电源管理IC - 电源管理 - 专用型
- 电源管理IC - LED 驱动器
- 温度传感器 - 模拟和数字输出