STM32的的CPLD离线烧写系统设计离线烧写系统设计
针对传统PC机烧写方法的缺点,提出了一种基于嵌入式的CPLD离线烧写模块。离线CPLD烧写器是为了满足生
产和现场调试等应用场合而设计的一款烧写设备,它的出现可以抛开PC机烧写的固有模式,无需在线JTAG下
载器甚至电源,就可以轻松完成CPLD的烧写功能。
引言
Altera公司为在系统编程(ISP)提供了软件级标准:Jam STAPL JEDEC标准JESD-71[2],它彻底改变了可编程逻辑器件
(PLD)的编程和配置。该标准支持当前所有使用JTAG进行在系统编程的可编程逻辑器件。对于嵌入式系统,该标准满足所有
的必要条件,例如:文件小、便于操作以及平台独立。
Jam STAPL(标准测试和编程语言)ByteCode Player是一种读取并执行.jbc文件的解释性程序。一个.jbc 文件可包含多种功
能,例如,对CPLD 进行编程、配置、验证、擦除以及空白检查等[3]。Jam STAPL Byte-Code Player执行软件可以访问用
来执行基于IEEE 1149.1标准的所有指令的IEEE 1149.1信号。执行软件也能够处理.jbc 文件中用户定义的操作和程序。.jbc文
件是二进制文件,Jam STAPL Byte-Code Player 执行软件解析.jbc文件描述信息后,将其翻译成设置到目标CPLD中的数据和
算法。这个执行软件不针对某一供应商或者器件体系结构进行编程,它只读取并解释Jam STAPL规范定义的语句[3]。
针对这种情况,设计了一种基于STM32的CPLD离线烧写模块。离线CPLD烧写器是针对生产和现场调试等应用场合而设计的
一款烧写设备,它的出现可以抛开PC机烧写的固有模式,无需在线JTAG下载器甚至是电源,就可以轻松完成CPLD的烧写功
能,从而大大提高生产效率,降低了现场系统升级及调试时对设备和环境的苛刻需求。该模块的成功实现,极大地方便了用户
对CPLD的烧写和更新。对厂家而言,生产线上就可以告别笨重的电脑和繁琐的操作,修改和维护已销售产品中的CPLD逻
辑,再不需要技术人员背着沉重的笔记本和各种线缆出差,所以其意义非常重大。
1 离线烧写系统设计
CPLD的离线烧写系统由两部分组成:一部分是以嵌入式处理器STM32为核心的硬件平台[4],另一部分是以Jam STAPL
ByteCode Player为核心的软件系统。
1.1核心芯片的介绍
本系统所使用的嵌入式处理器是ST公司的产品STM32F103ZET6——基于ARM架构芯片来完成的嵌入式CPLD离线烧写
[4]。使用STM32F103ZET6是因为该芯片技术相当成熟,在新的平台上移植非常方便,而且使用其自带的固件库,极大地
方便了程序员项目的开发,减少了一些不必要的麻烦。同时,其处理器的速度为72 MHz,足够强大;MCU内部集成的功能单
元非常多,简化了系统的设计,增强了系统的稳定性和可靠性[45]。
1.2软件工具
本系统使用的软件开发环境为Keil uVision4。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试
器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Win98、NT、
Win2000、WinXP、Win7等操作系统[6]。
如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的
软件仿真调试工具也会令你事半功倍。Keil uVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器。新的用户界
面可以更好地利用屏幕空间,更有效地组织多个窗口,提供一个简洁、高效的环境来开发应用程序。新版本支持更多最新的
ARM芯片,还添加了一些其他新功能。
1.3系统烧写框图
系统的烧写框图如图1所示。
图1 系统烧写框图
由Quartus软件产生.jbc文件,如果所产生的.jbc文件过大,则将文件放置于TF卡中,之后通过数据的读取,将文件数据读到片
内FLASH。在STM32F103ZET6主控芯片中已经成功固化了Jam STAPL ByteCode Player执行软件,Jam STAPL ByteCode
Player执行软件解析,并执行.jbc文件包含的信息,经过主控芯片模拟JTAG的时序,在系统时钟的驱动下烧写目标板CPLD。
2 硬件系统设计
主控芯片选择STM32F103ZET6,该芯片片上集成512 KB的FLASH存储器,完全能够容纳本系统所需求的.jbc文件,不必再
外接FLASH芯片。如果用户所生成的用于烧写CPLD的.jbc文件大小比芯片片内FLASH存储容量大,就需要外扩FLASH芯片,
以保证文件的完整性[7]。在生产上,为了适应绝大部分的数据烧写文件,可以把.jbc文件放到TF卡中。通过文件系统,将
数据一块一块地搬移到片内FLASH中去,这样一来,不管多大的数据文件,都不用担心存储空间不足的问题。
图2为硬件系统结构框图。
图2 硬件系统结构框图
评论0