首页 > 其他分享 >基于AM62x GPMC并口的ARM+FPGA低成本通信方案

基于AM62x GPMC并口的ARM+FPGA低成本通信方案

时间:2024-07-15 15:29:23浏览次数:10  
标签:GPMC 并口 FPGA UDMA 数据 ARM

GPMC并口简介

GPMC(General Purpose Memory Controller)是TI处理器特有的通用存储器控制器接口,支持8/16bit数据位宽,支持128MB访问空间,最高时钟速率133MHz。GPMC是AM62x、AM64x、AM437x、AM335x、AM57x等处理器专用于与外部存储器设备的接口,如:

(1)FPGA器件

(2)ADC器件

(3)SRAM内存

(4)NOR/NAND闪存

 

GPMC并口3大特点

(1)小数据-低时延

在工业自动化控制领域中,如工业PLC、驱控一体控制器、运动控制器、CNC数控主板、继电保护设备、小电流接地选线等,极其注重精确性与快速性,GPMC并口“小数据-低时延”的特点显得格外耀眼,能够很好地提高数据传输效率,降低传输成本。

(2)大数据-高带宽大数据时代对能源电力领域的数据量传输、数据处理等方面提出了更高的要求。GPMC提供了最大的灵活性,以支持四个可配置片选中不同的时序参数和位宽配置。可根据外部设备的特点,使用最佳的片选设置。可通过配置GPMC接口的时序参数和不同工作模式,最大速率可超过100MB/s。因此,GPMC“大数据-高带宽”的特点在能源电力领域扮演着重要角色。

(3)低成本-低功耗“低成本、低功耗、高性能”是如今智能设备发展趋势,GPMC并口相对于PCIe串行接口,成本更低、功耗更低。两者都为常用的通信接口,均可满足高速通信要求,但在与FPGA通信的时候,用户往往更喜欢选用GPMC并口,因为:1、使用低成本FPGA即可实现高速通信,而具备PCIe接口的FPGA成本则成倍增长。2、具备PCIe接口的FPGA功耗往往较大,而低成本FPGA功耗较小。一般而言,低功耗器件的使用寿命也将更长。

基于CPU直接访问方式

以AM62x为例,通过GPMC接口与FPGA连接,采用CPU直接访问方式读取FPGA端的数据,写速度可达15.501MB/s,读速度可达5.744MB/s。

此方式适合“小数据-低时延”场合。

 

程序流程说明:

(1)ARM端通过GPMC总线将数据写入FPGA BRAM;(2)ARM端通过GPMC总线从FPGA BRAM读取数据;(3)判断写入与读取数据的正确性,并计算读写速率。

基于UDMA访问方式

以AM62x为例,通过GPMC接口与FPGA连接,采用UDMA的方式读取FPGA端的数据,写速度可达73.90MB/s,读速度可达77.47MB/s,实际上通过配置GPMC接口的时序参数和不同工作模式,最大速率可超过100MB/s。

此方式适合“大数据-高带宽”场合。

 

备注:由于测试受线材限制影响,因此测得误码率会过高。

程序流程说明

ARM端

(1) 采用UDMA方式;

(2)将数据写入至dma_memcpy驱动申请的连续内存空间(位于DDR);

(3)配置UDMA,如源地址、目标地址、传输的数据大小等;

(4)写操作:通过ioctl函数启动UDMA,通过GPMC总线将数据搬运至FPGA BRAM;

(5)程序接收驱动上报input事件后,将通过ioctl函数获取UDMA搬运数据耗时,并计算UDMA传输速率(即写速率);

(6)读操作:通过ioctl函数启动UDMA,通过GPMC总线将FPGA BRAM中的数据搬运至dma_memcpy驱动申请的连续内存空间;

(7)程序接收驱动上报input事件后,将数据从内核空间读取至用户空间,然后校验数据,同时通过ioctl函数获取UDMA搬运数据耗时,并计算UDMA传输速率(即读速率)。

FPGA端:

(1)根据ARM端GPMC时序解析数据,对FPGA内部BRAM资源进行访问。BRAM的地址位宽为10bit,数据位宽为16bit,内存空间大小为2KByte(1024 x 16bit)。

 

 

标签:GPMC,并口,FPGA,UDMA,数据,ARM
From: https://www.cnblogs.com/Tronlong818/p/18303274

相关文章

  • 【读书笔记】《深度神经网络FPGA设计与实现》(孙其功)第三章 深度神经网络基础层算子介
    深度神经网络基础层算子介绍1.卷积算子2.反卷积算子3.池化算子(1)平均池化算子:(2)最大池化算子:4.激活算子5.全连接算子6.Softmax算子7.批标准化算子8.Shortcut算子1.卷积算子基础概念(1)卷积核(Kernel)。图像处理时,对输入图像中一个小区域像素加权......
  • 基于FPGA的千兆以太网设计(1)----大白话解释什么是以太网
    1、什么是以太网?        还记得初学以太网的时候,我就被一大堆专业名词给整懵了:什么以太网,互联网,MAC,IP,局域网,万维网,网络分层模型····等等等等。慢着!我学的不是以太网吗?怎么出来这么一大堆东西?        啊!以太网究竟是什么?别急,我接下来就尽量用通俗的大白话......
  • FPGA bit转bin文件
    首先科普一下什么是bitstream文件FPGA比特流(bitstream)是一种用于配置可编程逻辑器件的数据格式,特别是现场可编程门阵列(FPGA)。比特流包含了硬件逻辑电路、路由信息以及芯片上寄存器和存储器(如查找表LUT)的初始值。通常认为比特流具有厂商特定的格式,因此很难反向工程或理解其内部细......
  • 2U上架式信创网安设备:搭载国产CPU+FPGA高性能信创设备
        在中国信息技术应用创新(简称“信创”)背景下,由本土企业研发和生产的网络安全设备。旨在满足国家安全自主可控的战略需求,减少对外国技术和产品的依赖,提升网络基础设施的信息安全水平。为了响应国家的发展战略,近期为客户定制了一批高性能的2U网安设备,搭载国产CPU+FPGA......
  • FPGA以太网学习-RGMII与GMII
    以太网口都叫RJ45接口,从功能角度说,网口只是信号连接,本身没有通信能力。PHY(物理层),这边需要一个芯片,将并行的以太网数据到符合以太网物理层链路数据传输格式的电平信号转换。上图PHY右边是经过编码后的串行数据信号,左侧是提供多种并行信号。网络变压器连接串行信号和网口。MII接......
  • 基于FPGA的A律压缩解压缩verilog实现,包含testbench
    1.算法仿真效果VIVADO2019.2仿真结果如下(完整代码运行后无水印):   RTL图如下所示:   2.算法涉及理论知识概要       A律压缩是一种广泛应用于语音编码的非均匀量化技术,尤其在G.711标准中被欧洲和中国等国家采纳。该技术的核心目的是在有限的带宽下高效传输......
  • 基于MCU和FPGA的DDS信号发生器——MCU与FPGA通信部分
    前言由于项目制作时间有限,考虑到改变方案的风险,我们在遇到许多问题时并没有选择改变路线,而是在现有成果上缝缝补补,造就了现在看来十分笨重的通信模块,不过错误也是宝贵的学习经验,对于电子领域的工作者更是如此,因而笔者保留了我们制作时的失误和思考历程,供广大读者参考借鉴。总......
  • FPGA加扰与仿真
    对加扰仿真,输出结果符合预期 仿真代码如下 modulescrambler_64bit(inputwireclk,inputwirerst,inputwire[63:0]data_in,outputreg[63:0]data_out);reg[63:0]state;always@(posedgeclkorposedgerst)beginif(rst)begin......
  • 课程设计——基于FPGA的双向移位寄存器
    基于FPGA的双向移位寄存器摘 要本文使用verilogHDL语言设计双向移位寄存器,使电路受外部信号控制,实现数字信号的双向移位等功能,其电路设计模块主要分为三个部分,分别为接受判断控制信号的组合逻辑电路部分、实现存储、运算和输出数据的时序逻辑电路部分以及时钟信号输入部分......
  • FPGA必修课—FIFO
    FIFO基本概念FIFO,全称为“FirstInFirstOut”,译为“先进先出”。这是一种常见的数据存储和处理原则,其基本含义在于数据的存取顺序:最先进入的数据将最先被取出。FIFO可以被视为一种特殊类型的数据缓冲区,它按照元素到达的顺序进行数据的存取操作。学习FIFO的重要性在于它在......