APP下载

基于FPGA的计时系统的设计

2009-09-29

绿色科技 2009年6期

李 瑞

摘 要:可编程片上系统(System On a Programmable Chip, SOPC)是Altera公司提出来的一种灵活、高效的片上系统(System On Chip, SOC)解决方案。它结合了片上系统和现场可编程门阵列(Field Programmable Logic Array, FPGA)各自的特点,是一个崭新的、富有生机的嵌入式系统设计技术研究方向。

关键词:可编程片上系统;现场可编程门阵列;计时系统;NIOS II处理器

中图分类号:TD31

文献标识码: A

文章编号:1005-569X(2009)06-0097-02

1 引 言

在集成电路(IC)发展初期,电路设计都是从器件的物理版图设计入手。后来出现了集成电路单元库(Cell-Lib),使得集成电路设计从器件级进入逻辑级,极大地推动了IC产业的发展。不过,集成电路只有安装在整机系统中才能发挥它的作用。IC芯片是通过印刷电路板(PCB)等技术实现整机系统的。尽管IC的速度可以很高,功耗可以很小,但由于PCB板中IC芯片之间的连线延时、PCB板可靠性及重量等因素的限制,整机系统的性能受到了很大的限制。随着系统向高速度、低功耗、低电压和多媒体、网络化、移动化的发展,系统对电路的要求越来越高。传统集成电路设计技术已无法满足性能日益提高的整机系统的要求。同时,由于IC设计与工艺技术水平提高,集成电路规模越来越大,复杂程度越来越高,整个系统已可以集成在一个芯片上。目前已经可以在一个芯片上集成108~109个晶体管。SOC就是在这种条件下应运而生的。

2 嵌入式系统开发概述

2.1 嵌入式系统简介

嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用软件等部分组成。

2.1.1 嵌入式操作系统以及用户应用软件

嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和通用计算机有所不同。

首先,软件要求固化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储与磁盘等载体中。

其次,软件代码高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高、片上存储容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和变异的质量高,以减少程序二进制代码长度、提高执行速度。

最后,系统软件为多任务高实时性的。在多任务的嵌入式系统中,对重要性各不相同的任务进行统筹兼顾与合理调度是保证每个任务及时执行的关键,单纯同过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。而多任务操作系统则是知识集成的平台和走向工业标准化道路的基础。

2.2 嵌入式系统的特点

嵌入式系统是集软件、硬件于一体的高可靠性系统。

嵌入式系统是资源开销小的高性能价格比系统。嵌入式系统的发展离不开应用,应用的共同要求是系统资源开销小,性价比高。

嵌入式系统是功能强大、使用灵活方便的系统 嵌入式系统应用的广泛性,要求该系统通常是无键盘、无需编程的应用系统,使用它应如同使用家用电器一样方便。

3 基于FPGA和 NIOS II计时/计数工程的设计与实现

3.1系统软件设计

系统软件主要完成:系统初始化、时间显示、按钮中断处理,时间的累加与设置等功能。

图1系统软件流程图

3.1.1系统的时间的显示

由于开发环境的限制,而且没有LCD的支持,所以只能用4个7段数码显示管来显示时钟。4个数码管分成两组,每组2个数码管,一组显示分钟,一组显示时钟,每个数码管显示一位数字,刚好完成分钟和时钟的显示。

7段数码管的原理如图2所示:

图27段数码管

每个7段数码管由与一个8位的并行I/O接口相连,所以需要一个8位的无符号数来控制(alt_u8)类型,每一位控制相应的a,b,c,d,e,f,g,dp为以下为每位对应的控制关系,如图3所示

图3 7段数码管的控制位

由于1表示灯不亮,0表示灯亮,这样数字0就由0x81表示,即10000001除了g和dp不亮其他的都亮。

将0-F这16个数所对应的编码依次放在一个数组中,取出当前是中的得高位与低位low和high,然后通过:data=segments[low]|(segments[high]<<8来将数据整合成一个16位的数字输出到端口。

3.2 时间的设置

时间的控制通过中断完成。在SOPC Builder中设置button_pio就定义了关于button_pio的用户中断(NIOS II处理器最多支持64个异常,有32个外部中断输入),系统生成时会为用户自定义的中断分配相应的中断号和中断优先级。NIOS II中断向量表提供了指向中断服务程序的指针,通过修改中断向量表可以改变相应中断的中断处理子程序。

4 结语

本系统时基于FPGA,采用Altera提供的全套软硬件开发平台所设计的一个可编程片上系统(SOPC)。本系统主要的特点和功能如下:

系统应用广,扩展性强:计时功能是很多系统的必备功能。

系统开发周期短,成本低:系统由SOPC Builder构建,大大缩短了硬件设计的时间,有效的降低了成本

系统灵活性强:可编程片上系统相对于片上系统(SOC)最大的优势在于它的灵活性,用户如果要对系统作功能扩展可以轻松实现。

系统交互性强:系统时间设置方法和普通电子手表的时间设置方法相同,用户可以轻松上手。

参考文献:

[1] 黄智伟.FPGA系统的设计与实践[M].北京:电子工业出版社,2005.

[2] 赵雅兴.FPGA原理、设计与应用[M].天津:天津大学出版社.1999.

[3] 于枫, 张丽英, 廖宗建.ALTERA可编程逻辑器件应用技术[M].北京:科学出版社,2004.

[4] 张大拨.嵌入式系统原理、设计与应用[M].北京:机械工业出版社,2005.

[5] Altera Corporation. Nios II Hardware DevelopmentTutorial.http://www.altera.com.cn.

[6] Altera Corporation. Nios II Processor Reference Handbook.http://www.altera.com.cn.

[7] Altera Corporation. Stratix GX FPGA Family data sheet.http://www.altera.com.cn.