快捷搜索:

嵌入式处理器软核Nios II你了解了多少

小序:

嵌入式处置惩罚器是嵌入式系统的核心,有硬核和软核之分。此中,嵌入式处置惩罚器软核以其更大年夜的应用机动性,更低廉的资源,受到了研发职员和市场的广泛迎接。Altera公司最新推出的嵌入式处置惩罚器软核Nios II更是软核处置惩罚器中的先辈代表,它已经快速的渗透到教授教化、科研以及临盆等各个方面,积极的推动着嵌入式技巧、SOPC(可编程片上系统)的成长。

1 Nios II 简介

二十世纪九十年代末,可编程逻辑器件(PLD)的繁杂度已经能够在单个可编程器件内实现全部系统,可编程片上系统(SOPC)已成为现实。Altera将可编程器件的上风拓展到嵌入处置惩罚器的开拓设计中,推出了成功的产品。

2000年,Altera宣布了Nios处置惩罚器,这是Altera Excalibur嵌入处置惩罚器计划中的第一个产品,是第一款用于可编程逻辑器件的可设置设置设备摆设摆设软核处置惩罚器。

2004年6月,Altera公司在第一代Nios取得伟大年夜成功的根基上,又推出了加倍强大年夜的Nios II嵌入式处置惩罚器。它采纳32位的RISC指令集,32位数据通道,5级流水线技巧,可在一个时钟周期内完成一条指令的处置惩罚。与Nios比拟,Nios II处置惩罚器拥有更高的机能和更小的FPGA占用率,并且供给了强大年夜的软件集成开拓情况Nios II IDE,所有软件开拓义务包括编辑、编译、调试法度榜样和下载都可以在该情况下完成。

Altera公司将Nios II处置惩罚器以IP( Intellectual Property常识产权)核的要领供给给设计者,有快速型(Nios II/f)、经济型(Nios II/e)和标准型(Nios II/f)三种处置惩罚器内核,每种内核都对应不合的机能范围和资本资源。设计者可以根据实际的环境来选择和设置设置设备摆设摆设处置惩罚器内核,轻松的创建一款“完美”的处置惩罚器。

2 Nios II系统的开拓流程

Nios II系统的开拓主要可以分为两大年夜步:搭建硬件平台和针对目标平台编写利用软件法度榜样。

Altera公司设计的开拓对象SOPC Builder,将所有和处置惩罚器子系统相关的底层具体资料集中到这个对象中,让用户完全置身于直不雅的图形界面下添加和设置设置设备摆设摆设所需的处置惩罚器和功能部件,并自动完成包孕定义存储器映射、中断节制和总线节制在内的系统设置设置设备摆设摆设事情,使得开拓事情简单化,设计者能够加倍着眼于系统的功能而无须拘泥于过多的细节。

集成于SOPC Builder中的Nios II IDE,采纳绝大年夜部分设计者异常认识的标准GNU情况,能够让设计者在此中完成所有的软件开拓义务。

搭建硬件平台所需的事情如下:

(1)硬件开拓的主要事情是构建Nios II系统模块。在SOPC Builder中拔取相宜的CPU存储器以及外围器件(如片内存储器、PIO、UART和片外存储器接口),并经由过程参数的设计定制它们的功能。

部件选择完成后,应用Quartus II软件拔取详细的Altera可编程器件系列,并对SOPC Builder天生的HDL设计文件进行结构布线,天生Nios II系统模块;

(2)将天生的Nios II系统模块加入到Quartus II工程下的顶层设计文件,为Nios II系统模块的I/O端口分配管脚或者连接FPGA内部逻辑。I/O管脚分配后,进行编译,系统天生设置设置设备摆设摆设文件;

(3)应用Quartus II编程器和Altera下载电缆,下载设置设置设备摆设摆设文件到开拓板。当硬件设计校验完成后,可以将设置设置设备摆设摆设文件下载到开拓板上的非易掉存储器里。

下载完硬件设置设置设备摆设摆设文件后,软件开拓者就可以把此开拓板作为软件开拓的初期硬件平台对软件功能进行开拓验证。

软件开拓流程归纳如下:

(1)在用SOPC Builder进行硬件设计的同时,就可以开始编写自力于器件的C/C++软件,比如算法或节制法度榜样,并可以应用现成的软件库和开放的操作系统内核来加快开拓进程。

(2)在NIOS II IDE中建立新的软件工程,这时,IDE会针对目标硬件平台自动天生一个定制HAL系统库,这个库能为法度榜样和底层硬件的通信供给接口驱动法度榜样。

(3) 应用NIOS II IDE对软件工程进行编译、调试,运行。[1]

3 Nios II 在汽车行驶记录仪中的利用

汽车行驶记录仪是对车辆行驶速率、光阴、里程以及有关车辆行驶的其它状态信息进行记录、存储并可经由过程接口实现数据输出的数字式电子记录装配。

采纳基于嵌入式处置惩罚器Nios II的SOPC技巧来设计汽车行驶记录仪的上风如下:

汽车行驶记录仪必要存储、传输数据,需要时还需具备显示和警报功能,系统接口较多,SOPC Builder供给了大年夜量的接口IP核供用户选择,使得设计方便快捷,能够大年夜大年夜的缩短开拓工期。

汽车行驶记录仪因其特殊的事情情况,要求尽可能的减小产品体积并前进系统的靠得住性,SOPC的特征便是在FPGA上高度集成,只管即便削减芯片外部连线,十分相符汽车行驶记录仪对体积和靠得住性的要求。

汽车行驶记录仪应该具备适利用户需求变更的能力,具备优越的可扩展性和进级特点。可编程逻辑器件FPGA以及Nios II的特征使得经由过程对软件代码的更新就可以完成系统的掩护和进级。

3.1 硬件平台的搭建

根据汽车行驶记录仪的功能,将全部系统划分为四个部分,如图1所示。

图1 系统整体框图

图1中各部分的功能如下:

Nios II系统模块:中央节制单元。包孕Nios II处置惩罚器,Avalon总线,中断时钟以及与外设的接口。节制法度榜样由运行在Nios II CPU上的软件完成,认真对旌旗灯号的采集,处置惩罚和存储操作,并节制通信历程;

旌旗灯号输入部分:接管外部传感器开关量旌旗灯号,并进行处置惩罚,将处置惩罚后的数据送到Nios II系统模块的数据采集端口(PIO);

存储器部分:存储采集的数据;

通信模块:采纳RS-232,认真与阐发仪之间的通信。

根据各个部分的功能和开拓板的设置设置设备摆设摆设(本项目所用的开拓板为Stratix 1s10,FPGA的型号为:EP1S10F780C6),必要用到的外围器件有:对模拟输入旌旗灯号进行模数转换的ADC0809;用于试验中存储数据的 SRAM存储器;用于试验数据备份的Flash存储器;装载软件法度榜样、非常处置惩罚的SDRAM存储器;记录仪与阐发仪之间的通信接口RS232;用于超速报警的LED;等等。

按照系统的硬件筹划,在SOPC Builder必要添加如下IP模块:

l Nios II 32位CPU 软核处置惩罚器;

l Interval_TImer 中断时钟,每0.2秒发出中断;

l Keydoor_pio 接管钥匙门旌旗灯号的输入;

l Power_off_pio 接管掉落电旌旗灯号的输入;

l Vehicle_speed_pio 连接车速传感器输出脉冲计数器的输出端;

l Over_speed_alarm_pio连接超速报警LED;

l Rotate_speed_pio 连接曲轴传感器输出脉冲计数器的输出端;

l IniTIal_pio 系统复位端口;

l Adc_control_pio ADC 0809节制端口;

l Adc_eoc_pio连接ADC 0809转换停止唆使引脚;

l Adc_data_pio 连接ADC 0809的8个数据输出引脚;

l Switch_input_pio 接管开关量的输入;

l Sdram 软件法度榜样,非常处置惩罚存储器;

l Ext_ram_bus 外部存储器总线;

l Ext_ram 外部RAM接口;

l Ext_flash 外部flash接口;

l Uart通用异步接管发送器,实现RS_232接口;

l Jtag_uart 调试用接口;

3.2 软件实现

汽车行驶记录仪的各类利用功能是由C/C++说话编写的软件法度榜样来完成。在Nios II IDE中新建一个工程时,系统会针对目标硬件平台自动天生硬件抽象层的利用法度榜样接口(HAL API)供法度榜样编写职员调用。

汽车行驶记录仪的事情历程如下:

1.汽车行驶历程中,记录仪每0.2秒采集并记录变乱疑点数据;每分钟记录行驶状态数据;在记录的历程中要记录最高车速。

2. 汽车停驶时,记录仪并没有竣事事情,但此时不进行数据的采集和记录。在泊车历程中,阐发仪可以采集记录仪的数据。

3.车辆,驾驶员基础信息采取系统初始化时预置进记录仪的形式。

4.记录仪是否采集数据用钥匙门节制,接管到钥匙门启动车辆的旌旗灯号,记录仪开始记录;接管到钥匙门的熄火旌旗灯号,竣事记录。

5.记录仪掉落电,备份数据,竣事事情。

根据上述记录仪的事情历程,软件法度榜样整体流程设计如图2所示。

图2 汽车行驶记录仪事情整体流程图

结论:本文所先容的新一代汽车行驶记录仪,采纳了基于嵌入式处置惩罚器Nios II的SOPC设计技巧,能够更完备,更正确,更多样化的记录汽车在行驶历程中的各类数据,相符国家标准,取得了较知足的效果。在设计历程中大年夜量复用成熟的IP软核,很大年夜程度上前进了系统的稳定性,大年夜大年夜节省了系统开拓光阴,充分表现了IP复用技巧带来的好处。

滥觞:电子产品天下

您可能还会对下面的文章感兴趣: