找回密码
 注册
关于网站域名变更的通知
查看: 219|回复: 1
打印 上一主题 下一主题

基于U盘和单片机的FPGA配置

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-28 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

摘要 介绍FPGA的配置方式、配置数据文件和详细配置过程,以及单片机配置FPGA的优点,创新地提出配置数据存放在U盘中的思想;同时也介绍了单片机控制读/写USB设备(如U盘)的软硬件设计;最后给出配置数据存放在U盘中、采用单片机控制对FPGA进行PS配置的具体设计,满足了FPGA系统的升级、保密和安全性要求,具有创新性和重大实用价值。
- X  `7 U6 p  u7 F* {  关键词 FPGA配置方式 配置数据USB U盘安全性 配置过程

引 言* t% Q% k& F+ C6 ]6 n; O; S
    FPGA广泛应用在电子通信领域,其安全性引起了注意,本文针对安全配置提出了解决方案。
2 }& l1 C% Q- K( z; M0 k
, A( ^9 A) j& _$ y. q- [9 G    现场可编程门阵列FPGA(Field Programmablc Gate Array)是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。采用在线可重配置方式ICR(In-Circuit Reconfigurability)将这些配置数据配置到FPGA内部SRAM中,但由于SRAM的易失性,每次上电时,都必须对FPGA重新进行配置,从而实现用户编程所要实现的功能。
' K. p4 t; C+ u+ a3 j* V" L. W: t" l& u
    以前的设计大多是将配置数据存放在FPGA组成的系统上,本文提出将配置数据存放在使用者自己携带的外部存储器(如可加密的U盘)中。使用前将U盘接入FPGA组成的系统,系统上电时由单片机控制读出配置数据,再传送给FPGA进行配置。这样做优点很多:修改、升级简便,现场保密性强,安全性高;可多人分时使用同一硬件系统,同一硬件系统插入不同的配置U盘就可以实现不同的功能,可以方便地存储大容量配置数据或多个配置数据文件等;同时,符合计算机和嵌入式系统的热点USB OTG(On The Go,移动USB)技术趋势,是具有创新的设计。


9 V* ?3 @1 F4 H* m$ b' T1 FPGA的配置方式和配置数据文件
" r7 |8 s/ H6 }3 Y1.1 FPGA的配置方式
9 \0 T4 L, Q, P3 s5 f0 P$ [  以Altera公司的FPGA器件为例,有2类配置下载方式:主动配置和被动配置。主动配置方式是由FPGA器件主动引导配置操作,从外围专用配置芯片(如EPC4)中获得配置数据的过程;被动配置方式则是由外部计算机或控制器控制配置过程。2 }* u1 i# d9 S0 n# e' R
  以Mercury、APEX 20K(2.5V)、ACEX 1K和FLEX10K系列FPGA为例,配置方式有:被动串行PS(PasiveSerial)、被动并行同步PPS(Passive Parallel Synchronous)、被动并行异步PPA(Passive Parallel Asyn-chronous)和JTAG(Jont Test Action Group)等。具体配置方式由方式选择引脚MSEL1和MSELO的逻辑电平组合决定。
, [8 n6 c' l* q6 p$ b
5 R2 u/ I3 C, h( N& y5 T  Y2 Z' Y9 M    基于SRAM LUT(查找表)结构的FPGA采用在线可重配置方式ICR。以配置方式PS为例,可通过下载电缆南计算机直接对FPGA器件进行配置。这种方法在设计调试时非常方便,但在现场应用巾是很不现实的。上电后自动加载对FPGA器件进行配置是实际必须的,有许多方法,例如专用配置芯片(如EPC4)配置、单片机控制配置、MAX3000A控制F1ash存储器配置、PCI总线配置、Internet配置、PSD(Programmable System Devices可编程器件)配置等。
! Y: G5 f' g" H3 h6 j1 S! a+ e9 _6 q5 `: F
# i0 e6 e% H/ N' F4 q$ s0 t1.2 FPGA的配置数据文件+ R/ T* N. x% \  h" ?1 y5 F$ M
  Altera公司的Quartus II开发工具可以生成多种配置或编译文件,用于不同配置方式。对于不同的目标器件,编译后开发工具会根据指定的FPGA器件自动生成“.sof(SRAM Object File)”和“.pof(Programmer ObjectFile)”配置文件。“.sof”配置文件是由下载电缆将其下载到FPGA中的;“.pof”配置文件是存放在配置器件里的。用单片机配置时,要将“.sof”文件转换成“.rbf(Raw BinaryFile)”文件,可打开QuartusII的File菜单,单击ConvertProgramming Fiks进行转换。配置文件的大小随FPGA器件的不同而不同,例如EPFlOKlO的配置文件“.sof”和“.rbf”的大小为15KB。


/ H+ k9 J6 k% G% R/ Z, p4 n2 单片机配置FPGA设计
4 ]- G1 ~+ `" q1 b( f$ L2.1 单片机配置FPGA的优点, D$ h2 l4 V3 A' t% x) B
    在实际应用中,单片机控制配置FPGA,对于保密和升级,以及实现多任务电路结构重配置和降低配置成本,都是很好的选择。配置方式PS、PPS和PPA均可以用单片机控制配置。7 {6 K. A8 _/ g# c+ R$ E

  U3 G( ^. N1 }    由单片机和外部存储器组成配置FPGA电路,将配置数据写入外部存储器,系统上电时再由单片机控制对FPGA进行配置。也可将多个配置文件分区存储到外部存储器中,然后由单片机接收不同的命令,选择读取不同存储区的数据配置到FPGA器件,从而实现多任务电路结构重配置,在线配置成多种不同的电路功能;代替了价格昂贵的不可擦写和可擦写配置芯片,降低了成本。/ u+ E- M: Z: a" C
* e2 b' @$ M4 n; u- j* s! P3 _- r
2.2 配置数据存储在U盘
' v% j4 z6 a5 i  X% s1 ^# N    在银行等保密行业,如果要求安全和保密程度非常高,那么一定要有权限的使用者才能使用,或由不同的用户分时使用同一台FPGA组成的系统。最好是不要将配置数据存放在FPGA组成的系统上,而是将配置数据存放在使用者自己携带的外部存储器(如U盘)中(对U盘的读/写还可以加密);使用前将存放配置数据的外部存储器接入FPGA组成的系统,系统上电时冉由单片机控制对FPGA进行配置就可以了。
9 k# p: M+ C) L; m4 R" a. o  D" g. ]" o" g
    1994年11月,以Intel为首的7家公司推出了通用串行总线USB(Universal serial Bus)协议规范的第一个草案。USB协议从1.1过渡到2.0,作为其最重要指标的设备传输速度也从USBl.1标准的低速1.5 Mbps和全速12Mbps提高到USB2.0标准的高速480Mbps。目前,USB设备已经非常普遍,USB接口以其速度快、功耗低、支持即插即用、使用安装方便和价格低廉等优点得到了广泛应用。USB OTG已经成为嵌入式系统领域中的热点,使得USB能应用在没有PC的领域中,实现移动数据交换和存储。本文提出将配置数据存储在U盘中,通过单片机控制读/写,符合USB OTG发展趋势,将在嵌入式和FPGA领域得到广泛应用。2 f$ O4 E" `  n6 \% Q

# Q9 p) |. d. n2.3 单片机读取存储在u盘中的配置数据: k$ [) O2 V+ x" w
    通常USB设备终端必须与计算机连接。如果没有PC,则需要通过USB总线的通用接口芯片(当然也可以利用带USB接口的单片机)控制U盘的读/写。本设计采用单片机AT89S52控制USB总线的通用接口芯片CH375来读取存储在U盘的配置数据。) C' H; I( B& ^" v8 }! O; @. T0 |
* f1 g# w. ?5 y) x, j1 \. K: ]6 Z+ k
    CH375是一个USB总线的通用接口芯片,内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器和通用的固件程序等;支持USB-HOST主机方式和USB-DEVICE/SLAVE没备方式,可以方便地挂接到单片机/DSPmcu/MPU等控制器的系统总线上。外部单片机可以直接以扇区为基本单位读/写常用的USB存储设备(包括USB硬盘、USB闪存盘和U盘)。3 ]9 {- D: C" p. j

+ H. {5 n/ L) I3 y2 \" G) N% S    硬件设计:CH375工作于并口方式,与普通的MCS-5l单片机的连接如图1所示。CH375的TXD引脚通过l kΩ左右的下拉电阻接地或者直接接地,从而使CH375工作于并口方式。


  G  o- Z/ r$ i6 r

    软件设计:①进入USB主机模式,要读/写U盘,必须先设置CH375使其工作于USB主机方式。②将U盘当作存储器进行读/写,方法与读/写闪存差不多,操作简单且速度快。单片机读/写U盘文件程序分层如图2所示。


3 W9 f& c4 |! O% R- l- ]

2.4 用单片机配置FPGA的过程1 p- E0 e4 f4 K6 ~6 U! ?
    FPGA器件上电以后,开始配置过程的复位、配置和初始化3个阶段,然后进入用户状态。以配置FLEX10K10为例,图3为PS模式下使用单片机配置FPGA的时序图。

    配置过程如下:①MCU的P1.7引脚产生一个tCFG≥μs的低电平给FPGA的nCONFIG引脚使FPGA复位,200 ns后nSTATUS和CONF_DONE同时跟随变为低电平;FPGA的I/O端口为高阻状态,RAM被清除。②MCU的P1.7引脚产生上跳变时开始配置,FPGA退出复位状态,4μs后nSTATUS被释放并被上拉电阻拉高,FPGA准备接收数据进入配置阶段。设置MCU的串口工作方式为O,单片机检测到nSTATUS由低跳到高后,读取配置数据(从U盘读取或上电时先将配置数据从U盘读到SRAM62255)由RXD送到FPGA的DATA0(注意低位LSB先送出);MCU的TXD接收FPGA的DCLK以提供时钟信号,配置数据足在DCLK上升沿被移位入FPGA的,全部配置数据移入FPGA直到CONF_DONE变为高电平,配置阶段结束。若CONF_DONE没有变为高电平,则需要重新配置。③初始化阶段,持续O.6~2μs。不同的FPGA器件,持续时间不等。A1tera公司的Quartus II开发工具生成配置文件时,对于不同的目标器件和配置方式已经添加了相应的空DCLK。软件设计使微处理器提供配置所需的时序和串行传送配置数据,以及对配置进行监测,从而实现配置过程。软件设计流程如图4所示。

4 Y) ]) \! M6 h9 M

3 结论: ]5 A2 N/ N1 Q3 K! d0 y4 R
    FPGA器件的配置技术犹如集成电路制造中的流片,是非常重要的一个环节。用单片机配置FPGA器件与用专用器件相比,具有成本低、保密性好、可升级、可实现多任务电路结构重构(符合软件无线电思想)等特点,本设计具有创新性,硬件设计简单可靠,且成本低,易于实现,是确保FPGA安全性和保密性的一种方法,在金融等关系到国家利益的场合具有重大实用价值。


+ e! e- `9 z+ _$ S6 E; K; \7 \' ^

该用户从未签到

2#
发表于 2020-4-28 14:02 | 只看该作者
基于SRAM LUT(查找表)结构的FPGA采用在线可重配置方式ICR。以配置方式PS为例,可通过下载电缆南计算机直接对FPGA器件进行配置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-21 13:55 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表