基于NIOSII的电流电压表设计.docx
- 文档编号:23887030
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:43
- 大小:793.21KB
基于NIOSII的电流电压表设计.docx
《基于NIOSII的电流电压表设计.docx》由会员分享,可在线阅读,更多相关《基于NIOSII的电流电压表设计.docx(43页珍藏版)》请在冰豆网上搜索。
基于NIOSII的电流电压表设计
西安邮电学院
毕业设计(论文)
题目:
基于Nios_II的电流/电压表设计
TheVoltmeter&AmmeterDesignBasedonNiosII
学院:
电子工程学院
系部:
微电子系
专业:
微电子学
班级:
0603班
学生姓名:
李欢乐LiHuan-Le
导师姓名:
李哲LIZhe职称:
教授
起止时间:
2010年3月22日至2010年6月27日
西安邮电学院
毕业设计(论文)任务书
学生姓名
李欢乐
指导教师
李哲
职称
教授
学院
电子工程学院
系部
微电子系
专业
微电子0603
题目
基于Nios_II的电流/电压表设计
任务与要求
1、了解Nios_II开发流程和实验板FPGA特性,了解电压/电流测量原理与方法,了解AD转换器工作原理
2、配置Nios_II处理器,SPI串口,编写AD转换器AD7822接口代码,采样电压/电流值
3、编写运行在Nios_II处理器上的C语言程序,将采样值显示在LED显示器上
4、实际电压变化范围:
0~25V,电流变化范围:
0~1500mA,要求设计出电压/电流的调理电路,并附有详细设计文档
开始日期
2010年3月29日
完成日期
2010年7月2日
主管院长(签字)
年
月
日
西安邮电学院
毕业设计(论文)工作计划
学生姓名
李欢乐
指导教师
李哲
职称
教授
学院
电子工程学院
系部
微电子系
专业
微电子0603
题目
基于Nios_II的电流/电压表设计
工作进程
起止时间
工作内容
3月29日~4月8日
理解任务要求,收集资料,了解Nios_II开发流程和实验板FPGA特性,了解串口SPI接口特性及AD转化器AD7822,编写开题报告
4月9日~4月31日
配置Nios_II处理器,SPI串口,编写AD转换器AD7822接口代码,采样电压/电流值
5月1日~6月5日
编写运行在Nios_II处理器上的C语言程序,将采样值显示在LED显示器上,实际电压变化范围:
0~25V,电流变化范围:
0~1500mA,要求设计出电压/电流的调理电路,并且写出设计思路和设计文档
6月6日~6月18日
在开发板上实现,并附有详细设计、仿真文档
6月1日~6月12日
撰写论文
主要参考书目(资料)
1、FPGA设计基础
2、NIOS_II相关资料
3、AD7822资料
主要仪器设备及材料
1、计算机
2、FPGA开发板
论文(设计)过程中教师的指导安排
每周星期二下午:
4:
20~6:
10
对计划的说明
西安邮电学院
毕业设计(论文)开题报告
电子工程学院微电子系
微电子学专业06级03班
课题名称:
基于Nios_II的电流/电压表设计
学生姓名:
李欢乐学号:
04064081
指导教师:
李哲
报告日期:
2010年3月25日
1.本课题所涉及的问题及应用现状综述
Nios_II是一种软微处理IP核,在嵌入式系统应用中有很好的使用价值,通过本课题,可以全面掌握基于FPGA的嵌入式系统开发流程,配置Nios_II处理器,SPI串口,Avalon总线,设计数码管驱动接口及相关寄存器。
Nios_II处理器通过SPI接口连接AD转换器AD7822,采样电压/电流值,在数码管上显示采集内容。
编写运行在Nios_II处理器上的相关C语言程序。
实际电压变化范围:
0~25V,电流变化范围:
0~1500mA,设计出电压/电流的调理电路,并在数码管上显示实际电压值。
Nios_II处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。
设计者能够用AlteraQuartusII开发软件中的SOPCBuilder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios_II处理器核的数量。
使用Nios_II软件开发工具能够为Nios_II系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。
Nios_II集成开发环境(IDE)提供了许多软件模板,简化了项目设置。
在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。
随着系统日益先进,基于标准处理器的方案会被淘汰,而基于Nios_II处理器的方案是基于HDL源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。
将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。
电压/电流表是用来测量交、直流电路中的电压/电流值的,在日常的科研、教育及生产中有着很重要,而本课题所设计的电压/电流表对电压/电流的测量将更直接、更准确,在日常的电子电路设计中有很强的实用性。
2.本课题需要重点研究的关键问题、解决的思路及实现预期目标的可行性分析
本课题逻辑图
重点研究的关键问题:
Nios_II处理器的配置及在Nios_II处理器上运行的C语言程序,SPI串口、Avalon总线的配置,AD转换器AD7822接口代码的编写,电压/电流的调理电路、数码管驱动接口及相关寄存器的设计。
解决的思路:
在做本课题时,要理解目标要求,熟悉掌握基于FPGA的嵌入式系统开发流程,弄清楚Nios_II处理器极其配置的方法,复习有关C语言、Verilog语言的知识,熟练运用AlteraQuartusII开发软件,理解电压/电流表工作的原理,弄清楚调理电路的设计方法,并在设计过程中不断的查阅资料,遇到解决不了的问题要及时和导师沟通,力争把设计做的完美。
可行性分析:
Nios_II处理器具有完善的软件开发套件,包括编译器、集成开发环境、JTAG调试器、实时操作系统和TCP/IP协议栈。
在设计中能够用AlteraQuartusII开发软件中的SOPCBuilder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios_II处理器核的数量,并能一键式自动生成适用于系统硬件的专用C/C++运行环境,所以Nios_II处理器的配置和其相关的C语言程序可以解决。
AD转换器AD7822是8位模数转换器,最大吞吐量为2MSPS,内置一个2.5V片内基准电压源,一个采样保持放大器,一个420ns的8位半快速型ADC和一个高速并行接口,可采用3V和5V单电源供电,该芯片需要购买。
SPI(串行外设接口)接口总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。
Nios系统的所有外设都是通过Avalon总线与NiosCPU相接的,Avalon总线是一种协议较为简单的片内总线,Nios通过Avalon总线与外界进行数据交换。
设计最终测试的实际电压变化范围为0~25V,电流变化范围为0~1500mA,需要对电压和电流信号进行调理,因此调理电路是非常重要的一个环节,对最终课题测试的可靠性起到十分关键的作用,该电路可以参考有关资料进行设计。
综上所述,本课题所涉及的知识及相关环节都是成熟的和可行的,故本课题所要求的预期目标是可行的。
3.完成本课题的工作方案
1.第一周,理解任务要求,收集资料,编写开题报告。
2.第二、三周,配置Nios_II处理器,SPI串口,编写AD转换器AD7822接口代码,采样电压/电流值。
3.第四、五、六、七周,编写运行在Nios_II处理器上的C语言程序,将采样值显示在LED显示器上,设计出电压/电流的调理电路,并编写设计文档。
4.第八、九周,在开发板上实现设计,编写详细设计、仿真文档。
5.第十周,撰写论文,进行答辩。
4.指导教师审阅意见
思路基本清楚,方案可行,同意开题
指导教师(签字):
年月日
说明:
本报告必须由承担毕业论文(设计)课题任务的学生在毕业论文(设计)正式开始的第1周周五之前独立撰写完成,并交指导教师审阅。
西安邮电学院毕业设计(论文)成绩评定表
学生姓名
李欢乐
性别
男
学号
04064081
专业班级
微电子0603
课题名称
基于NiosII的电流/电压表设计
课题
类型
实际应用
难度
较难
毕业设计(论文)时间
2010年3月22日~6月27日
指导教师
李哲(职称教授)
课题任务
完成情况
论文13(千字);设计、计算说明书0(千字);图纸0(张);
其它(含附件):
指导教师意见
分项得分:
开题调研论证分;课题质量(论文内容)分;创新分;
论文撰写(规范)分;学习态度分;外文翻译分
指导教师审阅成绩:
指导教师(签字):
年 月 日
评
阅
教
师
意见
分项得分:
选题分;开题调研论证分;课题质量(论文内容)分;创新分;
论文撰写(规范)分;外文翻译分
评阅成绩:
评阅教师(签字):
年 月 日
验收小组意见
分项得分:
准备情况分;毕业设计(论文)质量分;(操作)回答问题分
验收成绩:
验收教师(组长)(签字):
年 月 日
答
辩
小组
意
见
分项得分:
准备情况分;陈述情况分;回答问题分;仪表分
答辩成绩:
答辩小组组长(签字):
年月日
成绩计算方法
(填写本院系实用比例)
指导教师成绩20(%)评阅成绩30(%)验收成绩20(%)答辩成绩30(%)
学生实得成绩(百分制)
指导教师成绩评阅成绩验收成绩
答辩成绩总评
答辩委员会意见
毕业论文(设计)总评成绩(等级):
院答辩委员会主任(签字):
学院(签章)
年月日
备
注
西安邮电学院毕业论文(设计)成绩评定表(续表)
摘要
传统的数字电压、电流表设计通常以大规模ASIC为核心器件,并辅以少量中规模集成电路及显示器件构成。
ASIC完成从模拟量的输入到数字量的输出,是数字电压、电流表的心脏。
这种电压、电流表的设计简单、精确度高,但是这种设计方法由于采用了ASIC器件使得它欠缺灵活性,其系统功能固定,难以更新扩展。
而用微处理器控制通用A/D转换器件的数字电压、电流表设计的灵活性将有明显的提高,系统功能的扩展也会变得简单。
本设计采用NiosII处理器等FPGA芯片设计实现数字电压、电流表。
整个设计采用C语言程序和Verilog语言,由AD7822A/D转换芯片、SPI串行接口、NiosII处理器和数码管组成。
在QuartusII软件下配置NiosII处理器、SPI串行接口并进行软件编程实现正确的工作时序后,将编译结果下载到FPGA芯片上完成整个设计。
关键字:
NiosII,数字电压、电流表,FPGA,Verilog,QuartusII
Abstract
Thetraditionaldigitalvoltage/ammeterinlarge-scaleASICdesignusuallyforthecoredevice,supplementedbysmallscaleintegratedcircuitanddisplayofcomponents.FinishtheASICfromanalogtodigitalinput,outputvoltage,theammeterisdigitalheart.Thisvoltage,thedesignissimple,highprecision,butthiskindofdesignmethodwiththeASICdevicemakesit,itslackofflexibilitytoupdate,systemfunction.ButwithmicroprocessorcontrolgeneralA/Dconversiondeviceofdigitalvoltage/ammeterdesignflexibilitywillsignificantlyimprove,systemfunctionexpansionwillalsobecomesimple.
ThisdesignusestheNiosIIprocessorchipdesignastheFPGAdigitalvoltage,ammeter.ThewholedesignusingClanguageprogramandVeriloglanguage,byAD7822A/D,SPIserialinterface,NiosIIprocessoranddigitalpipe.InQuartusIIsoftwareconfigurationNiosIIprocessor,undertheserialinterfaceandsoftwareSPIprogrammingworktimingrightafterthedownloadtocompiletheFPGAdesignofcompletethechip.
Keywords:
NiosII,digitalvoltage/ammeter,FPGA,Verilog,QuartusII
引言
数字电压表在1952年由美国NLS公司首次创造,它刚开始是4位,50多年来,数字电压表有了不断的进步和提高。
数字电压表是从电位差计的自动化过程中研制成功的。
开始是4位数码显示,然后是5位、6位显示,而现在发展到7位、8位数码显示;从最初的一两种类型发展到原理不同的几十种类型;从最早的采用继电器、电子管发展到全晶体管、集成电路、微处理器化;从一台仪器只能测1-2种参数到能测几十种参数的多用型;显示器件也从辉光数码管发展到等离子体管、发光二极管、液晶显示器等。
数字电压表的体积和功耗越来越小,重量不断变轻,价格也逐步下降,可靠性越来越高,量程范围也逐步扩大。
本题目所设计的电压、电流表是利用模拟/数字交换器(A/D)原理,以十进制数字形式显示被测电压值、电流值的仪表。
其以NiosII处理器为核心,用A/D转换芯片采样电压、电流值,加以相应的软件程序控制整个系统的运行,与传统的ASIC电压表相比,灵活性和可扩展性得到了明显的提高,功能和实用性也得到了很大的改善。
本设计预期实现测量电压变化范围:
0~25V,电流变化范围:
0~1500mA。
其灵活,方便的设计将给实验、教学等带来更大的便利。
1系统设计原理
本设计利用AD7822作为电压、电流采样端口,带有niosII处理器的FPGA作为系统的核心器件,用LED数码管进行数码的显示。
其系统原理图如图1所示。
图1系统原理图
调理电路由电压、电流衰减电路和电流-电压转换电路组成。
NiosII处理器采用的是Altera公司的cyclone芯片控制整个设计的运行,包括AD7822A/D转换的启动、地址锁存、输入通道选择、数据读取等。
同时,把读取的8位二进制数据转换成便于输出的3位十进制BCD码送给数码管,以显示当前测量电压、电流值。
2QuartusII、NiosII等设计工具的使用及功能简介
2.1Quartus
简介
Quartus
是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。
具有运行速度快,界面统一,功能集中,易学易用等特点。
QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
2.2NiosII软核处理器简介
2.2.1简介
Altera正式推出了NiosII系列32位RSIC嵌入式处理器。
NiosII系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS,在AlteraFPGA中实现仅需35美分。
Altera的Stratix、StratixGX、StratixII和Cyclone系列FPGA全面支持NiosII处理器,以后推出的FPGA器件也将支持NiosII。
自Altera于2000年推出第一代16位Nios处理器以来,已经交付了13000多套Nios开发套件,Nios成为最流行的软核处理器。
刚推出的NiosII系列采用全新的架构,比第一代Nios具有更高水平的效率和性能。
和第一代相比,NiosII核平均占用不到50%的FPGA资源,而计算性能增长了1倍。
NiosII系列包括3种产品,分别是:
NiosII/f(快速)——最高的系统性能,中等FPGA使用量;NiosII/s(标准)——高性能,低FPGA使用量;NiosII/e(经济)——低性能,最低的FPGA使用量。
这3种产品具有32位处理器的基本结构单元——32位指令大小,32位数据和地址路径,32位通用寄存器和32个外部中断源;使用同样的指令集架构(ISA),100%二进制代码兼容,设计者可以根据系统需求的变化更改CPU,选择满足性能和成本的最佳方案,而不会影响已有的软件投入。
特别是,NiosII系列支持使用专用指令。
专用指令是用户增加的硬件模块,它增加了算术逻辑单元(ALU)。
用户能为系统中使用的每个NiosII处理器创建多达256个专用指令,这使得设计者能够细致地调整系统硬件以满足性能目标。
专用指令逻辑和本身NiosII指令相同,能够从多达两个源寄存器取值,可选择将结果写回目标寄存器。
同时,NiosII系列支持60多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合,而不必支付根本不使用的硅片功能。
NiosII系列能够满足任何应用32位嵌入式微处理器的需要,客户可以将第一代Nios处理器设计移植到某种NiosII处理器上,Altera将长期支持现有FPGA系列上的第一代Nios处理器。
另外,Altera提供了一键式移植选项,可以升级至NiosII系列。
NiosII处理器也能够在HardCopy器件中实现,Altera还为基于NiosII处理器的系统提供ASIC的移植方式。
NiosII处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。
设计者能够用AlteraQuartusII开发软件中的SOPCBuilder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加NiosII处理器核的数量。
使用NiosII软件开发工具能够为NiosII系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。
NiosII集成开发环境(IDE)提供了许多软件模板,简化了项目设置。
此外,NiosII开发套件包括两个第三方实时操作系统(RTOS)——MicroC/OS-II(Micrium),NucleusPlus(ATI/Mentor)以及供网络应用使用的TCP/IP协议栈。
在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。
随着系统日益先进,基于标准处理器的方案会被淘汰,而基于NiosII处理器的方案是基于HDL源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。
将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。
2.2.2Nios
软核处理器特性
嵌入式处理器NiosII系列为AlteraFPGA和可编程片上系统(SOPC)的集成应用专门做了优化。
种类
特性
种类
特性
CPU结构
32位指令集
片内调试
基于边界扫描测试(JTAG)的调试逻辑,支持硬件断点、数据触发以及片内外调试跟踪
32位数据宽度
32个通用寄存器
定制指令
最多可达256个用户定义的CPU指令
32个外部中断源
软件开发工具
Nios
的集成开发环境(IDE)
2GB寻址空间
基于GNU的编译器
硬件辅助的调试模块
表2-2-2Nios
软核处理器特性
NiosII处理器核NiosII处理器系列由三个不同的内核组成,可以灵活地控制成本和性能,从而拥有广泛的应用空间。
JTAG调试模块:
JTAG调试模块提供了通过远端PC主机实现NiosII处理器的在芯片控制、调试和通讯功能,这是NiosII处理器的一个极具竞争力的特性。
用户指令:
开发人员可以在NiosIICPU核内增加硬件,用以执行复杂运算任务,为时序要求紧张的软件提供加速算法。
外围设备及接口:
NiosII开发套件包括一套标准外围设备库,在Altera的FPGA中可以免费使用。
Avalon™交换式总线Avalon交换式总线在处理器、外围设备和接口电路之间实现网络连接,并提供高带宽数据路径、多路和实时处理能力。
Avalon交换式总线可以通过调用SOPCBuilder设计软件自动生成。
2.2.3NiosII设计流程
NiosII是用NiosIIIDE集成开发环境来完成整个软件工程的编辑、编译、调试和下载。
图2-2-3表示了典型NIosII系统的硬件组成
图2-2-3NIosII系统硬件组成
开发工作流程:
1初期工作:
需要软硬件结合处理,对系统进行需求分析。
比如:
CPU是否需要一个硬件加速乘法器,设计中所需要的外围器件及数量,是否需要DMA通道释放CPU在进行数据拷贝时所占用的资源。
2硬件开发:
用SOPCBuilder定义NiosII处理器系统,用Quartus软件定义器件、分配管脚并编译。
3软件开发:
C/C++程序开发,开发定制硬件的驱动程序,定制硬件平台为目标进行编译连接。
4下载到开发板上进行验证
5成功完成NiosII系统设计
a硬件开发流程
用SOPCBuilder来选择合适的CPU、存储器及外围器件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 NIOSII 电流 电压表 设计