APP下载

基于单片机12C5A60S2的FPGA的加载

2014-11-07杨婉

科技资讯 2014年16期
关键词:单片机

杨婉

摘 要:目前绝大部分FPGA都是用SRAM构成逻辑函数发生器,因此需要外加专用配置芯片。上电时,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作。本文采用STC深圳宏晶公司单片机12C5A60S2以PS模式对Altera公司的FLEX6000系列芯片EPF6016进行配置,软件采用MAX+PLUS II。

关键词:FPGA 单片机 SRAM

中图分类号:TP27 文献标识码:A 文章编号:1672-3791(2014)06(a)-0011-01

1 12C5A60S2的功能特点

12C5A60S2器件采用高性能的静态80C51设计,可编程。芯片为1时钟模式,其最大工作频率为35 MHz。此芯片包含60 KB的Flash程序存储器、1024字节RAM、32个I/O口、3个16位定时/计数器、6中断源-4中断优先级-嵌套的中断结构、2个增强型UART。它频率范围宽,具有空闲模式和掉电模式两种节电模式。12C5A60S2的Flash存储器可在板编程ISP,EPF6016芯片的配置信息可存储于12C5A60S2的Flash存储器中,也可采用外配串行EEPROM 24C512使用更加方便。

2 配置原理和配置文件

FPGA的加载主要通过被动串行加载模式,主动串行加载模式,被动并行加载模式和边界扫描加载模式。所有的FPGA芯片都有三个或四个加载模式配置管脚,通过配置来选取不同的加载模式。FPGA的配置文件在MAX+PLUS II编译时自动生成。用12C5A60S2来配置FPGA,需将引导配置代码(.hex文件)和FPGA的配置数据(.hex文件)一起通过编程器写入12C5A60S2或通过编程器将数据写入24C512经由单片机对FPGA进行编程。

本硬件设计不适用单片机的RXD,TXD管脚,转而使用任意I/O,可留出RXD,TXD做串口通讯之用,FPGA配置信息存储在外配24C512中,如此可通过更换24C512芯片,变化FPGA的芯片功能。

3 软件设计

下面给出用汇编语言编写的程序(核心内容):

NSTATUS BIT P1.0 CONFIG-DONE BIT P1.1 ADATA BIT P3.2

DCLK BIT P3.3 NCONFIG BIT P3. SDA BIT P1.6

SCL BIT P1.7 INDI BIT P1.3 LED-LAMP BIT P3.1

ORG 0000H; MEMORY RESET SETB SDA;

MEMORY RESET SETB SCL MOV R0,#10H

XLK: CLR SCL NOP NOP SETB SCL NOP DJNZ R0,XLK

ALK: CLR SCL NOP NOP SETB SCL; GIVE A RISING TO EEPROM NOP NOP JB SDA,SLK; IT IS SATISFIED FOR SDA=1

WHEN SCL=1 LJMP ALK

;INITIAL TO READ EEPROM, PREPARE TO RANDOM READ ONE WORDS

CNTER:LCALL START

MOV A,#10100010B; SHIFT OUT DEVICE ADDRESS WRITE

LCALL SHOUT

LOKED:JZ LOKED; IF IT IS ZERO THE PROGRAMME WILL STOP HERE

DEC A

MOV 30H,A; SAVE THE COUNTER VALUE TO RAM 30H

;WRITE BACK THE DECREASED VALUE

MOV DPTR,#0FFF0H

MOV B,A

LCALL WRITE

INI: CLR P1.2

CLR DCLK

CLR ADATA

CLR P3.5

SETB SCL

MOV R0,#10H

XAA: CLR SCL

NOP

NOP

SETB SCL

NOP

DJNZ R0,XAA

AGA: CLR SCL

NOP

NOP

SETB SCL; GIVE A RISING TO EEPROM

NOP

NOP

JB SDA,SAT; IT IS SATISFIED FOR SDA=1 WHEN SCL=1

LJMP AGA

SAT: LCALL START; NOW RESET FINISHED

;WHEN SCL=1 GIVE SDA A FALLING EDGE

;START CONDITION HAS FINISHED

;EXIT WITH SDA=0 SCL=0

; INITIAL TO READ EEPROM, PREPARE TO SEQUENCIAL READ

MOV A,#10100010B; SHIFT OUT DEVICE ADDRESS WRITE

LCALL SHOUT

MOV A,#00H; HIGH BYTE ADDRESS

LCALL SHOUT

MOV A,#00H; LOW BYTE ADDRESS

LCALL SHOUT; THIS IS DUMMY WRITE

………………………………………………………………………….

SERSD:RRC A

MOV ADATA,C; LSB PRESENT FIRST BIT 0

SETB DCLK

CLR DCLK

RRC A

SETB DCLK

………………………………………………………………………….

CLR DCLK

RET END

4 结语

用12C5A60S2单片机外配24C512串行EEROM来配置FPGA,较之于EPC1441PC8配置芯片,具有经济,可重复编程的优点。同时由于单片机可加入按键,通讯接口等功能,可在不断电的情况下实现在线的重配及参数修改,增强了系统功能。FPGA的高速性和单片机的智能性达到完美结合。

参考文献

[1] 杨晓慧,杨旭.FPGA系统设计与实例[M].人民邮电出版社,2010(1).

[2] 华清远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].人民邮电出版社,2008(7).endprint

猜你喜欢

单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
Microchip推出两个全新PIC单片机系列