APP下载

面向ESP双核控制架构通信模块的设计与实现

2014-10-15潘必超何圣华

计算机与现代化 2014年1期
关键词:双口双核网络通信

潘必超,曹 彪,张 瑾,何圣华

(1.广东机电职业技术学院信息工程学院,广东 广州 510515;2.华南理工大学机械与汽车工程学院,广东 广州 510640)

0 引言

随着国家积极推进节能减排的发展战略,高压静电除尘器作为燃煤电厂重要的环保设备之一,日益受到重视。高压静电除尘器的工作原理与控制特性决定了在控制器的结构设计上必须同时考虑控制器控制行为的实时性以及多任务特性。在工业控制领域,以DSP为控制核心静电除尘控制器在技术上相对成熟[1],目前更多的焦点放在控制器的协同优化上[2-5]。作为ESP控制器的网络通讯模块,实现双核通信架构以及多控制器间网络通信,则成为其中关键支撑技术之一。基于双核的控制架构已成主流,常见的硬件架构有3种:基于内部总线技术[6]、基于FPGA+共享 RAM 技术[7]、基于双端口存储器技术[8]。

基于内部总线技术也就是常见的单芯片双核架构,常见于消费电子产品与保安监控产品。该架构存在两大问题导致不适用于电除尘控制器:(1)发热量非常大,温度适应能力低,这与电除尘工业现场的恶劣的温度环境(-30℃ ~85℃)与散热环境较差产生矛盾;(2)工业级的单芯双核芯片(例如 TI OMAPL138)缺乏内置ADC模块,外扩ADC模块增加了系统成本和通信工作量外,同时也降低了系统的稳定性。

基于FPGA+共享RAM技术主要适合于外部芯片数量较多且访问时序相对复杂的情况。因为增加了FPGA环节,访问效率难以提高。

本文采用的双端口存储器技术具有3大优势:(1)存储器芯片、ARM与DSP均有工业级环境温度适应能力;(2)存储芯片内无需进行任何开发定制即可满足双核间访问速率的匹配;(3)模块化设计以后可直接替换使用,增强了器件的互换性,极高的存取访问速度在提升了通信带宽的同时,也降低了控制器的开发成本。

本文从核间通信机制的实现以及控制器间网络通信机制的实现两个层面给出一种基于AM1808+双端口存储芯片实用新颖的通信模块的设计方案,在此基础上,使用开放性工业通信协议MODBUS实现多控制器层级互联。最后通过实际电场实验验证该通信模块在实际控制过程中的可行性与合理性。

1 控制器核间通信的实现

AM1808是一款基于ARM926EJ精简指令集的32位ARM处理器,其超低功耗以及其工业稳定特性使其非常适合承担控制器的网络通信工作。基于AM1808控制器网络通信模块的实现主要由2个部分工作构成如图1所示,分别为:网络通信模块对内实现控制器内部核间通信与同步;网络通信模块对外需要采用一定的通信协议实现控制器之间的数据交互与同步。

图1 基于AM1808网络通信模块的解决方案示意图

1.1 核间通信的物理连接

CY7C024AV2是由Cypress公司专门为多核通信而推出的一款双端口异步存储芯片。该芯片可作为RAM芯片独立使用,也能同时与2种不同速率的MCU相连接,且内置了多种防止数据访问冲突的保护机制。该存储芯片的存取周期达到20ns,理论带宽可以达到50M×16bps。图2(a)给出了AM1808以及DSP与双端口RAM接口互连的电路图。AM1808使用 EMIFA(External Memory Interface A)与CY7C024AV2其中一个端口相连接。EMIFA是AM1808用于与外部存储器连接访问的控制器,其主要用途是提供一种通用的连接方法使CPU能与多种不同的外部存储设备相连接。图2(b)给出了该网络通信模块的电路实物图。

图2 控制器内双核间通信接口电路

1.2 核间通信技术的软件协议

与其它基于共享存储空间的多核通信架构相类似(如TI的达芬奇架构),多核通信的最关键问题是通信双方数据访问的协同。这主要包含了2个关键问题,第一是速率的匹配;第二是地址访问冲突。双端口RAM CY7C024AV2的左右2个数据接口采用了异步数据访问机制,可做到访问速率与MCU访问速率相匹配。

为了保证双核通信中数据访问不会发生冲突,双端口RAM CY7C024AV2内部提供了3种机制,分别是:逻辑忙信号机制、通信邮箱与中断机制以及令牌机制[8-10]。

本文采用的是通信邮箱与中断机制。CY7C024AV2存储空间中的最高2个地址空间,即0xFFF与0xFFE,是用作通信双方的邮箱。当AM1808向双口RAM最高地址OxFFF写数据时候,双口RAM将在INTR引脚产生一个低电平的中断信号,从而触发DSP作出相应的响应动作。同样,当DSP向OxFFE写入指令数据,也会在INTL引脚产生一个中断信号。采用邮箱机制,实现MCU之间的软握手,在双方访问特定存储空间前,先得到对方的同意再进行写入操作。同样,在结束写入操作后,也可以通过邮箱通知对方。这就从根本上避免了数据访问冲突的发生。

实施这种硬件中断机制需要建立一套完善的用户自定义通信协议,即邮箱内容和动作的对应关系。图3给出了AM1808访问双口RAM时与DSP的通信协议。AM1808没有任何数据请求时,处于空闲状态。当AM1808收到上位机的数据请求指令后,产生相应的数据访问需求,就会进入询问等待状态。该状态主要向双口RAM的邮箱发送一个16bit数据指令,告诉DSP当前AM1808需要访问的数据归属的逻辑功能以及请求级别。这样,DSP端收到中断信号,DSP根据自身的状态判断该区段是否正在访问,并通过邮箱告之AM1808。若不能访问,AM1808将等待一段时间后再次发送请求。若可以访问,AM1808将取得访问权,DSP会暂时停止对该区段数据的更新操作,并在相应的标志位置位。而当DSP产生更高级别访问请求时,通过邮箱向AM1808产生请求。此时AM1808根据访问优先级,将重新回到等待状态。直到AM1808访问结束后,AM1808会通过邮箱发送一个访问结束的指令到DSP,告诉DSP该区段空闲。在DSP端同样执行相应的握手协议。

图3 AM1808与DSP之间IPC通信协议

上述协议的作用,保证了不论是AM1808还是DSP,一旦获得双口RAM相应区段的读写权限后,将会进行全速读写操作而无需顾虑对对方造成影响。通信双方都采用一套相同状态机制,有效避免了双方数据访问冲突。

2 控制器多级互联与网络协同

静电除尘控制器作为一种工业控制器,为了防止信息孤岛的产生,控制器间的通信应该具备一定的开放性,以便与上层应用软件相集成[11]。基于AM1808的网络通信模块采用了MODBUS/TCP协议作为主要通信协议。

控制器网络拓扑图如图4所示。控制器网络中存在唯一一台主控制器。在AM1808通信模块上运行基于Linux 2.6内核的控制软件[12]。该软件主要实现控制器的主动访问行为和被动访问行为。

主动访问行为发生在控制器之间,主要用于网络对时、向主控制器获取上一层级电场和下一级电场控制器的IP,并实时请求上一级电场参数和下一层级电场参数,从而实现动态调整当前一级电场的运行参数,实现控制器之间的网络协同。

被动访问行为是指上位机服务器(图4中的Pro-Mo)采用轮询的形式向控制器AM1808的通信模块发送数据读写请求,基于AM1808的网络通信模块采用“请求/响应”型应答机制,向上位机提交控制器的运行数据。

图4 控制器网络连接图

3 实验与结果分析

3.1 模块内双口RAM通信性能测试

对于电除尘控制器而言,数据从DSP传向ARM称为数据上行,ARM发控制指令到DSP称为数据下行。上行数据主要包括各种信号的采样实时数据,以及DSP的实时分析数据,实际工作过程中更关注的是数据上行的传输性能。本文DSP工作于基于中断和主循环的“前后台”模式,采用双缓冲机制保证采样数据的异步上传。最大速率发生在一次电压过零时刻,ARM发出采样数据上传指令,DSP采用全速率上传。其中DSP写双口RAM周期为100ns,传输数据为6通道且每通道128个采样点,合共768×16bit,传输总时长76.8μs,折算传输带宽为160Mbps。

3.2 ARM从DSP读取半波周期内控制器V-A采样数据

V-A数据,也就是电除尘本体工作时候的二次侧电压和电流采样信号,它是电除尘控制器运行的重要依据。在工频环境下系统运行时,DSP以过零信号为间隔,每10ms为周期将采样数据写入内部的采样数据缓冲。图5是ARM从DSP数据缓冲中读取单一次(10ms)采样周期内的二次侧电流和二次侧电压采样数据。每组数据由128个采样点构成。通过实验验证,采用本文所设计的双核通信方案能在除尘器稳定工作过程中以异步获取数据的形式读取采样数据,数据连续,且准确反映当前工作状态。

3.3 网络通信实验

采用C#开发的简易上位机应用程序,通过MODBUS协议将控制器采样的信号以异步通信方式回传到上位机。受设备成本因素考虑,没有外扩存储芯片的DSP可用内存数据空间有限(34K),DSP提供存储4个半波周期采样数据的缓冲区。如图6所示,即使在电场火花放电时刻上位机也能成功通过以太网从基于AM1808实现的网络通信模块中读回控制器的运行数据。模块工作稳定,数据连续、准确。

图6 上位机实时显示控制器采样得到的二次侧电流、电压信号

4 结束语

本文在自行研发的基于AM1808的工业以太网通信模块的基础上,实现了AM1808+DSP的ESP控制器双核通信技术,采用MODBUS/TCP协议实现控制器间的协同。经过高压静电场实验验证,该方案满足了控制器在恶劣工况下的正常需求,且具有高可靠性、高稳定性和数据开放性。本文的研究为后续进一步研究控制器网络协同优化提供了硬件基础。这主要依赖于AM1808的本地运算能力能容易实现现场控制信号的二次处理以及控制器网络中的传感器网络信息融合。因此,基于AM1808面向ESP双核通信架构的网络通信模块具有相当大的应用扩展空间。

[1]熊国喜,谢运祥,公伟勇,等.基于DSP的静电除尘三相电源控制系统研制[J].电力电子技术,2011,45(2):103-105.

[2]徐高峰.工业电除尘装置的节能优化与控制器设计[D].大连:大连理工大学,2009.

[3]李志军.静电除尘高压电源的优化控制系统[J].电气传动,2012,42(2):65-68.

[4]Grass N,Zintl A,Hoffmann E.Enhanced performance for electrostatic precipitators by means of conventional and fuzzy logic control[C]//Industry Applications Society Annual Meeting.2008:1-4.

[5]Grass N.Fuzzy logic-based power control system for multi field electrostatic precipitators[J].IEEE Transactions on Industry Applications,2002,38(5):1190-1195.

[6]赵晶,王新楼.ARM加DSP嵌入式双架构系统的设计与实现[J].兰州交通大学学报,2012,31(3):138-141.

[7]梁漫,蒋留兵.基于DSP+FPGA+ARM构建雷达与雷达对抗演示实验系统[J].桂林电子科技大学学报,2011,31(6):456-459.

[8]刘玉珍,张晔.双端口RAM在ARM与DSP通信系统中的应用[J].计算机系统应用,2011,20(11):213-216.

[9]安剑奇,廖丽清,温兴清.高速双端口共享存储器IDT7025及其应用[J].电子工艺技术,2006,27(5):291-293.

[10]朱欣华.多机系统中双口RAM的构成方法及应用[J].测控技术,2006,15(2):44-46.

[11]徐皑冬,王宏,杨志家.基于以太网的工业控制网络[J].信息与控制,2009,29(2):182-186.

[12]杜娟,张瑾,刘冰许,等.基于DSP+ARM的农村电网电能质量监测系统研究[J].计算机与现代化,2011(12):165-167.

猜你喜欢

双口双核网络通信
全球金融“F20”在此召开!横沥进入“双核”时代
双口形式的戴维宁定理在电路分析中的应用
基于网络通信的智能照明系统设计
网络通信中信息隐藏技术的应用
基于网络通信的校园智能音箱设计
谈计算机网络通信常见问题及技术发展
Matching mechanism analysis on an adaptive cycle engine
新型夹心双核配和物[Zn2(ABTC)(phen)2(H2O)6·2H2O]的合成及其荧光性能
双口RAM读写正确性自动测试的有限状态机控制器设计方法
双口RAM在无人机三余度飞控计算机数据交换中的应用