碧波液压网 欢迎你,游客。 登录 注册

某光电跟踪产品双DSP系统RS422通信设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  

  0 引言

  信息社会的发展,在很大程度上取决于信息与信号处理技术的先进性。数字信号处理技术的出现改变了信息与信号处理技术的整个面貌;而数字处理器作为数字信号处理的核心技术,其应用已经涉及到设计信号处理的各个领域,成为电子系统的心脏。某光电跟踪产品设计了基于TMS320C6201B和ADSP2187L的双DSP的信息处理平台,它提高了对信息的识别处理速度,具有实时性好、控制精度高、抗干扰能力强等特点。一般情况下,可利用JTAG口对DSP进行调试,然而,在整机情况下,这种方式就不太适用了。因而,在本系统中设计了RS 422接口,大大方便了远程调试和整机调试。

  1 RS 422通信设计

  本系统选用Maxim公司提供的Max490ESA作为接口芯片,它具备高速、低功耗等特点。图1所示为RS422接口原理图。

  该通信设计的接口程序包括两个部分:DSP上的通信程序设计和PC机上的通信程序设计。

  DSP的通信程序设计主要是调用INT5和TIMER0中断实现的。RX信号线挂在TMS320C6201的INT5脚,当6201检测到下跳时,引发一个中断,在中断程序中,立即将ADSP2187前端的数据采集到DSP的片内,然后开放TIMER0中断处理程序。中断程序负责将数据发给PC机。

  PC机的RS 422通信程序采用C++Builder编写,为多线程程序。利用了专用的RS 422通信控件Vcomm32来实现通信。

  1.1 DSP上的RS 422通信程序设计

  DSP上的RS 422通信程序是一种有限状态机,它利用上层协议将位流进行传输,具体设计如下:

  1.1.1 位流的形成

  发送过程:RS 422是四线制的差分电平通信标准,在本系统中,TMS320C6201B的McBSP1用作通用I/O口,将MeBSP1的7根本来用作同步通信用的数据与控制线,现设置为通用I/O线。

  通过将TMS320C6201B的McBSP1接口的DX引脚置高与置低实现发送一位位的数据流,通过读取RX引脚上的电平信号来接收数据位流。位流的速度与PC机上接收与发送流的速度一致。位流的格式遵循标准异步通信协议(UART),本系统中,设定为1位起始位,8位数据位,2位停止位。由于TMS320C6201B上没有带UART通信口,只能用软件通过通用I/O引脚模仿UART。位流的节奏由TMS320C6201B的定时器0定时周期控制。图2所示为UART通用异步通信协议。

  接收过程:RS 422传输线Rx+、Rx-经过MAX490ESA422接口芯片后,变成5 V CMOS电平信号Rx。Rx接至TMS320C6201B的两个地方,一是TMS320C6201B的McBSP1的Rx脚,另外还同时接至TMS320C6201B的INT5脚。接收的过程如下:一旦PC机发出一个8位数据,PC机首先要发送电平为低的起始位,这时将引起Rx脚由高到低的跳变,TMS320C6201B的INT5脚将感受到这一电平的跳变,这将引发TMS320C6201B的一次电平中断,用来提示TMS320C6201B,请准备接收PC机上的数据。在INT5的中断处理程序中,首先关掉INT5脚电平中断,以防后来还没有接收完8位的数据位流上的电平变化再次引发不希望出现的中断,然后退出中断。TIMER0开始计数到给定的周期时,引起了TIMER0的定时中断,TIMER0判断是否收满8位,如果没有,则读取McBSP1脚上的Rx信号,将其移入到接收缓冲区;如果接收满了8位,则根据接收缓冲区接收到的字的意义以及DSP其他参数做出处理,当然,收满8位,TIMER0定时将打开INT5中断,复原系统其他状态,为下一次接收完整数据做准备。这样就完整地接收到了PC机上的一串完整的8位数据。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论