这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
icore4tfpga_26 [2020/04/07 16:39] zgf 创建 |
icore4tfpga_26 [2024/04/10 11:29] (当前版本) zhaowenzhe [二、实验设备及平台] |
||
---|---|---|---|
行 2: | 行 2: | ||
|技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
|技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
- | |技术论坛|http://www.eeschool.org||| | ||
^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| V1.0 | 2020-04-03 | gingko | 初次建立 | | | V1.0 | 2020-04-03 | gingko | 初次建立 | | ||
- | ===== PS模式配置FPGA ===== | + | ===== 实验二十三:PS模式配置FPGA ===== |
==== 一、实验目的与意义 ==== | ==== 一、实验目的与意义 ==== | ||
行 15: | 行 14: | ||
==== 二、实验设备及平台 ==== | ==== 二、实验设备及平台 ==== | ||
- iCore4T 双核心板。 | - iCore4T 双核心板。 | ||
- | - USB-Blaster(或相同功能)的仿真器。 | + | - iTool A(或相同功能)的仿真器。 |
- | - Micro USB线缆。 | + | - USB Type C 线缆。 |
- 装有Quartus II 开发软件的平台。 | - 装有Quartus II 开发软件的平台。 | ||
==== 三、实验原理 ==== | ==== 三、实验原理 ==== | ||
行 24: | 行 23: | ||
* PS(Passive serial),被动串行加载方式。FPGA作为从器件,配置过程由外部计算机或控制器控制,将数据从配置芯片EPCS写入FPGA中,配置数据在时钟的上升沿锁存,实现对FPGA的编程,这个过程叫PS配置。采用PS配置模式可以实现对FPGA进行在线编程。 | * PS(Passive serial),被动串行加载方式。FPGA作为从器件,配置过程由外部计算机或控制器控制,将数据从配置芯片EPCS写入FPGA中,配置数据在时钟的上升沿锁存,实现对FPGA的编程,这个过程叫PS配置。采用PS配置模式可以实现对FPGA进行在线编程。 | ||
* 首先看一下Altera的PS模式硬件原理图,如下: | * 首先看一下Altera的PS模式硬件原理图,如下: | ||
- | {{ :icore4t:icore4t_fpga_26_1.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_1.png?direct |图23-1}} |
* 图中的MSEL0、MSEL1、MSEL2三个信号的组合电平决定了FPGA的配置模式,MSEL1引脚接高电平表示PS配置模式,接低电平表示AS配置模式。上图中MSEL1引脚接高电平,为PS模式。再来看iCore4t的FPGA配置信号原理图,iCore4t核心板上将此引脚通过0欧电阻连接到2.5V引脚,使FPGA处于PS配置模式。 | * 图中的MSEL0、MSEL1、MSEL2三个信号的组合电平决定了FPGA的配置模式,MSEL1引脚接高电平表示PS配置模式,接低电平表示AS配置模式。上图中MSEL1引脚接高电平,为PS模式。再来看iCore4t的FPGA配置信号原理图,iCore4t核心板上将此引脚通过0欧电阻连接到2.5V引脚,使FPGA处于PS配置模式。 | ||
- | {{ :icore4t:icore4t_fpga_26_2.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_2.png?direct |图23-2}} |
=== 2.PS模式的配置过程 === | === 2.PS模式的配置过程 === | ||
* 在iCore4t双核心板上,数据时通过STM32配置进FPGA的,因此,除了模式控制以外的配置信号引脚是连接到STM32上的,包括下图中的配置信号: | * 在iCore4t双核心板上,数据时通过STM32配置进FPGA的,因此,除了模式控制以外的配置信号引脚是连接到STM32上的,包括下图中的配置信号: | ||
- | {{ :icore4t:icore4t_fpga_26_3.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_3.png?direct |图23-3}} |
* 各信号代表意义如下: | * 各信号代表意义如下: | ||
行 37: | 行 36: | ||
|nSTATUS |反应FPGA配置过程状态的信号| | |nSTATUS |反应FPGA配置过程状态的信号| | ||
* 明白了这几个信号的含义,再来看一下PS配置模式的时序图: | * 明白了这几个信号的含义,再来看一下PS配置模式的时序图: | ||
- | {{ :icore4t:icore4t_fpga_26_4.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_4.png?direct |图23-4}} |
* 从时序图中也可以看到,整个配置过程大致如下: | * 从时序图中也可以看到,整个配置过程大致如下: | ||
* 1)nCONFIG被拉低后,一个上升沿表示要开始配置FPGA; | * 1)nCONFIG被拉低后,一个上升沿表示要开始配置FPGA; | ||
行 49: | 行 48: | ||
* sof格式文件转rbf格式文件流程如下: | * sof格式文件转rbf格式文件流程如下: | ||
1、打开Quartus II 13.1,点击file,在下拉菜单中选择Convert Programming Files,如下图所示。 | 1、打开Quartus II 13.1,点击file,在下拉菜单中选择Convert Programming Files,如下图所示。 | ||
- | {{ :icore4t:icore4t_fpga_26_5.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_5.png?direct |图23-5}} |
2、在弹出窗口中,找到Programming file type,点击右侧下拉菜单,可以看到多种文件格式,如.pof格式、.rbf格式、.jic格式等,如下图所示。需要转换成什么格式,点击对应格式即可。 | 2、在弹出窗口中,找到Programming file type,点击右侧下拉菜单,可以看到多种文件格式,如.pof格式、.rbf格式、.jic格式等,如下图所示。需要转换成什么格式,点击对应格式即可。 | ||
- | {{ :icore4t:icore4t_fpga_26_6.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_6.png?direct |图23-6}} |
3、选择好要转换文件的目标格式后,按照下图中所示步骤操作。(注意,步骤6的.sof文件这里是作为举例用,实际操作中选择需要转换的文件。) | 3、选择好要转换文件的目标格式后,按照下图中所示步骤操作。(注意,步骤6的.sof文件这里是作为举例用,实际操作中选择需要转换的文件。) | ||
- | {{ :icore4t:icore4t_fpga_26_7.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_7.png?direct |图23-7}} |
4、点击下图1处的Generate选项,弹出2处红框图示内容,表示转换完成。 | 4、点击下图1处的Generate选项,弹出2处红框图示内容,表示转换完成。 | ||
- | {{ :icore4t:icore4t_fpga_26_8.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_8.png?direct |图23-8}} |
==== 四、操作步骤: ==== | ==== 四、操作步骤: ==== | ||
* 1、将例程中FPGA升级文件夹下的.rbf文件拷贝进SD卡system文件夹下; | * 1、将例程中FPGA升级文件夹下的.rbf文件拷贝进SD卡system文件夹下; | ||
* 2、打开PuTTy串口终端软件,选择Serial,修改COM口端号(设备管理器里查看),修改波特率和代码中一致,点击Open。 | * 2、打开PuTTy串口终端软件,选择Serial,修改COM口端号(设备管理器里查看),修改波特率和代码中一致,点击Open。 | ||
- | {{ :icore4t:icore4t_fpga_26_9.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_9.png?direct |图23-9}} |
* 3、连接仿真器和iCore4t双核心板,并通过Micro USB线给板子供电; | * 3、连接仿真器和iCore4t双核心板,并通过Micro USB线给板子供电; | ||
* 4、烧写ARM程序到iCore4t双核心板。 | * 4、烧写ARM程序到iCore4t双核心板。 | ||
行 67: | 行 66: | ||
* 下载成功后,可以观察到ARM.LED亮起,FPGA.LED闪烁。重新上电后ARM.LED亮起,FPGA.LED闪烁。说明PS模式下,ARM配置FPGA成功。串口终端软件显示如下: | * 下载成功后,可以观察到ARM.LED亮起,FPGA.LED闪烁。重新上电后ARM.LED亮起,FPGA.LED闪烁。说明PS模式下,ARM配置FPGA成功。串口终端软件显示如下: | ||
- | {{ :icore4t:icore4t_fpga_26_10.png?direct |}} | + | {{ :icore4t:icore4t_fpga_26_10.png?direct |图23-10}} |