基于U盘和单片机的FPGA配置
发布时间:2008/5/27 0:00:00 访问次数:683
摘要 介绍fpga的配置方式、配置数据文件和详细配置过程,以及单片机配置fpga的优点,创新地提出配置数据存放在u盘中的思想;同时也介绍了单片机控制读/写usb设备(如u盘)的软硬件设计;最后给出配置数据存放在u盘中、采用单片机控制对fpga进行ps配置的具体设计,满足了fpga系统的升级、保密和安全性要求,具有创新性和重大实用价值。
关键词 fpga配置方式 配置数据usb u盘安全性 配置过程
引 言
fpga广泛应用在电子通信领域,其安全性引起了注意,本文针对安全配置提出了解决方案。
现场可编程门阵列fpga(field programmablc gate array)是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。采用在线可重配置方式icr(in-circuit reconfigurability)将这些配置数据配置到fpga内部sram中,但由于sram的易失性,每次上电时,都必须对fpga重新进行配置,从而实现用户编程所要实现的功能。
以前的设计大多是将配置数据存放在fpga组成的系统上,本文提出将配置数据存放在使用者自己携带的外部存储器(如可加密的u盘)中。使用前将u盘接入fpga组成的系统,系统上电时由单片机控制读出配置数据,再传送给fpga进行配置。这样做优点很多:修改、升级简便,现场保密性强,安全性高;可多人分时使用同一硬件系统,同一硬件系统插入不同的配置u盘就可以实现不同的功能,可以方便地存储大容量配置数据或多个配置数据文件等;同时,符合计算机和嵌入式系统的热点usb otg(on the go,移动usb)技术趋势,是具有创新的设计。
1 fpga的配置方式和配置数据文件
1.1 fpga的配置方式
以altera公司的fpga器件为例,有2类配置下载方式:主动配置和被动配置。主动配置方式是由fpga器件主动引导配置操作,从外围专用配置芯片(如epc4)中获得配置数据的过程;被动配置方式则是由外部计算机或控制器控制配置过程。
以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的逻辑电平组合决定。
基于sram lut(查找表)结构的fpga采用在线可重配置方式icr。以配置方式ps为例,可通过下载电缆南计算机直接对fpga器件进行配置。这种方法在设计调试时非常方便,但在现场应用巾是很不现实的。上电后自动加载对fpga器件进行配置是实际必须的,有许多方法,例如专用配置芯片(如epc4)配置、单片机控制配置、max3000a控制f1ash存储器配置、pci总线配置、internet配置、psd(programmable system devices可编程器件)配置等。
1.2 fpga的配置数据文件
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。
2 单片机配置fpga设计
2.1 单片机配置fpga的优点
在实际应用中,单片机控制配置fpga,对于保密和升级,以及实现多任务电路结构重配置和降低配置成本,都是很好的选择。配置方式ps、pps和ppa均可以用单片机控制配置。
由单片机和外部存储器组成配置fpga电路,将配置数据写入外部存储器,系统上电时再由单片机控制对fpga进行配置。也可将多个配置文件分区存储到外部存储器中,然后由单片机接收不同的命令,选择读取不同存储区的数据配置到fpga器件,从而实现多任务电路结构重配置,在线配置成多种不同的电路功能;代替了价格昂贵的不可擦写和可擦写配置芯片,降低了成本。
2.2 配置数据存储在u盘
在银行等保密行业,如果要求安全和保密程度非常高,那么一定要有权限的使用者才能使用,或由不同的用户分时使用同一台fpga组成的系统。最好是不要将配置数据存放在fpga组成的系统上,而是将配置数据存放在使用者自己携带的外部存储器(如u盘)中(对u盘的读/写还可以加密);使用前将存放配置数据的外部存储器接入fpga组成的系统,系统上电时冉由单片机控制对fpga进行配置就可以了。
1994年11月,以intel为首的7家公司推出了通用串行总线usb(universal serial bus)协议规范的第一个草案。usb协议从1.1过渡到2.0,作为其最重要指标的设备传输速度也从usbl.
摘要 介绍fpga的配置方式、配置数据文件和详细配置过程,以及单片机配置fpga的优点,创新地提出配置数据存放在u盘中的思想;同时也介绍了单片机控制读/写usb设备(如u盘)的软硬件设计;最后给出配置数据存放在u盘中、采用单片机控制对fpga进行ps配置的具体设计,满足了fpga系统的升级、保密和安全性要求,具有创新性和重大实用价值。
关键词 fpga配置方式 配置数据usb u盘安全性 配置过程
引 言
fpga广泛应用在电子通信领域,其安全性引起了注意,本文针对安全配置提出了解决方案。
现场可编程门阵列fpga(field programmablc gate array)是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。采用在线可重配置方式icr(in-circuit reconfigurability)将这些配置数据配置到fpga内部sram中,但由于sram的易失性,每次上电时,都必须对fpga重新进行配置,从而实现用户编程所要实现的功能。
以前的设计大多是将配置数据存放在fpga组成的系统上,本文提出将配置数据存放在使用者自己携带的外部存储器(如可加密的u盘)中。使用前将u盘接入fpga组成的系统,系统上电时由单片机控制读出配置数据,再传送给fpga进行配置。这样做优点很多:修改、升级简便,现场保密性强,安全性高;可多人分时使用同一硬件系统,同一硬件系统插入不同的配置u盘就可以实现不同的功能,可以方便地存储大容量配置数据或多个配置数据文件等;同时,符合计算机和嵌入式系统的热点usb otg(on the go,移动usb)技术趋势,是具有创新的设计。
1 fpga的配置方式和配置数据文件
1.1 fpga的配置方式
以altera公司的fpga器件为例,有2类配置下载方式:主动配置和被动配置。主动配置方式是由fpga器件主动引导配置操作,从外围专用配置芯片(如epc4)中获得配置数据的过程;被动配置方式则是由外部计算机或控制器控制配置过程。
以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的逻辑电平组合决定。
基于sram lut(查找表)结构的fpga采用在线可重配置方式icr。以配置方式ps为例,可通过下载电缆南计算机直接对fpga器件进行配置。这种方法在设计调试时非常方便,但在现场应用巾是很不现实的。上电后自动加载对fpga器件进行配置是实际必须的,有许多方法,例如专用配置芯片(如epc4)配置、单片机控制配置、max3000a控制f1ash存储器配置、pci总线配置、internet配置、psd(programmable system devices可编程器件)配置等。
1.2 fpga的配置数据文件
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。
2 单片机配置fpga设计
2.1 单片机配置fpga的优点
在实际应用中,单片机控制配置fpga,对于保密和升级,以及实现多任务电路结构重配置和降低配置成本,都是很好的选择。配置方式ps、pps和ppa均可以用单片机控制配置。
由单片机和外部存储器组成配置fpga电路,将配置数据写入外部存储器,系统上电时再由单片机控制对fpga进行配置。也可将多个配置文件分区存储到外部存储器中,然后由单片机接收不同的命令,选择读取不同存储区的数据配置到fpga器件,从而实现多任务电路结构重配置,在线配置成多种不同的电路功能;代替了价格昂贵的不可擦写和可擦写配置芯片,降低了成本。
2.2 配置数据存储在u盘
在银行等保密行业,如果要求安全和保密程度非常高,那么一定要有权限的使用者才能使用,或由不同的用户分时使用同一台fpga组成的系统。最好是不要将配置数据存放在fpga组成的系统上,而是将配置数据存放在使用者自己携带的外部存储器(如u盘)中(对u盘的读/写还可以加密);使用前将存放配置数据的外部存储器接入fpga组成的系统,系统上电时冉由单片机控制对fpga进行配置就可以了。
1994年11月,以intel为首的7家公司推出了通用串行总线usb(universal serial bus)协议规范的第一个草案。usb协议从1.1过渡到2.0,作为其最重要指标的设备传输速度也从usbl.