关键词:nt6000;profibus-pa;profibus-dp;dp/pa耦合器
1 概述
profibus由三个兼容部分组成,即profibus-pa、dp以及fms。profibus-pa技术以符合国际标准iec61158的profibus-dp为基础,增加了pa行规和相应的传输技术,具有通过串行总线系统连接和通过数据线进行供电的特点,能更好的满足过程控制领域的需求。
南京科远自动化集团股份有限公司dcs系统已经开发出了profibus dp主站和profibus dp从站,可以将profibus dp从站通过主站接入dcs系统,但由于没有pa耦合器产品,profibus pa从站产品只能借助其他公司的pa耦合器接入我公司dcs。dp/pa coupler(km633b)是我公司自2012年开始自主研发、设计的产品,以适应各种场合的应用需要,完善我公司现场总线控制系统,降低成本,提升竞争力。
2 系统及模块的总体结构图
km633b为nt6000系统profibus dp/pa耦合器模件,带有一个profibus dp接口和一对profibus pa接口。每一个dp/pa耦合器可输出300ma电流,最多可以连接25个标准profibus pa从站。dp/pa耦合器的通信波特率是固定的,dp端口为45.45kbps,pa端口为31.25kbps。
图1 dp/pa耦合器整体框架
dp/pa coupler的主要功能是耦合dp和pa总线,为两种不同物理层、不同帧格式、不同编码的总线提供无缝连接。pa总线端的波特率固定为31.25kbps,使用iec61158-2物理层,将信号调制到电源线上,使用直流平衡的曼彻斯特编码。dp总线端的波特率固定为45.45kbps,使用rs485物理层,使用标准的uart数据帧,使用不归零码。
3 硬件设计
图2 dp转换为pa过程
dp/pa coupler是一种双路冗余rs485-profibus pa总线转换器,提供一种将profibus pa总线转换为通用冗余rs485总线的方法。本装置提供一路符合iec61158-2规范的9v-32v的输出电源,用来给pa从站设备供电。提供2路冗余的rs485总线接口,用来和rs485接口的控制设备通信。如图2所示,本装置由带有阻抗调节、输出保护功能的电源模块,媒体连接单元(mau)电路,pa总线隔离电路,fpga电路,处理器电路以及2路冗余、隔离的rs485电路组成。以arm和fpga为处理核心,省去了asic,mau电路使用分离的原件实现,节省了成本,降低了价格。
图3 可变阻抗pa电源设计
pa总线输出电源是可变输出阻抗的特殊电源,在直流输出时,输出阻抗很小,要求小于50ω,以方便pa总线从站从总线上取电,在31.25kbps的工作波特率时,输出阻抗很大,要求大于3kω,以方便调制解调信号到电源线上。其工作原理如图3所示。
4 软件设计
4.1 fpga软件设计
在dp/pa coupler中fpga的作用就是将pa总线上的曼彻斯流数据进行解析,以中断的形式传送arm,进行pa-dp协议的转换;当接收到从arm发送过来的dp数据时,fpga将其转化成曼彻斯流,调制到pa总线上,然后发送到pa总站。
图4 fpga中曼彻斯特解码
pa总线上的曼彻斯是以31.25kbps的速度传输,每个bit是32us(n+、n-是特殊的32us),有效数据在32us的时间内高低电平时间各占一半。空闲时,信号输入引脚rxs_pa一直处于低电平,当在rxs_pa引脚上检测到信号的上升沿,并且紧接着检测到了16bit(或者为8bit)的前导码p,接着是起始符sof,说明pa总线上收到了一帧数据,而非干扰信号,将pa总线上的干扰信号滤除。
理想的曼彻斯特编码在一个时钟周期的中间发生跳变,但实际工业现场的pa总线上,曼彻斯特编码的跳变并不一定在一个时钟周期的正中,会发生抖动。在每个曼彻斯bit的1/4、3/4处设置采样点sample。在sample处将rxs_pa直接赋值给data_buf,同时对data_buf进行左移位的操作。当有前导码与起始符的到来,在此时将控制寄存器ctrlreg0[0]置高,开始接收数据。在sample处将rxs_pa与clk_syc_m进行异或处理,得到实际当前曼彻斯对应的不归零码的值,并在clk_syc_m的上升沿将数据提取出来存放在数据寄存器里面,并依此左移1位,当接收计数器bit_rcvd为8时,更新数据缓冲寄存器,达到数据提取的效果。当data_buf的低16位为16'hb326时,说明检测到停止符eof,此时将接收使能置低、ctrlreg0[0]置低,代表一帧数据接收全部完毕,等待下一帧的开始,如此循环往复。
图5 fpga解码流程
4.2 arm软件设计
fpga通过flexbus总线与arm进行通信。
图6 arm软件框架
如图6所示,此产品中,arm处理器使用freescale的k60 arm cortex m4内核,其主要作用是:pa?dp帧结构转换、crc?fcs校验转换、dp?pa帧结构转换、fcs?crc校验转换、cpld与k60处理器接口、数据缓冲区、profibus dp串口收发程序(固定45.45kbps)。
5 km633b在nt6000中的应用
如图7所示,profibus dp/pa耦合器在系统配置时无需组态,对profibus主站而言,dp/pa耦合器是透明的,在组态中不可见。
图7 km633b在nt6000中的位置
km633b使用din导轨安装方式,安装前请注意底部拨码开关。km633b可以使用在dp电缆的任何地方,在dp总线中间或终端均可,但需要注意的是,如果耦合器连接在dp电缆的中间,无需连接终端电阻,如果将km633b连接在dp电缆的终端,必须要连接终端电阻。km633b必须连接在pa总线的终端。总线布线时需远离动力电缆及变频器等强干扰设备。
6 总结
随着自动化技术的进一步提高,profibus-pa总线必将得到进一步的推广和使用。科远nt6000 dcs系统通过profibus dp/pa coupler可以和profibus-pa从站集成,限度的发挥profibus-pa现场总线的优势,提高系统的可靠性、可维护性,为客户节约布线成本和后期维护费用,从而为用户创造价值。
参考文献
[1] profibus specification (en 50170),pi,1998
[2] nt6000-km633b产品手册,科远自动化集团股份有限公司,2013
[3] 双路冗余rs485总线-profibus pa总线转换器,科远自动化集团股份有限公司,2013