当前位置:文档之家› 基于FPGA的嵌入式系统毕业论文课程设计

基于FPGA的嵌入式系统毕业论文课程设计

目录1 NiosⅡ CPU的体系结构3NiosⅡ处理器的结构 (3)NiosⅡ处理器的基本组成 (3)Debug模块 (3)NiosⅡ开发环境简介 (3)2 IP核4SDRAM控制器 (4)3 基于SOPC的温湿度监测系统设计5系统总体设计方案 (5)SOPC硬件系统设计 (6)SOPC软件系统设计 (9)NiosⅡ软件系统设计 (9)NiosⅡ IDE C/C++Build属性配置 (13)软件系统的设计流程 (15)4 实验结果与分析15结论18SOPC是可编程片上系统,即一种特殊的嵌入式系统。

首先它是片上系统(SOC),由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。

SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色。

构成SOPC的途径有基于FPGA嵌入IP硬核的系统、基于FPGA嵌入IP软核的系统和基于HardCopy 技术的SOPC系统三种方式。

本文介绍基于FPGA的嵌入IP软核的SOPC系统实现方法,设计了一种基于SOPC的温湿度监测系统。

通过Quartus II 软件里的SOPC builder把Nios II Processor、Avalon总线、UART、SDRAM_controller、Flash Memory、Avalon三态桥等多个IP核集成生成系统所需的SOPC。

传感器扩展板采用Mega8作为主控芯片,用于数据的采集、显示以及和PC的通信。

同时配有由SPI总线控制的数码管,可以显示传感器的测量结果,以及与PC通信过程中的具体情况。

对外采用波特率为115200的串口进行通信,用户可通过串口向该模块发出各种查询命令以查询传感器的状态。

本次设计使用NiosII IDE编写应用程序,发送相应指令,获取温度和湿度的值,同时显示在Console窗口。

关键词:SOPC技术;FPGA开发板;IP核;温湿度监测;NiosⅡ处理器;Mega8芯片SOPC is System-On-a-Programmable-Chip, that is a special embedded system: First, it is the system on chip (SOC), which completes the main logic function of the whole system on a single chip; second, it is a programmable system with a flexible design approach which is reducible, scalable, and has the software and hardware in-system programmable functions. SOPC is a kind of special SOC which is based on FPGA solutions and there are more features compared with the SOC and ASIC solutions; three approaches are available to constitute a SOPC: based on embedded hard IP-core FPGA, based on embedded soft IP-core FPGA and based on Hardcopy technology. Each of them has its own characteristics. This article describes the embedded SOPC system based on soft IP core of Altera's FPGA,which is used to design a temperature and humidity monitoring system .Using the SOPC builder of the Quartus II software, we integrate Nios II Processor, Avalon bus, UART, Sdram_controller, Flash Memory, Avalon tristate bridge, and other IP cores to generate the SOPC that the system sensor expansion board use Mega8 as the main chip for data acquisition, display and PC communication. At the same time, the board has controlled by the SPI bus, which is used to display the sensor measurements and the specific situation of communication with PC. A user can issue the query command to query the status of the sensor through the115200 serial port of the external communication. This design uses the Nios II IDE to write application,sending the appropriate instructions and obtaining the temperature and humidity values displayed in the Console window.Keywords:SOPC technology; the development board of FPGA; IP Core; Temperature and humidity monitoring; NiosⅡprocessor; Mega8 chip1 NiosⅡ CPU的体系结构NiosⅡ处理器的结构Nios嵌入式处理器系统包括一个或多个Nios CPU、Avalon交换总线和其他组件[7]。

下列组件可以生成基于Nios处理器的嵌入式系统Nios CPU ,Avalon总线,外围设备和存储器接口,片内调试模块Nios处理器系统包含带指令和数据高速缓存的Nios CPU,片内调试模块、直接存储器存取(DMA)控制器、常用外围设备(PIO、UART、以太网口和存储器接口等)和并行多控制Avalon交换结构总线。

NiosⅡ处理器的基本组成NiosⅡ处理器包括如下功能单元,寄存器文件,ALU ,自定义指令逻辑的接口,异常控制器,指令总线,数据总线,指令高速缓存和数据高速缓存,指令和数据的存储器接JTAG调试模块。

Debug模块Altera的合作伙伴FS2和Accelerated Techonlogy提供给Nios嵌入式处理器开发者顶级调试工具。

可配置的Nios CPU可选择包括FS2的片内调试模块(OCI)。

OCI提供包括运行控制、硬件断点,片内跟踪和片外跟踪等电路仿真器。

用户可以使用Altera开发套件中的ByteBlasterⅡ下载电缆或FS2的目标系统分析器连接OCI,在主程序中存取OCI。

NiosⅡ开发环境简介Nios嵌入式处理器系统的开发环境包括硬件和软件两部分。

Nios系统设计人员可以使用Nios开发工具创建高性能的可编程片上系统(SOPC)。

有效的Nios嵌入式处理器开发工具允许用户配置一个或多个NiosCPU,从标准库中添加外围设备,综合处理自定义系统,与Quartus设计软件一起编译系统,用GNUPro软件开发工具进行程序设计、连编和调试。

图1 Nios嵌入式开发流程2 IP核Cyclone器件内置多达2个Nios增强型锁相环,可给用户提供高性能的时钟管理能力,如频率合成、可编程移相、片外时钟输出、可编程占空比、失锁检测以及高速差分时钟信号的输入和输出等。

SDRAM控制器在以SDRAM作为缓存的系统中,使用可编程器件对其进行控制具有很强的灵活性。

为了使设计具有模块化和可重复使用的优点,设计了一个简化的SDRAM接口电路。

这样就屏蔽掉了SDRAM操作的复杂性,而其它逻辑模块可通过接口电路对SDRAM进行访问。

此外,由于整个SDRAM控制器用VHDL语言编写,只要对其进行简单的修改就可以满足不同的需求,具有很强的灵活性。

平台具有一个32MB的Nor FLASH——AM29LV256ML,位于核心板FPGA芯片的下方。

在SOPC中可使用下图所示的IP核Flash Memory Interface (CFI)。

依照电路图,将地址宽度定义为25。

图2 Flash Memory Interface3 基于SOPC的温湿度监测系统设计系统总体设计方案基于SOPC的温度湿度监控系统采用的是SOPC和NIOS设计,通过FPGA 实现。

其中UP-FPGA2C35-II中传感器扩展板由多种不同的传感器构成,并有四个外部信号输入接口,可以分别测量温度、湿度、热敏、光敏信号。

采用Mega8作为主控芯片,用于数据的采集、显示以及和PC 的通信。

同时配有由SPI总线控制的二位八段共阳数码管,可以显示传感器的测量结果,以及与PC通信过程中的具体情况。

对外采用波特率为115200 的串口进行通信,用户可通过串口向该模块发出各种查询命令以查询传感器的状态。

串口通信指令格式传感器扩展板与PC 之间的通信采用一问一答的方式,即PC向电路板发送一条查询指令,电路板则返回相应的消息。

SOPC从工业控制上位机软件的特点出发,按照功能分为多个不同的模块,完成一套适用于仓库温湿度管理系统的上位机应用软件。

设计了软件的功能结构,并编写了相应的程序,使软件具备了仓库的实时监测、消息显示等功能。

本设计的几个主要方面有:界面编程、控件的编程;与FPGA串口通信;温湿度显示,Nios II IDE中的编程;将上面的几部分联合编程。

最后实现对温湿度信息接受并显示。

图3 整个系统的设计流程SOPC硬件系统设计(1)打开Quartus II软件,新建工程“Sensor Board”,然后选择“Tools | SOPCBuilder…”进入SOPC Builder。

注意:若没有工程打开,此选项不可选,所以先建立工程。

相关主题