[导读]本文以硬盘录像机的设计为例, 介绍了NIOS 嵌入式软核的工作流程、开发步骤和使用方法。
摘要:本文以硬盘录像机的设计为例, 介绍了NIOS 嵌入式软核的工作流程、开发步骤和使用方法。
关键词: NIOS ;嵌入式处理器;硬盘录像
随着现场可编程逻辑阵列( FPGA) 技术的日益成熟,基于片上的可编程( SOPC)的嵌入式处理器受到越来越多的关注。特别是Altera公司推出的NIOS嵌入式处理器软核, 通过软件编程的方法可灵活地实现嵌入式处理器的功能, 并且针对FPGA进行性能优化, 可以大大提高系统性能。此外,NIOS还具有片上调试功能,因此便于系统的设计和调试.本文以硬盘录像机为例,研究了NIOS对外部接口设备进行控制的方法,其中包括I2C接口的控制、IDE接口的控制等。
1 NIOS开发方法介绍
NIOS的软硬件开发流程如图1 所示, 下面介绍其具体开发步骤。流程的第一步是设计规划。它需要根据系统设计要求, 划分好各个软硬件模块。完整的基于NIOS的SOPC系统是一个软硬件复合的系统, 在开发时可以分为硬件、软件两个部分。在实际设计过程中, 往往会遇到这样一种情况: 所需要的功能既可以用软件方式实现, 也可以用纯硬件逻辑加以实现。例如, 在系统中需要8位7段码数码管显示时, 可以用FPGA中的可编程逻辑设计一个动态扫描逻辑来实现显示, 也可以通过编写动态扫描程序对PIO进行操作来完成上述功能。若用硬件方式实现, 显然是要占用额外的硬件资源, 但是, 编写软件较为容易, 系统工作速度不受影响; 反之, 用软件方式实现, 可以不增加硬件逻辑, 但是动态扫描需要占用CPU的处理时间, 这增加了软件编写的复杂度。具体采用什么方式是与系统设计要求有关的。因此在设计规划时, 就要确定哪些功能用硬件实现, 哪些功能用软件实现。通常用软件实现时, 其设计容易修改, 查错也比较容易, 且基本上不增加占用的硬件资源。所以在设计规划时, 当需要的软硬件代价相当并且性能保证的情况下, 软件实现是被优先考虑的。

确定好软硬件模块的划分后, 就可以开始具体的设计过程了。通常, 嵌入式系统开发中CPU是不可更改的, 因此外围设备的变动也受到CPU的限制, 甚至整个嵌入式系统的硬件已经固定, 难以更改(如PC104 的开发)。因而, 通常的嵌入式开发中, 更多的是PCB设计及软件开发。与通常的嵌入式系统开发不同, 由于NIOS是一个可灵活定制的CPU,它的外设是可选的IP 核或自定制逻辑, 所以可以根据系统设计要求, 通过SOPC Builder向导式的界面定制裁剪适当的SOPC系统。鉴于上述NIOS开发的特点, 在设计规划后,NIOS的开发流程分为硬件开发与软件开发两大部分。
NIOS 的硬件设计流程就是定制合适的CPU和外设, 在SOPC Builder和QuartusII中完成。在这里可以灵活定制NIOS CPU的各个特性甚至指令, 可以使用Altera提供的大量的IP Core来加快开发者开发NIOS外设的速度,提高外设的性能。同时, 也可以使用第三方的IP Core, 或者使用VHDL、Verilog 来自己定制外设。
完成NIOS的硬件开发后, SOPC Builder可以帮助开发者生成相应的SDK( 软件开发包) 。这是由于在硬件开发中的NIOS CPU及其外设构成的系统是自定制的, 存储器、外设地址的映射等各不相同, 需要的SDK也应是专有的。
SOPC Builder可自动生成SDK。在生成的SDK 基础上, 开发者可以进入软件开发流程。在这个部分, 开发者面对的嵌入式系统是自己定制的、裁剪过的, 因此受到硬件的局限会小一些。开发者可以使用汇编语言、C 或C++语言来进行嵌入式程序设计, 使用GNU工具或其他第三方工具进行程序的编译连接以及调试。
2 针对硬盘录像机的NIOS 嵌入式处理器设计
在硬盘录像机中涉及到图像采集、图像压缩、图像存储三个主要部分, 因此在设计外部接口时需要考虑到这三部分中芯片控制所需要的接口。
(1)图像采集部分。图像采集部分使用SAA7113完成视频信号的采集。该芯片是可编程视频处理芯片, 采用CMOS工艺, 通过简单的I2C 总线可以对其实现编程控制。它将不同制式的模拟信号统一成相同的数字标准, 采用ITU-R BT.601 格式, 采样时对亮度信号和两个色差信号分别编码, 对不同制式信号采用单一的取样频率, 而且和任何模拟系统的彩色副载波频率无关, 因此在分量系统中不再包含任何副载波。取样频率定为13.5MHz, 它也是对亮度信号Y 的取样频率。由于色度信号的带宽远比亮度信号的带宽窄, 因而对色度信号U 和V 的取样率较Y 减半, 为6.75MHz。每个数字有效行分别有720 个亮度取样点和360×2 个色差信号取样点。对每个分量的取样点进行均匀量化。对每个取样进行8 位的PCM编码。
(2)图像压缩部分。本系统采用硬件压缩方式完成视频图像的JPEG 压缩。通常在视频监控系统中使用Motion-JPEG(MJPEG)技术, MJPEG 压缩芯片将A/D 转换芯片输入的YUV 格式的数据进行MJPEG 格式的压缩。MJPEG 由JPEG 图像连接组成, 相对JPEG 图像, 每幅都有自己的量化表和Huffman码表。MJPEG可以仅使用一张量化表和Huffman码表对连续几十帧甚至上百帧图像进行压缩, 仅当数据发生丢失时才需要重新载入量化表和Huffman 码表。这一优点大大降低了系统视频解码时所需要的开销。而且, MJPEG 可以分帧存储, 这给数据的管理和回放带来了方便。本系统是使用Zoran公司的单片MJPEG压缩/解压缩芯片ZR36060 来完成图像的JPEG压缩的。
(3)图像存储部分。为了解决大量的图像数据问题, 本系统采用IDE(电子集成驱动器)接口的硬盘来完成设计。IDE 的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。这种集成方法减少了硬盘接口的电缆数目与长度, 数据传输的可靠性得到了增强, 硬盘控制起来变得更容易。控制方式有PIO 方式和DMA 方式两种。本系统使用了IDE 硬盘的PIO 控制方式。由于采用了NIOS 处理器, 因此可以不局限于预先制造的处理器技术, 而是根据自己的标准定制处理器, 按照需要选择合适的外设、存储器和接口。本系统根据硬盘录像机的具体要求选择了Altera公司的Cyclone 系列的EP1C6来完成CPU的设计; 使用Flash ROM AM29LV065DU进行程序的加载工作; 选用SRAM为CY7C1041CV33 的存储器进行数据的缓存; FPGA 的AS 配置芯片为EPCS4。
在外围芯片中, 视频解码芯片SAA7113需要I2C 接口进行控制, 存储图像的硬盘需要IDE 接口, 但是在NIOS的外围标准接口中没有这些接口可供选择, 这时只要设置GPIO接口, 并用GPIO接口模拟出I2C总线接口和IDE接口的操作即可。同时也用GPIO 接口完成MJPEG 压缩芯片的配置任务。综合以上的硬件资源要求, 本系统在FPGA 内部设计的模块如图2 所示。

FPGA 内部模块的核心模块是NIOS 处理器的核, 其次是用来控制系统时钟的定时器1和定时器2。为了完成对SAA7113和ZR36060 的初始化配置工作, 设置了片内ROM来存储配置文件信息, 同时还设置了存储器接口和通用I/O 接口完成和外部存储器与I/O 设备的连接。整个嵌入式系统内部是由Avalon总线完成各模块之间连接的。整个系统的调试工作通过JTAG接口和串行口完成。调试程序通过JTAG接口下载到FPGA的内部, 由串口来连接一个显示终端, 将调试信息显示到PC机上。
3 控制软件的设计
系统上电硬件复位后, 软件根据用户需要自动对各项控制器指令代码及其参数进行设置, 从而完成对SAA7113、ZR36060、IDE 接口的初始化工作, 然后控制视频信号的采集压缩和存储。系统工作流程如图3 所示。

4 整体工作性能
(1)录制画面大小: 352* 248 或352* 288。(2)每秒录制或播放25 帧, 每帧两场, 共50 场, 隔行扫描。(3)每场图片压缩后大小平均为10KB, 每秒0.5MB, 每小时1.8GB。可根据需要配接10GB 到80GB 的硬盘, 实现5~40 小时的连续录像。
5 结束语
NIOS是一个性价比较高的微处理器软核, 可以方便地把用户需要的接口和自定义的逻辑加入到系统中去。本文介绍的方法体现了SOPC 嵌入式系统的灵活性。因此这种方法能够有效地缩短开发周期, 同时能够延长产品的生命周期, 可以不断地在原有产品的基础上进行升级设计。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,物联网覆盖了越来越多领域,包括了家居,商业,工业,农业等领域,不仅吸引...
关键字:
嵌入式
物联网
技术
随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...
关键字:
嵌入式
物联网
计算机
最近看到APP上,给我推送了很多类似的回答,借此机会,也想着重新审视一下自己的学习历程,以及结合自身和大牛,分享一些学习经验,希望对大家有所启发和帮助。
关键字:
APP
嵌入式
C语言
万物智联时代,嵌入式技术及其应用的形态将更加丰富和多元,同时也将日益呈现深度物理融合、混合架构共存、群体智能协同、网络安全攸关等诸多新的计算特性。显然,经典的嵌入式系统体系结构、软硬件技术和开发方法都已很难应对新趋势下的...
关键字:
嵌入式
物联网
计算机
物联网是新一代信息技术的重要组成部分,是互联网与嵌入式系统发展到高级阶段的融合。通用计算机经历了从智慧平台到互联网的独立发展道路;嵌入式系统则经历了智慧物联到局域智慧物联的独立发展道路。
关键字:
嵌入式
物联网
计算机
深圳2022年10月8日 /美通社/ -- 日前,TUV南德受邀参与亚马逊全球个人防护设备(PPE)合规管理线上峰会,为企业分享欧盟、英国、美国及日本的个人防护设备...
关键字:
亚马逊
防护
BSP
NIOS
今天,小编将在这篇文章中为大家带来工控主板的有关报道,通过阅读这篇文章,大家可以对工控主板具备清晰的认识,主要内容如下。
关键字:
工控主板
嵌入式
主板
随着工业4.0、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特点,逐渐成为众多行业的标配产品。嵌入式系统具有可控制、可编程、成本低等,它在未来的工业和生活中有着广阔的应用前景。在现在...
关键字:
嵌入式
物联网
人工智能
长久来看,嵌入式只会越来越火,随着人工智能时代的发展,嵌入式必定又将迎来一次浪潮和技术的巨大变革。人工智能越是想要表达智能水平,就越要依靠嵌入式技术,嵌入式技术将朝着自动化控制和人机交互发展。嵌入式因其体积小、可靠性高、...
关键字:
嵌入式
物联网
人工智能
嵌入式软件技术到目前为止己经在很多领域起到了中流砥柱的作用,例如在电子消费、移动通讯方面,这种技术为我国的很多行业提供了更多的可能性。未来,嵌入式软件技术会为人类做出更大的贡献。伴随着计算机技术与电子技术的成熟发展,电子...
关键字:
嵌入式
软件
人工智能
esim卡的全名为Embedded-SIM,意思就是嵌入式的SIM卡。esim卡的原理简单来说,就是将手机传统插入到手机里的SIM卡直接嵌入进设备芯片中,这样大家就不必再手动物理插入SIM卡,减少了麻烦的同时也降低了si...
关键字:
嵌入式
esim卡
手机
在熟悉任务调度、程序分层和模块化编程关于软件架构、分层和模块设计后,除了函数调用设计中出现的情况外,还会遇到同层模块之前如何进行消息交互,通常是应用层之间。
关键字:
嵌入式
软件架构设计
一直以来,工控主板都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来工控主板的相关介绍,详细内容请看下文。
关键字:
嵌入式
工控主板
主板
从事计算机和或电子行业相关领域工作的朋友,一般都听说过单片机和嵌入式。但是要问单片机和嵌入式两者之间有什么联系,大多数人都不能很好的解释清楚。想要弄清楚嵌入式和单片机有什么联系,首先就要弄明白什么是嵌入式,什么是单片机。...
关键字:
嵌入式
单片机
secure boot是指确保在一个平台上运行的程序的完整性的过程或机制。secure boot会在固件和应用程序之间建立一种信任关系。在启用secure boot功能后,未经签名的固件或程序将不能运行在该设备上。
关键字:
secure boot
嵌入式
旗芯微近日发布了最新一代Hyper控制器家族产品,全系列对标英飞凌 TC家族控制器,覆盖智能底盘、功能安全控制器、域控制器等应用领域。超融合HPU(Hyper Processing Unit)FC7300系列芯片的性能媲...
关键字:
嵌入式
控制器
摘要:随着计算机技术与电子科技的快速发展,人工智能、云计算等技术的不断进步,智能家居新型产业模式也得到了巨大的发展,至今国内智能家居市场投资达到了2396亿元,市场规模占比不断增大,未来十年内家居智能化将实现大规模应用。...
关键字:
STM32
嵌入式
人工智能
以前都是等着,家里电器坏了赶紧拆解一下,这回实在是等不及了,找个便宜的下手吧。这个遥控器用了好多年,感觉还是不错,起码电池挺禁用的。古人云,三人行必有我师焉。那么对于每一个设备,也都有我们可以学习的地方。
关键字:
嵌入式
工程师
近年来,随着计算机技术及集成电路技术的发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最热门最有发展前途的IT应用领域之一。 嵌入式系统一般由嵌入式微处理器、外...
关键字:
嵌入式
嵌入式系统
计算机