《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于TMS320LF2407A和NRF903的工程机械遥控器高可靠性设计
基于TMS320LF2407A和NRF903的工程机械遥控器高可靠性设计
来源:电子技术应用2010年第12期
郑德忠,李晓娟
燕山大学 河北省测试计量技术及仪器重点实验室,河北 秦皇岛066004
摘要: 基于主控制芯片TMS320LF2407A和无线收发芯片NRF903设计了灵活的频道转换协议,采用高可靠性的控制命令编码方式以及RS纠错编码方法,利用标准异步串口协议实现了收发双方控制命令的传递。
中图分类号: TN92
文献标识码: A
文章编号: 0258-7998(2010)12-0025-04
High-reliability design for engineering machines remote-controller based on TMS320LF2407A and NRF903
ZHENG De Zhong,LI Xiao Juan
Hebei Key Laboratory of Measurement Technology and Instrumentation,Yanshan University,Qinhuangdao 066004,China
Abstract: Based on TMS320LF2407A as the main control chip and NRF903 as the transceiver chip, in this paper, flexible channel change protocol was designed,the command coding method of high-reliability and the method of RS coding for correction were introduced, standard asynchronous serial communication protocol was utilized to achieve the transmission of the command codes of the transceivers.
Key words : TMS320LF2407A;NRF903;channel change;communication protocol;coding

    在我国经济快速发展的过程中,工程机械起到了巨大的推动作用。但传统的工程机械工作现场的环境条件一般都很恶劣,而工作人员又必须在庞大的驾驶室里操作,容易对工作人员心理和生理造成不良影响,从而影响机械的安全可靠高效运行。近年来,无线电通信技术及超大规模集成电路的飞速发展,为工作人员走出驾驶室通过无线电对工程机械进行可靠的远程控制提供了基础。由于工程机械的动作失误会造成生命财产的巨大损失,因此可靠性是无线遥控技术能否应用于工程机械的决定因素。
1 工程机械遥控器系统介绍
    遥控器由发射端和接收端两部分组成。操作人员利用发射端将控制命令发射出去,控制命令通过无线信道到达接收端,接收端接收控制命令并控制工程机械作出相应的动作[1]。系统构成框图如图1所示。

    TMS320LF2407A芯片是整个系统的核心控制芯片。NRF903为系统的射频收发芯片。由于篇幅限制,本文重点从TMS320LF2407A与NRF903的接口设计及通信协议设计两个方面,对工程机械遥控器进行高可靠性设计。
2 硬件接口设计
    TMS320LF2407A采用高性能静态CMOS技术,使得供电电压降为3.3 V,减小了控制器的功耗,满足了手持发射端的省电要求[2]。TMS320LF2407A具有良好的处理性能(40 MIPS),可以实现对控制命令的快速编解码处理,提高遥控器对控制命令的实时处理和响应速度。TMS320LF2407A集成了丰富的外设接口,如串口通信接口(SCI),串口外设接口(SPI),利用这两种外设接口可以方便地与NRF903连接。TMS320LF2407A与NRF903的接口如图2所示。

    NRF903是一个单片RF收发芯片,工作在433/868/915 MHz国际通用的ISM频段,具有GMSK/GFSK调制和解调能力,抗干扰能力强,适合工业控制应用[3]。采用DDS+PLL频率合成技术,频率稳定性好,具有170个频道,满足本文所采用的频道转换的需要;可直接与TMS320LF2407A接口,而无需对数据进行曼彻斯特编码,通信波特率可达76.8 kb/s;工作电压范围是2.7 V~3.6 V,功耗低,构成一个完整的射频收发器所需的外围器件少。
3 SPI接口设计
3.1 配置字设计

    TMS320LF2407A的同步串口SPI用于完成对NRF903的组态控制字的配置,设置SPI工作于主动方式(MASTER/SLAVE=1),SPICLK输出同步时钟信号到CFG_CLK。设置串行外设接口配置控制寄存器SPICCR=0x0D,当CS为高电平时,来自SPISIMO/IOPC2的14位组态控制字在每一个CFG_CLK编程模式时钟的上升沿,通过CFG_DATA端口被写入组态寄存器中,完成对工作频率、通道、输出功率和输出时钟频率等参数的设置。
    当组态控制字输入到数据移位寄存器时,CS无效,一个新的配置完成。CFG_DATA的比特率由SPI模块的波特率设置寄存器SPIBRR确定。
    一旦配置完成,芯片的工作状态由外部信号TXEN、PWR_DWN、STBY和DATA设置。除待机模式和低功耗模式外,配置可以在所有模式下完成,这为频道的快速实时转换提供了基础[4]。
3.2 收发双方的频道转换协议设计
    本文采用通信频道在三个固定频道间转换,以避免使用某一固定频率时产生同频干扰问题。
    本设计选用438频段,该频段有10个频道可供使用,选用其中3个频道(频道0,4,8)来实现频率转换。由CFG_DATA[9~2]设定。
    为了避免收发双方的频道发生混乱,本设计令收发双方开机启动、待机时或复位后都进入频道0。
    收发双方都采用灵活的频道转换和频道停留方式通信。每次发射方在某一频道发射控制命令后会在此频道等待应答信号。若在规定的时间内没有接收到正确的应答信号,则自动转换到下一频道重复上面的发射过程;若在规定时间内收到正确的应答信号,则自动停留在此频道一段较长的时间,等待发射其他控制命令。每次正确应答信号的接收都延迟发射方在此频道的停留时间,如果超时没有正确应答信号的接收,则返回频道0。接收方的频道停留方式与发射方相似,即每次正确命令的接收都会延迟其在此频道的接收时间。但其频道转换方式不同,它的频道转换间隔时间是发射方频道转换间隔时间的3倍,以保证收发双方至多在9个间隔时间内频道同步一次。收发双方频道转换如图3所示。发射端频道转换流程如图4所示。

    若双方多次启动SPI传送配置字去改变通信频道而没有成功,则发生超次中断,要求收发双方系统复位重启到初始频道0状态,继续通信。若系统复位后仍无法正常连接,则可能三个频道都已受到干扰,可以人为地为收发双方重新配置一个初始频道,使收发双方进入另外一组频道通信。
4 SCI模块通信设计
4.1 控制命令编码设计

    由于无线信道干扰因素的存在,接收到的控制指令很可能变得不可靠,如果此控制指令恰好变成另外一组控制指令,则必然会发生误动作。为了避免这种情况发生,就必须增大不同控制命令码之间的差异。它们之间的差异越大,从一个控制指令码变成另一个控制指令码的可能性就越小,即发生误动作的可能性就越小。本文用8 bit表示一组控制命令,最多可以得到28=256组不同的控制命令,用软件编程方法可以挑选出各不同控制命令码之间差异为4 bit的码组最多16组,可以表示16种不同的控制命令,满足工程机械所需的控制命令数目要求。
    尽管这样可以避免工程机械发生误动作,但还是无法抵制信道噪声给控制命令码带来的干扰,若是每次发生干扰都要求发射端重发,则会使得系统的通信效率变低。如果发射方发射具有纠错能力的控制命令编码,而接收方根据收到的控制命令码和编码规则进行纠错运算,自动纠正传输过程中发生的错误,这样就可以在一定程度上提高系统的通信效率。RS编码有很强的纠错能力。本设计令原始控制命令以不变的形式出现在码组中,在其后面加入RS纠错码。
    因为收发双方的地址码固定,发送方的原始控制命令码固定,采用RS纠错编码方式,所以可以把它们组合起来列表于发送方TMS320LF2407A的内存中,各个按键值分别对应表中不同码组,当有按键动作时,根据键值去查表并发送相应的码组。接收方列表中存放地址码和原始控制命令码,原始控制命令码分别对应不同的工程机械动作。
4.2 收发双方通信协议设计
    SCI模块支持CPU与其他使用标准格式的异步外设之间的数字通信。SCI接收器和发射器都是双缓冲的,每一个都有其单独的使能和中断标志位。NRF903的DATA口采用透明协议的方式进行通信,将收到的数据原封不动地发射出去,能适应任何标准或非标准的用户协议。
    本设计选择SCI模块空闲线唤醒模式。空闲线模式在地址前留有一个固定空间。初始化SCICCR=07h,选择停止位为1 bit,禁止奇偶校验,禁止自测试模式,选择空闲线多处理器模式,SCI字符长度为8 bit。本设计用一个帧块实现对一个控制命令的定义。帧块的第一帧为地址帧,存放收发双方的共同地址。由于在同一场所运作的工程机械并不会很多,所以用8 bit(保证28=256台机械在同一场所工作)表示地址就已足够。实现一个控制指令的帧块格式如图5所示。


    开始位(0)只占一位,用来通知接收设备一个待接收的字符开始到达。线路在不传送字符时应保持为1。接收端不断检测线路的状态,若连续为1后又检测到一个0,就知道发来一个新字符,应马上准备接收。因为设计中使用的是无线信道,如何使接收引脚SCIRXD在空闲状态下检测到连续1是一个关键问题。由于NRF903有一个输出引脚C_SENSE,当接收通道没有接收到载波时,C_SENSE是稳定的0状态;当接收通道接收到载波时,C_SENSE变成1状态。根据此引脚特性,在C_SENSE引脚加一个非门之后与NRF903的数据接收引脚经或门之后连接到SCIRXD引脚(如图2所示),就可以解决上述问题。
    由于SCI模块的通信协议并不是针对无线信道的,所以在用于无线信道时,既要考虑如何更有效地利用SCI模块的既定通信协议,又要考虑使SCI的既定通信协议能够尽量容忍控制命令经过无线信道后发生的畸变,使通信能够正常进行。
    用编程的方式配置SCI通信协议。配置串行通信接口控制寄存器1SCICTL1=0Fh,将TXWAKE位置1;写1到TXWAKE (SCICTL1.3),然后将数据写入SCITXBUF寄存器来产生一个11位数据位的空闲周期;将SLEEP位(SCICTL1.2)置为1,使得它们在检测到地址字节时才被中断。当处理器读取到的地址与应用软件设置的本处理器的地址相符时,用户程序清除SLEEP位,以确保串行通信接口在收到每一个数据字节时产生一个中断。设置串行通信接口控制寄存器2(SCICTL2)使能RXRDY/BRKDT中断和TXRDY中断。设置波特率选择寄存器,决定收发双方控制命令的传送速率。
    虽然处理器在SLEEP位为1时仍能工作,但除非检测到地址字,否则不能将RXRDY、RXINT或任何接收错误状态位置1,也就无法实现数据的接收。经无线传输后地址帧可能畸变,如果地址帧的畸变比特在RS码的纠错能力之内,则可以被接收器认为是地址帧,即对地址帧进行一次粗判之后清除SLEEP位为0,实现控制命令帧和RS纠错帧的接收。接收流程如图6所示。

    本文设计实现了工程机械遥控系统的高可靠性要求。但整体系统的实现还需要注意操作板键盘与TMS320LF2407A接口设计以及TMS320LF2407A与工程机械接口设计等问题。为了使工程机械遥控器的操作者更清楚地了解工程机械的运行情况,还可以在遥控器的发射方添加一个LCD以及在工程机械上安装一些传感器,使遥控器发射方实时检测工程机械的运行情况等,进一步提高其可靠性。
参考文献
[1] 赵松杰,李兰忖.基于单片机控制的起重机智能遥控器.机电工程,2008,25(4).
[2] 刘和平,邓力,江渝,等.DSP原理及电机控制应用——基于TMS320LF2407x系列.北京:北京航空航天大学出版社,2006.
[3] 韩向阳,周凤星,胡磊,等.一种基于无线收发模块nRF903的距离监控系统设计与实现[J].电子测量技术,2006,29(5).
[4] 刘昌辉,何华辉.基于单片机的5-32吨天车遥控装置的设计[J].电子工程师,2004,30(9).

此内容为AET网站原创,未经授权禁止转载。