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

引 言

FPGA 硬件资源和ARM 处理器的片内紧密耦合是Altera SoC FPGA 体系结构最显著的优势。Altera SoC FPGA 使用高宽带干线互联,在 FPGA 架构中集成了基于 ARM 的硬核处理器系统(HPS),该系统包括处理器、外设和存储器接口。可同时实现硬核知识产权(IP)的性能和低功耗,以及可编程逻辑的灵活性 [1]。ARM 的AMBA 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 Flash、SSRAM、8086 接口外设等,可使开发者快速实现简单有效的数据访问。

1 硬件设计

1.1 异步接口的实现

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

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

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

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

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

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

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

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

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

2 软件设计

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

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

hps_0_h2f_lw :bridge@0xff200000 {

compatible = "altr,h2f_lw_bridge-1.0","simple-bus" ;

reg = < 0xFF200100 0x00200000 > ;

ranges = < 0x00000100 0xFF200100 0x00000080 

                0x00030000 0xFF230000 0x00010000

              > ;

ext_bus :bus_ctr@0x30000 {

compatible =“altr,generic_tristate_controller-14.0”,

“altr,generic_tristate_controller-1.0”;

reg = < 0x00030000 0x00010000 > ;

} ;//end bus_ctr@0x30000(bus_ctr_0)

} ;//endbridge@0xff200000(hps_0_h2f_lw)

由描述信息可知,ext_bus位于h2f_lw(轻量级的HPS- to-FPGA总线桥)下。它的起始地址为 0xFF23000(总线地址0xff200000 + 偏移地址为 0x30000),地址长度为 0x10000。

2.2 应用程序设计

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

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

3 结 语

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

西门子数字化工业软件推出 Veloce™ CS 硬件辅助验证和确认系统。该系统融合了硬件仿真、企业原型验证和软件原型验证,并依托于两个先进的集成电路 (IC) ——用于硬件仿真的西门子专用 Crystal 加速器芯片,以...

关键字: SoC 加速器

芯科科技推出其迄今最高能量效率且支持能量采集功能的无线SoC

关键字: 物联网 能量采集 SoC

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

· Ceva-Waves™ Links™ IP系列提供完全集成的多协议连接解决方案,包括Wi-Fi、蓝牙、UWB、Thread、Zigbee和Matter,为下一代连接协议丰富的MCU和SoC简化开发工作并加快上市时间

关键字: 人工智能 MCU SoC

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

2024 年 4 月 9 日,德国纽伦堡(国际嵌入式展)——AMD(超威,纳斯达克股票代码:AMD)今日宣布扩展 AMD Versal™ 自适应片上系统( SoC )产品组合,推出全新第二代 Versal AI Edge...

关键字: AI SoC ADAS

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

加利福尼亚州桑尼维尔,2024年3月29日–新思科技(Synopsys, Inc.,纳斯达克股票代码:SNPS)近日宣布完成对Intrinsic ID的收购,后者是用于系统级芯片(SoC)设计中物理不可克隆功能(PUF)...

关键字: 硅片 半导体 SoC
关闭
关闭