1756-IG16
Profibus由三个兼容部分组成,即Profibus-PA、DP以及FMS。Profibus-PA技术以符合国际标准IEC61158的Profibus-DP为基础,增加了PA行规和相应的传输技术,具有通过串行总线系统连接和通过数据线进行供电的特点,能更好的满足过程控制领域的需求。
南京科远自动化集团股份有限公司DCS系统已经开发出了ProfibusDP主站和ProfibusDP从站,可以将ProfibusDP从站通过主站接入DCS系统,但由于没有PA耦合器产品,ProfibusPA从站产品只能借助其他公司的PA耦合器接入我公司DCS。DP/PACoupler(KM633B)是我公司自2012年开始研发、设计的产品,以适应各种场合的应用需要,完善我公司现场总线控制系统,降低成本,提升竞争力。
2系统及模块的体结构图
KM633B为NT6000系统ProfibusDP/PA耦合器模件,带有一个ProfibusDP接口和一对ProfibusPA接口。每一个DP/PA耦合器总线大可输出300mA电流,总线多可以连接25个标准ProfibusPA从站。DP/PA耦合器的通信波特率是固定的,DP端口为45.45Kbps,PA端口为31.25Kbps。
图1DP/PA耦合器整体框架
DP/PACoupler的主要功能是耦合DP和PA总线,为两种不同物理层、不同帧格式、不同编码的总线提供无缝连接。PA总线端的波特率固定为31.25Kbps,使用IEC61158-2物理层,将信号调制到电源线上,使用直流平衡的曼彻斯特编码。DP总线端的波特率固定为45.45Kbps,使用RS485物理层,使用标准的UART数据帧,使用不归零码。
3硬件设计
图2DP转换为PA过程
DP/PACoupler是一种双路冗余RS485-ProfibusPA总线转换器,提供一种将ProfibusPA总线转换为通用冗余RS485总线的方法。本装置提供一路符合IEC61158-2规范的9V-32V的输出电源,用来给PA从站设备供电。提供2路冗余的RS485总线接口,用来和RS485接口的控制设备通信。如图2所示,本装置由带有阻抗调节、输出保护功能的电源模块,媒体连接单元(MAU)电路,PA总线隔离电路,FPGA电路,处理器电路以及2路冗余、隔离的RS485电路组成。以ARM和FPGA为处理核心,省去了ASIC,MAU电路使用分离的原件实现,节省了成本,降低了价格。图3可变阻抗PA电源设计
1756-IG16
PA总线输出电源是可变输出阻抗的特殊电源,在直流输出时,输出阻抗很小,要求小于50Ω,以方便PA总线从站从总线上取电,在31.25Kbps的工作波特率时,输出阻抗很大,要求大于3KΩ,以方便调制解调信号到电源线上。其工作原理如图3所示。
4软件设计
4.1FPGA软件设计
在DP/PACoupler中FPGA的作用就是将PA总线上的曼彻斯特ma流数据进行解析,以中断的形式传送ARM,进行PA-DP协议的转换;当接收到从ARM发送过来的DP数据时,FPGA将其转化成曼彻斯特ma流,调制到PA总线上,然后发送到PA站。
图4FPGA中曼彻斯特解码
PA总线上的曼彻斯特ma是以31.25Kbps的速度传输,每个bit是32us(N+、N-是特殊的32us),有效数据在32us的时间内高低电平时间各占一半。空闲时,信号输入引脚RxS_PA一直处于低电平,当在RxS_PA引脚上检测到信号的上升沿,并且紧接着检测到了16bit(或者为8bit)的前导码P,接着是起始符SOF,说明PA总线上收到了一帧数据,而非干扰信号,将PA总线上的干扰信号滤除。
理想的曼彻斯特编码在一个时钟周期的中间发生跳变,但实际工业现场的PA总线上,曼彻斯特编码的跳变并不一定在一个时钟周期的正中,会发生抖动。在每个曼彻斯te码bit的1/4、3/4处设置采样点sample。在sample处将RxS_PA直接赋值给data_buf,同时对data_buf进行左移位的操作。当有前导码与起始符的到来,在此时将控制寄存器CtrlReg0[0]置高,开始接收数据。在sample处将RxS_PA与clk_syc_m进行异或处理,得到实际当前曼彻斯特ma对应的不归零码的值,并在clk_syc_m的上升沿将数据提取出来存放在数据寄存器里面,并依此左移1位,当接收计数器bit_rcvd为8时,更新数据缓冲寄存器,达到数据提取的效果。当data_buf的低16位为16'hb326时,说明检测到停止符EOF,此时将接收使能置低、CtrlReg0[0]置低,代表一帧数据接收全部完毕,等待下一帧的开始,如此循环往复。
图5FPGA解码流程
1756-IG16