当前位置:首页 > 消费电子 > 消费电子
[导读]本文以硬盘录像机的设计为例, 介绍了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、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特点,逐渐成为众多行业的标配产品。嵌入式系统具有可控制、可编程、成本低等,它在未来的工业和生活中有着广阔的应用前景。在现在...

关键字: 嵌入式 物联网 人工智能

长久来看,嵌入式只会越来越火,随着人工智能时代的发展,嵌入式必定又将迎来一次浪潮和技术的巨大变革。人工智能越是想要表达智能水平,就越要依靠嵌入式技术,嵌入式技术将朝着自动化控制和人机交互发展。嵌入式因其体积小、可靠性高、...

关键字: 嵌入式 物联网 人工智能

嵌入式软件技术到目前为止己经在很多领域起到了中流砥柱的作用,例如在电子消费、移动通讯方面,这种技术为我国的很多行业提供了更多的可能性。未来,嵌入式软件技术会为人类做出更大的贡献。伴随着计算机技术与电子技术的成熟发展,电子...

关键字: 嵌入式 软件 人工智能

消费电子

95979 篇文章

关注

发布文章

编辑精选

技术子站

关闭