ARM和FPGA通信接口板设计.docVIP

  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文档。上传文档
查看更多
ARM和FPGA通信接口板设计

ARM和FPGA通信接口板设计   摘要: 介绍基于双口RAM的ARM与FPGA通信接口板电路设计,以及驱动程序中的虚拟网卡驱动编制和乒乓操作机制及流控机制。   关键词: 双口RAM;乒乓操作;流控机制   中图分类号:TP3文献标识码:A文章编号:1671-7597(2011)0510044-02      1 概述   某项目中需设计一块通信接口板,实现ARM 2440核心板和FPGA信号处理板之间的通信,因该板交换速率达到10Mbps,要求不能频繁中断ARM处理器,且具备流控机制,设计上有一定难度,基于双口RAM设计了乒乓操作机制和流控机制,有效地降低了系统负荷。   2 电路及驱动设计   2.1 接口板电路设计   接口板基于两片双口RAM芯片IDT CY7C007AV实现,电路示意图如图1所示。每片CY7C007AV有8KB的存储空间,12位地址总线,8位数据总线。为提高端口读写效率,FPGA对ARM发送时采用乒乓操作方式,ARM对FPGA发送时采用流控方式。   由于核心板扩展槽的地址总线和数据总线位宽限制,采用两片双口RAM,一片供FPGA向ARM发送数据用,另一片供ARM向FPGA发送数据用,以下分别建成上部双口RAM和下部双口RAM。上部双口RAM分为两部分,供FPGA采用乒乓操作方式写入数据,FPGA写完上半部后通过在EINT5上产生上升沿中断通知ARM,写完下半部后通过通过在EINT6上产生上升沿中断通知ARM。下部双口RAM供ARM向FPGA写入数据,其接线方式与上部双口RAM类似。   两块双口RAM的电路采用对称方式,其电路如图2所示。两片双口RAM可以互换,下部双口RAM也可供FPGA写入数据,而ARM则写入上部双口RAM。在实际测试中,两种方式均测试过。   ARM与双口RAM连接时,采用SRAM时序,为避免/减弱二次反射,ARM与总线驱动之间加33欧的串联匹配电阻,匹配电阻靠近扩展槽的近端。FPGA端对双口RAM的读写也采用SRAM时序,在与双口RAM连接时均串了33欧姆的匹配电阻。   由于核心板上ARM处理器距离接口板较远,接近十厘米,且核心板为四层板,总线驱动能力较弱,在ARM处理器和双口RAM之间添加四片总线驱动芯片,除增加总线驱动能力外还可通过关断总线驱动芯片,避免接口板噪声干扰核心板。   ARM的8位数据线通过245总线驱动芯片引出,其方向由LnOE读信号控制,地址总线则采用244和541芯片实现。ARM读时,数据由245流向ARM侧,ARM写时,数据由245流向双口RAM一侧。中断信号线连接在244芯片上,数据线连接在245芯片上,二者均采用Ngcs4作为片选线,在ARM一端将Ngcs4定义为GPIO,拉低则选中两块芯片。245驱动接口电路如图3所示。   2.2 接口板驱动设计   1)虚拟网卡驱动   由于ARM核心板采用VxWorks操作系统,接口板作为ARM板的外设,驱动程序参照VxWorks下网卡驱动格式编制,称为虚拟网卡驱动。   在实际网卡中,物理层包括曼彻斯特编解码和链路层的CSMA/CD协议,但虚拟网卡无需实现上述功能,物理层的调制和解调交由FPGA信号处理板实现,链路层的接入协议由ARM核心板按组网协议控制收发时机即可。接口板唯一需要实现的是按照VxWorks的网卡驱动格式实现接口板初始化、数据收发和中断控制等操作。   首先,接口板需要初始化板上的两片双口RAM,双口RAM一片被映射到0x8000000,另一片被映射到0均采用SRAM时序,需要配置BWSCON寄存器,BANKCON1和BANKCON2,对应的时序为:Tacs=1,对应1个时钟周期;Tcos=1,对应4个时钟周期;Tacc=1,对应2个时钟周期;Tcoh=1,对应1个时钟周期;Tcah=1,对应1个时钟周期;Tacp=1,对应3个时钟周期。   完成双口RAM初始化后,需要初始化对应的中断线和GPIO线,ARM处理器与PowerPC处理器类似,存在大量的复用信号线,此时需要将EINT5/6/8定义为中断线,而将EINT7定义为GPIO线;同样要将nGCS4/5定义为GPIO线,而nGCS1/2则默认为片选线。   驱动程序参照VxWorks下END Driver规范撰写,对外提供NET_FUNCS结构的接口函数列表,在启动函数中使能设备,挂载中断服务程序;在发送函数中先向双口RAM填写包长字段,而后将整个数据包拷贝入双口RAM。接收函数由中断启动,先读包长,再偏移指针,从双口RAM中读取相应长度的数据。   2)乒乓操作机制   将双口RAM分为上半部和下半部,每部分大小为2048字节。当FPGA将1500字节写完上半部

文档评论(0)

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

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

1亿VIP精品文档

相关文档