您的位置 首页 传感器

根据动态重构技能和GSM通讯的FPGA动态装备

提出了一种FPGA远程动态重构的方法,结合FPGA动态重构技术和GSM通信技术来实现。利用GSM技术实现配置数据的无线传输,在单片机控制下将数据存储于CF卡中。在内嵌硬核微处理器PowerPC405控

跟着现场可编程门阵列的广泛运用,对其进行灵敏的从头装备的研讨也越来越多。现在绝大多数FPGA都是依据查找表LUT(Look UP Table)的技能,选用SRAM工艺出产。这种工艺的FPGA有两层结构,上层为装备存储器,基层是硬件逻辑层。通过上层装备信息操控硬件层门电路的通断,改动芯片内根本逻辑块的布线,然后构成特定的功用。这种架构为动态重构技能完结供给了或许。一个FPGA大型数字体系总是由许多功用模块组合而成,这样各个体系模块的激活状况就或许在时刻轴上发生别离,时刻上别离的模块就能够共用一个硬件逻辑区,依据需求对这个逻辑区动态地改动装备,完结不同的功用,这便是部分动态重构[1]。FPGA的动态重构使其运用愈加灵敏,减少了硬件的资源耗费,缩短了开发周期。可是对一些特别场合,如深海数据收集或机器人户外勘探,开发者可认为某个体系模块规划几个功用,设备在自主运转进程中依据需求挑选相应的装备数据进行装备。假如遇到特别环境,事前规划的功用有或许不合适作业要求,需求添加新的功用。在现在硬件进化技能还无法进行实践运用的状况下,本文规划了一种长途动态重构的体系来处理上述问题。

1 长途动态重构体系的结构

长途动态重构体系有PowerPC处理器和89C54微操控器两个中心。VirtexII-Pro FPGA内部集成有2个PowerPC405嵌入式处理器[2],本文体系运用其间一个,完结对动态重构进行操控和分配。FPGA内部用于对部分重构区域PRR进行从头装备的硬件模块有3个,分别是嵌入式内核PowerPC、体系高档装备环境System ACE和内部装备拜访通道ICAP。System ACE是一种在体系编程的高档装备处理计划,它供给CF(Compact Flash)、MPU和Test JTAG等多个接口,本体系选用CF卡作为装备数据的来历,能够更方便地改动和存储装备数据。ICAP的首要效果便是依照特定时序将装备数据从头装备到PRR中[3]。

长途数据传输通过外接操控器89C54完结,一方面操控器要通过UART接口接纳GSM模块TC35传来的数据;另一方面要把接纳到的装备数据写入CF卡中,以供FPGA体系读取。
System ACE和89C54操控器共用CF卡的操控接口。为防止相互影响,本系运用多路复用器将CF卡端口做分时复用处理,即装备进程中与System ACE衔接,而数据传输存储进程中与89C54进行衔接。长途动态重构体系结构如图1所示。

2 长途动态重构的本地预备

以机械手臂的操控为例,选用PID操控、含糊操控和备用三种操控计划,每个操控算法通过验证归纳生成独立的bit流模块。这三个模块共用一个可重构的区域PRregion,依据具体状况,选用最合适的算法模块,动态地装备重构区域来操控机械手臂,其他静态逻辑区域则依然正常运转。这样不只提高了体系的灵敏性,并且节省了装备时刻、减少了不必要的耗费。FPGA的规划流程一般包含规划、仿真、归纳、完结进程,本文依据体系本身结构提出如图2所示的规划流程。

FPGA重构体系归纳运用EDK(Embedded Development Kit)、ISE和PlanAhead多种东西渠道,选用分层化规划,以简化规划进程。其进程如下:

(1)运用嵌入式开发东西EDK规划一个依据PowerPC405的嵌入式操控体系[4],添加SystemACE_CompactFlash外设以支撑从CF卡装备FPGA;添加IP核opb_hwicap以支撑嵌入式内核通过ICAP读取装备数据动态地装备FPGA。

(2)EDK包含有软件开发东西SDK,因而运用SDK对PowerPC405进行软件编程和调试,终究生成运用程序二进制executable.elf文件;运用EDK外设创立导游,创立多个操控算法IP模块,在各自的VHDL文件中编写相应的算法;运用ISE东西对多个算法模块进行归纳、创立顶层模块、实例化嵌入式体系和算法模块。归纳发生top网表文件。

(3)创立PlanAhead工程,运用以上发生的网表文件和束缚文件进行布局布线。其间最重要的是将算法模块设置为可重构模块,对其进行严厉的区域束缚[5],其束缚代码如下:
AREA_GROUP AL_PRregion RANGE = SLICE_(minX)(minY):SL%&&&&&%E_(maxX)(maxY)
AREA_GROUP AL_PRregion RANGE = RAMB16_(minX)(minY):RAMB16(maxX)(maxY)
在PlanAhead东西中能够通过可视化办法进行区域束缚,既直观又简略。可重构模块在运转进程中假如需求完结不同的操控算法,则需求在重构区中添加一切算法模块归纳生成的网表文件、运用PR Assemble指令生成多个不同的算法bit流文件。除了动态bit流文件外,PlanAhead还会发生一个静态完好的bit流文件static_full.bit。可执行以下两个指令生成ace装备文件:

(1)data2mem -bm implementation/system_stub_bd -bt implementation/static_full.bit -bd TestApp/executable.elf tag ppc310_0 –o b implementation/static.bit。
(2)xmd -tcl genace.tcl -jprog -target ppc_hw -hw implementation/static.bit -elf TestApp/executable.elf -board ml310 -ace system.ace。

3 长途动态重构的完结

通过动态重构本地预备之后,得到如表1所示的CF卡装备文件列表。设置保存模块,是为了给新的操控算法保存一个接口(以一个空文件存储在CF卡中)。

传统的本地重构规划完结后,针对重构区域会得到几个不同的装备文件,如针对机械臂操控算法重构区得到两个初期规划的操控算法装备文件。在实践运转进程中,有些环境只需PID操控就可满意要求,而有些环境选用含糊操控更适宜。假如选用这两种操控办法都不能满意作业要求时,必定要对初期规划进行晋级,对杂乱风险的作业现场进行长途动态重构。
本文提出的规划办法是:GSM模块作为长途数据传输东西,与89C54单片机通过UART端口衔接,单片机接纳到一个扇区512 B的数据写入CF卡reserved.bit文件中。GSM模块选用西门子公司的TC35模块,它支撑AT指令,由89C54发送AT指令ASCI码对TC35进行操控[5]。本规划首要涉及到的AT指令如表2所示,TC35以串行形式与89C54进行通讯。

CF卡有必要格局化成FAT16格局才干用于FPGA的装备文件存储。FAT格局磁盘有必要一次性对一个扇区进行操作,所以单片机有必要从TC35接纳满512 B的数据才干够对CF卡进行写操作。FPGA装备完结之后CF卡处于搁置状况,通过多路复用器将CF卡与外接操控器衔接以完结对.bit文件的读写操作。单片机对CF卡进行操作实质便是对FAT文件体系的读写。
FAT格局磁盘的逻辑分区依次为:引导扇区、文件分配表(FAT1和FAT2)、文件目录区(FDT)和数据区[6]。引导扇区用于存储引导程序和磁盘信息,外界拜访CF卡都要通过引导区的辨认验证;FAT是给每个文件分配磁盘物理空间的表格,数据区的区分单元为簇,一个簇包含64个扇区,FAT表正是为每个文件结构一个簇链表;文件目录区是寻觅文件的进口,其内容是每个文件的目录信息;在文件目录之后的扇区都是以簇为单位进行数据存储,这便是数据区。

CF卡与89C54接口装备联系如图3所示,单片机运用TrueIDE形式对CF卡进行读写,选用逻辑块LAB(Logical Block Addressing)方法进行寻址。

CF卡写一个扇区(读扇区根本类似,限于篇幅不列出)的代码如下:
Write_Sectors: mov R2,#1 ;一次写一个扇区
mov R3,#0Ah;假定 LBA为000000Ah
mov R4,#0
mov R5,#0
mov R6, #0
mov R7, #WriteSctr
acall Function;将参数写入CF操控寄存器
acall WaitDRQ ;等候数据恳求
acall Write512
ret
Write512:mov R0,#high(data);取数据高地址
mov R1,#low(data); 取数据低地址
mov R7,#2 ;512 B= 2 * 256
mov R6,#0 ;256 B
write: mov dph,R0;获取地址
mov dpl, R1
clr a
movc a, @a+dptr ;获取一个数据
inc dptr ;指向下一个数据
mov R0, dph ;保存地址
mov R1, dpl
mov DPTR,#Data_Reg;到CF数据寄存器
movx @dptr, a ;向CF卡写一个数据
djnz R6, write
djnz R7, write ;将512 B的数据悉数写入CF卡
ret

长途动态重构的流程如图4所示。现场TC35接纳到新短信数据时会有触发信号发送给89C54单片机,单片机开端读取TC35Flash数据。在对CF卡进行写操作之前,首先要读取reserved.bit文件的首簇号;读取CF卡文件目录表FDT,得到reserved.bit的信息,其间偏移地址为1Ah~1Bh,所存储的2 B为文件首簇号,而接下来4 B代表文件巨细。由文件首簇号在FAT表中找到文件进口,然后盯梢簇链至簇尾(0XFFFF),依照LAB寻址方法将数据按扇区写入CF卡数据区,逻辑扇区号LBA可由簇号按公式“LBA=(簇号-2)×64+513”核算得到。假如文件数据量比旧文件多,则在FAT中添加链表,直至把数据存储结束;假如文件较小,则将原文件剩下FAT簇链都写入0x0000,以开释空间。对CF卡的写操作则不对其他区域进行更改。

CF卡数据更新结束后,接通CF卡与SystemACE操控器之间的多路复用器,对操控算法重构区进行部分动态装备,装备进程中不对其他逻辑区域的运转形成影响。

长途动态重构结合了FPGA部分动态重构和GSM无线数据传输的优势,对用在户外勘察的机器人和数据收集处理体系有很高的运用价值,答应规划人员依据体系运作状况实时地改动机器人的操控算法或数据处理算法,使其愈加合适作业环境,既方便了规划人员对长途设备的装备晋级,又节省了很多人力物力。往后该计划将核算机与FPGA硬件渠道衔接,可认为硬件的外部进化长途下载染色体到硬件渠道供给有效途径。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部