基于PowerPC嵌入式系统的通信接口机设计与开发.docVIP

基于PowerPC嵌入式系统的通信接口机设计与开发.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PowerPC嵌入式系统的通信接口机设计与开发

精品论文 参考文献 基于PowerPC嵌入式系统的通信接口机设计与开发 牛振波 赵春阳 杨彦萌 河南辉煌科技股份有限公司 450001 摘要 为解决铁路信号集中监测系统CAN接口、串行接口在节点数量较多时出现通信不正常甚至中断的问题,提出了在监测模块单元与信号集中监测站机之间加入通信接口机的方案。介绍了基于32位PowerPC微处理器MPC8247的通信接口机硬件、软件设计的实现方法。 关键词 铁路信号集中监测系统 通信接口机 微处理器MPC8247 由于信号集中监测系统中所连接CAN接口、串行接口设备数量逐步增加,目前采用ISA及PC104类型的CAN扩展卡和串口扩展受限于工控机上扩展槽位不足,迫切需求一种基于多CAN口、多串口到以太网接口的通信接口机设备。通信接口机系统实现网口到CAN接口、串口的协议转换以及接口转换功能,同时,通信接口机系统还降低了集中监测系统站机对实时数据采集的负担。其系统结构如下图所示,从下图1中可以看出通信接口机在信号集中监测系统通信中有着重要的地位。 1.硬件设计 通信接口机硬件结构如图2所示,其硬件主要包括: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接收到的报文,封装要发送报文。 在linux中设备驱动程序是由一组数据结构和函数组成的,它包含设备服务子程序(如open、read、write、close、ioctl等)、初始化函数can_init()和中断处理程序can_interrupt()。 在linux加载can驱动时调用can_init(),向操作系统注册设备,同时完成can总线波特率的设置,id过滤器的设置,清空接收和发送缓冲区,开启中断等工作,完成初始化后,退出复位模式,进入正常的工作模式。read从接收缓冲区读取数据;write向发送缓冲区写人数据;release关闭can 控制器;ioctl向can 控制器发各种操作命令,包括设置sja1000总线波特率、id过滤器等;open 打开can 控制器,并使用函数request_irq()向系统申请中断,并设置中断处理程序为can_interrupt(),当

文档评论(0)

xyz118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档