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

    文章

    19937

    浏览量

    236478
  • FPGA
    +关注

    关注

    1646

    文章

    22072

    浏览量

    619835
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9374

    浏览量

    378777

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    中科亿海微SoM模组——嵌入式工业现场总线通信控制板

    嵌入式工业现场总线是一高速低成本的内部总线技术。它主要用于PLCIO模块、机器人手臂等应用场景,能够提供高效的数据传输和灵活的配置选项。图嵌入式工业现场总线通信控制板正面(左)、反
    的头像 发表于 06-24 14:22 ?249次阅读
    中科亿海微SoM模组——嵌入式工业现场总线<b class='flag-5'>通信</b>控制板

    RK3576+紫光同创FPGA并口通信方案 基于DSMC/FlexBus并口的RK3576J与FPGA通信方案

    为大家带来基于DSMC/FlexBus并口的RK3576J与FPGA通信方案
    的头像 发表于 05-20 11:45 ?2160次阅读
    RK3576+紫光同创<b class='flag-5'>FPGA</b>并口<b class='flag-5'>通信</b><b class='flag-5'>方案</b> 基于DSMC/FlexBus并口的RK3576J与<b class='flag-5'>FPGA</b><b class='flag-5'>通信</b><b class='flag-5'>方案</b>

    XL32F001国产低成本单片机,24MHz主频,24KB Flash,3KB RAM

    XL32F001 是一颗基于ARM Cortex-M0+内核的32 位微控制器,专为低成本、低功耗、小型化嵌入式系统设计,适合对资源需求中等但强调性价比和能效的场景。主频可达24M,内存方面
    发表于 04-30 15:39

    国产单片机倒车影像合作

    寻找国产低成本单芯片单片机AMT630,SSD101合作方案, 寻找国产低成本单芯片单片机AMT630,SSD101合作
    发表于 04-29 09:00

    Linux系统中通过预留物理内存实现ARMFPGA高效通信的方法

    在嵌入式系统开发中,ARMFPGA 之间的通信可以使用 ARM 侧的 DDR 作为通道。由于 FPGA 也可以直接访问到
    的头像 发表于 04-16 13:42 ?728次阅读
    Linux系统中通过预留物理内存实现<b class='flag-5'>ARM</b>与<b class='flag-5'>FPGA</b>高效<b class='flag-5'>通信</b>的方法

    使用Linux UIO框架实现ARMFPGA的高效通信

    ARMFPGA 之间通信通信过程中,通信开始或者完成时,需要实时通知对方,如果 ARM
    的头像 发表于 02-25 09:49 ?1816次阅读
    使用Linux UIO框架实现<b class='flag-5'>ARM</b>和<b class='flag-5'>FPGA</b>的高效<b class='flag-5'>通信</b>

    国产FPGA入学必备】刀剑在鞘,兵器先藏 | 盘古676系列国产FPGA开发板

    同创携手金牌方案提供商小眼睛科技,组织了数十位应用技术专家,共同编写《国产FPGA权威设计指南》。 这本教材选择的实验平台也是这款盘古676系列开发板! 本书系统地介绍紫光同创FPGA
    发表于 02-20 15:38

    国产FPGA入学必备】国产FPGA权威设计指南+配套FPGA图像视频教程

    一、《国产FPGA权威设计指南》简介 为更好地服务广大FPGA工程师和高等学校师生,2025,紫光同创携手金牌方案提供商小眼睛科技,组织了数十位应用技术专家,共同编写《
    发表于 02-20 15:08

    16通道AD采集方案,基于复旦微ARM + FPGA国产SoC处理器平台

    测试数据汇总 表 1 本文带来的是基于复旦微FMQL20S400M四核ARM Cortex-A7(PS端) + FPGA可编程逻辑资源(PL端)异构多核SoC处理器设计的全国产工业评估板的AD采集
    的头像 发表于 01-23 10:39 ?705次阅读
    16通道AD采集<b class='flag-5'>方案</b>,基于复旦微<b class='flag-5'>ARM</b> + <b class='flag-5'>FPGA</b><b class='flag-5'>国产</b>SoC处理器平台

    ARM主板定制流程与成本

    在当今快速发展的科技环境中,定制化的硬件解决方案越来越受到企业和开发者的青睐。ARM架构作为一高效能、低功耗的处理器架构,广泛应用于嵌入式系统、移动设备和物联网设备等领域。为了满足特定应用需求
    的头像 发表于 01-06 13:21 ?596次阅读
    <b class='flag-5'>ARM</b>主板定制流程与<b class='flag-5'>成本</b>

    方案介绍|CW32L010安全低功耗MCU:驱动高速风筒新力量

    列表 随着国产品牌在技术上的成熟,高速风筒市场迎来了飞速的增长,这对风筒方案成本控制提出更高的要求。武汉芯源半导体的CW32L010系列产品是基于华虹半导体最新的90nm超低漏电嵌入
    发表于 12-10 09:57

    香蕉派开源社区与矽昌通信共推BPI-Wifi5 低成本路由器开源方案

    香蕉派开源社区与矽昌通信共推BPI-Wifi5 低成本路由器[]() 香蕉派 BPI-Wifi5 路由器采用矽昌SF19A2890S2芯片方案设计。它是一款高性能无线路由器,适用于小微企业、家庭
    发表于 11-28 10:37

    ARM开发板与FPGA的结合应用

    一、引言 ARM开发板是一基于ARM架构的嵌入式开发平台,具有高性能、低功耗的特点。FPGA是一可编程的数字电路,可以根据需要配置不同的
    的头像 发表于 11-05 11:42 ?1590次阅读

    使用TPS54308设计简单且低成本的Flybuck解决方案

    电子发烧友网站提供《使用TPS54308设计简单且低成本的Flybuck解决方案.pdf》资料免费下载
    发表于 10-15 11:30 ?0次下载
    使用TPS54308设计简单且<b class='flag-5'>低成本</b>的Flybuck解决<b class='flag-5'>方案</b>

    CC2340系统降低成本方案剖析

    电子发烧友网站提供《CC2340系统降低成本方案剖析.pdf》资料免费下载
    发表于 08-27 09:43 ?0次下载
    CC2340系统降<b class='flag-5'>低成本</b>的<b class='flag-5'>方案</b>剖析