基于单片机的FPGA并行配置方法

[09-12 17:52:38]   来源:http://www.88dzw.com  单片机学习   阅读:8711

文章摘要:3.1 配置原理PPA配置方式的下载时序如图2所示。由图可以看出PPA模式的工作过程如下:(1)启动配置在nCONFIG引脚上产生一个低脉冲,等待nSTATUS回应一个低脉冲以及CONF_DONE变低。在nCONFIG跳高后4μs,内nSTATUS也跳高,表示FPGA可以配置了。(2)配置过程在对FPGA进行配置时,单片机将8位的配置数据放在FPGA器件的数据端,并且给nWS一个负脉冲,在nWS的上升沿,FPGA器件将该字节配置数据锁存;然后FPGA器件驱动RDYnBSY为低,表示它正在处理该字节信息,配置过程可以通过nCS和CS引脚暂停。当RDYnBSY为低电平时,FLEX10K器件利用其内

基于单片机的FPGA并行配置方法,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

3.1 配置原理

PPA配置方式的下载时序如图2所示。由图可以看出PPA模式的工作过程如下:

(1)启动配置

在nCONFIG引脚上产生一个低脉冲,等待nSTATUS回应一个低脉冲以及CONF_DONE变低。在nCONFIG跳高后4μs,内nSTATUS也跳高,表示FPGA可以配置了。

(2)配置过程

在对FPGA进行配置时,单片机将8位的配置数据放在FPGA器件的数据端,并且给nWS一个负脉冲,在nWS的上升沿,FPGA器件将该字节配置数据锁存;然后FPGA器件驱动RDYnBSY为低,表示它正在处理该字节信息,配置过程可以通过nCS和CS引脚暂停。当RDYnBSY为低电平时,FLEX10K器件利用其内部振荡器(其频率一般为10MHz)在其内部将每一个字节的配置数据串行化。当FLEX10K器件准备接收下一个配置数据时,就使RDnBSY变高。单片机检测该高电平信号后,送出下一个字节的数据。这一过程一直持续到全部数据配置完成。在配置过程中,系统需要进行实时监测,一旦出现错误,nSATUS将被拉低,系统必须能识别出这个信号,并重新启动配置过程。

图3

(3)结束配置

配置数据全部正确写入芯片内部后,器件释放CONF_DONE,由外部将其拉高。如果单片机检测到这个信号,则表明配置成功;否则,要对其重新配置。

3.2 配置软设计

单片机实现配置过程的控制程序流程图如图3所示。

汇编程程序设计如下:

nCONFIG EQU P1.7

nSTATUS EQU P1.5

RDYnBSY EQU P1.3

CONF_DONE EQU P1.4

ORG 0000H

LJMP MAIN

ORG 0030H

;对数据长度相关进行初始化,其中所要配置的数据长度放在地址为0000H和0001H中

;0000H放数据长度的低位,0001H放数据长度的高位

;从0002开始放置的是所要配置的数据

MAIN:MOV DPTR,#0000H

MOVX A,@DPTR

MOV R3,A; R3放配置数据个数的低位

MOV DPTR,#0001H

MOVX A,@DPTR

MOV R4,A; R4放配置数据个数的高位

MOV R5,#00H ;放配置数据个数的低位

MOV R6,#00H ;放配置数据个数的高位

;以下是将数据进行配置的子程序

COFIG:MOV DPTR,#0002H

CLR P1.7

ACALL DELAY4 ;延时约为15μs

JB nSTATUS,COFIG ;检测FPGA是否响应置低位

SETB nCONFIG ;FPGA响应置低位后,将nCONFIG置高位

STA_JUDGE:JB nSTATUS,COFIG_BEG;等待FPGA是否响应置高位,然后准备进行配置

LJMP STA_JUDGE

COFIG_BEG:ACALL DELAY2

LJMP SEND_DATA

READY_DATA1:JNB nSTATUS,COFIG

SEND_DATA:MOVX A,@DPTR ;读取数据

PUSH DPH

PUSH DPL

MOV DPTR,#7000H ;读入FPGA地址

JNB P1.3,$ ;判断RDYnBSY的状态

MOVX @DPTR,A ;配置数据

上一页  [1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行