
设计开发
基于FPGA技术实现对嵌入式系统的在线监控
罗童1周宏伟2
(1.杭州电子科技大学计算机学院浙江杭州310018;2.泰瑞机器股份有限公司浙江杭州310018)
摘要论文旨在研究基于FPGA技水对嵌入式SoC系统进行在线监控的方法。设计了一个FPGA片上通信系统该系统内部固化基于UART接口的Modbus通试协议,可通过串口与PC上位机进行通信;且采用双口RAM作为与监控对象间共享的数据缓存区,通过中斯机制实现数据的同步交换,既确保了监控数据的实时性,也避免了嵌入式系统因处理监控通信过程而带来性能损失。采用VHDL语言设计实现了通信系统的各组成部分,在 Altera的cyclonell系列芯片开发板上验证了方案的可行性
关键词:可编程过辑控制器丧入式片上承航双口RAMModBus协议差控
文章编号:1007-9416(2014)02-0166-02
中图分类号:TP316
文献标识码:A
在SoC系统的设计及使用过程中,对其内部行为的实时监控十
GA芯片
a
da
待监控
标
双口 RAM
int
Modbus 协议
图1通信系统组成结构
内存映像
离散输入离散编出辅助信号 VD数据区
双ORAM区中断邮箱
data 1 data 2
data i
add 1 add 2
! ppe
图2双口RAM的内存映射机制
BCLK 4S DATA
ADD
CE WR 4RD
解新主控模块
接收缓存 RAM
sre[15.0] tr_start
srD.o]
[''e. Ei_eaf
CRC较验
el
GRO生成
发送缓存 RA
图3Modbus协议栈顶层框图
PC机串口
1000X0=PPV Modbus读写
惠口接收
-RX
d
re
接收控制
时钟生成审口发送
HCLK TX-
分重要,目前普遍通过监控端和目标系统间的监控信息通信来实现,UART常用作通信信道。
目标SoC系统常使用中断方式或轮询方式获取监控通信数据包,对其解析并进行相应数据操作后回复应答信息。中断方式中 SoC需完成保存中断现场.调用中断服务程序、恢复现场系列任务,上下文的切换占据了系统额外开销,轮询方式中,系统定时检查设备请求,若有数据到达则调用相应处理程序,固定的轮询周期增加了数据等待处理时间,数据量较小时频繁查询造成对CPU资源的浪费。
针对上述问题,提出一种的新监控方法,设计一个FPGA通信系统,由其作为SoC与监控计算机数据交互的桥梁,负责完成在线监控的通信过程,保证被调试系统和调试主机之间调试信息和命令的交互可靠性,可避免目标SoC频繁的处理通信中断,提高其控制性能。监控功能实现机制与通信系统主要模块的设计方法将被讨论,通过对比嵌人式CPU在不同监控方法中的通信时间消耗,说明
该方法具有一定实用价值。 1系统组成结构
基于FPGA设计片上通信系统如图1所示,其主要组成部分为 Modbus解析模块和双口RAM存储模块。上位机发出监控命令慎数据时,由Modbus模块完成命令慎的接收、解析过程,并将待操作地址、数据等信息存人双口RAM中,目标CPU据此将自身内存映像区的相应数据一次搬人双口RAM,搬移完毕后,Modbus协议模块进行应答数据组赖,并向监控上位机发回应答数据,实现对监控数据的实时可靠采集,
2基于双口RAM的数据交互设计
2.1双口RAM定制及内存映射设计
目标SoC中的待监控数据状态量在内存中的存储方式,可抽象表示为如图2中内存映像,
双口RAM中存储当前待监控数据对象集合,是目标CPU内存映像区的一个数据子集。由于当前监控对象可随机落在内存映像区的任意存储块上,双口RAM的内存映射方式选取为随机映射,如图 2所示。
分散存放于CPU内存映像区的监控对象,映射为双口RAM中的连续存储区。上位机基于Modbus协议与FPGA片上系统通信时,访问连续的地址单元,保证了数据访问速度,提高系统的通信效率。
2.2双口RAM中的数据操作设计 2.2.1上佳机对双口RAM的读写接作
PC上位机为通信发起方,通过串口与FPGA片上系统连接,采用Modbus-RTU协议进行数据通信,完成对运行参数的读取和写人等操作,实现监控功能。
基金项目:国家863计划项目(2013AA040301);浙江省重点科技创新团队“面向行业的嵌入式关键技术"(2010R50008)。作者简介:罗奎(1987-)女,汉,湖北省黄冈市团风县,硕士研究生,主要研究方向为FPGA在智能控制中的应用。
周宏伟(1976一),男,汉,浙江省杭州市萧山区,学士,主要研究方向为嵌入式控制系统。
66