基于FSPI的ARM FPGA通信解决方案国内RK3568J共享

小夏 科技 更新 2024-02-01

近年来,随着中国新基建的不断推进和中国制造2025规划的不断推进,单个ARM处理器满足工业现场的功能需求变得越来越困难,尤其是在当今的能源电力、工控、智慧医疗等行业,往往需要ARM+FPGA架构的处理器平台来实现多通道高速AD采集等特定功能, 多通道网口、多通道串口、多通道高速并行DI DO、高速数据并行处理等,因此ARM + FPGA Fabric处理器平台在市场上越来越受欢迎。

图1 ARM+FPGA典型应用场景

ARM + FPGA 架构结合了性能、成本和功耗优势,使 ARM 和 FPGA 能够解决更复杂的问题,每个问题都利用了原始架构的独特优势。

ARM+FPGA常用的通信方式有PCIe、FSPI、I2C、SDIO、CSI等,今天我们主要介绍基于FSPI的ARM + FPGA通信方式。

FSPI(Flexible Serial Peripheral Interface,柔性串行外设接口)是一种高速、全双工、同步串行通信总线,RK3568处理器中有一个ESPI控制器,可用于连接FSPI器件。 它具有以下特点:

支持串行NOR闪存和串行NAND闪存

支持 SDR 模式。

支持第 1、2 和 4 线模式。

FSPI比PCIe更好。小数据 - 低延迟大数据 - 高带宽要求。 此外,在与FPGA通信时,用户通常更喜欢使用FSPI接口,原因如下:

低成本 FPGA高速通信是可能的,而带有PCIe接口的FPGA的成本呈指数级增长。

具有 PCIe 接口的 FPGA 往往消耗更多功率,而低成本 FPGA 则成本低功耗更低。一般来说,低功耗设备的使用寿命也会更长。

基于FSPI的ARM+FPGA通信实测数据共享。

硬件方案一:TRontron TL3568F-EVM 评估板 (RK3568J + logos-2)。

实测数据:写入速率20MB S+,最高24MB s,0%误码率; 26MB S+ 读取速率,最高 30MB s,0% 误码率。

tl3568f-evm评估板简介:

TL3568F-EVM 是一款基于瑞芯微 RK3568J RK3568B2 四核 ARM Cortex-A55 处理器 + Unisplendour LOGOS-2 PG2L50H PG2L100H FPGA 的异构多核国产工业评估板8ghz/2.0ghz。核心板所有元器件,如ARM、FPGA、ROM、RAM、电源、晶振、连接器等,均采用国产工业级方案,国产化率100%。 同时,评估板的大部分元器件也采用了国产工业级方案。

硬件方案二:TL3568-EVM 评估板 (RK3568) +TLA7-EVM 评估板 (ARTIX-7)。

实测数据:写入率 52563MB 秒,读取速率 67387MB s,高误码率。

言论:由于飞线连接导致测试的局限性,在150MHz通信时钟频率下测得的误码率过高,测试结果仅供参考。

详细解释基于 FSPI 的 ARM + FPGA 通信案例。

下面主要介绍基于瑞芯微RK3568J(硬件平台:创龙科技TL3568-EVM评估板)和Xilinx Artix-7(硬件平台:创龙科技TLA7-EVM评估板)的FSPI通信案例,测试结果按照创龙科技提供的案例用户手册操作得到。

同时,基于linuxlinux-rt系统经过测试并得到“”。小数据 - 低延迟大数据 - 高带宽测试数据。

SPI RW案例

1)案例说明。

外壳功能:在手臂侧运行Linux系统在基于FSPI总线上的FPGA BRAM上执行读写测试。

SPI主控功能在ARM端实现,原理如下:

a) 打开 SPI 设备节点,例如 dev spidev40。

b) 使用IOCTL配置FSPI总线,如FSPI总线极性和相位、通信速率、数据长度等。

c) 选择模式为单线、双线或四线。当FSPI总线设置为双线模式时,发送的数据为单线模式,接收的数据为双线模式。 当 FSPI 设置为 4 线模式时,发送数据处于 4 线模式,接收数据处于 4 线模式。

d) 向 FSPI 总线发送数据或从 FSPI 总线发送数据。

e) 检查数据,然后打印读/写率和误码率。

FPGA端实现SPI SL**e功能,原理说明如下:

a) FPGA 将 SPI 主站发送的数据保存到 BRAM。

b) 当SPI主机启动数据读取时,FPGA从BRAM读取数据,并通过FSPI总线将其传输到SPI主机。

图2 ARM端程序流程图

2)测试结果。

ARM 通过 FSPI 总线(四线模式)将 4bytes 的随机数据写入 FPGA BRA,然后读取数据,验证数据,并打印 FSPI 总线读/写率和误码率。

最后,如果将FSPI总线通信时钟频率设置为24MHz,则四线模式的理论通信速率为:(24000000 1024 1024 8 x 4)MB S 1144MB s,从下图可以看出,测得的写入速率为0048MB 秒,读取速率为 0182MB 秒,误码率为 0%。

图3

言论:在上述情况下,硬件采用飞线连接,需要将FSPI总线通信时钟频率设置在24MHz的低位,并且测试数据量需要设置到少量(这会导致测量速率较低),否则会出现误码。 如果使用 TL3568F-EVM 评估板 (RK3568J + LOGOS-2) 硬件平台进行测试,则无比特通信速率将大大提高。

如果FSPI总线通信时钟频率设置为150MHz,ARM通过FSPI总线将1MB的随机数据写入FPGA BRAM中,然后读取数据,循环100次,无需数据验证,最后打印FSPI总线读/写率和误码率。

最后,如果将FSPI总线通信时钟频率设置为150MHz,则FSPI四线模式的理论通信速率为:(150000000 1024 1024 8 x 4) MB s 7153mb/s。从下图可以看出,测得的写入率为52563MB 秒,读取速率为 67387MB s,相对接近理论通信速率。

图4

言论:由于本次测试中飞线连接的局限性,在150MHz通信时钟频率下测得的误码率过高,测试结果仅供参考。

RT SPI RW 案例

1)案例说明。

外壳功能:在手臂侧运行Linux-RT系统在基于FSPI总线上的FPGA BRAM上执行读写测试。

SPI主控功能在ARM端实现,原理如下:

a) 打开 SPI 设备节点,例如 dev spidev40。

b) 使用IOCTL配置FSPI总线,如FSPI总线极性和相位、通信速率、数据长度等。

c) 选择模式为单线、双线或四线。当FSPI总线设置为双线模式时,发送的数据为单线模式,接收的数据为双线模式。 当 FSPI 设置为 4 线模式时,发送数据处于 4 线模式,接收数据处于 4 线模式。

d) 向 FSPI 总线发送数据或从 FSPI 总线发送数据。

e) 检查数据,然后打印读/写率和误码率。

FPGA端实现SPI SL**e功能,原理说明如下:

a) 将 SPI 主机发送的数据保存到 BRAM。

当SPI主机启动数据读取时,FPGA从BRAM读取数据,并通过FSPI总线传输到SPI主机。

图5 ARM端程序流程图

2)测试结果。

ARM通过FSPI总线向FPGA BRAM写入4字节的随机数据,然后读取数据,进行数据验证,并打印FSPI总线读/写率和误码率。 最后,如果将FSPI总线通信时钟频率设置为24MHz,则SPI四线模式的理论通信速率为:(24000000 1024 1024 8 x 4)MB S 1144mb/s。

从下图可以看出,测得的写入率为0179MB s,最长发送时间为 46us,最短时间为 20us平均耗时为20us误码率为0%; 读取速率为 0187MB s,最长发送时间为 46us,最短时间为 19us平均花费时间40s误码率为0%;

图6

言论:在上述情况下,硬件采用飞线连接,需要将FSPI总线通信时钟频率设置在24MHz的低位,并且测试数据量需要设置到少量(这会导致测量速率较低),否则会出现误码。 如使用创龙科技的TL3568F-EVM评估板(RK3568J+LOGOS-2)硬件平台将大大提高无差错的通信速率。

相似文章

    国内旗舰“新黑马”骁龙8Gen3 5400mAh 100W,一直使用,口碑不错

    在年底发布的这些骁龙Gen旗舰中,真正的赢家只有两个,一个是小米,另一个是 黑马 realme GT Pro。小米 是唯一的小屏骁龙 gen 旗舰,拥有自己的赛道,没有竞争对手,再加上超高的人气,首月销量达到 万 Realme GT Pro是真正的黑马,也是骁龙Gen旗舰手机中最低的,性价比超过Re...

    国产35吨大型涡扇加速,C929诞生,运30出戏

    C更名为C已经确定,中俄在宽体客机项目上单独开发并不是一件坏事,但还是会有一定的影响。近日,俄罗斯副总理曼图罗夫透露,俄罗斯致力于为C客机提供 优秀部件 这一说法可能意味着俄罗斯可能会推迟PD 涡扇发动机的研制,使C客机在短期内无法依赖这种发动机。因此,C客机短期内只能选择西方发动机。俄罗斯国产的吨...

    对于降价超过万元的国产车来说,长安CS35 PLUS卖得并不好,但其实还可以

    长安汽车作为国内造车巨头之一,这几年的进步实在是太大了,这估计大家都非常清楚,从燃油车到新能源长安都曾涉足过,而目前,长安也在新能源汽车领域,但更多的是纯电动和增程式混合动力为主,与吉利 长城 奇瑞相比,这些还是略差一些,但长安的能力应该不成问题。不过,在新能源发力的同时,长安的燃油车难免会有打顾不...