您的位置 首页 嵌入式

根据ARM的FPGA嵌入式体系完成

基于ARM的FPGA嵌入式系统实现-嵌入式微处理器S3C44BOX内置ARM7TDMI核,集成了丰富的外围功能模块,内部8 kB Cache大大提高了性能。S3C44BOX可访问256MB的地址空间,最高工作频率达66 MHz 。

ARM(Advanced RISC Machines)既能够认为是一个公司。也能够认为是对一类微处理器的总称,还能够认为是一项技能。根据ARM技能的微处理器运用约占有了32位 RISC微处理器75%以上的市场份额,ARM技能正在逐渐进入到人们日子的各个方面[1]。到现在为止,ARM微处理器及技能现已广泛运用到各个范畴,包含工业操控范畴、网络运用、消费类电子产品、成像和安全产品等。

FPGA(Field Programmable Gate Array)是一种高密度现场可编程逻辑器材,其逻辑功用是经过把规划生成的数据文件装备到器材内部的静态装备数据存储器(SRAM)来完结的。FPGA具有可重复编程性,能灵敏完结各种逻辑功用。

根据SRAM工艺的FPGA具有易失性。体系掉电今后其内部装备数据简略丢掉,因而需求外接ROM保存其装备数据,体系上电后有必要从头装备数据才干正常作业。现在有两种计划能够完结,一种是运用专用的PROM,以Xilinx公司FPGA,XCFxx系列PROM为例,能够供给FPGA的装备时序,上电时主动加载PROM中的装备数据到FPGA的SRAM中;另一种是在含有微处理器的体系(如嵌入式体系)中选用其他非易失性存储器如E2PROM、 Flash存储装备数据,微处理器模仿FPGA的装备时序将ROM中的数据置入FPGA。与第一种计划比较,该计划节约本钱、缩小体系体积。适用于对本钱和体积严苛要求的体系。

在便携式虚拟仪器规划中,运用嵌入式体系和FPGA完结体系功用。嵌入式微处理器选用Samsung公司的ARM7TDMI系列处理器 S3C44BOX:FPGA选用Xilinx公司的Spartan-3E系列XC3S100E,选用S3C44BOX完结对XC3S100E的装备。取得了杰出作用。

2 从串装备的原理

2.1从串装备原理

Xilinx公司的Spartan-3E系列FPGA产品是选用90 nm工艺的2.5 V低电压FPGA器

件,具有高功用、低功耗、可无限次编写的特色。XC3S100E是Spartan-3E系列FPGA中的一款,总门数达10万门,可选用从串、主串、从并、主并、JTAG等方式对其进行装备[2]。XC3S100E与从串装备方式相关的首要引脚功用如下:

M[2:0]:装备方式挑选。M2、M1、M0均接上拉电阻,即M[2:0]:111时为从串方式;

CCLK:装备时钟,微处理器供给时钟源,且上升沿有用:

DIN:串行装备数据输入:

DOUT:串行数据输出,用于菊花链式装备:

PROG_B:低电平异步复位FPGA内部逻辑,内部可装备:Memory彻底复位后,该引脚指示高电平。

当此引脚为高时,才干装备FPGA:

INIT_B:由低电平到高电平跳变时,采样装备方式,即M[2:0]的值确认装备办法;装备进程中若出现装备过错,INIT_B将出现低电平;

DONE:复位时为低电平。若装备成功,则为高电平。

2.2微处理器从串装备:FPGA的时序

FPGA的装备进程如下:

体系上电后,将PROG_B拉低以复位FPGA内部逻辑从头装备FPGA,充沛复位内部逻辑后(约100μs),将PROG_置高。

INIT_B为低电平,PROG_B拉高坚持300 ns后,FPGA将INIT_B置高。在INIT_B由低向高跳变的瞬间,采样装备方式M[2:0]。此体系选用从串装备方式。

在FPGA采样装备方式后,微处理器就能够向FPGA装备时钟CCLK和数据,在CCLK的上升沿,传输数据至DIN,数据字节先发送低位,再发送高位。装备进程中若发生过错,则INIT_B为低电平。

一切的装备数据传送完结,CRC校验无误。则DONE为高电平,否则为低电平。

DONE为高电平,FPGA开释大局三态(GTS),激活I/O引脚,开释悉数置位复位(GSR)和大局写使能(GWE)有用,开端履行装备区的逻辑。

微处理器从串装备FPGA的时序如图1所示。

根据ARM的FPGA嵌入式体系完结

2.3 装备文件的发生办法

运用Xilinx公司供给的开发工具ISE8.1,经过归纳、映射、布局布线后可发生编程文件,编程文件含有.bit、.bin、.mcs、.tek、.hex等格局。其间,.bit格局用于JTAG下载,其他几种格局用于专用PROM编程。首要依照发生专用 PROM编程文件的办法来发生.bin文件.然后将该.bin文件转换成ASCⅡ码文件的存储方式,并且各个字节之间用逗号分隔。再将该装备数据寄存在体系程序的一个头文件的数组config_data_array[]中,作为体系程序源代码的一部分,并和其他程序一同编译。

3 硬件规划

嵌入式微处理器S3C44BOX内置ARM7TDMI核,集成了丰厚的外围功用模块,内部8 kB Cache大大提高了功用。S3C44BOX可拜访256MB的地址空间,最高作业频率达66 MHz 。选用4 MB Flash作为程序存储器,可用于寄存体系运转的代码。XC3S100E从串装备程序和装备文件都固化于其间保存,该Flash支撑低电压(1.65 V~3.3 V)写操作。8 MB的SDRAM是程序的运转空间,直接运转Flash中的代码,但速度十分慢。通常是将Flash中的代码移至SDRAM中。S3C44BOX与 XC3S100E首要经过PROG_B、INIT_B、DONE、CCLK、DIN 5根信号线衔接,如图2所示。其间VCC33表明3.3 V,VCC25表明2.5 V。

4 软件规划

软件规划流程如图3所示。装备软件的编程要保证ARM彻底依照装备信号的时序作业,关键问题

根据ARM的嵌入式体系中从串装备FPGA的完结

是选用S3C44BOX的通用I/O口GPF0、GPF1、GPF2、GPF3、GPF4模仿DIN、CCLK、DONE、INIT_B、PROG_B的时序。

在S3C44BOX中,大多数引脚都是多功用引脚,能够经过端口装备寄存器挑选相应的引脚功用。

以端口F为例,操控寄存器rPCONF用作设定引脚的输入、输出或特别功用;数据寄存器rPDATF[0:8]对应于GPF0~GPF8引脚上的数据。读写寄存器rPDATF的各个位对应于引脚的读或写。例如,CCLK上升沿时序是向GPF1先写0,再写1得到,延时程序则由for循环完结。

根据ARM的嵌入式体系中从串装备FPGA的完结

则一向循环等候

CCLK在每个上升沿把1 bit的数据置入DIN中,先将GPF1置低,在GPF0准备好1 bit数据,再将GPF1置高即可,以此循环将config_data_array[]中的每个字节按先低位再高位的次第写入FPGA。

Xilinx的FPGA装备文件巨细相同,与FPGA内部逻辑规划的复杂度无关。以Spartan_3E系列的10万门FPGA XC3S100E为例,它的装备文件固定为581 344 bit,若CCLK的时钟周期置为2μs,装备时刻约为1.2 s。

5 试验成果验证

验证环境:硬件选用自行开发的试验板和武汉创维特公司的:JTAG硬件仿真器;软件则运用Xilinx公司的开发工具ISE8.1和武汉创维特公司的集成开发环境ADT 1000(支撑ARM7,ARM9)。

运用Verilog HDL编写程序led.v在七段数码管上循环显现0~F,选用:ISE8.1编译、归纳、映射、布局布线。生成用于编程专用PROM的led.bin文件。用一个简略的C程序将.bin文件转换成ASCⅡ码文件,再将ASCⅡ码文件复制到装备数据数组config_data_array[]中,然后在 ADT环境下编译装备程序、装备数据和体系程序,将生成的.bin文件经过JTAG口烧写到Flash中。从头上电后,FPGA装备正常,试验成果与预设相一致。

6 结束语

根据ARM的FPGA从串装备计划结构简略、接线简略、软件编程简略,十分适用于嵌入式体系规划。尽管该操控电路是为Xilinx公司 Spartan-3E系列的FPGA规划的,但稍加修正也可用于其他系列FPGA器材,故具有必定的通用性。别的,因为FPGA具有可重复装备的灵敏性,在嵌入式体系中可经过串口、网口长途烧写Flash,重构体系功用,这种在线重构技能为设备的智能化在线保护、功用重组和在线晋级等供给了或许,并且灵敏性很强。本文提出的计划对数字体系规划具有学习含义,有着宽广的运用远景。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/99467.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部