欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 通讯论文 > 基于SoCFPGA异步通信接口的实现

基于SoCFPGA异步通信接口的实现

日期:2023-01-24 阅读量:0 所属栏目:通讯论文


  针对Altera SoC FPGA平台的Linux环境下ARM核与FPGA逻辑之间的数据交换问题,提出了一种简单有效的异步接口实现方案。该方案在轻量级总线桥上挂载 Avalon 三态控制器,并通过Linux应用程序读写控制器对应的地址,从而实现ARM核与FPGA逻辑间数据的异步交换。实验结果表明,该方案能够稳定、正确、快速地读写数据,可达到预期目标。

 

  0 引 言

 

  FPGA硬件资源和ARM处理器的片内紧密耦合是Altera SoC FPGA体系结构最显著的优势。Altera SoC FPGA使用高宽带干线互联,在 FPGA 架构中集成了基于 ARM 的硬核处理器系统 (HPS),该系统包括处理器、外设和存储器接口。可同时实现硬核知识产权 (IP) 的性能和低功耗,以及可编程逻辑的灵活性[1]ARMAMBA NIC-301网络互联基础架构提供了三种交换架构——L3主交换、L3主机外设交换、L3从机外设交换。在L3 主交换和FPGA之间则由FPGA-to-HPS总线桥 、HPS-to-FPGA总线桥、轻量级的HPS-to-FPGA总线桥连接,HPS-to-FPGA总线桥上可以挂载AXI接口逻辑或Avalon接口逻辑,实现处理器对FPGA中寄存器的访问。

 

  在实际应用中,许多功能简单的FPGA逻辑与ARM之间的数据交换量不是很多,交换速度要求不高,这样就可以通过在总线上挂载通用的异步接口来实现ARM对这类外设或逻辑的访问。Altera 提供了一种Avalon Tri-State Conduit Components,该组件可以实现多种异步接口的时序如CFI FlashSSRAM8086接口外设等,可使开发者快速实现简单有效的数据访问。

 

  1 硬件设计

 

  1.1 异步接口的实现

 

  本系统可在友晶科技的DE1-SOC开发板上实现,其系统架构如图1所示。

 

  从图1可以看出,双核 Cortex A9由经L3主交换通过轻量级的HPS-to-FPGA总线桥对Avalon三态电路组件访问。Altera 提供的 Avalon 三态电路组件包括,通用三态控制器(Generic Tri-State Conduit Controller)、三态引脚共享器(Tri-State Conduit Pin Sharer)、三态桥(Tri-State Conduit)[2]。 通用三态控制器提供了自定义的数据位宽和时序功能,以提供不同的外设兼容。三态引脚共享器则可将多个态控制的地址、数据、读写信号共享到一个三态桥上,配合片选信号控制特定的外设,三态桥则实现了与外界的双向数据通路接口。

 

  本设计通过Quartus II 软件中的Qsys工具向HPS的轻量级HPS-to-FPGA总线桥主端(h2f_lw_axi_master)添加了Avalon通用三态电路组件, 硬核系统的Qsys互联如图2所示。

 

  图2ext_bus即为三态控制器,其包含片选信号、读信号、写信号、片选、读信号、写信号、16位地址线和16位数据线。

 

  1.2 异步接口解析逻辑的实现

 

  与上述异步接口对应,解析逻辑包括片选信号cs_n、读使能oe_n、写使能wr_n16位的地址addr16位双向数据线data。当 cs_n为低电平且是oe_n的下降沿时,总线根据给出的addr上的地址在相应的mem寄存器上读取数据到data数据线上完成读操作;cs_n为低电平且是wr_n的上跳沿时,总线根据给出的addr上的地址将data数据线上的数据写入对应的mem寄存器完成写操作。mem寄存器读写的HDL代码如下:

 

QQ截图20160817103429.png


  2 软件设计

 

  2.1 在设备树中添加接口信息

 

  为解决arm体系内核代码中充斥着大量的板级垃圾代码,Device Tree (设备树)被引入到Linux 3.x内核中。Device Tree 是一种用以描述硬件的数据结构,由一系列的硬件节点和属性构成,许多硬件细节可以直接透过它传递给内核[3]。在修改硬件后,一般要修改相应的设备树描述文件与之对应以便内核能正确识别硬件。由于在上述过程中,三态控制被添加到轻量级的HPS-to-FPGA总线上,对应需要修改相关设备描述信息如下:

 

  2.2 应用程序设计

 

  Linux应用程序通过Linux内核的memory-mapped device 驱动访问[4],由ext_bus所在的物理地址进而实现对ext_bus所在的地址空间进行读写。首先,使用系统open函数打开/dev/mem设备,然后调用系统mmap函数映射HPSL3外设区域的物理地址到一个虚拟地址,并根据轻量级HPS-to-FPGA总线相对于L3外设区域基地址的偏移量和ext_bus相对于轻量级HPS-to-FPGA总线的偏移量计算出ext_bus的虚拟地址。读写则直接操作对应的虚拟地址完成操作,异步总线的地址获取代码实现如下:

 

  3 结 语

 

  实验表明,这种设计方法可以正确有效地完成对异步接口的读写操作。其设计思路非常简单,只需要将控制器添加到总线上,在应用程序中操作相应的虚拟地址即可,是一种快速有效的ARMFPGA数据交换的实现方式。

 

  作者:唐文龙 田茂 吴志强 马应智 张雄 来源:物联网技术 201512

本文链接:http://www.qk112.com/lwfw/jsjlw/txlw/260892.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学