基于双核OMAP5910的变电站远程监控系统精.docx
- 文档编号:16690215
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:15
- 大小:31.72KB
基于双核OMAP5910的变电站远程监控系统精.docx
《基于双核OMAP5910的变电站远程监控系统精.docx》由会员分享,可在线阅读,更多相关《基于双核OMAP5910的变电站远程监控系统精.docx(15页珍藏版)》请在冰点文库上搜索。
基于双核OMAP5910的变电站远程监控系统精
基于双核OMAP5910的变电站远程监控系统
李文进,韩晓萍
(山东大学电气工程学院,山东济南250061
摘要:
介绍了开放式多媒体应用平台(OMAP5910的软硬件结构及其特点,提出了以OMAP5910为核心处理器的变电站远程监控系统的设计方案。
该方案充分利用了OMAP双核的特点:
ARM
(AdvancedRISCMachines微处理器可满足控制、
以太网通信及接口方面的处理需要,DSP微处理器主要用于处理各种实时任务。
应用该系统提高了变电站数据采集的准确度及实时性。
关键词:
开放式多媒体应用平台;WindowsCE操作系统;DSP/BIOSⅡ操作系统;TCP/IP协议;远程监控系统中图分类号:
TM73
文献标识码:
B
文章编号:
1006-6047(200606-0070-050引言
随着控制技术及通信技术的快速发展,微处理器的应用程序设计变得越来越庞大、复杂,使得微处理器芯片内必须混合各种各样的算法,同时要完成高性能的、复杂的系统控制及同其他通用微处理器
(如单片机、
上位机及各种外围设备的通信。
对于演绎一个比较完善的复杂系统,实时性是一个非常重要的因素。
本系统采用德州仪器公司的开放式多媒体应用平台OMAP(OpenMultimediaApplicationsPlatform体系结构,其采用一种独特的双核结构,把高性能低功耗的DSP核与控制性能强的ARM(AdvancedRISCMachines微处理器结合,成为高度整合性SoC[1]。
它是一种开放式的、可编程的基于DSP的体系结构。
由于OMAP先进独特的结构,其芯片运算处理能力强、功耗低,在远程通信及数据处
理方面具有明显优势。
1OMAP5910介绍
1.1OMAP5910的硬件结构
OMAP硬件平台采用双核技术提高操作系统的效率和优化代码的执行,如图1所示。
OMAP5910
是一个高度集成的硬件和软件应用平台,为实现下一代嵌入式设备的应用而设计的。
它具有独特的双核结构,一个实现控制功能的带TI增强型ARM925内核的RISC处理器和一个实现数据处理功能的高性能、低功耗的TMS320C55xDSP核。
1.1.1MPU内核
微处理器(MPU内核采用5级管道化流水线32位RISC处理器架构的体系结构,同时配备Thumb扩展。
这款新型高性能、低功耗的微构架兼容ARMv4T指令集,并通过使用协处理器CP15使体系结构得到
收稿日期:
2005-11-10;修回日期:
2006-01-16
电力自动化设备
ElectricPowerAutomationEquipment
Vol.26No.6Jun.2006
第26卷第6期2006年
6月
图1OMAP5910微处理器结构图
Fig.1StructureofOMAP5910microprocessor
DSP
存储
管理单元
TMS320C55x
DSP3个定时器1个看门狗
Level1/2中断处理器
MPU接口
系统DMA控制器
MPU
外围设备桥
存储器流量控制器(TC
EMIFSEMIFFSRAM1.5MbMPU核(TI925OMAP5910
TIPB
转换MailboxGPIOI/FUART1UART2UART3(IrDA
McBSP1McBSP3MCSI1MCSI2
McBSP2USBHostI/FUSBFunctionI/F
uWireCameraI/FMPUIO32kHz计数器PWT/PWL键盘I/FMMC/SDLPGx2帧调整计数器
HDQ/1-WIRE实时时钟控制器
ETM9
JTAG/仿真
I/F
I/F
定时器(3看门狗定时器Level1/2中断控制器配置寄存器识别器件
时钟和复位管理
时钟复位外部时钟请求
增强[2]。
系统中的控制寄存器可通过对协处理器CP15的读写对存储管理单元(MMU、cache[3]和读写缓存控制器作存取操作。
这种微构架在ARM核的周围提供了指令与数据存储器管理单元,指令、数据和写缓冲器,性能监控、调试和JTAG单元及协处理器接口,MAC协处理器和内核存储总线。
TI925T的MMU具有2个64项的转换旁路缓存器(TLB用于指令和数据流,每项均可映射存储器的段、大页和小页。
为保证内核周期的存取指令和数据,TI925T包含了分别独立的1个16KByte的指令cache和8KByte的数据cache。
指令和数据cache都是2路相互关联的cache,以16Byte为1块进行操作,并采用最小最近使用LRU算法以刷新存储。
另外,TI925T还提供1个写缓冲用于提升内核性能,其能够缓冲数据容量高达17字。
1.1.2DSP内核
DSPC55x内核的主要特点是:
有1个64×8位缓存队列,2个17×17位乘法器,1个40位算术逻辑部件(ALU,1个16位ALU,1个40位桶形移位器和4个40位加法器。
另外,还有12条独立的总线,即3条数据读总线、2条数据写总线、5条数据地址总线、1条程序读取总线和1条程序地址总线,以及用户可配置的IDLE域。
同时,内核主要由4个单元组成:
指令缓冲单元(I单元、程序流单元(P单元、地址数据流单元(A单元和数据运算单元(D单元。
1.1.3EMIFS接口、EMIFF接口、IMIF接口和存储器在OMAP5910微处理器核心中,提供了2个扩充内存接口。
一个扩充内存的外部满速存储器(EMIFS接口可以支持128MByte的ASRAM,Flash和ROM。
另一个扩充内存的快速片外存储器(EMIFF接口可设定为用于操作SDRAM,寻址空间高达128MByte[4]。
还有一个内部存储器区,用于连接OMAP5910微处理器内部的内存,可以存取常用数据。
这几个内存接口都是独立运作,可以同时经由微处理器核心存取数据,又可以利用DMA数据。
而内存间数据传输的控制则由流量控制器(TC控制,它会对各种传输需求依设定的优先级传送数据。
1.2OMAP5910的软件结构
OMAP5910支持多种实时多任务操作系统在ARM925微处理器上工作,用于对ARM925微处理器的实时多任务调度管理,对DSPC55x的控制和通信,同时也支持多种实时多任务操作系统在DSPC55x上工作,实现复杂的信号处理。
OMAP5910的软件结构基于2个操作系统:
一个是基于ARM的WindowsCE和Linux等操作系统;另一个是基于DSP的DSP/BIOSⅡ[5]。
连接2个操作系统的核心技术是DSP/BIOS桥,它是实现和使用OMAP5910的关键。
对于软件开发者而言,DSP/BIOS桥提供了一种使用DSP的无缝接口,允许开发者在通用处理器(GPP上使用标准应用编程接口访问并控制DSP的运行环境。
利用TI公司的CCS(CodeComposerStudio集成开发环境,从开发者角度,OMAP好像仅用GPP处理器就完成所有处理功能。
在OMAP体系结构下,开发者可像对单个GPP那样对OMAP的双处理器平台编程,最后由DSP/BIOS桥协调数据、I/O流和DSP任务控制[6]。
2OMAP在变电站远程监控系统中应用
为了实现基于TCP/IP网络的嵌入式远程监控系统,其结构图如图2所示。
该系统采用3层体系结构:
第1层(上层是服务器层,其主要作用是负责存储多功能电表的数据、实现对仪表的远程监测、控制等功能。
服务器与Internet连接,安装在客户服务中心的主站,通过Internet查收各个多功能电表的相关数据和参数。
第2层(中层是控制层。
控制层通过以太网与服务器层相连,通过RS-485总线与第3层的多功能电表通过RS-232通信方式相连。
控制层的核心器件是变电站远程监控终端,其主要功能是对多功能电表的数据采集、计算和参数设置,并把采集到的数据通过以太网传输到主站。
第3层(下层是多功能电表层。
在监控终端中嵌入了各种国际标准通信规约,可实现对各种各样电表的采集。
TCP/IP网络体系定义了4个协议层次,自下而上依次为网络接口层、网络互连层、传输层和应用层[7]。
嵌入式系统是为完成某种特定的功能而设计的专用系统。
嵌入式系统不要求(也不可能实现所有的TCP/IP协议,所以嵌入式TCP/IP是对TCP/IP协议族作选择而形成的协议集合。
在OMAP5910内部,ARM程序完成对数据的打包、解包。
系统复位后,首先发送地址解析协议(ARP请求,建立地址映射,并将内部中断定时更新。
ARM芯片根据情况将采集或收集到的数据按照TCP协议或用户数据报协议(UDP格式打包,送入网卡芯片,由网卡芯片将数据输出到局域网中。
反之,当有数据从RJ45输入时,网卡芯片产生外部中断,请求ARM处理。
ARM芯片对数据报进行分析,若是ARP数据包,则程序转入ARP处理程序;若是IP数据包,则进主站服务器打印机
Ethernet
变电站远程
监控终端1
变电站远程
监控终端n
…
多功能
电表1
多功能
电表n
…
多功能
电表1
多功能
电表n
…
Internet
图2监控系统结构图
Fig.2Structureofmonitoringsystem
李文进,等:
基于双核OMAP5910的变电站远程监控系统第6期
一步判断是哪个协议向IP传送数据;若是网间控制报文协议(ICMP,判断是否为Ping请求,是则应答,否则丢弃该数据包;若是TCP或UDP协议,且端口正确则按相应的协议处理数据,否则丢弃数据包。
3监控系统硬件设计
本系统的核心器件即OMAP5910。
其配备了功
能齐全的外围设备接口,极大地满足了用户对功能的需求。
硬件设计原理图如图3所示。
3.1网络控制芯片
网络控制芯片采用RTL8019AS,它是REALTEK公司出品的10Mbit/s以太网控制器,支持8位或16位数据总线;内置16KByte的SRAM,用于收发缓冲;全双工收发同时达到10Mbit/s;兼容IEEE802.3,10BASE-T等协议。
网络控制芯片主要实现以太网媒介访问层(MAC和物理层(PHY的所有功能。
嵌入式系统提供RJ45接口连接Ethernet网络,也提供1个并行接口连接LED大屏幕。
网络控制芯片
RTL8019AS接收Ethernet上计算机发送的数据包,ARM处理器将数据包解析,也可将需要发送到Ethernet上的响应数据封装打包。
另外,系统将IP地址、网卡MAC地址和其他重要参数保存在EEPROM24C02中,用于网卡程序初始化和地址识别。
3.2看门狗、DS12887时钟及液晶显示
DS12887是DALLAS公司生产的实时日历时钟
芯片,其主要功能包括非易失性时日历时钟、报警器、百年历、可编程中断、方波发生器和114Byte的非易失静态RAM。
可实现与ARM处理器相同的时钟频率,从而保证ARM处理器与外部电路的时序一致。
采用MAXIM公司的MAX1232芯片,监视电源电压和ARM处理器的工作状态,结构简单、功能丰富,提高了系统的可靠性和准确度。
液晶系统采用精电蓬远公司的MOBI2006液晶显示,为128×64点阵图形液晶,可显示8行西文、数字字符或者4行汉字,实时显示电网有关参数,直观显示预置参数。
3.3
AD转换模块
本系统采用14位的MAX125转换模块可满足处理多路模拟信号,采用逐次逼近法完成AD转
换;其片内带有锁存功能的8路模拟开关,可对8路0~5V的模拟电压信号转换,完成1次转换约需100μs。
其输出具有TTL三态锁存缓冲器,可直接接到DSP核的P0口。
4监控系统软件设计
OMAP是一个高度集成的硬件和软件应用平
台,它支持多种的嵌入式操作系统、高级语言编程以及丰富的DSP算法[8]。
本系统在RISC处理器中采用WindowsCE操作系统,在DSP处理器采用DSP/BIOSⅡ。
在OMAP上开发程序通常分为2部分,一部分是使用EmbeddedVisualC开发ARM端程序,另一部分是使用TICCS开发DSP端程序。
前者主要是为了使设计的算法与xDAIS(eXpressDSPTM算法标准兼容,在ARM端程序中调用一些DSP/BIOS桥的API实现在DSP发出的数据流进行缓冲、暂停、继续、删除DSP任务并进行资源状态查询等。
而具体的功能实现则是在DSP端完成。
图4显示了ARM925T应用程序与DSP节点间的关系。
4.1
GPP软件设计
WindowsCE是一个功能强大的开放的32位实
时嵌入式操作系统,适用于快速构建新一代内存少、体积小的智能设备[9]。
WindowsCE具有全新的内核和任务调度、内存管理策略,不是简单地从Windows
9X/NT系统移植的。
WindowsCE操作系统几乎完全是用C语言编写的,具有很强的可移植性。
支持32位的ARM处理器,微软为每个支持的处理器家
族提供完整的系统库,提供了标准的开放式平台。
WindowsCE3.0支持嵌套中断、256个线程优先级、
支持信号量、改善线程响应时间等技术手段,使其比以前的版本具有更强的实时性能。
对于GPP操作系统(ARM而言,DSP/BIOS桥增加了APIs,使GPP的多个客户程序能够同时利用
分配处理器分配节点建立数据流连接数据流创建节点关闭数据流运行节点删除节点
创建函数(分配存储器,创建数据流,分配资源,有效算法
执行函数
(查询是否有消息和
数据流的循环删除函数
(无效算法,释放资源数据流、存储器
图4ARM应用程序与DSP节点间的关系
Fig.4RelationshipbetweenARMappli-
cationprograms
andDSPnodes
图3监控终端硬件原理图
Fig.3Hardwareprincipleofmonitoringterminal
TMS320C55x
微处理器子系统(ARM925T
OMAP5910
外设接口
存储器接口
LCD接口SDRAMROMRAMFlash
LCD显示
AD模块光电隔离看门狗电路外部时钟电路网络控制芯片JTAG调试接口键盘
第26卷
电力自动化设备
DSP的资源。
GPP应用程序或设备驱动程序使用DSP/BIOS桥增加的APIs,与运行在DSP上的关联任务通信。
GPP应用程序或设备驱动程序可以通过APIs实现功能如下:
a.初始化DSP上的信号处理任务;
b.与DSP任务交换信息;
c.与DSP任务双向交换数据流;
d.停止、激活、删除DSP任务;
e.查询资源的状态。
4.2DSP软件设计
实时操作系统内核(RTOSDSP/BIOSⅡ实际上是一个可调用的系统模块的API集合,主要包括以下核心模块。
4.2.1任务调度模块
任务调度模块完成的主要功能是任务调度,任务调度的高效性、流畅性、实时性等是决定一个操作系统优劣的重要指标。
DSP/BIOSⅡ通过硬件中断HWI(HardwareInterrupt、软件中断SWI(SoftwareInterrupt、任务TSK(Tasks3个核心模块实现任务调度,具体包括4个模块。
a.HWI主要负责同外部交换信息。
它的优先级最高、响应延时最小、不存在任务调度的问题,即它的响应是无条件的,所以它的中断服务程序ISR应尽可能地短小精悍。
b.SWI是DSP/BIOSⅡ任务调度的核心,尤其是实时性比较强的任务,它有14个优先级,每个优先级又可有多个任务,SWI的任务是抢断式的,即高优先级的任务抢断低优先级的任务。
同一优先级的任务按“先来先执行”的原则调度。
所有的软件中断都共享一个堆栈,所以软件中断是不支持阻塞的,即本身不能干涉程序的执行。
这样做减少了执行开关程序(contextswitching的时间,能支持快速响应及快速处理,适合实时性要求比较高的进程。
c.TSK独立使用CPU的进程,真正体现了多线程的思想,支持阻塞和优先级抢断。
TSK共有15个优先级,每个任务均有自己独立的堆栈,故增加了执行开关程序的时间,响应延时比较长,适合于对实时性要求不是很高的进程。
4.2.2进程同步模块
进程同步模块(SEM/QUE/MBX在多任务操作系统中,有时进程间需要同步协调。
协调的方法多种多样,DSP/BIOSⅡ提供了SEM,QUE和MBX3种协调机制。
4.2.3数据输入/输出模块
数据输入/输出模块(PIP/SIO。
DSP/BIOSⅡ提供了2种常用于接口对象PIP和SIO,数据通道(PIP含有读/写通知函数依此来完成读写的协调。
同时它的数据交换是拷贝形式的,即读完后要调PIP-free(函数清空,否则不能继续使用。
数据流(SIO的数据传递过程是一个传递指针的过程,因此,对于比较大的数据量SIO的效率要高得多。
4.2.4调试模块
调试模块(LOG/RTDX/STS经常设置断点或单步运行来观察变量及寄存器的设置是否正确。
但是,对于实时程序而言,一旦停止就意味着破坏了所谓实时性。
常规的调试方法已不能满足新的调试要求,故DSP/BIOSⅡ提供了LOG,RTDX和STS3种供调试使用的模块。
LOG模块的功能相当于C语言中Printf(函数。
STS是用于跟踪程序段运行周期的统计模块。
实时数据交换RTDX(RealTimeDataeXchange是DSP/BIOSⅡ提供的比较新的功能模块,主要用在调试过程中,当数据量比较大时,实时地通过JTAG口向主机传送数据而基本不影响程序的正常运行。
4.3处理器的交互通信
ARM和DSP之间通过一个邮箱以中断机制通信,该机制在处理器之间提供了灵活的软件协议。
该邮箱位于系统的共享存储空间中(ARM的位地址为0xFFFC:
F000,DSP的字地址为0x0F800。
系统有4套邮箱寄存器,2套用于ARM向DSP发送信息和产生中断,另外2套用于DSP向ARM发送信息和产生中断。
每套邮箱寄存器包含2个16bit寄存器和1个1bit标志寄存器,其中1个16bit寄存器由产生中断的处理器传递1个数据字到被中断的处理器,另外1个16bit寄存器用于传递命令字。
2个处理器间的通信这样实现:
当1个处理器将合适的命令写到寄存器后,该寄存器会产生中断,对另外1个处理器的标志寄存器进行正确设置。
被中断的处理器通过读标志寄存器响应中断并清空标志寄存器。
每套邮箱寄存器中,还有1个附加的数据字寄存器,可以在每次中断时在处理器间传送2个字的数据,而不光只有命令字。
DSP/BIOS桥用于非对称的、由1个通用的处理器(GPP和1个或多个DSP组成的多处理器环境。
DSP/BIOS桥作为GGP和DSP的软件组合,把2个操作系统连接在一起[10],能使GPP端客户与DSP上的任务交换信息和数据。
连接分为消息子连接和数据流子连接2种。
每种子连接都按顺序传递消息,先到消息链的消息就先被传递;同样,先到数据流链的数据流就先被传递。
每个子连接都独立操作,例如:
GP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 OMAP5910 变电站 远程 监控 系统