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

news/2024/11/17 10:47:17/文章来源:https://www.cnblogs.com/Tronlong818/p/18303274

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)。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/744123.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【攻防技术系列】shellcode初始

虚拟机环境搭建 【Kali】: 192.168.10.131 【win】: 192.168.10.1shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名。 但是想要更充分理解什么是shellcode,我们得先了解下可执行程序和shellcode都是怎么运行的。 简…

2024年,国内外哪些企业IM即时通讯聊天软件支持OEM模式?

随着信息技术的不断发展和互联网的日益普及,IM即时通讯聊天软件在企业的日常运营中扮演着越来越重要的角色。在众多软件中,支持OEM模式的企业IM即时通讯聊天软件更是备受关注。那么,在2024年,国内外有哪些支持OEM模式的企业IM即时通讯聊天软件呢?1.飞信钉 飞信钉是一款专门…

在webapi中创建一个jwt token

1.第一步首先创建一个webapi项目2.安装nuget包: Microsoft.AspNetCore.Authentication.JwtBearer3.,然后再Program.cs文件中添加 4.然后运行起来 5. 打开 jwt.io 网站,解密token 关于: iss, sub, exp,iat,nbf 更新信息看下图:

vscode打开npm脚本

设置 搜索npm 并更改部分设置(勾选 enable run from folder) 重启vscode,打开package.josn 此时npm脚本存在,点击 右下角出现npm脚本

NPA论文阅读笔记

NPA: Neural News Recommendation with Personalized Attention论文阅读笔记 这个又是一篇很老但是很经典的论文,这里来读一下 Abstract 现存的问题: ​ 不同的用户通常有不同的兴趣爱好,同一用户也可能有不同的兴趣爱好。因此,不同的用户点击同一篇新闻时可能会关注不同的…

[MRCTF2020]Ezaudit 1

信息收集,伪随机数打开之后发现什么按键都没用,直接扫目录得到了两个网址: www.zip login.html <?php header(Content-type:text/html; charset=utf-8); error_reporting(0); if(isset($_POST[login])){$username = $_POST[username];$password = $_POST[password];$Pr…

新一代工程科研效率协同平台peerup

如果您是一位工程师或者科研工作者,相信您一定经历过以下几种情景: 工程类仪器和软件普遍使用门槛很高,大量时间花费在学习使用和数据获取与分析上,而不是创造性工作。软件或仪器产生的数据格式各异,很难进行统一的数据分析与处理。 使用相同仪器,不同行业,公司,项目组…

WAIC 2024,好city啊!

7月4日,“以共商促共享•以善治促善智”为主题的2024世界人工智能大会暨人工智能全球治理高/级别会议(简称“WAIC 2024”)在上海举办。天翼云携智算创新成果精彩亮相世博展览馆,全方位展现在人工智能领域的深厚实力。7月4日,“以共商促共享•以善治促善智”为主题的2024世…

上榜!天翼分布式云操作系统入选“科创中国”先导技术榜单!

在近日召开的第二十六届中国科协年会上,中国科协正式发布2023年“科创中国”系列榜单,榜单包括先导技术榜、新锐企业榜、融通创新组织榜、技术经理人先锋榜等。天翼云自主研发的天翼分布式云操作系统入选先导技术榜,充分展现了在科技创新方面的硬实力。在近日召开的第二十六…

搜索枚举_冯政玮

搜索枚举_冯政玮 A - 循环赛 搜索剪枝 题面 \(n\) 支队伍比赛,每两支队伍比赛一次,平 \(1\) 胜 \(3\) 负 \(0\)。 给出队伍的最终得分,求有多少种可能的分数表。 平1胜3负0指:若两支队伍打平,则各得到 \(1\) 分; 否则,胜利的队伍得到 \(3\) 分,被打败的队伍得到 \(0\) …

探索Nuxt.js的useFetch:高效数据获取与处理指南

摘要:“探索Nuxt.js的useFetch:高效数据获取与处理指南”详述了Nuxt.js中useFetch函数的使用,包括基本用法、动态参数获取、拦截器使用,及参数详解。文章通过示例展示了如何从API获取数据,处理动态参数,自定义请求和响应,以及useFetch和useAsyncData的参数选项,帮助开发…

webrtc-streamer实时播放监控

公司要做web端监控实时播放,经过调研,webrtc-streamer的方式对前后端项目侵入最少,且没有延迟卡钝的现象。 一、准备工作一个摄像头,摄像头对应的rtsp流链接,一台电脑,一个vue项目。 二、Webrtc-streamer安装及启动教程1、下载安装包下载地址:https://github.com/mpromo…