当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]嵌入式处理器是嵌入式系统的核心,有硬核和软核之分。其中,嵌入式处理器软核以其更大的使用灵活性,更低廉的成本,受到了研发人员和市场的广泛欢迎。Altera公司最新推出的嵌入式处理器软核NIos II更是软核处理器中的先进代表,它已经快速的渗透到教学、科研以及生产等各个方面,积极的推动着嵌入式技术、SOPC(可编程片上系统)的发展。

引言

嵌入式处理器是嵌入式系统的核心,有硬核和软核之分。其中,嵌入式处理器软核以其更大的使用灵活性,更低廉的成本,受到了研发人员和市场的广泛欢迎。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复用技术带来的好处。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

联发科与高通骁龙的对决可以说是一场性能与价值的较量,那么,你对两者的芯片有了解吗?在移动设备领域,芯片制造商的竞争愈发激烈。其中,来自台湾的联发科(MediaTek)与美国的高通(Qualcomm)无疑是该领域的两大巨头...

关键字: 联发科 高通骁龙 CPU 处理器

云和超大规模服务运营商正不断增大计算密度。随着 Microsoft Cobalt、阿里巴巴的倚天 710、AmpereOne等配置 128 核或以上的 CPU 设计进入市场,单个封装可实现的性能更强,且下一代的目标还将远...

关键字: CPU 处理器

虽然嵌入式芯片架构市场上有明确的引领者,但该行业正在快速扩张,预计未来几年将出现许多新的机会。当然,在这样的热门行业中,永远有创新技术和新产品的一席之地。

关键字: 嵌入式 处理器 RISC-V

通过与北美J-Squared Technologies、南美Macnica DHW以及日本NEXTY Electronics三家企业深化合作,Hailo实现了迅速成长,并逐步拓宽了其全球商业版图。

关键字: 人工智能 处理器 芯片

双核处理器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 处理器 双核处理器

随着电力电子技术的快速发展,NC稳压电源作为重要的电力供应设备,在各个领域得到了广泛应用。然而,在实际使用过程中,NC稳压电源三相不平衡问题时常出现,这不仅影响了电源的稳定性和可靠性,还可能对用电设备造成损害。因此,研究...

关键字: 电力电子 汽车 电力系统

康佳特扩展边缘服务器生态系统, 推出 µATX 服务器载板和基于最新英特尔至强处理器的 COMHPC Server模块

关键字: 处理器 服务器 AI

在这篇文章中,小编将为大家带来CPU的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: CPU 集成电路 处理器

芯原可扩展且灵活的DC8200 IP可提供显示设备自适应能力和高质量显示效果,赋能沉浸式视觉体验

关键字: 处理器 人机界面 RISC-V

第五代至强可扩展处理器发布至今,它到底有哪些新特性值得关注?具体应用实践情况又是如何?为了让大家有个全面的了解,在近日举办的2024英特尔数据中心产品技术媒体分享会上,多位英特尔技术专家从技术特性、产品价值、实践应用等角...

关键字: AI 处理器
关闭
关闭