英创工控主板对RS485硬件方向控制的支持

 2009-12-7         

        RS485是工业现场最常用的现场总线之一。RS485的主要工作特点是半双工的数据传送模式,即任意时刻,总线只能处于接收状态或者发送状态。从工控主板的角度看,实现RS485方向切换的方式有两种:一是采用TXD作自动方向控制,二是采用串口的RTSn控制线作为专门的方向控制信号。第一种方法的优点是可以利用三线制的RS232串口直接转换成RS485,电路接线简单,由应用程序实际控制半双工模式的工作,主要应用于近距离的设备通讯;第二种方式则主要应用于长距离的复杂网络布局,支持阻抗匹配。有关这两种方法的电路实现可参考《英创工控主板同时驱动RS232和RS485的方法》一文。本文主要介绍英创各款ARM9工控主板对RS485硬件方向控制的支持。

        目前英创的ARM9工控主板产品系列均预装正版Windows CE操作系统,其产品型号包括:支持标准Windows彩色界面的EM9000和EM9161;以及不支持标准图形界面的EM9160、EM9260和EM9360。作为面向工业应用的嵌入式主板,它们均有4个或6个标准异步串口,这些串口中,大部分信号电平为TTL,非常容易转换成RS485接口电平。而相应的RTSn控制信号一般由板上的GPIO充当,如下表所示:



EM9000

EM9161

EM9160

EM9260

EM9360

COM1

RS232C

-

-

-

-

COM2

GPIO13

RTS2n

-

-

GPIO6

COM3

GPIO14

RS232C

RS232C

RS232C

GPIO7

COM4

RTS4n

GPIO8

GPIO6

GPIO6

GPIO8

COM5

-

GPIO9

GPIO8

GPIO8

GPIO9

COM6

-

-

GPIO9

GPIO9

GPIO10

COM7

-

-

-

GPIO10

GPIO11


 

        在上表中,只有EM9000是从COM1开始排序,其他的均从COM2开始排序。表中的“RS232C”表示该串口是以RS232C接口工作的,不便作为RS485;而“RTSxn”则表示该串口是9线制串口,直接使用其RTSn控制线;而GPIOx表示当对应串口打开后,应用程序选择RTS_CONTROL_TOGGLE控制模式时,指定的GPIO将作为RTSn信号。
应用程序设置RTS_CONTROL_TOGGLE的方法如下:

      DCB dcb;            // 定义参数控制块

      GetCommState( m_hSer, &dcb );     // 读取当前参数块
      dcb.fRtsControl = RTS_CONTROL_TOGGLE;  // 设置RTS方向控制
      SetCommState(m_hSer, &dcb);     // 重设串口参数

        英创公司在后续产品的内核中,将按照本文描述的方法加强对RS485硬件方向控制的支持。对客户已购买的产品,若需要更多的RTSn方向控制,可向英创索取相应型号的内核文件更新即可。