近期项目需要实现DSP与FPGA之间的高速数据交换,用到了DM8168的GPMC接口。这部分的中文资料网上还是比较少的,于是苦苦研究芯片的数据手册和参考指南,最近终于有所成果,在Linux下调用GPMC驱动函数调通了GPMC接口,因此发出调试过程与大家分享。 在本文中,我们将深入探讨如何通过GPMC接口利用EDMA(Enhanced Direct Memory Access)进行高速数据传输,特别是在DSP(Digital Signal Processor)与FPGA(Field-Programmable Gate Array)之间的应用。GPMC(General-Purpose Memory Controller)是一个通用存储控制器,常见于TI(Texas Instruments)的DSP芯片如DM8168中,它用于与外部存储设备如NOR Flash、NAND Flash、SRAM等进行通信。 硬件连接方面,GPMC接口在DM8168中工作在125MHz的异步模式下。在这个项目中,GPMC配置为与FPGA通信,选择NOR Flash模式,但只使用16位数据线而不使用地址线,模拟FIFO(First-In-First-Out)操作。具体连接包括:GPMC_CS3作为片选信号,GPMC_OEN作为输出使能时钟,以及16位数据线D[15:0]。此外,还需要一个FIFO_RRST信号来通知FPGA重置读取指针。 在接口协议上,选择异步读取方式,不使用GPMC_CLK。数据传输在GPMC_OEN的下降沿进行,由FPGA在该时钟边沿发送数据。 在Linux环境下,DSP端的代码主要涉及GPMC和EDMA的配置。GPMC的配置涉及7个特殊寄存器,这些配置已通过Linux内核中的gpmc驱动封装成函数,可以直接调用。例如,可以定义一个`gpmc_timings`结构体来设定时序参数。在EDMA配置中,源地址和目标地址都是物理地址,源地址通常设置为不自增模式,以适应FPGA端的数据读取方式。 以下是一个简化的GPMC配置代码示例: ```c static struct gpmc_timings fpga_timings = { // ... 各种时序参数 ... }; static int gpmc_config(void) { // ... 初始化和配置步骤 ... } ``` FPGA端的代码设计需确保在GPMC_OEN下降沿到来时将16位数据传送到GPMC_DATA,并自动增加地址。 通过GPMC接口和EDMA的配合,可以在DSP和FPGA之间实现高效的数据交换。在文中提到的实例中,8KB字节的读取时间大约是235us,达到了34MB/s的传输速率。通过进一步优化GPMC接口的时序参数,这个速度还可以提高。这种方法对于需要高速数据传输的嵌入式系统设计具有很高的实用价值,尤其是在处理大量数据的实时应用中。
剩余7页未读,继续阅读
- 粉丝: 3
- 资源: 892
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab风光柴储混合微电网储能电池系统互补能量管理simulink模型 包含风机,光伏,储能,柴油机等系统实现能量相互协调 波形完美,模型质量
- 这是小米手机专用的奥特曼AR软件安装包,仅限小米手机使用哦
- PHP绿茶小说站群网站源码 自适应电脑+手机端
- (仿真原件+报告)永磁同步电机转速外环+电流内环控制,采用级连H桥五电平逆变器控制,转速环控制,五电平采用SPWM,且设有死区控制 1.五电平逆变器 2.SPWM,死区控制 3.提供相关参考文献 提
- FreeRTOS移植到STM32F407ZGT6
- 电机NVH仿真教程如下图,有完整的仿真流程,全部打包
- Screenrecording_20241231_200849.mp4
- Python人工智能基于深度学习的农作物病虫害识别项目源码+论文(高分毕设)
- 多种植物、水果图像分类数据集【已标注,约27,000张数据】
- 四轮转向汽车模型,采用simulink建模,二自由度车辆模型,可以输入四个车轮的转角,得到汽车横摆角速度和质心侧偏角
- power_bridges.slx
- 深度SEO优化自动采集PHP自适应小说网站源码 内附详细教程
- power_HEMS.slx
- 1模型简介:COMSOL Multiphysics对钻孔在不同边界应力作用下的损伤,自定义设置损伤变量并设置多个研究步骤实现损伤叠加 2案例内容:数值模型一个,视频一个 3模型特色:三维
- (仿真原件+报告)VSG(同步机)控制,基于T型三电平的VSG构网型逆变器控制,采用LCL型滤波器,电压电流双闭环控制 1.VSG控制 2.中点电位平衡控制 3.电压电流双闭环控制 提供参考文献以及
- 训练LDA模型并计算主题一致性,以选择最佳的文档主题数,对文档确定主题,同时进行聚类,确认文档具体类别