ZYNQ与DSP之间EMIF16通信

简介: 介绍说明XQ6657Z35-EVM 高速数据处理评估板ZYNQ与DSP之间EMIF16通信的功能、使用步骤以及各个例程的运行效果。

本文主要介绍说明XQ6657Z35-EVM 高速数据处理评估板ZYNQ与DSP之间EMIF16通信的功能、使用步骤以及各个例程的运行效果。
[基于TI KeyStone架构C6000系列TMS320C6657双核C66x 定点/浮点DSP以及Xilinx Zynq-7000系列SoC处理器XC7Z035-2FFG676I设计的异构多核评估板,由核心板与评估底板组成。]

1.1ZYNQ与DSP之间EMIF16通信

1.1.1例程位置
ZYNQ例程保存在资料盘中的Demo\ZYNQ\PL\FPGA_DSP_EMIF文件夹下。
DSP例程保存在资料盘中的Demo\DSP\XQ_EMIF16文件夹下。

1.1.2功能简介
实现DSP与ZYNQ PL端之间EMIF16接口传输功能。

DSP首先通过EMIF16接口往ZYNQ PL端发送4096字节数据,然后再读回来,并检测数据是否有错,数据发送、读回以及错误情况实时打印。

ZYNQ PL端开辟了一块RAM空间,用于存放DSP通过EMIF16接口写入的数据,同时用作DSP通过EMIF16接口读数据时的数据源。

DSP与ZYNQ PL端之间EMIF16接口连接示意图如下图所示:

图片1.png

EMIF16接口信号定义说明如下表格所示:
信号名 功能描述
EMIFD [15:0] 双向数据总线。
DSP读数据时,对DSP而言是输入接口;
DSP写数据时,对DSP而言是输出接口。
EMIFA [23:0] 地址总线,注意实际使用时,23bit作为最低位。ZYNQ PL端例程只使用了其中的12bits作为地址总线作为示例。
DSP端:为输出接口;
ZYNQ PL端:为输入接口。
EMIFCE0n 片选信号,低电平有效。
DSP端:为输出接口;
ZYNQ PL端:为输入接口。
EMIFWEn 写使能信号,低电平有效。
DSP端:为输出接口;
ZYNQ PL端:为输入接口。
EMIFOEn 输出使能信号,即DSP读使能,低电平有效。
DSP端:为输出接口;
ZYNQ PL端:为输入接口。

1.1.3例程使用
1.1.3.1加载运行ZYNQ程序
1.1.3.1.1打开Vivado工程
打开Vivado示例工程:

图片2.png

工程打开后界面如下图所示:

图片3.png

1.1.3.1.2下载ZYNQ PL程序
下载bit流文件fpga_dsp_emif_top.bit,并且配套fpga_dsp_emif_top.ltx调试文件,如下图下载界面所示:

图片4.png

1.1.3.2加载运行DSP程序
1.1.3.2.1CCS导入例程
CCS软件导入EMIF16示例工程XQ_EMIF16,如下图所示:

图片5.png

CCS示例工程导入后界面如下图所示:

图片6.png

1.1.3.2.2下载运行CCS程序
下载DSP可执行文件XQ_EMIF16.out:

图片7.png

点击Resume运行DSP程序:

图片8.png

1.1.3.3运行结果说明
1.1.3.3.1DSP程序运行结果
DSP首先通过EMIF16接口往ZYNQ PL端发送4096字节数据,然后再读回来,并检测数据是否有错,数据发送、读回以及错误情况实时打印,如下图所示:

图片9.png

1.1.3.3.2ZYNQ PL程序运行结果
ZYNQ PL端提供的ILA调试窗口,可以实时抓取采集EMIF16总线信号时序波形。
DSP通过EMIF16总线接口发送数据(即写ZYNQ PL端RAM)示例如下图所示:

图片10.png

DSP通过EMIF16总线接口读回数据(即读ZYNQ PL端RAM)示例如下图所示:

图片11.png

1.1.3.4退出实验
CCS软件窗口上,点击Terminate断开DSP仿真器与板卡的连接。
Vivado调试界面Hardware Manager窗口,右键单击localhost(1),在弹出的菜单中点击Close Server,断开ZYNQ JTAG仿真器与板卡的连接。
最后,关闭板卡电源,实验结束。

相关文章
|
SQL 存储 NoSQL
SQL、NoSQL还是NewSQL
【7月更文挑战第5天】SQL、NoSQL还是NewSQL
277 1
ly~
|
11月前
|
缓存 监控 安全
反向代理服务器的常见故障有哪些?
反向代理服务器常遇到的故障包括配置错误、网络问题、性能瓶颈及安全漏洞。配置相关故障如错误监听端口、域名配置不当及代理转发规则错误,可使用`netstat -tuln`检查端口状态,并验证域名及DNS解析。网络故障涉及连接中断和带宽不足,利用`ping`和`traceroute`检测连通性,用`iftop`监控带宽。性能问题如资源耗尽和缓存不一致需通过`top`监控资源使用,并检查缓存策略。安全故障包括DDoS攻击和配置漏洞,应使用流量分析工具检测异常并加强安全配置,确保SSL/TLS加密和访问控制策略正确无误。
ly~
600 3
|
关系型数据库 MySQL 测试技术
压测工具sysbench的使用
压测工具sysbench的使用
1015 0
|
存储 数据采集 分布式计算
阿里巴巴数据仓库实践:从离线到实时的一体化探索
阿里巴巴的数据仓库实践从离线到实时的一体化探索,不仅为企业自身业务的快速发展提供了有力支撑,也为行业树立了标杆。通过不断优化技术架构、提升数据处理能力、加强数据治理和安全管理,阿里巴巴的实时数仓将为企业创造更大的价值,推动数字化转型的深入发展。未来,随着技术的不断进步和业务的持续拓展,阿里巴巴的实时数仓实践将展现出更加广阔的应用前景和发展空间。
|
NoSQL 网络协议 Linux
公网远程连接Redis数据库「内网穿透」
Redis作为一款高速缓存的key value键值对的数据库,在许许多多的场景中广泛使用,由于是把数据存储在内存中,所以读写效率极高
|
前端开发 Java Maven
如何在Spring MVC中实现图片的上传和下载功能
如何在Spring MVC中实现图片的上传和下载功能
|
SQL HIVE
【Hive SQL】字符串操作函数你真的会用吗?
本文介绍了SQL中判断字符串是否包含子串的几种方法。`IN`函数判断元素是否完全等于给定元素组中的某项,而非包含关系。`INSTR`和`LOCATE`函数返回子串在字符串中首次出现的位置,用于检测是否存在子串。`SUBSTR`则用于提取字符串的子串。`LIKE`用于模糊匹配,常与通配符配合使用。注意`IN`并非用于判断子串包含。
1094 3
|
关系型数据库 数据库 PostgreSQL
Docker安装postgreSql
Docker安装postgreSql步骤
|
算法
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
681 0
|
Web App开发 前端开发 Java
Python Selenium自动化测试框架
Python Selenium自动化测试框架