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

GPMC并口如何实现“小数据-低时延,大数据-高带宽”

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-7-15 11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 Tronlong123 于 2024-7-21 17:42 编辑 . E0 N2 p6 R  S( o, D" J( f
% E# I, h0 M! v' n2 c0 P5 {

8 W# o6 M+ B! ?: V) T" s

GPMC并口简介
8 Y( {4 N6 D- o4 a6 b! ]  kGPMC(General Purpose Memory Controller)是TI处理器特有的通用存储器控制器接口,支持8/16bit数据位宽,支持128MB访问空间,最高时钟速率133MHz。GPMC是AM62x、AM64x、AM437x、AM335x、AM57x等处理器专用于与外部存储器设备的接口,如:
1 q7 r0 M8 m- o3 m- ]7 f1 ?2 k(1)FPGA器件" f/ y4 a6 m! t
(2)ADC器件5 o. I* G* r5 ]
(3)SRAM内存, h7 P" m& j% o
(4)NOR/NAND闪存
6 o# Q/ r! T) R0 B1 g) `+ S$ G

GPMC并口3大特点
' x' ]9 I' @! s6 w! ~  h, {6 ]% E(1)小数据-低时延+ h: O: F  n1 f5 }3 g% Q! u% h- f
在工业自动化控制领域中,如工业PLC、驱控一体控制器、运动控制器、CNC数控主板、继电保护设备、小电流接地选线等,极其注重精确性与快速性,GPMC并口“小数据-低时延”的特点显得格外耀眼,能够很好地提高数据传输效率,降低传输成本。% D( A5 O$ r+ g. x. ?$ m0 {7 V
(2)大数据-高带宽大数据时代对能源电力领域的数据量传输、数据处理等方面提出了更高的要求。GPMC提供了最大的灵活性,以支持四个可配置片选中不同的时序参数和位宽配置。可根据外部设备的特点,使用最佳的片选设置。可通过配置GPMC接口的时序参数和不同工作模式,最大速率可超过100MB/s。因此,GPMC“大数据-高带宽”的特点在能源电力领域扮演着重要角色。- Y4 U# q2 L$ p" k3 d$ `
(3)低成本-低功耗“低成本、低功耗、高性能”是如今智能设备发展趋势,GPMC并口相对于PCIe串行接口,成本更低、功耗更低。两者都为常用的通信接口,均可满足高速通信要求,但在与FPGA通信的时候,用户往往更喜欢选用GPMC并口,因为:1、使用低成本FPGA即可实现高速通信,而具备PCIe接口的FPGA成本则成倍增长。2、具备PCIe接口的FPGA功耗往往较大,而低成本FPGA功耗较小。一般而言,低功耗器件的使用寿命也将更长。9 [1 `/ ]3 f0 L7 `+ W8 G* B1 X/ E
基于CPU直接访问方式
; K+ j4 U  i1 x% @以AM62x为例,通过GPMC接口与FPGA连接,采用CPU直接访问方式读取FPGA端的数据,写速度可达15.501MB/s,读速度可达5.744MB/s。  P- g/ Q% `9 D9 y) u& g
此方式适合“小数据-低时延”场合。
1 }5 _" y2 w) z) b( U/ E% \程序流程说明:' ]1 o: v7 o+ T* T
(1)ARM端通过GPMC总线将数据写入FPGA BRAM;(2)ARM端通过GPMC总线从FPGA BRAM读取数据;(3)判断写入与读取数据的正确性,并计算读写速率。
7 {( i* E8 ], a$ ^$ D3 E基于UDMA访问方式
! v7 B$ w8 v8 w以AM62x为例,通过GPMC接口与FPGA连接,采用UDMA的方式读取FPGA端的数据,写速度可达73.90MB/s,读速度可达77.47MB/s,实际上通过配置GPMC接口的时序参数和不同工作模式,最大速率可超过100MB/s。+ F. W, s* j% ]8 O  I" X
此方式适合“大数据-高带宽”场合。4 I; b- n- P8 x. w' U+ K* t

备注:由于测试受线材限制影响,因此测得误码率会过高。
- _* U, z9 X; ]9 s* u" z程序流程说明  O) I; f- {5 T2 y0 @
ARM端
. r+ _& T7 h8 Y: ?(1) 采用UDMA方式;
# h& q4 k3 E4 W0 c) s$ \* p(2)将数据写入至dma_mEMCpy驱动申请的连续内存空间(位于DDR);
* X& E& X) `3 Z2 j8 |, Q(3)配置UDMA,如源地址、目标地址、传输的数据大小等;
) M. _! y$ I1 J(4)写操作:通过ioctl函数启动UDMA,通过GPMC总线将数据搬运至FPGA BRAM;/ X, f; _# D; c# M9 ^# R, S: L% `2 c
(5)程序接收驱动上报input事件后,将通过ioctl函数获取UDMA搬运数据耗时,并计算UDMA传输速率(即写速率);; z! ?; ~+ I$ p: q; i' ]9 Q' f6 Z
(6)读操作:通过ioctl函数启动UDMA,通过GPMC总线将FPGA BRAM中的数据搬运至dma_memcpy驱动申请的连续内存空间;
2 Q; b5 s! K2 p, [2 J(7)程序接收驱动上报input事件后,将数据从内核空间读取至用户空间,然后校验数据,同时通过ioctl函数获取UDMA搬运数据耗时,并计算UDMA传输速率(即读速率)。) J7 S: K+ n# u9 T. r' m3 z
FPGA端:
' z$ Y$ |; Y0 D6 \, f(1)根据ARM端GPMC时序解析数据,对FPGA内部BRAM资源进行访问。BRAM的地址位宽为10bit,数据位宽为16bit,内存空间大小为2KByte(1024 x 16bit)。. I; q% [+ D4 R$ R* D


7 f3 |. h5 |+ r9 H

0 }* i$ `( t2 |- ]* c9 E

9 k5 I4 p8 c4 `) h3 M6 O8 o
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-10 23:19 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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