首页 工作计划 工作总结 事迹材料 心得体会 述职报告 疫情防控 思想汇报 自查报告 党建材料 策划方案 教案设计 范文大全
  • 工作计划
  • 工作总结
  • 事迹材料
  • 心得体会
  • 述职报告
  • 疫情防控
  • 思想汇报
  • 自查报告
  • 党建材料
  • 策划方案
  • 教案设计
  • 范文大全
  • 基于PowerPC嵌入式系统的通信接口机设计与开发

    时间:2022-11-11 15:50:08 来源:正远范文网 本文已影响 正远范文网手机站

    摘要:为解决铁路信号集中监测系统CAN接口、串行接口在节点数量较多时出现通信不正常甚至中断的问题,提出了在监测模块单元与信号集中监测站机之间加入通信接口机的方案。介绍了基于32位PowerPC微处理器MPC8247的通信接口机硬件、软件设计的实现方法。

    关键词:铁路信号集中监测系统;通信接口机;微处理器MPC8247

    由于信号集中监测系统中所连接CAN接口、串行接口设备数量逐步增加,目前采用ISA及PC104类型的CAN扩展卡和串口扩展受限于工控机上扩展槽位不足,迫切需求一种基于多CAN口、多串口到以太网接口的通信接口机设备。通信接口机系统实现网口到CAN接口、串口的协议转换以及接口转换功能,同时,通信接口机系统还降低了集中监测系统站机对实时数据采集的负担。其系统结构如下图所示,从下图1中可以看出通信接口机在信号集中监测系统通信中有着重要的地位。

    图1 信号集中监测系统通信结构图

    1硬件设计

    通信接口机硬件主要包括:CPU核心板、电源部分;CPLD电路部分;扩展串口电路部分;总线电平转换电路部分;RTC时钟电路部分;接口电路部分(CF卡接口、CAN接口板接口、422/485接口板接口电路部分)组成。

    CPU板是通信接口机设计的重点和难点部分,考虑使用CPU核心板设计,核心板包含:CPU、SDRAM、FLASH、实时时钟、CPU时钟、CPU电源、2路以太网接口芯片、与底板的接插件(采用1.27MM间距接插件),实现对整个硬件的智能接口扩展以及对重要信息的存储等。

    CPU采用Freescale公司的32位PowerPC微处理器MPC8247(采用BGA封装)。MPC8247 是Freescale公司MPC82XX系列微处理器的一种,基于PowerQUICC结构,主要由PowerPC 603e内核,系统接口单元SIU以及通信处理模块CPM组成。支持60x总线,其数据线宽为64位,地址线为32位;支持PCI/LOCAL总线,其数据线宽为32位,地址线为32位。PowerPC内核工作时钟最高为300MHz,CPM工作时钟最高为200MHz。

    SDRAM采用2片HY57V561620FTP-H-C,设计容量为64M。作为CPU核心板数据存储器使用。

    FLASH采用一片JS28F128J3D75,设计容量为16M。作为CPU核心板程序存储器使用。

    CAN通道电路由SJA1000 CAN控制器芯片与通用CAN隔离收发器CTM8251T组成,另外在通道前端增加三级防护电路(1、气体放电管进行雷击防护;2、瞬态抑制器进行浪通防护;3、CAN共模滤波器抑制共模干扰)。

    串口通道电路由ADM2587EBRWZ芯片与通道前端增加两级防护电路(1、气体放电管进行雷击防护;2、瞬态抑制器进行浪通防护)组成。

    2软件设计

    通信接口机在Linux系统上进行软件开发设计,其软件部分包括:(1)U-BOOT的移植;(2)Linux系统内核的移植;(3)外部接口驱动程序;(4)通信接口机应用程序四个部分。外部接口驱动程序包括:CAN接口驱动程序;串口驱动程序。

    CAN驱动程序实现方法

    CAN驱动程序负责完成linux内核与sja1000之间的数据通讯,即linux内核设置sja1000的控制寄存器,读写sja1000接收、发送缓冲器。应用程序部分负责完成用户空间和内核空间的数据交换,以及分析从sja1000接收到的报文,封装要发送报文。

    sja1000读操作程序如下:

    base=ioremap(f6000000,0x20);

    unsigned char read_can_reg(unsigned char *base,unsigned char reg )

    {

    unsigned char value;

    writeb(reg,base);

    value = readb(base+0x40);

    return(value);

    }

    writeb(reg,base)模拟ale锁存地址,发地址信号reg,base由硬件设计电路知道这将使地址锁存信号ale拉高;然后,reg被送到了复用总线上;然后,通过readb(base+0x40)读取地址reg上的数据,base将使ale拉低,reg被锁存;然后,data被送到复用总线上,也就读到了被锁存的地址reg所指空间的数据。

    串口驱动程序实现方法

    Uart设备是继tty_driver的又一层封装。实际上uart_driver就是对应tty_driver.在它的操作函数中,将操作转入uart_port。在写操作的时候,先将数据放入一个叫做circ_buf的环形缓存区,然后uart_port从缓存区中取数据,将其写入到串口设备中。当uart_port从serial设备接收到数据时,会将设备放入对应line discipline的缓存区中。

    通信接口机应用程序实现方法

    工作流程:先从EPROM 中读取数据,设置接口参数。程序采用轮询接收缓冲区的方式,对数据接收并打包。首先,程序进行初始化处理,然后判断有无连接,存在连接时,将接收打包后的数据通过以太网上传至信号集中监测站机。然后,判断有无站机下发的数据。若有,则按照要求发送至对应端口上。

    3 结束语

    随着铁路新设备的不断应用和铁路信号集中监测系统的迫切需要,通信接口机凭着其自身的优点已经成为铁路信号集中监测系统中的关键设备。本文通过在PowerPC嵌入式系统平台上实现网口到CAN接口、串口的协议转换以及接口转换功能,同时,通信接口机系统还降低了集中监测系统站机对实时数据采集的负担。本设计对集中监测系统的网络化、智能化发展有积极的推动作用。

    参考文献

    [1]刘淼.嵌入式系统接口设计与Linux驱动程序开发[M].北京:北京航空航天大学出版社,2006.

    [2]张建,蒋新华,陈兴武.CAN总线在基于ARM嵌入式数控系统中的应用[J].自动化与仪表,2008(7):25-27.

    [3]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.

    推荐访问:嵌入式系统 接口 通信 开发 设计