新闻中心

EEPW首页>嵌入式系统>设计应用> 基于SoC的NCSF总线系统的研究与设计术

基于SoC的NCSF总线系统的研究与设计术

作者: 时间:2016-12-21 来源:网络 收藏

LLC子层还需要维护地址映射表进行上层逻辑地址到MAC子层实地址之间的转换(实地址可由APDU控制信息唯一确定),映射表在FPGA上电初始化时确定。

表1为主要通信服务命令接口函数的定义,具体参数可根据具体实现进行调整。

表2为主要管理服务命令接口函数的定义,实际数量与应用中提供的服务数量相关。

(2)MAC子层程序设计

MAC子层主要完成LLC子层通信服务的具体实现,以及实际通信数据帧的封装。

LLC子层各服务命令接口以及上层数据的收发工作最终都要通过收发链路层数据帧实现。NCSF总线支持集总帧和非集总帧报文。非集总帧由头部、指令区、数据区和校验区组成,通信数据区直接由从站数据信息封装得来,组成相对简单。集总帧主要包括集总帧头部和数据部,头部为数据帧控制信息,数据部为各从站数据的集合旧’。下面是集总帧头部和从站数据结构定义,具体结构可根据具实现调整。

MAC子层通过查询对象字典将应用层命令调用和APDU映射为MAC子层服务,然后接口函数封装相应从站数据,最终各从站数据被组装成集总帧发送。集总帧沿着环路传输,当经过一个从站时,该从站将对数据帧进行扫描,查找、读取本站数据,然后把发反馈数据写入集总帧,并继续转发经过处理的集总帧。

为实现数据帧的收发和管理控制工作,MAC子层需要维护数据收发缓冲区,长度寄存器,状态寄存器,控制状态寄存器,中断清除寄存器和计时器寄存器。MAC子层收发程序通过设置控制寄存器,长度寄存器和中断清除寄存器收发数据,通过检查状态寄存器判断收发状态进行差错控制和安全管理。FPGA上总线系统的数据流向见图8,涉及操作请参考应用层处理程序设计和数据链路层程序设计部分。需要注意的是,MAC子层接收到的反馈信息需要通过查询对象字典和地址映射表以周期/非周期数据的形式传递到应用层,然后由应用层迸一步处理转发。


图8 FPGA总线系统数据流同关系

4 性能分析

基于SoC的NCSF总线系统使用FPGA软核MicroBlaze为现场总线NCSF协议栈的实现提供快速的专用处理器,由于该处理器具有运行速度快、占用资源少、可配置性强等优点,且只用于通信控制,可以满足数控现场总线对实时性的要求。本设计采用Xilinx XC3S500E芯片,表3中给出了总线系统综合时芯片逻辑资源的使用情况,数据表明系统资源占用率相对较低,可实现在FPGA上。



关键词:SoCNCSF总线系

评论


技术专区

关闭