实验概述
ZingSK开发套件是基于赛灵思最新的ZC7Z020 EPP芯片而设计的开发平台。该套件主要由ZingSom核心模块和ZingStarter底板组成,其主控芯片为ZC7Z020 EPP芯片。它将ARM®处理系统和与Xilinx 7系列可编程逻辑完美地结合在一起,使用户可以创建独特而强大的设计。
本实验教程目的在于让用户快捷高效地熟悉和使用ZingSK系列可扩展处理平台,从而方便用户自己在该平台上进行相关的开发,提高成本效益,缩短研发时间。
实验说明
本次实验主要是通过详细介绍如何使用Xilinx ISE集成开发环境(14.4及以上版本)设计并建立一个sw_pb_led的工程,并在ZingSK开发套件上实现通过按键或者拨码开关来控制小灯的功能。
本实验的硬件搭建和软件设计比较简单。通过此次实验可以让用户熟悉ZYNQ嵌入式Soc的开发流程,熟悉Xilinx ISE集成开发环境,为后续的实验打下基础。本次实验可以使用户初步掌握以下技能:
1) 熟悉Xilinx ISE集成开发环境下PlanAhead、XPS、SDK软件的使用;
2) 学习和掌握利用ZingSK套件进行ZYNQ Soc嵌入式开发的流程;
3) 了解ZingSK开发板中相关硬件的原理和特点;
4) 根据建立的工程可以在ZingSK开发板上进行sw_pb_led的结果验证。
实验环境
要进行此次实验,用户需要准备好以下两方面的条件:
硬件平台:
PC机1台;ZingSK开发套件1套;Red-Cable-USB下载电缆1套;
USB_Uart转串口电缆1条;电源适配器(6V 3A)1个。
软件环境:
Windows7+Xilinx ISE 14.4(或以上版本)集成开发环境+putty串口调试终端。
实验步骤
用户可根据下面步骤进行操作,学习使用Xilinx ISE集成开发环境建立一个sw_pb_led工程的开发流程。
(1)在windows界面单击开始--->所有程序--->Xilinx Design Tools--->ISE Design Suite 14.4--->PlanAhead进入PlanAhead开发环境,如图1所示。
图1 PlanAhead开发环境界面
(2)单击 Create New Project,开始新建工程向导,如图2所示。
图2 新建工程向导
(3)单击Next,进入工程建立对话框,输入要建立的工程名称,并选择工程所在的路径,如图3所示。
图3 输入工程名并选择其所在路径
(4)单击Next,进入工程类型选择,这里选择新建RTL级工程,并且不指定源文件。如图4所示。
图4 工程类型的选择
(5)单击Next,进入芯片选型对话框,按照图5进行芯片选型。
图5 芯片选型
(6)单击Next,进入工程结束阶段,这个对话框总结了我们建立工程时的相关工程参数,如图6所示。
图6 新建工程总结
(7)单击Finish,完成工程新建,进入工程设计界面,在工程设计界面Project manager工程管理中单击Add Sources添加和创建工程源文件,如图7所示。
图7 在工程管理界面添加源文件
(8)单击Add Sources选项后进入向导,选择红色框区内的选项,添加或创建嵌入式源文件,如图8所示。
图8 添加或创建嵌入式源文件
(9)单击Next,创建一个嵌入式的源文件,并键入名称为system,如图9所示。
图9 创建一个嵌入式源文件system
(10)单击OK,Finish,创建了一个嵌入式源文件,此时软件自动连接到XPS软件的启动界面,在完全启动XPS软件前会弹出一个对话框询问是否要添加Processing System7 instance到系统中,这时单击Yes即可。如图10所示。
图10 添加Processing System7 instance
(11)单击Yes后,进入XPS软件界面,如图11所示。
图11 XPS软件界面
(12)在XPS软件界面下,我们可以根据用户需求,定制相应的系统。这里要实现按键拨码控制小灯的功能,首先我们对PS进行配置:
Ø 时钟配置:可根据硬件资源情况作相应的修改,我们根据ZingSK开发板的硬件资源,对时钟做如下配置,单击红色框区图标,如图12.1所示。
图12.1 选择时钟配置
进行时钟配置,配置后单击红色框区图标可对配置的时钟进行有效校验,确保时钟锁相环能够分出有效的时钟。校验完毕后单击OK,如图12.2所示。
图12.2 时钟配置及校验
Ø MIO外设配置:单击I/O Peripherals选项,按照图12.3对MIO外设配置,这里根据ZingSK套件的硬件信息配置UART0,其它保持默认即可。配置完毕后单击Close。
图12.3 MIO外设配置
然后在Genernal Settings选项设置串口的波特率。
图12.4 设置串口波特率
Ø DDR配置:单击Memory Interfaces进行DDR的配置,如图13所示。
图13 DDR配置
(13)然后在IP Catalog中双击AXI General Purpose IO添加到系统中去,如图14所示。
图13 添加AXI General Purpose IO
(14)在该IP配置框中按红色框区进行配置,配置完毕后单击OK,如图15.1
所示。
图14.1 IP核的配置
然后将该IP通过AXI总线与处理器连接,如图15.2进行选择,然后单击OK。
图14.2 选择该IP的连接
(15)在Ports 项中对axi_interconnect_1进行一下配置,如图15.1和图15.2所示。
图15.1 axi_interconnect_1的时钟配置
图15.2 axi_interconnect_1的复位配置
(16)为了保证模块时钟同步,processing_system7_0的AXI clock也需要连接到FCLK_CLK0上,如图16所示。
图16 processing_system7_0的AXI clock配置
(17)继续展开sw_pb_led项,分别对该IP进行时钟和引脚配置。其中时钟配置如图17.1所示,引脚配置如图17.2和图17.3所示。
图17.1 sw_pb_led的时钟配置
图17.2 sw_pb_led的引脚配置
图17.3 sw_pb_led的引脚配置
然后修改外部信号的管脚名称,如图17.4所示。
图17.4 修改外部管脚名称
(18)选择Addresses项,可以在这里查看到相关外设的地址分配,用户可以在这里对外设地址空间的大小进行配置,配置完成后,单击红色区域按钮Generate Address就可以分配相关外设地址空间。如图18所示。
图18 外设地址的分配及产生
(19)配置完毕后,单击Project ---> Design Rule Check进行DRC检查,检查无误后,选择File---> Exit 来退出XPS,返回到PlanAhead 开发环境。
(20)这时,一个嵌入式系统硬件已基本搭建完成。接下来需要我们进行顶层文件的创建以便PlanAhead工具可以进行分析、综合、布局布线,最终产生FPGA配置文件bit文件。首先,我们需要对综合、仿真、IP相关的选项进行配置,这里我们选择默认就可以了,如需修改,在Project Setting选项中进行设置。
(21)工程设置完毕后,产生顶层文件,如图19所示,
图19 产生顶层文件
(22)顶层文件产生后,需要添加ucf约束文件,具体操作如下图所示,其中图2.20.1为启动添加源文件向导;图2.20.2为选择添加或创建约束文件选项;图2.20.3为创建新的约束文件并命名为sw_pb_led;图2.20.4为编辑约束文件。
图20.1 启动添加源文件向导
图20.2 选择添加或创建约束文件选项
图20.3 创建约束文件并命名为sw_pb_led
图20.4 编辑约束文件
(23)完成上述操作后,根据图21生成FPGA可执行文件bit文件。
图21 实现后生成编程文件bit文件
(24)当生成bit文件后,会出现编译成功的提示信息。如图22所示。
图22 成功产生bit文件
(25)然后就要把生成硬件文件和相关信息一同导出到SDK下,如图23.1和23.2所示。
图23.1 导出生成的硬件编程文件
图23.2 选择全部三项
(26)导出并启动SDK软件,进入软件编程界面,如图24所示,
图24 进入SDK界面
(27)进入SDK界面后,单击File--->New--->Xilinx Board Support Package,进入创建BSP对话框,按照图25.1键入工程名称后,单击Finish,然后在弹出的图25.2中直接单击OK即可。
图25.1 键入工程名称
图25.2 BSP设置
(28)等待BSP库编译完毕后,单击File--->New--->Xilinx C Project,创建sw_pb_led_app应用程序,并指定好该应用程序的BSP库。具体操作如图26.1。选择好后,单击Next进入图16.2,选择要创建的模板,单击Finish。
图26.1 创建sw_pb_led_app应用程序
图26.2 模板选择
(29)之后我们按照图27.1展开sw_pb_led_app工程文件夹,双击testperiph.c文件,按照图27.2可查看和修改源代码。
图27.1 打开testperiph.c文件查看和修改源码
图27.2 查看和修改源代码
(30)修改完成后保存,然后右键sw_pb_led_app工程文件夹,单击Generate Linker Script产生编译器脚本。如图28所示,配置好后单击Generate即可。
图28 产生编译器脚本
(31)下面主要介绍如何通过JTAG接口配置ZYNQ芯片的方法。
第一步,设置启动方式跳线为JTAG模式,并且连接好JTAG下载电缆,如图29.1所示。
图29.1 JTAG跳线设置和连接
给板卡供电,电源使用6V 3A的直流电源,如图29.2所示。
图29.2板卡上电
第二步,然后配置FPGA的bit文件,如图29.3所示。
图29.3 配置FPGA bit文件
当bit文件配置完毕后,FPGA_DONE信号会被拉高,DC1灯熄灭。
第三步,下载ARM应用程序,如图29.4所示。
图29.4 下载ARM应用程序
当配置完应用程序后,用户可以通过按键或者拨码来观察实验现象。 |