《2023年串行通信的接口有哪些【DSP与PC机串行通信接口设计及应用】.docx》由会员分享,可在线阅读,更多相关《2023年串行通信的接口有哪些【DSP与PC机串行通信接口设计及应用】.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年串行通信的接口有哪些【DSP与PC机串行通信接口设计及应用】 tms320f24x是美国ti公司tms320系列定点数字信号处理器(dsp)之一,tms320f240是f24x系列面对数字限制芯片的典型代表。由于tms320f240并不具备人机界面,在实际运用过程中,须要为它供应一个人机接口或上层限制接口,以便于视察限制效果或传递必要的限制信息。因此,实现tms320f240与pc之间串行通信接口的设计方法,具有较高的好用价值。 串行通信接口的硬件设计 f240芯片内部集成了一个串行通信接口(sci)模块,该模块是一个标准的通用异步接收/发送(uart)通信接口,通信接口有scitx
2、d(sci发送输出引脚)和scirxd(sci接收输入引脚)两个外部引脚,引脚的信号电平为ttl类型。而pc机串口的异步串行通信基于rs232c标准,两者的信号逻辑电平不一样,必需进行信号电平转换。选用内部含有电压倍增电路的电平变换芯片max232,max232有两对收/发单元,实现dsp与pc之间的串口通信只需一对收/发单元即可,在完成dsp与pc的正常通信任务的基础上,利用另外一对收/发单元,扩展了实现 pc与dsp的双向复位功能。当dsp限制器程序出错、监控对象异样或须要限制程序重新运行时,可以干脆从上位pc发限制指令,达到复位下位机的功能。同样,也可以从dsp端复位pc或给pc发特定的
3、吩咐信号。dsp与pc串行通信接口的硬件设计如图1所示。 以rs232c通信标准进行通信,在保证通信精确性的前提下,通信距离一般以不超过12m为宜,在工业限制现场很受限制。为保证硬件设计的兼容性和易扩展性,能够应用于不同场合,在dsp硬件电路板端还采纳了一个max489芯片,添加了一个rs485/rs422通信接口。 实际运用过程中,系统在选择不同的通信标准时,切换非常便利。如图1所示,当跳线端子jump2与jump3的2、3脚短接时,scitxd接通 max232芯片的t1i引脚,scirxd接通max232芯片的r1o引脚,即dsp的通信接口与max232芯片相连,此时系统采纳rs232c
4、的通信标准。当跳线端子jump2与jump3的1、2脚短接时,scitxd接通max489芯片的di引脚,scirxd接通max489芯片的ro引脚,即dsp的通信接口与max489芯片相连,此时系统采纳rs485/422的通信标准,pc端只需添加一个rs232c/rs485转换器即可进行通信接口电平转换。 通信接口的软件设计 通信协议的设定 uart通信对噪音比较敏感,特殊是脉冲边沿抖动。所以,为了确保uart能够正确工作,必需能够检测它的起先和结束字节。也就是说,须要肯定的数据包格式,即使是运用一个uart端口,在这个数据包中的每一个字节也都要编成uart格式。因此在异步串行通信中,收、发
5、双方必需事先规定字符格式、采纳的波特率,以刚好钟频率和波特率的关系。 这些规定是通过初始化设置与串行通信有关的寄存器来实现的。本通信系统中,规定字符格式为:每一帧的数据占10位,一位奇校验位,8位数据位,1位停止位。中间的8位数据位即为有效的通信传输字节。双方的波特率设置为19200bps。同时,为了增加通信的牢靠性,削减通信的误码率,规定了通信双方收发数据包的协议如表1所示。 特征码选用0xff、0xaa、0x55这3字节为发送数据包的前导数据,这是因为这几字节在传输噪声中同时出现的几率很小,特征码起到向接收方表明有数据发送过来的作用,通知接收方可以起先接收有效数据;字节数是数据包中除了字节
6、数这一项之外,其他全部项字节的长度;有效数据字符串是通信发送方要传送的有效数据;校验和是数据包中除了校验和这一项之外全部项字节的无进位累加和,用于校验通信是否正确。 同时,在通信过程中约定了双方的软件握手方法。为了不使通信过于困难,提高通信速度,可以干脆将握手信号0xff嵌入到数据包中。软件握手协议规定如下:pc定时发送符合通信协议规定的数据包,dsp接收到的第四字节若为握手信号0xff,则将校验正确后的有效数据存储,并从中分解有效字节信息,然后回送相同格式的数据包。若pc接收到的数据包的第四字节不是0xff,则摒弃该数据包。dsp与pc的通信流程图如图2所示。 dsp端下位机sci通信程序的
7、编制 在dsp端的软件程序设计中,通过中断方式接收pc发送过来的数据包,握手并校验确认后接收有效数据,再将pc所需的数据打包回送。基于dsp功能模块化的特点,其串行通信汇编程序的编制主要分三个步骤: (1)初始化设置时钟源模块,得到所需的cpuclk和sysclk(因为计算波特率时与之有关); (2)设置sci模块,初始化各sci限制寄存器; (3)编写串行通信中断服务子程序,即可完成dsp与pc之间的串行通信。 在串行通信中断服务子程序的编制过程中,参考图2所示的dsp与pc串行通信流程图,即可完成正常的数据通信任务。假如须要利用软件来实现dsp与pc的双向复位,则可将图1中的跳线端子jum
8、p1的1、2 脚短接,串口的dtr引脚通过上拉电阻接通电源,将jump4的2、3脚短接,max232的其次路收/发单元的发送引脚接通dsp的复位端 hostrest。系统上电之后,dtr呈现高电平状态,若系统运行过程中出现dsp限制器的程序出错、监控对象异样时,可以通过在上位机端执行特定的复位操作,在程序中使pc串口的dtr引脚状态产生由低到高的电平改变,通过max232芯片的其次路通信收/发单元,将输出电平传递给hostrest,最终供应给dsp的复位引脚rs,使得复位引脚rs上同样出现低到高的电平改变,从而使dsp复位,下位机dsp限制程序得以重新运行。同样的,当dsp 端自行检测到通信数
9、据不正常时,可以依据检测结果,自行发送复位信号。通过指令clr xf,置位xf引脚为低电平,经由max232芯片的其次路通信收/发单元,串口的cts引脚接收到低电平信号,pc端程序若查询到cts电平出现由高到低的电平改变时(触发comevcts事务),自动变更程序运行流程,使得pc端的通信程序重新起先,以期复原通信的正常。当然,也可以通过在dsp端变更xf引脚电平状态,作为给pc发送的特定吩咐信号,相当于在dsp与pc之间预留了一个相互联系的通信接口。 pc端上位机通信程序的编制 上位pc串行通信程序在windows 2000平台下采纳visual c+ 6.0实现。vc自带的activex控
10、件microsoft communications control,即mscomm控件,供应了对windows通信驱动程序的api函数接口,为应用程序供应了通过串行口收发数据的简便方法。因此干脆在应用程序中嵌入mscomm控件,可以便利地进行计算机串口的通信管理。即只需设置mscomm控件的相应属性,调用控件的相应方法和事务,根据通信协议的要求定时发送数据包,上位机即可完成相应功能,实现数据通信任务。 mscomm控件供应下列两种处理通信的方式:事务驱动方式和查询方式。表2列出了mscomm控件的主要属性并给出了这些属性在程序中的设定值。上位pc一般实行事务驱动的方式接收来自于下位机dsp的二
11、进制数据。事务驱动方式的工作原理类似于中断,当有通信事务发生时(如发送数据、接收数据等),就会触发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机及单片机数据通信技术.北京航空航天高校出版社. 2023 4 向先波,张琴.tms320f24x的实时多中断任务处理.单片机与嵌入式系统应用. 2023.12