0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于国产ARM与低成本FPGA高速通信的3种方案

FPGA开源工作室 来源:FPGA开源工作室 作者:FPGA开源工作室 2022-10-27 13:06 次阅读

前 言

近年来,随着中国新基建、中国制造2025的持续推进,单ARM处理器越来越难胜任工业现场的功能要求,特别是能源电力、工业控制、智慧医疗等行业通常需要ARM+FPGA架构的处理器平台来实现特定的功能,例如多路/高速AD采集、多路网口、多路串口、多路/高速并行DI/DO、高速数据并行处理等。

那ARM+FPGA架构有什么优势?

ARM:接口资源丰富、功耗低,擅长多媒体显示、逻辑控制等。

FPGA:擅长多通道或高速AD采集、接口拓展、高速信号传输、高速数据并行处理等。

因此,ARM+FPGA架构能带来性能、成本、功耗等综合比较优势,ARM与FPGA既可各司其职,各自发挥原本架构的独特优势,亦可相互协作处理更复杂的问题。

对于成本不敏感且通信速率要求的较高分立式ARM+FPGA场合,一般使用PCIe通信接口。但对成本敏感的分立式ARM+FPGA场合,PCIe通信接口则令FPGA芯片成本高居不下。

对于能源电力、工业控制等众多工业领域,真正需要的是性能与成本均具有竞争力的方案,既要求能做到ARM与FPGA的高速通信,又要做到成本最优,并且最好能基于国产方案。

在这种需求背景下,创龙科技提供了基于国产ARM与低成本FPGA高速通信的3种方案。

* 硬件平台介绍(全志科技T3/A40i)

创龙科技TLT3-EVM/TLA40i-EVM是一款基于全志科技T3/A40i处理器设计的4核ARM Cortex-A7国产工业评估板,每核主频高达1.2GHz,由核心板和评估底板组成。T3与A40i两者pin to pin兼容。

评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、HDMI OUT、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、Mali400 MP2 GPU,1080P@45fps H.264视频硬件编码、1080P@60fps H.264视频硬件解码,并支持SATA大容量存储接口。

核心板采用100%国产元器件方案,并经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。

本文主要介绍全志科技T3/A40i与紫光同创PGL25G/Xilinx Spartan-6基于SPI、SDIO、CSI的3种高速通信方案,最高通信速率可达到55.1MB/s。

备注:目前,创龙科技已推出T3/A40i+PGL25G全国产一体化工业核心板方案,国产化率100%(连接器亦为国产)。

1 spi_rw案例

1.1 案例说明

案例功能:主要演示T3/A40i(ARM Cortex-A7)与PGL25G/Spartan-6(FPGA)处理器之间的SPI通信。

ARM端实现SPI Master功能

a.打开SPI设备节点,如:/dev/spidev0.0。

b.使用ioctl配置SPI总线,如SPI总线极性和相位、通信速率、数据字长度等。

c.选择模式为单线模式或双线模式。当SPI总线为双线模式时,发送数据是单线模式,接收数据是双线模式。

d.发送数据至SPI总线,并从SPI总线读取数据。(备注:如单次传输数据大于64Byte,驱动程序将会自动启用DMA传输功能。)

e.打印发送和接收速率。

f.校验读写数据,然后打印误码率。

FPGA端实现SPI Slave功能

a.FPGA将SPI Master发送的2KByte数据保存至BRAM。

b.SPI Master发起读数据时,FPGA从BRAM读取2KByte通过SPI总线传输给SPI Master。

c.当SPI总线为双线模式,接收数据支持双线模式,而发送数据不支持双线模式。

2af14844-55b3-11ed-a3b6-dac502259ad0.png

图 4 ARM端程序流程图

测试结果

(1) SPI单线模式

根据官方数据手册,SPI总线通信时钟频率理论值最大为100MHz。本次测试指定SPI总线通信时钟频率为最大值100MHz,则SPI单线模式理论速率为:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s。实测SPI单线模式写速率为:10.924MB/s,SPI单线模式读速率为:10.924MB/s。

(2) SPI双线模式

根据官方数据手册,SPI总线通信时钟频率理论值最大为100MHz。本次测试指定SPI总线通信时钟频率为最大值100MHz,则SPI单线模式理论速率为:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s;则SPI双线模式理论速率为:(100000000/1024/1024/4)MB/s ≈ 23.84MB/s。本次实测SPI单线模式写速率为11.631MB/s,SPI双线模式读速率为17.807MB/s。

2 rt_spi_rw案例

2.1 案例说明

案例功能:基于Linux-RT系统,演示T3/A40i(ARM Cortex-A7)与PGL25G/Spartan-6(FPGA)处理器之间的SPI通信(单线模式)。

ARM端实现SPI Master功能

a.打开SPI设备节点。如:/dev/spidev0.0。

b.使用ioctl配置SPI总线。如SPI总线极性和相位、通信速率、数据字长度等。

c.创建实时线程。

d.发送数据至SPI总线,以及从SPI总线读取数据。

e.打印发送、接收的速率和传输耗时。

f.校验读写数据,然后打印误码率。

FPGA端实现SPI Slave功能

a.FPGA将SPI Master发送的2KByte数据保存至BRAM。

b.SPI Master发起读数据时,FPGA从BRAM读取2KByte通过SPI总线传输给SPI Master。

2b1df6fa-55b3-11ed-a3b6-dac502259ad0.png

图 5 ARM端程序流程图

测试结果

(1) 非轮询方式

根据官方数据手册可知,SPI总线通信时钟频率理论值最大为100MHz。本次测试指定SPI总线通信时钟频率为最大值100MHz,则理论速率为:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s。实测传输4Byte数据的最小耗时为49us,最大耗时为662us,平均耗时为227us;写速率为0.017MB/s,读速率为0.017MB/s。

(2) 轮询方式

根据官方数据手册可知,SPI总线通信时钟频率理论值最大为100MHz。本次测试指定SPI总线通信时钟频率为最大值100MHz,则理论速率为:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s。实测传输4Byte数据的最小耗时为14us,最大耗时为59us,平均耗时为14us;写速率为0.239MB/s,读速率为0.239MB/s。

3 sdio_test案例

3.1 案例说明

案例功能:演示T3/A40i(ARM Cortex-A7)与PGL25G/Spartan-6(FPGA)处理器之间的SDIO通信。

ARM端实现SDIO Master功能

a.打开SDIO设备节点,如:/dev/generic_sdio0。

b.发送数据至SDIO总线,以及从SDIO总线读取数据。

c.打印发送和接收速率。

d.校验读写数据,然后打印误码率。

FPGA端实现SDIO Slave功能

a.FPGA将SDIO Master发送的2KByte数据保存至BRAM。

b.SDIO Master发起读数据时,FPGA从BRAM读取2KByte通过SDIO总线传输给SDIO Master。

2b30255a-55b3-11ed-a3b6-dac502259ad0.png

图 6 ARM端程序流程图

测试结果

本次测试指定SDIO总线通信时钟频率为25MHz(最高50MHz),则理论通信速率为:(25 x 4 / 8)MB/s = 12.5MB/s。实测写速率为5.113MB/s,读速率为5.440MB/s,误码率为0.0%。

4 csi_test案例

4.1 案例说明

案例功能:演示T3/A40i(ARM Cortex-A7)与PGL25G/Spartan-6(FPGA)处理器之间的CSI通信案例。

ARM端功能

a)基于Linux子系统V4L2。

b)通过CSI总线,采集指定帧数数据。

c)计算总耗时。

d)打印平均采集速率,并校验最后一帧图像的数据。

FPGA端功能

a)将测试数据(0x00 ~ 0xFF)写入FIFO。

b)从FIFO读出数据,按行与帧的方式、1024 x 512的分辨率,通过CSI总线发送至ARM端。

使用的CSI总线为CSI0,最高支持分辨率为1080P30,数据位宽为8bit。功能框图与程序流程图,如下图所示。

2b46bae0-55b3-11ed-a3b6-dac502259ad0.png

图 7 功能框图

2b5b5464-55b3-11ed-a3b6-dac502259ad0.png

图 8 ARM端程序流程图

测试结果

FPGA端将CSI_PCLK设置为65MHz,测试数据写入FIFO的时钟FIFO_WR_CLK设置为59MHz。由于FPGA端需将数据写入FIFO再从FIFO读出后发送,每一行与每一帧之间的间隔时间会受FIFO写入的速率影响,因此CSI通信的实际理论传输带宽应为:(59MHz x 8bit / 8)MB/s = 59MB/s。实测传输速率为55.1MB/s,误码率为0.0%。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18275

    浏览量

    222159
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593199
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8651

    浏览量

    361782

原文标题:源码免费下载!国产ARM与低成本FPGA高速通信方案合集来了,别错过

文章出处:【微信号:leezym0317,微信公众号:FPGA开源工作室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    国产ARM + FPGA的CSI通信案例介绍

    CSI总线是一项用于将图像传感器与处理器连接的并行通信接口,在工业自动化、能源电力、智慧医疗等领域得到广泛应用,具备了高带宽,开发难度低和低成本优点。
    的头像 发表于 04-26 11:41 149次阅读
    <b class='flag-5'>国产</b><b class='flag-5'>ARM</b> + <b class='flag-5'>FPGA</b>的CSI<b class='flag-5'>通信</b>案例介绍

    实测52.4MB/s!全志T3+FPGA的CSI通信案例分享!

    简单,FPGA端接口开发难度低。 低成本:CSI总线采用并行传输方式,FPGA端使用资源少,对FPGA器件资源要求低。 国产
    发表于 04-18 10:53

    实测52.4MB/s!全国产ARM+FPGA的CSI通信案例分享!

    方式,时序简单,FPGA端接口开发难度低。   低成本:CSI总线采用并行传输方式,FPGA端使用资源少
    的头像 发表于 03-28 09:03 195次阅读
    实测52.4MB/s!全<b class='flag-5'>国产</b><b class='flag-5'>ARM+FPGA</b>的CSI<b class='flag-5'>通信</b>案例分享!

    AMD进军低成本FPGA市场,满足边缘应用需求

    虽然赛灵思主攻高端FPGA市场,但其对低成本FPGA市场的投入也不容小觑。此次发布的Spartan UltraScale+正是AMD进军低成本FPG
    的头像 发表于 03-10 10:06 561次阅读

    国产FPGA+OMAPL138开发板体验】(原创)4.FPGA的GPMC通信ARM)EDMA

    的内存控制器,负责管理FPGA中的存储器。而EDMA是一高速数据传输方式,可以让数据在内存和外设之间直接传输,提高通信效率。 接下来,我将用VHDL语言编写一个简单的程序,实现
    发表于 02-06 14:18

    国产T3+FPGA的SPI与I2C通信方案分享

    来实现例如多路/高速AD采集、多路网口、多路串口、多路/高速并行DI/DO、高速数据并行处理等特定功能,因此ARM + FPGA架构处理器平
    的头像 发表于 02-06 10:05 4160次阅读
    全<b class='flag-5'>国产</b>T3+<b class='flag-5'>FPGA</b>的SPI与I2C<b class='flag-5'>通信</b><b class='flag-5'>方案</b>分享

    国产FPGA+OMAPL138开发板体验】(原创)3.手把手玩转ARMFPGA通信

    一下TI OMAP-L138和FPGA。OMAP-L138是一款基于ARM内核的处理器,而FPGA(现场可编程门阵列)是一可以通过编程实现各种数字逻辑功能的芯片。两者之间的
    发表于 02-03 20:48

    国产RK3568J基于FSPI的ARM+FPGA通信方案分享

    的处理器平台来实现例如多路 / 高速 AD 采集、多路网口、多路串口、多路 / 高速并行 DI/DO、高速数据并行处理等特定功能,因此 ARM +
    的头像 发表于 01-29 15:13 1663次阅读
    <b class='flag-5'>国产</b>RK3568J基于FSPI的<b class='flag-5'>ARM+FPGA</b><b class='flag-5'>通信</b><b class='flag-5'>方案</b>分享

    RK3568-ARM+FPGA通信案例开发手册 (一)

    RK3568-ARM+FPGA通信案例开发手册 (一)
    的头像 发表于 01-19 10:31 360次阅读
    RK3568-<b class='flag-5'>ARM+FPGA</b><b class='flag-5'>通信</b>案例开发手册 (一)

    2024新品|紫光同创盘古系列FPGA开发板套件,100%国产方案

    高速接口设计等方面都有不俗的表现。近几年,随着国家战略支持和产业发展,国产FPGA迎来迅猛发展。国产FPGA由于拥有高性价比、完整自主可控
    发表于 12-28 14:18

    【新品体验】国产FPGA+OMAPL138开发板免费试用

    本开发板基于德州仪器的OMAP-L138(定点/浮点DSP C674x+ARM9)与国产中科亿海微FPGA EO6HL45LL的《DSP+ARM+FPGA三核评估套件》,通过EMIF、
    发表于 12-07 10:26

    紫光同创FPGA开发套件,高性能国产FPGA方案

    紫光同创FPGA开发套件,高性能国产FPGA方案,100%国产化,全系列产品,方案可定制,满足多
    发表于 11-16 17:25

    CS5366AN低成本2Lane 4K60 typec转hdmi+pd+u3扩展方案替代GSV2201

    CS5366AN国产typec转hdmi方案芯片,低成本替代GSV2201 2Lane 4K60 typec转hdmi+pd+u3扩展方案
    发表于 08-29 18:37

    AM62x GPMC并口如何实现“小数据-低时延,大数据-高带宽”—ARM+FPGA低成本通信方案

    更低、功耗更低。两者都为常用的通信接口,均可满足高速通信要求,但在与FPGA通信的时候,用户往往更喜欢选用GPMC并口,因为:1、使用
    发表于 08-22 10:58

    ARM+FPGA架构有什么优势 RK3568J+FPGA高速通信案例

    近年来,随着中国新基建、中国制造2025的持续推进,单ARM处理器越来越难满足工业现场的功能要求,特别是能源电力、工业控制、智慧医疗等行业通常需要ARM + FPGA架构的处理器平台来实现特定的功能,例如多路/
    的头像 发表于 08-01 11:40 1319次阅读
    <b class='flag-5'>ARM+FPGA</b>架构有什么优势 RK3568J+<b class='flag-5'>FPGA</b><b class='flag-5'>高速</b><b class='flag-5'>通信</b>案例