APP下载

基于FPGA的SOPC设计

2010-12-12培元

湖北文理学院学报 2010年8期
关键词:存储器液晶箱子

王 培元

(襄樊学院 物理与电子工程学院,湖北 襄樊 441053)

基于FPGA的SOPC设计

王 培元

(襄樊学院 物理与电子工程学院,湖北 襄樊 441053)

本SOPC系统在Altera 公司Cyclone 系列芯片EP1C6Q240中移植Nios II嵌入式处理器,作为核心控制电路;利用FPGA丰富的可编程逻辑资源和IP软核构成嵌入式处理器的接口模块,实现对SDRAM存储器、FLASH存储器、LCD液晶显示器、独立键盘、LED等硬件的控制;软件设计采用开源的uC/OS-II嵌入式实时操作系统,完成一个嵌入式系统硬件设计. 经调试运行,在该系统上成功进行了推箱子游戏,验证了基于FPGA硬件设计的可行性,实现嵌入式实时多任务软件的开发.

FPGA;SOPC;Nios II;uC/OS-II

SOPC(System-on-a-Programmable-Chip),全称是可编程片上系统. 首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能[1]. 随着FPGA芯片的发展,SOPC技术的得到了飞速发展,利用FPGA设计SOPC,为现在越来越复杂的产品所带来的竞争压力提供了高效的解决方案,在高速等高端产品中应用越来越广泛.

SOPC设计是nios系统+硬实时部分+逻辑电路的一个组合体. 其中硬实时部分和逻辑电路在FPGA芯片内可以完美的得到实现. 本设计采用ALTERA公司的Nios II软核和FPGA芯片EP1C6Q240实现了一个SOPC的设计.

1 系统总体设计

本 SOPC系统主要实现推箱子游戏,系统由一个 32bit NiosII软核处理器、液晶显示器、SDRAM、FLASH、键盘等组成。设计的关键是定制Nios II软核处理器以及处理器与外围器件的接口电路.

1.1 系统总体结构

系统总体硬件结构如图1所示. 整个系统由FPGA的片上系统和片外硬件电路构成[5]. FPGA片外电路包括LCD液晶显示电路、独立键盘电路、系统运行指示电路、SDRAM存储器电路、FLASH存储器电路、EPCS存储器、复位电路及时钟源电路、调试接口及所需要的电源电路等. FPGA片上系统包括Nios II软核处理器、延迟复位模块、PLL锁相环模块、键盘消抖模块等[2-4].

1.2 Nios II软核处理器的定制

系统中的 Nios II软核处理器作为核心控制器件,连接了键盘和液晶屏等输入输出设备及 FLASH、SDRAM、EPCS等存储器,控制着整个系统. Nios II软核处理器的定制是通过ALTERA公司的SOPC Builder系统综合软件来完成的. 在定制中要注意处理器的时钟频率,外部RAM总线(Avalon三态桥)、外部RAM接口、外部Flash接口、键盘PIO、LCD数据线及控制信号线、LED PIO、定时器、System ID的参数设置.

1.3 液晶显示器接口

液晶显示器以其低功耗、体积小、显示内容丰富、模块化和接口电路简单等优点在各个领域得到广泛的应用. 本系统液晶显示规格为320*240,接口如图2所示,LCD_WR、LCD_RD、LCD_CD、LCD_RST分别为液晶显示器的写、读、命令/数据选择和复位等端口,LCD_D0~ LCD_D7为8bit数据端口,这些端口都与FPGA连接. FPGA与液晶之间通过电阻实现3v与5v电平匹配.

1.4 SDRAM存储器

系统使用的SDRAM是HYNIX公司的HY57V641620,这是一款具有64Mbit容量16位宽的SDRAM,最高工作时钟可达200M. 设计中建立了一个SDRAM与Avalon总线的结合体,对Avalon端的地址、数据线操作,Avalon总线便会完成对SDRAM的读写. FPGA与SDRAM连接图如图3所示.

图1 系统总体结构

图 2 液晶显示电路

图3 SDRAM与FPGA连接图

1.5 FLASH存储器

本设计中采用的FLASH是Intel公司的JS28F640,具有8MByte容量,其数据线可以8bit或16bit方式连接到处理器上,兼容32MByte. 系统中用一个Avalon三态桥和FLASH控制器实现Nios II处理器与FPGA片外的FLASH读写操作. FPGA与FLASH连接图如图4所示.

图4 FLASH与FPGA连接图

2 软件设计与实现

Nios II系统支持uC/OS-II、uCLinux、eCOS等嵌入式实时操作系统,其中Altera提供对uC/OS-II的完整支持. uC/OS-II是一个完整的、可移植、固化和裁减的占先式实时多任务内核.

2.1 任务划分

按照系统所要求实现的功能,将整个系统划分为几个并行存在的任务,系统创建了4个任务. 分别实现系统初始化任务、键盘处理、系统运行标志处理等.

系统初始化任务主要用来对系统中所使用的I/O端口、LCD液晶、外部按键中断、任务创建的进行初始化设置;键盘处理任务是根据外部键盘中断产生的按键值,以信号量的方式发送出去,实现简单的通信;系统运行标志处理任务,主要标志uC/OS-II时刻都在运行着. 系统软件设计流程图如图5所示.

2.2 推箱子游戏的实现

LCD液晶显示器分成2部分,左半边64×64点作为游戏图形界面的显示,右半边作为游戏信息等汉字显示区域. 左半边需要显示8×8的模拟图形,以左上角为原点,以横向为x轴,以纵向为y轴,建立一个横向坐标范围0~7,纵向坐标范围0~7的游戏界面区域. 右半边可以随意显示任何信息,包括游戏的等级数、设计者等. 在推箱子游戏中使用了5个模拟图形,依次为人物、砖头、箱子、目标、成功. 这些图形由8×8点阵形式显示.

在构建完成游戏界面后,可以通过向上、向下、向左、向右的按键控制人物去寻找箱子,并将箱子推到目的地. 系统中游戏设置了8个等级,操作者可以一关一关的进行游戏,也可以通过选关按键选择游戏的等级.

图5 系统软件设计流程图

3 结语

系统完成基于FPGA的嵌入式系统设计后,通过调试完成各项功能. 不仅体现了FPGA在硬件环节中设计的方便性,在软件环节中更是完整地支持了开源的uC/OS-II.

虽然系统功能已经基本实现,但是仍然存在不足之处,还需要改进. 键盘消抖电路使用计数延时的方法处理键盘抖动,但实际仍出现一定的误差,有待改进. 系统使用变压器电源,可将电源改进后采用小型电源供电,系统就可成为便携式设备.

[1] 周立功. SOPC嵌入式系统实验教程(一)[M]. 北京: 北京航空航天大学出版社, 2007.

[2] 怯肇乾. FPGA-SOPC软硬件协同设计纵横谈[J]. 单片机与嵌入式系统应用. 2008(9): 8-11.

[3] 杨志坤, 曾 博, 汤国文. 基于FPGA的嵌入式系统USB接口设计[J]. 电子设计工程, 2010(01): 30-34.

[4] 利剑清, 宋 跃, 林明仁, 等. 基于FPGA/SOPC-Nios II的频率计数器设计[J]. 东莞理工学院学报, 2008, 15(3): 53-57.

[5] Altera Corporation. Nios II Hardware Development Tutorial[M/OL]. Version 6.0. [S.l.]: [s.n.], 2006[2010-05-05]. http://www. Docin/p-35566317. html.

Design for Embedded System Based on FPGA

WANG Pei-yuan
(School of Physics and Electronic Engineering, Xiangfan University, Xiangfan 441053, China)

In the system of SOPC, Nios II embedded processor as the controlling core is embedded into a EP1C6Q240 of Altera Cyclone series. And the abundant programmable logical resources and IP core make up of the processor of peripheral interface controlling circuit, which provide SDRAM controlling, FLASH controlling, LCD display controlling, keyboard controlling, LED controlling, and so on. The system of the hardware design is realized and validated successfully by the result of testing that the game can play in the system and the software design of embedded multi-tasking operating system is realized, too.

FPGA;Embedded;Nois II;IP core;uC/ OS-II

TN47

A

1009-2854(2010)08-0042-03

2010-06-18;

2010-08-08

王培元(1973— ), 男, 湖北宜城人, 襄樊学院物理与电子工程学院讲师.

饶 超)

猜你喜欢

存储器液晶箱子
不可压液晶方程组的Serrin解
静态随机存储器在轨自检算法
《液晶与显示》征稿简则
一模一样的箱子
箱子
薄箱子
领个箱子去街上
液晶与显示2015年第30卷第1期 目录
存储器——安格尔(墨西哥)▲
液晶与显示2014年第29卷第2期 目录