张 力
(四川省委党校研究生部, 四川 成都 610072)
在单片机上开发较复杂的应用系统,常常需要经历确立开发方案、开发硬件、开发底层软件(必要时需要操作系统)、开发应用软件的过程,这不仅耗费了大量的时间,而且由于前期缺乏明确的可评估的软硬件平台从而增加了开发风险.随着单片机片上系统的成熟以及实时操作系统技术的发展,采用基于单片机片上系统和实时操作系统来搭建单片机的快速开发平台将大大提升开发效率并降低开发的风险和成本.本文研究了如何利用ZE5 SoC和uC/OS-Ⅱ来构建单片机的快速开发平台.
ZE5系列可定制微控制器是由美国Triscend公司研发的一款基于8051/52系列CPU的SoC(System on Chip).Triscend在2004年被Xinlix公司收购,目前中国境内由Zylogic公司推广ZE5系列产品.ZE5 SoC(system on chip)的突出特点在于除了提供基于8051的微控制器外还内嵌可配置系统逻辑(CSL),开发者仅仅通过软件配置就可以实现多种硬件逻辑模块,例如UART、SPI、FIFO、ROM等等,这为快速灵活的开发和测试基于8051单片机的硬件方案提供了可能性.
uC/OS-Ⅱ是著名的源码公开的实时操作系统,自从1992年发布以来在世界各地都获得了广泛的应用,它是一种专门为嵌入式设备设计的内核.尤其值得一提的是,该系统自从2.51版本之后,就通过了美国FAA认证,可以运行在诸如航天器等对安全要求极为苛刻的系统之上.鉴于uC/OS-Ⅱ可以免费获得代码,对于嵌入式RTOS而言,选择uC/OS无疑是最经济的选择[1].
开发基于ZE5和uC/OS-Ⅱ实时操作系统的快速开发平台,可以为开发者提供一个快速灵活、可定制的51单片机软硬件开发环境,从而节约时间和成本.
软件开发平台:Keil uVision3 Ver 3.5;Triscend FastChip Ver 2.2.主要硬件:ZE505S16-25L(CPU)、SST39LF040(FLASH)、MAX208CWG(RS232收发器).操作系统:uC/OS-Ⅱ Ver 2.61.
ZE5系列芯片的典型结构如图1所示.
图1 ZE5系列芯片结构
ZE5可配置微控制器在一个器件上集成了一个增强性能的8051微控制器、一个大的SRAM块、一个高速的专用系统总线以及紧密连接在处理器和系统总线上的可配置逻辑[2].
ZE5是基于FPGA技术的SoC芯片,但它并不需要专门的配置芯片,只需一片串行或并行普通FLASH用于存放FPGA逻辑和8051用户代码即可.ZE5系统使用并行加载方式比串行加载方式更快且更可靠.
一般的8051系统需要搭配程序空间存储器以及数据空间存储器才能构成一个完整可用的基本系统.在ZE5内部内置有至少16 kB SRAM作为数据空间存储器,所以无需外接SRAM.
图2 ZE505S16-25L原理图
由于ZE5内置有可配置逻辑(CSL),结合ZE5系统的集成开发环境FastChip,只需通过简单的鼠标拖放操作就能够实现多种硬件逻辑模块,例如UART、FIFO、SPI、ROM等.在本文中实现了一个UART功能.
ZE5的启动过程如下:首先系统上电复位,而后ZE5从上述并行FLASH中加载FPGA逻辑到内部空间,直至FPGA逻辑生效后ZE5开始从上述FLASH中读取8051代码并开始运行用户程序.
综上所述,一个基于ZE5的最小系统无需外接SRAM,只需外接一片FLASH作为存放FPGA逻辑及8051用户代码即可.本系统的CPU选用ZE505S16-25L,外接并行FLASH选用SST39VF040.由于ZE5实现的UART属于LVCMOS电平,要和PC机通讯必须将其转换为符合RS232规范的电平,因此本系统中选用了一片MAX208CWG实现上述功能,完成和PC机通讯.
图3 SST39F040原理图
硬件的部分原理图如图2~图4所示.
uC/OS-Ⅱ在设计之初已经充分考虑了代码的可移植性,其大部分代码用C语言编写,但是仍然必须修改部分代码以保证在不同的处理器上能够正确运行.
uC/OS-Ⅱ软件的体系结构如图5所示[3].
可以看出,要将uC/OS-Ⅱ移植到ZE5平台,只需修改OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C 3个文件即可.有关uC/OS-Ⅱ移植到51系列CPU的文章有很多[4,5],这里不再赘述.
图4 RS232原理图
图5 uC/OS-Ⅱ 软件体系结构
为了保证移植代码的可靠性,在ZE505S16-25L上实现了一个UART,编写了严格的测试程序并通过PC机超级终端软件验证了移植代码的可靠性.
采用基于ZE5和uC/OS-Ⅱ的开发平台能够快速灵活地建立复杂的应用系统.目前基于uC/OS-Ⅱ和ZE5平台的快速开发系统已经很好的应用在新项目方案的评估当中,在实际使用中取得了较好的效果.
参考文献
[1] uC/OS.Ⅱ 简介[EB/OL]. http://blog.gkong.com/more.asp name=wuhongweizz&id=25552, 2007-9-19.
[2] Zylogic E5可定制的微控制器[EB/OL]. http://www.zylogic.com.cn/download/pdf/ze5_kz.pdf, 2009.
[3] Jean J.Labrosse著,邵贝贝翻译.嵌入式实时操作系统uCOS.Ⅱ (第二版)[M]. 北京:北京航空航天大学出版社, 2003: 284.
[4] 2005版uCOSⅡ C51移植心得[EB/OL]. http://www.91linux.com/html/article/qianrushiyingyong/20080303/9840.html, 2008.
[5] 曾 伟,廖力清. 实时操作系统uC/OS.Ⅱ在DSP上移植的实现[J]. 计算机工程, 2007, 33(17):270-272.