找回密码
 注册
关于网站域名变更的通知
查看: 325|回复: 1
打印 上一主题 下一主题

技术分享!国产ARM + FPGA的SDIO通信开发介绍!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-5-14 16:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Tronlong123 于 2024-5-14 16:25 编辑
( G/ k0 U" D; n. A; T
  p! Y' ^* a2 N( X
SDIO总线介绍
SDIO(Secure Digital lnput and Output),即安全数字输入输出接口。SDIO总线协议是由SD协议演化而来,它主要是对SD协议进行了一些扩展。
SDIO总线主要是为SDIO卡提供一个高速的I/O能力,并伴随着较低的功耗。SDIO总线不但支持SDIO卡,而且还兼容SD内存卡。支持SDIO的设备比如手机和相机不仅能支持SD卡,TF卡,随着SDIO硬件设备的扩充SDIO总线的外围能够支持更多的SDIO设备比如Bluetooth,WIFI,GPS,Camera sensor等,它们的识别过程跟SD卡类似,主要差别是在SD协议的基础上做了些扩展。

+ A( V" }; W' B. C& \: x7 M
图1 SDIO总线通信原理

6 y: ~0 n6 O6 l, M, P
国产ARM + FPGA架构介绍与优势
近年来,随着中国新基建、中国制造2025规划的持续推进,单ARM处理器越来越难胜任工业现场的功能要求,特别是如今能源电力、工业控制、智慧医疗等行业,往往更需要ARM + FPGA架构的处理器平台来实现例如多路/高速AD采集、多路网口、多路串口、多路/高速并行DI/DO、高速数据并行处理等特定功能,因此ARM + FPGA架构处理器平台愈发受市场欢迎。
因此,创龙科技一年前正式推出了基于全志T3 + 紫光同创Logos处理器设计的ARM + FPGA全国产工业核心板,国产化率达100%。
1 C; y7 Z- B/ v* W7 ?! r0 x% f# I

$ Y+ c5 p6 G/ ]5 Y0 j% ~/ ], y9 u
全志T3为准车规级芯片,四核ARM Cortex-A7架构,主频高达1.2GHz,支持双路网口、八路UART、SATA大容量存储接口,同时支持4路显示、GPU以及1080P H.264视频硬件编解码。另外,创龙科技已在T3平台适配国产嵌入式系统翼辉SylixOS,真正实现软硬件国产化。
紫光同创Logos PGL25G/PGL50G FPGA在工业领域应用广泛,逻辑资源分别为27072/51360,与国外友商产品pin to pin兼容,主要用于多通道/高速AD采集或接口拓展。因其价格低、质量稳定、开发环境易用等优点,受到工业用户的广泛好评。尤其是开发环境,最快3天可完成从国外友商产品到紫光同创产品的切换。

# p$ o& @. n9 ?3 H* ]& \
图2 ARM + FPGA典型应用场景
国产ARM + FPGA的SDIO通信案例介绍
本章节主要介绍全志科技T3与紫光同创Logos基于SDIO的ARM + FPGA通信方案,使用的硬件平台为:创龙科技TLT3F-EVM工业评估板。最终实测写速率为5.678MB/s,读速率为5.744MB/s,误码率为0。
! e3 c: W+ p0 o4 `
案例功能
该案例实现T3(ARM Cortex-A7)与FPGA的SDIO通信功能。
ARM端sdio_test案例实现SDIO Master功能,具体如下:
(1)打开SDIO设备节点,如:/dev/generic_sdio0;
(2)发送数据至SDIO总线,以及从SDIO总线读取数据;
(3)校验数据,然后打印读写速率、误码率。
FPGA端dram_sdio案例实现SDIO Slave功能,具体如下:
(1)FPGA将SDIO Master发送的数据保存至DRAM;
(2)SDIO Master发起读数据时,FPGA从DRAM读取数据,并通过SDIO总线传输至SDIO Master。
, C9 k( D: x1 h' O, w
+ G( \, j  E& \% j  z; z% A9 z" Y
图3 ARM端程序流程图

, T% }# L5 O. C- p
案例演示
评估板上电后,请先固化FPGA案例dram_sdio_xxx.sfc可执行程序至FPGA端,FPGA需在ARM驱动加载前完成初始化。再将ARM端可执行文件sdio_test、"driver\bin\generic_sdio.ko"驱动拷贝至评估板文件系统任意目录下。
评估板上电启动,在generic_sdio.ko驱动所在路径下,执行如下命令加载驱动。
Target#insmod -f generic_sdio.ko
7 s2 d! P1 Z* @# I
图4
执行如下命令,可查看设备节点。
Target#ls /dev/generic_sdio0
1 o3 V$ X! Y& p

# B5 A; d; H3 _4 C& A
图5
执行如下命令,可查询程序命令参数。
Target#./sdio_test -h
图6
: @7 M4 @$ D% [1 d
执行如下命令,ARM通过SDIO总线写入随机数据至FPGA DRAM,然后读出数据、进行数据校验,同时打印SDIO总线读写速率和误码率,如下图所示。
Target#./sdio_test -d /dev/generic_sdio0 -s 1024
参数解析:
-d:设备节点路径;
-s:设置传输数据大小,单位为Byte。
$ _/ J0 u% P. f) h! m* y

- [5 K/ K8 t& J; |/ n0 S
图7
! X  k3 k6 \; V0 z
本次测试SDIO总线通信时钟频率为最高50MHz,则理论通信速率为:(50 x 4 / 8)MB/s = 25MB/s。从上图可知,则可以清晰看到实测速率结果。
备注:实测速率相比理论速率偏低,与ARM端驱动和FPGA端逻辑实现、IP核配置有关。
  T; }5 }- ?$ G- c+ \" h: J5 N
- O6 C4 i, H, g2 {$ B  V

, ^& ~9 Q8 |1 f! ^4 A7 e, b# {
  • TA的每日心情
    开心
    2024-8-12 15:03
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    2#
    发表于 2024-5-30 17:35 | 只看该作者
    66666666666666666
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-23 17:21 , Processed in 0.171875 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表