前 言
近年来,随着中国新基建、中国制造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和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。
*官方商城选购入口:https://tronlong.tmall.com
本文主要介绍全志科技t3/a40i与紫光同创pgl25g/xilinx spartan-6基于spi、sdio、csi的3种高速通信方案,最高通信速率可达到55.1mb/s。
为了简化描述,正文仅摘录方案功能描述与测试结果,详细开发文档请扫描文末二维码下载。
备注:目前,创龙科技已推出t3/a40i+pgl25g全国产一体化工业核心板方案,国产化率100%(连接器亦为国产),欢迎咨询。
图 3 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总线为双线模式,接收数据支持双线模式,而发送数据不支持双线模式。
图 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。
图 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。
图 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。功能框图与程序流程图,如下图所示。
图 7 功能框图
图 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%
ChatGPT很快迎来了“禁用”
一种数字IC测试系统的设计
Leader业绩增幅23%超行业,紧跟年轻人需求
新的vivo S7t在设计和规格上都将与旧的vivo S7相同
开源版本的RISC-V GPGPU或许要来了
国产ARM与低成本FPGA高速通信的3种方案,基于全志T3/A40i!
智能语音遥控器的相关结构原理
Power Integrations推出LinkSwitc-TN2 系列IC可大幅提高效能与节省空间
ntc热敏电阻型号及参数 PTC和NTC的两种典型应用
因老龄化严重导致劳动力短缺,日本超市引入VR机器人
上位机软件开发用什么语言 上位机软件功能
自动驾驶和激光雷达的专利分析
零维有机-无机杂化金属卤化物的溶液合成、光物理性质及光电应用
超大底+潮美外观+全系长焦 荣耀30系列首销线上销售额1分钟破3亿
华为对智能手机操作系统已经准备了B计划
如何优雅地弄好PCB丝印
基于多普勒效应的运动检测器电路
董明珠谈入股银隆:特斯拉电池用三年 银隆用十年
吉利与宝腾签署协议,深化双方在新能源领域的合作
生成对抗网络之父伊恩·古德费洛正式宣布加盟苹果