当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:给出了通过使用MCU,ARM和FPGA芯片的配合工作,为上位冗余PROFIBUS-DP主站系统与下位非冗余PROFIBUS-PA设备系统之间提供网络转换的实现方法,该方法安全可靠。

引言

DP/PALINK模块实现上位冗余PROFIBUS-DP主站系统与下位非冗余PROFIBUS-PA设备系统之间的网络转换。对于较高级别的系统面向自动化设备),DP/PALINK是DP从站,只占用较高级别DP主站系统的一个节点;DP/PALINK是PA主站,PA总线系统中的现场设备不占用上级DP总线系统的节点地址。

1功能描述

本模块通过64针欧式连接器与底座连接,可配置为模块单机或冗余使用。通过设置底座上的终端电阻,在下级DP总线网络中可作中间节点,也可作末端节点。

1.1硬件功能框图

DP/PALINK模块的硬件电路功能框图如图1所示。可用于实现上位冗余PROFIBUS-DP主站系统与下位非冗余PROFIBUS-PA设备系统之间的网络转换。

基于STM32的DP/PA Link设计

图1中的MCU选用ST公司的STM32F100R8T6,它采用基于ARM最新架构的32位Cortex-M3内核,结合了执行Thumb-2指令的32位哈佛微体系结构和系统外设,系统时钟最高24MHz,芯片性能达1.25DMIPS/MHz,内嵌64KB的

FLASH和8KB的SRAM,片上资源丰富,功能上完全可以满足系统设计需求。

ARM选用LPC2214FBD144,表贴,TQFP封装,144引脚,Philips。集成有16KB的片内RAM及256KB的片内FLASH。

模块的DP数据转发、长发故障的判断、读取监控电源的状态、通道灯的状态显示等基本由硬件逻辑完成。硬件可编程逻辑器件选用Xilinx公司性价比相对较高的spartan-6系列的xc6slx9器件,它具有5720个LUT(查找表),9152个L(C逻辑单元),11440个FK触发器),32个BlockRAM(18KbEach),最大用户引脚102个,144-pinTQFP封装。

1.2时钟设计

本模块的时钟要求是低成本、能够正常起振、不停振、温漂小。图2给出了本模块的时钟树。下面以MCU晶体为例来进行说明。

基于STM32的DP/PA Link设计

MCU选择石英晶体。本次设计中主要从HC-49XA-G20SSA-8.000MHz和HC-49XA-C20SSA-12MHz二者中选择一个,二者都满足性能要求,在MCU内部容易倍频得到48MHz时钟频率,但是HC-49XA-G20SSA-8.000MHz为工业级,工作温度范围宽,所以选型HC-49XA-G20SSA-8.000MHz。晶体参数表如表1所列。

1.3电路元器件的选择

本电路中采用22pF±5%陶瓷电容,电路中的振荡器的增益余量用于表明振荡器是否起振。外部电阻Rext可选择904Ω,这样,就仍然能够保证正常起振。

基于STM32的DP/PA Link设计

针对选型的晶体HC-49XA-G20SSA-8.000MHz,可通过计算得到对UART波特率的影响。MCU的时钟树从引脚输入8MHz,经PLL倍频到24MHz作为系统时钟。因为UART波特率越高时钟的误差对波特率的影响越大。MCU支持的最大波特率为1.5MHz。假定在波特率为1.5MHz时,计数器的时钟为系统时钟24MHz,UART的预分频数值为16。因为每发送一个字节,都会重新检测起始位,因此,波特率的误差只存在于一个字节的发送周期内。这样可以计算发送一个字节(10位)产生的累积信号偏移+检测间隔误差的偏移量为:±(132PPM*11*16+1/32)=±5.45%。由于UART接收都是在信号中间位置捕捉信号,所以,时钟的误差对UART的性能不会产生影响。

关于时钟误差对MCU定时器的影响。因为MCU的定时器主要用于超时定时,所以对时钟的精度要求不高,即时钟误差对定时器的影响可以忽略不计。

1.4DP总线设计

DP总线通信芯片采用TI公司的SN65HVD06D,其通信速率可达10Mb/s;最小差动输出电压为2.5V(54Q负载);ESD保护超过16kV;同时带有上电、掉电保护功能,支持热插拔。图3所示是485电路的功能框图。485电路包括6部分,MCU、POWER、双网切换控制、两个485收发器、欧式连接器。

基于STM32的DP/PA Link设计

Power部分主要为MCU、双网切换控制器和485收发器提供电源。MCU是485电路的控制器,主要发送串行数据、接收串行数据、诊断485电路故障、切换网络和切断故障等功能。表2所列是双网切换控制器的真值表。

模块的DP双网采用双UART来实现。发送数据时,MCU通过CTRA、CTRB信号分别控制两路485收发器的发送使能。发送数据时,MCU通过SEL控制双网控制器选择MCU的TXDA或TXDB与TXD相连,这样UARTA或者

UARTB会向两个485收发器同时发送数据。发送侧双网选择的真值表如表2所示。RXDA和RXDB为接收端口,它接入MCU的UARTA和UARTB。这样双网的数据同时进入两个UART,由MCU内部诊断及切换逻辑选择其中一个UART的数据进行处理。

485收发器是完成485差分信号到串行通信的转换,由485芯片、外围上下拉电路和防护电路组成。485收发器的差分信号通过欧式连接器连接到RS485总线上,进行通信。

2读取站地址、CPU类型和模块类型设计

基于STM32的DP/PA Link设计

模块读取位于模块上的开关电路及底座上的跳线来获得站地址。站地址开关电路如图4所示。

基于STM32的DP/PA Link设计

模块的站地址需要两列排针,每列上有一对针插入短路器,可将I。模块站地址设置为10~109号。一列排针表示站地址十位上的数字1~10,另一列排针表示站地址个位上的数字0~9。图5所示是站地址原理矩阵图。

基于STM32的DP/PA Link设计

图5中,COM1〜COM2组成十位数行,NO.1〜NO.5组成列,共可以构成10种状态,COM3~COM4组成个位数行,NO.1〜NO.5组成列也可以构成10种状态,所以可以表示

100种地址。图6所示是本系统的站地址逻辑图。

读取站地址时,首先在MCU初始化时,将/OE_MCU_MOUDE,/OE_STATION_ADDR、/OE_ST_ADDR_COM信号初始化为高电平,将LE_ST_ADDR_COM信号初始化为低电平。

读取站地址个位0~4,假设图6中,短路器把4号地址短路,MCU弓|脚/OE_ST_ADDR_COM发出低电平信号,即片选74LVC573芯片。数据总线[DB0:DB4]输出0x1E。然后MCU通过引脚LE_ST_ADDR_COM发出高电平,锁存数据总线DB[0:4]数据,0x1E。由于三态门74LVTH125每一路片选和数据端连接在一起,当输入为低电平时,才输出低电平;当输入为高电平时,输出为三态。这样74LVTH125输出端COM1为低电平,COM2、COM3和COM4为三态。这样通过底座上的跳线可以读取个位0~4范围内的站地址。然后MCU发出高电平的/OE_ST_ADDR_COM信号,和低电平的/OE_STATION_ADDR信号,片选读站地址74LVT245芯片。由于短路器把4号地址短路,COM1能把低电平信号通过跳线传送到数据线DB0上。由于其他地址为未有短路器,保持为上拉的高电平。这样MCU数据总线上的数据位0x0F。

MCU通过读取数据总线DB[0:4]获取个位0~4范围内的站地址,然后MCU发出高电平的/OE_STATION_ADDR信号,完成读取。

读取站地址个位5~9,读取过程与读取个位0~4范围的站地址相似。

读取站地址十位1~5和读取站地址十位6~10,读取过程与读取个位0~4范围的站地址相似。

当跳线个位或十位同时存在多余一个短路器时,MCU将认为存在故障,无法读取站地址。当跳线个位和十位上都不存在短路器时,MCU将认为存在故障,无法读取站地址。

由于在站地址电路的74器件需要提高热插拔等级,所以选用LVT逻辑器件,支持二级热插拔。由于74LVC573抗静电和热插拔防护等级不高,不支持三态,所以在74LVC573后附加一个支持二级热插拔等级的74LVTH125,并在输出电路上增加嵌位二极管,防护静电。74LVT245和防护电路能够抗静电和支持热插拔。

3冗余电路的设计

PA模块支持切换式冗余方式,模块自行完成切换并告知主控I/O自身的主从状态。互锁机制是保证只有一个主机的关键逻辑,主从机互锁电路如下图7所示。图8所示是主从机互锁时序图。

基于STM32的DP/PA Link设计

基于STM32的DP/PA Link设计

基于STM32的DP/PA Link设计

经过主从切换后,B机最终将变为主机,其工作原理如下:未启动状态,上电之后,双机的本板升主使能信号均为逻辑0状态,因此经过与非门之后,双机均处于逻辑1状态(备机状态),双机的本机状态输出同时通过上拉电阻保持在高电平状态。

双机启动后,先启动的模块(A或B自由竞争)通过自诊断发现本机正常,置本机升主使能信号为1,本机随即将主从状态输出为0。后启动的模块发现自身自诊断正常,也置本机升主使能信号为1,但是与非门的输入信号-对板主从信号已率先输出为0,导致本机主从状态输出被锁定,因此本机主从状态输出始终为1。

主机通过自诊断发现本机有故障,置本机升主使能信号为0进行主动降从,从机升主。

主从机进行切换后,当前从机通过自诊断发现本机无卡件致命故障,恢复置本机升主使能信号为1,但是与非门的输入信号-对板主从信号已被置为0,导致本机主从状态输出被锁定,因此本机主从状态输出始终为1。通过这种方式实现了A和B两者只能有一个主状态,可以同时为从状态,即实现了主从机互锁机制。

4结语

本次设计通过使用MCU、ARM和FPGA芯片的配合工作,能为上位冗余PROFIBUS-DP主站系统与下位非冗余PROFIBUS-PA设备系统之间的网络转换提供一个安全可靠的转换方案。

20211119_6197c9d9f36ae__基于STM32的DP

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

电磁铁是一种利用电流产生磁场的装置,具有快速响应、易于控制等特点,在工业自动化、电子设备、科学实验等领域有着广泛的应用。STM32是一款功能强大的微控制器,具有高性能、低功耗、易于编程等优点,是控制电磁铁的理想选择。本文...

关键字: 电磁铁 微控制器 STM32

边缘人工智能的实现涉及到三个基本 要素:安全性,连接性、自主性,而其中自主性是AI能力的体现,也是边缘AI有别于其他传统的物联网的关键。而通过ST Edge AI套件,就可以帮助各种不同类型的开发者实现覆盖全硬件平台的全...

关键字: 边缘人工智能 AI STM32

今天,小编将在这篇文章中为大家带来STM32单片机最小系统的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 单片机最小系统 STM32

STM32是一款由STMicroelectronics生产的微控制器系列,具有高性能、低功耗和丰富的外设资源。其中,串口通信是一种常用的通信方式,可以实现与其他设备之间的数据传输。

关键字: STM32 串口通信 微控制器

STM32是一种广泛使用的微控制器,具有丰富的通信接口。其中,串口通信是STM32与其他设备或系统进行数据交换的重要方式之一。本文将详细介绍STM32串口通信的原理、应用及常见故障。

关键字: STM32 串口通信

由于目前缺乏相应的监测技术,地下电缆线路出现异常运行状态无法被及时发现,久而久之易演变成大故障,最终只能通过更换地下电缆进行修复,耗费大量的人力、物力。鉴于此,开发了一种基于STM32的地下电缆异常状态检测系统,利用热传...

关键字: STM32 地下电缆

交通灯控制器是用于控制交通信号灯运行的设备,它可以根据交通流量、行人需求以及其他因素,动态地调整信号灯的变化时间和绿灯时长,以保证交通的流畅和安全。

关键字: 交通信号灯 STM32
关闭
关闭