标题:
OMAPL-138和FPGA的合并单元设计方案
[打印本页]
作者:
forsuccess
时间:
2012-12-9 23:59
标题:
OMAPL-138和FPGA的合并单元设计方案
摘要:
提出了一种基于ARM9+DSP双核处理器OMAPL-138和FPGA的合并单元设计方案。给出了该方案的原理框图,以及具体的程序流程图,并在CCS开发环境下完成了软件编程,实现了合并单元按照IEC61850标准规定的格式进行数字量以太网传输。实验结果证明了该设计方案的可行性与正确性,为合并单元的设计提供了一种新的思路。
关键词:
合并单元;OMAPL-138;IEC61850;以太网
引言
合并单元是一种实时接收多台电子式互感器采样测量值数据流,并对二次设备实时提供与时间相关的电流和电压样本组的装置,它既是电子式互感器的一个组件,也可作为一个分立件存在。IEC61850-9-1标准在关于合并单元的描述上很大程度参考了IEC60044-8的内容,前者定义的合并单元数字量输出格式为FT3帧格式,而后者是以太网帧格式。OMAPL-138为TI公司的双核处理器,为合并单元的设计提供了新的技术方案。
1 合并单元硬件设计
1.1 OMAPL-138简介
TI公司推出的OMAPL-138微处理器,功耗很低,可充分满足高能效、连通性设计对高集成度外设、低热量耗散以及超长电池使用寿命的需求。该器件以一个ARM926EJ-S核和一个TMS320C6748核为基础,并拥有大量外设。
1.2 合并单元硬件平台
1.2.1 核心模块的设计
核心模块采用OMAPL-138作为主控核心,搭配一片高性能FPGA来实现采集信号的解码处理、同步信号处理、守时等功能。对外扩展EMIF总线接口,NET接口,LED接口来实现完整的合并器功能。合并单元结构框图如图1所示。
系统的存储器:合并单元的存储器主要包括DDR2存储器和NAND Flash存储器,大小分别为128 MB和1 GB。
FPGA解码模块:FPGA选用Xilink公司的XC3S500E来进行12路采集信号的接收解码、B码和秒脉冲的解码处理,支持守时功能,并将处理后的同步信号输出到板卡的连接器上,连接OMAPL-138的EMIF接口,实现慢速外设及片上寄存器数据的交互。对外扩展两组独立的EMIF接口,两组接口通过地址空间进行划分,包括16位的数据总线、8位地址总线、片选信号、读写控制信号、同步时钟信号、复位信号以及中断信号等。使用Upp接口作为核心模块的数据通信接口,8位单通道,兼容8位双通道模式,用于传输采集器数据。实现两路合并信号输出接口的控制逻辑和中断逻辑,其中一路通过EMIF总线和DM9000实现,另一路通过OMAPL-138自带的EMAC实现。实现配置文件接口的控制逻辑和中断逻辑,配置文件接口通过RJ45接口输入,通过EMIF总线和DM9000实现。
合并信号输出接口:合并信号输出接口通道有两路,一路通过OMAPAL-138片上EMAC/MDIO和独立的PHY芯片KSZ8001通过MII接口实现;另一路使用EMIF总线和DM9000(1)实现,DM9000(1)片选为LANICS,控制逻辑和中断逻辑在FPGA中实现。
配置文件接口:配置文件接口通过EMIF总线和DM9000(2)实现,DM9000(2)片选信号为LAN2CS能够完成根据现场的具体情况进行通道配置等工作。
LED控制接口:实现LED显示功能,通过OMAPL-138的I2C总线来实现。
调试接口:整个系统的调试接口有3个,OMAPL-138的JTAG调试接口一个,串行调试接口一个,FPGA的JTAG调试接口一个。
电源模块:输入电源为5 V/3 A,使用TI公司的电源管理芯片TPS65251生成1.2 V、3.3 V、1.8 V电压。需要控制电源上电顺序,具有断电控制功能。
1.2.2 扩展模块的设计
采集信号接收模块:将采集信号及B码、秒脉冲对时信号由光信号转换为电信号,经电平调理及驱动电路,输出给核心模块。主要有12路采集信号、2路对时信号,支持B码及秒脉冲输入,后端均需要增加电平转换驱动电路。信号输入模块将调理后的采集信号及同步信号输出给核心模块。
网络模块:网络模块为合并单元的以太网通信模块,以太网通信PHY芯片均位于核心模块,因此该模块上需配置变压器以及网络端口。其中,合并单元的数据输出端口为两路光口,配置文件接口为一路RJ45接口。
LED模块:LED模块要实现LED显示功能,来显示整个系统的工作状态。控制信号由互感器控制主板上的CPLD实现,共有14路双色灯、2路单色灯,需要30路控制信号。使用I2C扩展GPIO芯片PCF8574ADWR实现。
2 数字量输出的以太网帧格式
电子式互感器合并单元的数字量输出以太网帧格式如图2所示。
从IEC61850-9-1标准可知,数据传输速率vD≥γslTnMU。其中,γs=mf,f为额定频率,m为每周期采样点数;lT为报文长度;nMU为合并单元数。由图2可见,该以太网帧的总长度为111字节,加上12字节的帧间隔可得lT=123字节,同时考虑到IEC61850—9—1规定m的最大值为200,以及实际应用中10%左右的裕度,可得vD≥10.824 Mb/s。因此,合并单元的以太网通信需要有100Mb/s的传输和接收能力。
3 以太网帧格式数据收发方案
合并单元数字量输出通道共两路。一路通过OMAPL-138自带的EMAC/MDIO和PHY芯片KSZS001来实现;另一路通过EMIF总线和DM9000实现,控制逻辑和中断逻辑在FPGA中实现。其中,通过前一路实现的合并单元以太网帧格式数据收发硬件电路如图3所示。OMAPL-138通过自带的EMAC/MDIO外设与KSZ8001连接,按照IEC61850-9-1标准完成将电子式互感器测量值的以太网帧格式打包发送和解包的功能。EMAC/MDIO的模块结构如图4所示。
该外设由控制模块、MDIO模块和EMAC模块3部分组成,每个模块都有与之对应的控制寄存器,并通过寄存器总线映射到存储空间。控制模块是OMAPL-138的DSP内核与EMAC模块和MDIO模块信息交换的接口,它连接EMAC模块和MDIO模块的中断到C0、C1和C2三个可配置的中断核,可向CPU发送中断请求,以处理和协调该外设内部模块间的工作。EMAC模块控制从系统到物理层的数据流,MDIO模块控制物理层配置和监视物理层状态。EMAC和MDIO通过控制模块与系统内核进行数据的发送和接收。控制模块控制设备中断,并且带有8 KB内部存储器,这个存储器用来保存EMAC缓冲区描述符。MDIO模块实现IEEE 802.3串行管理接口,这个接口使用双线询问,控制多达32个连接到KSZ8001。
MDIO总线由图3所示的MDIO_D和MDIO_CLK组成。MDIO_CLK用来同步MDIO_D传输帧前导码,以及对KSZS001及其寄存器进行读写等数据访问操作。EMAC模块主要负责发送和接收数据包,通过MII标准总线与KSZ8001连接。MII标准总线的数据发送和接收分别由MII_TXD[3:0]和MII_ RXD[3:0]引脚以并行的方式传输。MII_TX_EN信号为高电平时,发送数据有效;MII_RXDV为高电平而MII_RXEN为低电平时,接收数据有效。外部时钟源同时向OMAPL_138和KSZ8001提供25 MHz的参考时钟,用来同步所有的MII信号。
4 以太网通信软件设计
4.1 EMAC的Lookback测试
所谓Lookback测试,就是用一根光纤将光口的TX端和RX端连接起来,程序中通过TX端将数据发出去,再通过RX端接收回来,然后比较接收到的数据和发送的数据,长度和内容是否相同。若整个过程都正确,那么硬件测试就通过,接下来可以按照IEC61850-9-1规定的格式进行组帧并发送。Lookbaek的测试流程如图5所示,测试环境为CCSv3.3。
(1)OMAPL-138初始化
程序中首先需要对OMAPL-138进行初始化,主要包括PSC模块的配置、系统控制寄存器的配置,以及时钟配置、初始化RAM等。如果加载了GEL文件,此步骤可省略(GEL文件会自动初始化OMAPL-138),只需初始化定时器即可。
(2)EMAO初始化
EMAC初始化过程中,首先要复位EMAC模块,并关闭该模块的全部中断。然后,使能PSC,配置OMAPL-138的引脚为MII接口方式。再设置本地MAC地址,并仅使能通道0。以上配置过程完成后,使能发送和接收中断,设置接收缓冲区的偏移量和最大长度。初始化发送和接收缓存描述符链,它是实现EMAC发送和接收的关键。缓存描述符由4个字组成,在程序中可以采用如下结构体来实现:
next指向下一个缓存描述符的地址,当一个数据包被分成多段连续传输时,通过它形成描述符链,最后一个描述符取0即可。*buffer存放有待发送/接收互感器测量采样值和其他数据的缓存地址。buff_offset_length为缓存的偏移量(高16位)和长度(低16位),一般情况下偏移量取0,即缓存从一开始就存放数据。Flags_pkt_length表示数据包的标志位(高16位)和长度(低16位),当一个描述符代表一个完整数据包时,标志位中的SOP、EOP和OWNER需置1。初始化描述符链可以通过如下方式进行:
缓存描述符链初始化完成后,首先要清空MAC控制寄存器、发送/接收控制寄存器、DMA控制寄存器。然后,将第一个描述符的地址写入DMA通道首描述符指针寄存器TXHDP[0],准备开始发送。再使能发送控制寄存器、DMA控制寄存器。最后,初始化MDIO模块,寻找一个激活的PHY。
(3)进入Lookback模式
使网口进入Lookback模式,就是读取并配置KSZ8001的寄存器,通过MDIO中的USERACCESS0寄存器来完成。
(4)数据发送
在必要的初始化和配置完成后,就可以启动数据发送了,程序中可以预设一个要发送的大小为1 024个字节的数组。在发送数据之前,首先要检查连接状态,通过MDIO读取KSZ8001的状态寄存器来判断。连接成功后,需要检查待发送数据包的长度,如果数据包的长度大于定义的最大数据包长度,就将数据包分成多个以太网帧进行传输。然后,定义缓存描述符,并将描述符的地址写入DMA通道首描述符指针寄存器TXHDP[0],即开始以太网帧格式数据包的发送。等待发送完成,即发送完成标志位被置位。
(5)数据接收
数据接收过程与发送类似。若接收中断状态标志位被置位,说明有数据包到来,检查数据包的好坏,将接收描述符的地址写入DMA通道的描述符指针寄存器RXHDP[0],即开始了接收。
4.2 合并单元向PC机发送数据
合并单元向PC机发送数据的通信电路框图如图6所示。OMAPL-138与独立的PHY芯片KSZS001连接,通过光纤将光口与光电转换器相连,上位机(PC机)通过网口与光电转换器相连。这样,测试平台就搭好了。
OMAPL-138通过KSZS001向PC机发送数据的过程与Lookback测试的流程基本相同,只是不需要配置成Lookback模式,也不需要它接收。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0