所有培训资料均可从网站 http://bucteda.eefocus.com下载 何宾 Tel:13911127536 版权所有,禁止未经授权的商业使用行为 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn 所有培训资料均可从网站 http://bucteda.eefocus.com下载 北京中教仪装备技术有限公司
基于AXI4的可编程SoC系统设计 (下) 培训内容 Xilinx片上可编程系统设计导论 AXI4规范 MicroBlaze处理器原理 EDK13.1工具概述 操作系统(OS)及板级支持包(BSP)概述 基于MicroBlaze和AXI4的可编程SoC系统实现
片上可编程系统设计实验 --实验内容 介绍EDK13.1软件的使用方法和设计流程。 在介绍这部分内容时,使用捐赠的板卡Nexys3,该板卡 带有Xilinx最新一代的Spartan-6 FPGA芯片。
片上可编程系统设计实验 --实验内容 该内容主要包括: 1. 工程的建立; 2. 添加AXI4 IP到硬件设计; 3. 定制LED IP,并添加IP到系统,编写应用程序; 4. 定制7段数码管 IP,并添加IP到系统,编写应用程序; 5. 定制PWM IP,并添加IP到系统,编写应用程序; 6. 实现AXI4中断控制系统; 7. 使用AXI4 Chipscope实现系统协同调试。
实验五:定制PWM IP并添加到设计中 --设计结构原理 ILMB DLMB Microblaze LMB BRAM CNTLR AXI-Lite M_AXI _DP GPIO UART MDM MBDEBUG JTAG DIP PUSH RS-232 MY IP 低通滤波器 这就是本实验要完成的部分 使用BSB建立的最小系统结构
实验五:定制PWM IP并添加到设计中 --设计目标 设计一个脉冲宽度调制(Pulse-Width Modulation, PWM)控制器IP核, 通过该控制器连接到板上的低通滤 波器,产生下面的三种信号: 正弦信号; 三角信号; 方波信号;
实验五:定制PWM IP并添加到设计中 --设计原理 化规律 MicroBlaze AXI-LITE PWM_IP 寄 存 器 控 制 逻 辑 低通滤波器 LPF
实验五:定制PWM IP并添加到设计中 -- PWM实现原理 #include "stdafx.h" #include "math.h" #define N 64 int main() { float y; int i; unsigned j; for(i=0;i<N;i++) y=sin(((3.141592653*2)/N)*i); j=(int)(y*127+128); printf("%x\n",j); } return 0; 生成正弦查找表
实验五:定制PWM IP并添加到设计中 --打开前面的设计 在开始这个实验以前,先建立一个lab5的目录,将刚 才lab1下所有的文件复制到新建的lab5目录下. 这个实验基于lab1前面的设计实现,设计并添加定制 IP到设计中,并对其进行测试.
实验五:定制PWM IP并添加到设计中 --打开前面的设计 在Windows操作系统下,选择所有程序->Xilinx ISE Design Suite13.1->EDK->Xilinx Platform Studio(XPS)。打 开EDK软件。 1)打开XPS,在XPS主界面选择File->Open Project, 出现下图界面。选择Open a recent project,然后单击ok按 钮。
实验五:定制PWM IP并添加到设计中 --打开前面的设计 打开已经存在的工程, 选择该选项 点击”OK”按纽
实验五:定制PWM IP并添加到设计中 --打开前面的设计 定位到所在目录的system.xmp文件 然后点击“Open”按纽
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 选择”创建或导入外设“
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 选择创建新外设模版 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 选择接口AXI4-LITE 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 选中:用户逻辑软件寄存器 不选中 点击“Next”按钮 你需要实现的部分
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 对寄存器的读写控制 寄存器的个数,根据实际需要使用的情况设置 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 产生ISE工程 生成软件驱动 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 点击“Finish”按钮
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 所创建的IP核已经添加到IP库中 位置在工程目录下的pcores目录中
实验五:定制PWM IP并添加到设计中 --定制PWM IP核
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 点击“Yes”按钮,同意将其添加到设计中
实验五:定制PWM IP并添加到设计中 --定制PWM IP核 使用默认设置,并点击“OK”按钮
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择使用XPS自动总线连接和存储空间分配 点击“OK”按钮
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择总线接口标签 自动将其连接到axi4lite_0
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择地址标签 自动进行存储空间分配
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择总线接口标签 选中pwm_ip,右击鼠标 选择View MPD文件
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 保存修改后的文件
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择总线接口标签 选中pwm_ip,右击鼠标 选择Browse HDL Source…
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择user_logic.vhd 点击“打开”按纽
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 用HDL语言,添加pwm端口
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 正弦查找表深度63, 宽度8位(由正弦 生成C语言得到) 状态声明 内部时钟声明
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 分频器模块,用于产生用于生成pwm波的分频时钟div_clk 寄存器slv_reg1的内容为0时,计数器值为0; 产生分频时钟, 分频因子由slv_reg0给出
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 状态机用于生成和正弦 波变化对应的pwm波 Pwm的输出为高‘1’; 当计数值小于ROM(i)时,计数继续;否则进入下一个状态 当计数值小于255时,pwm输出为‘0’; 否则,i+1,准备找ROM表中的下一个值,pwm_count值复位。进入初始状态 保存修改后的文件
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择总线接口标签 选中pwm_ip,右击鼠标 选择Browse HDL Source…
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择pwm_ip.vhd 点击“打开”按纽
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 用HDL语言,添加pwm端口
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 用HDL语言,添加PWM端口映射 保存修改后的文件
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择该选项,使变化生效
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择端口标签 展开pwm_ip_0 下拉框下选择make External, 表示该网络将连接到FPGA 物理引脚上
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择端口标签 新生成的外部端口名字 pwm_ip_0_PWM_pin
实验五:定制PWM IP并添加到设计中 --添加PWM IP核 选择system.ucf文件 添加pwm_ip_0_PWM_pin引脚约束
实验五:定制PWM IP并添加到设计中 --生成网表 下一步,选择这个, 产生网表 想想这步完成的工作? –其实就是 把这个抽象的结构, 转换成门级网表的连接.
实验五:定制PWM IP并添加到设计中 --生成网表 这个过程需要持续一小部分时间,请等待,并且看看控制台给出的综合信息.
实验五:定制PWM IP并添加到设计中 --更新比特流 下一步,选择这个, 产生布局布线比特流文件 这个过程需要持续一小部分时间,请等待,并且看看 控制台给出的实现过程的信息.
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 选择输出硬件到SDK
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 选择输出和打开 SDK软件
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 定位路径到当前的 工程窗口 点击“OK”按纽, 进入下一个界面
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 删除lab1建立的BSP 和应用程序工程 下面将添加设计的BSP
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 选择建立Xilinx BSP, 作用是各种外设的软件驱动
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 BSP的工程名字 硬件平台的工程名字 BSP的名字 Xilkernel-Xilinx操作系统 Standalone-BSP 点击”Finish”按纽, 进入下一个界面
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 点击”OK”按纽, 进入下一个界面
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 SDK开始自动编译BSP
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 BSP的各种文件 下面将添加SDK自动生成的 应用程序
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 生成新的C工程
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 工程名字 选择空的应用工程
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 点击”Next”按纽, 进入下一个界面
实验五:定制PWM IP并添加到设计中 --建立软件应用程序 选择该选项,使用已经存在的BSP 点击”Finish”按纽, 进入下一个界面
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 选择该选项,打开目录管理
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 点击”New”按钮 定位到当前的目录下 点击”确定”按钮
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 添加到搜索路径中 重新扫描路径 点击”ok”按钮
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 选择standalone_bsp_0 点击”OK”按钮
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 选择drivers 选择pwm_ip_0 下拉框中选择pwm_ip 点击”OK”按钮
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 错误提示
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 找到打开该文件
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 添加此行代码,并保存
实验五:定制PWM IP并添加到设计中 --添加定制IP的软件驱动到BSP中 添加此行代码,并保存 选择,并打开该文件
实验五:定制PWM IP并添加到设计中 --导入应用工程文件 选择”Import”选项
实验五:定制PWM IP并添加到设计中 --导入应用工程文件 选择“general”,并展开 选择“File System” 点击“Next”按钮
实验五:定制PWM IP并添加到设计中 --导入应用工程文件 点击“Browse”按钮 定位到导入文件所在的文件夹 点击“确定”按钮
实验五:定制PWM IP并添加到设计中 --导入应用工程文件 选中pwm_test.c文件 选中”Browse”按钮,定位要导入文件的位置
实验五:定制PWM IP并添加到设计中 --导入应用工程文件 选中empty_application_0 选中src 点击“OK”按钮
实验五:定制PWM IP并添加到设计中 --导入应用工程文件 导入文件的文件夹 点击“Finish”按钮
实验五:定制PWM IP并添加到设计中 --导入应用工程文件 文件已经被导入到设计中 修改PWM的周期和使能/禁止其工作
实验五:定制PWM IP并添加到设计中 --生成链接脚本文件 选择产生链接脚本文件
实验五:定制PWM IP并添加到设计中 --生成链接脚本文件 点击”Browse”按纽 程序各段的分配情况 定位产生.ld文件的路径 选择保存 选择生成
实验五:定制PWM IP并添加到设计中 --工程的下载 产生比特流文件并且下载到板子上。在下载前,指 令存储器(FPGA的BRAM)将被更新(使用GNU编译器 产生可执行的文件)。 使用下面的步骤完成设计下载和结果的观察: 连接Nexys3的USB线连接到主机的USB口 打开目标板的电源 打开主机的超级终端(在Windows操作系统的开始 ->所有程序->附件->通信下),并且配置其参数,使其波特 率9600,数据位:8比特;无奇偶校验;一个停止位;无流 量控制。
实验五:定制PWM IP并添加到设计中 --工程的下载 选择编程 FPGA选项
实验五:定制PWM IP并添加到设计中 --工程的下载 比特流文件 块RAM映射文件 选择软件应用程序.elf文件 (即最终编译\连接后的文件 点击”Program”按纽, 进入下一个界面
实验五:定制PWM IP并添加到设计中 --工程的下载 等待编程成功,在示波器上观察结果,看结果. 注意:如果前面没有选择生成链接脚本文件,则需要选择RUN->RUN,来运行程序.