硬件设计范例6篇

硬件设计

硬件设计范文1

关键词:LZ77;Huffman;软硬件协调;PNG硬件解码

引言

PNG是流式网络图形格式的简称,是一种位图文件存储格式,PNG文件采用了压缩率高的LZ77和Huffman两种无损压缩算法,支持网络彩色图像传输,支持Alpha通道、定义透明区域和多重透明,逐步细化地显示图片。

PNG压缩的核心算法是Zip压缩算法,该算法的特点是先利用LZ77算法进行短语式重复的压缩;得到未匹配的字节和匹配长度、距离的组合值,然后再根据Huffman算法进行单字节重复压缩,最终得到压缩码流。PNG解码的原理是压缩的反过程,解码时可根据码表信息和压缩码流还原出原始图像数据。

PNG文件的解码通常由软件完成,软件解码实现方式灵活,但相对硬件解码而言,软件解码速度慢,能量消耗大,不利于移动设备的低功耗设计优化。

本文讨论了PNG图像的硬件解码实现方法,其应用对象是手机专用芯片,对低功耗和解码速度都有较高的要求,并解决了PNG解码的快速查表、软硬件协调和硬件加速等实现方法,而硬件加速解码功能的主要作用是减少CPU的负担,极大加快PNG图片的显示速度,并在一定程度上减少功耗,延长手机的待机时间,很具有研究与开发的实际价值。

PNG图像解码原理介绍

LZ77算法介绍

LZ77算法又可以称为“滑动窗口压缩”,该算法将一个虚拟的、可以跟随压缩进程滑动的窗口作为术语字典,要压缩的字符串如果在该窗口中出现,则输出匹配长度和距离的组合信息,来替换前面出现过的相同字符串,且要求最小替换的字符串为三个字节,这样可以保证压缩后的数据量小于原始数据。

LZ77解压缩时,只要维护好滑动窗口,随着压缩信息的不断输入,可根据匹配的组合信息从窗口中找到相应的匹配字符串作为输出,即可还原出原始数据。

Huffman算法介绍

Huffman算法属于编码式压缩,利用各个单字节使用频率不一样的特点,使定长编码转变为变长编码,给使用频率高的字节更短的编码,使用频率低的字节更长的编码,起到无损压缩的效果。这样,经过LZ77压缩后的未匹配的字节和匹配的组合信息可进一步进行Huffman压缩,得到很高的压缩效率。

例如,对于一组元素的字符值为s={a,b,c,d,e,f},其对应的出现频率为P={10,2,2,2,2,9)。图1是根据以上信息建立的Huffman树,各元素出现的频率和元素值如图中所示,编码后各个元素的长度分别为L={1,3,3,3,3,2},可见编码后储存这些字符值所需的空间极大地减少了。

这棵Huffman树是根据PNG规范的Deflate原则建立的,具有以下特点:左边的叶子编码为0,右边的为1;编码必须满足“前缀编码”的要求,即较短的编码不能是较长编码的前缀,保证码的唯一性;由于编码长度可变,因此译码时间较长,使编码的压缩与解码相当费时;每一层叶子的节点频率按从小到大排列,而同样频率的节点按字符值从小到大排列,这点也是PNG采用的Zip算法对Huffman算法的一种改进。因此,解码时首先要提取出压缩流中的码表信息建立出Huffman树,其中每个叶结点应包含有码长和字符值信息,并把最终生成的码表保存在RAM中,供Huffman解码模块查表,还原出图像原始数据。

PNG解码的软硬件协调机制

整个PNG硬件解码过程是由软件来调度的,在硬件解码中,当校验到图片数据出错或解码完成时,则PNG硬件模块通过配置专门的寄存器给软件检查做中断处理,当软件检测到这个寄存器信号使能时就产生中断,从而及时关闭PNG硬件解码模块。另外,在PNG解码前,先用软件检查PNG图片的头信息数据,如果数据出现错误,则不开启PNG硬件解码模块,在数据有误时可极大地降低功耗及软件调配时间。

解码前后数据的搬运机制是通过公用的AVI模块(相当于FIFO实现了输入输出数据的缓存)来实现PNG数据的搬运。解码前,软件通过调配AVI模块,从内存中搬取压缩数据给PNG硬件模块进行解码,解码后的数据经过Resize模块,又可以通过AVI搬运至VGA显示,以上这种较优的软件调配机制,解决了本设计的软硬件协调问题,可以在降低功耗的前提下实现高效率的解码,具体的软硬件协调原理如图2所示。

PNG解码的总体硬件结构

PNG硬件解码加速的整体结构主要由BytcsShift字符容器、PNG头信息处理模块、Inflate_table建Huffman表模块、Inflate_fast快速解码模块、Lz77寻找匹配串模块、Filter反滤波反交织模块和Resize放大缩小模块共七大模块组成,具体的硬件流程图如图3所示。

图中,PNG解码的基本流程为:通过AVI模块从总线上搬取压缩数据到Bytesshift字符容器进行缓存,并转换为压缩比特流;通过PNG头信息处理模块保留文件的头信息,通过控制Inflate_table模块读取码长信息来建立Huffman表,并对压缩数据进行解码;解码后的数据经过Flilter模块进行反滤波和反交织等处理,然后发给Resize模块做放大缩小处理后,通过AVI模块将最终解码后的数据发送出去。其中,解码核心模块和Filter模块通过采用数据的流水线处理方式,极大地提高了PNG的解码效率。

PNG核心解码模块的硬件结构

由于编码长度可变且不统一,解码时若按位比较来查找Huffman表会消耗很多时间,且PNG数据流中Huffman编码的最长码长为9。因此,为了实现快速查表解码,本算法中将码长小于9的Huffman树的叶结点作为父结点扩展到9层,即扩展出来的叶结点信息都同父结点一样,每次用固定的9比特压缩数据作为地址去查表,这样可以保证在每一个时钟内都可以查找到相应的字符值,从而极大地提高硬件解码的效率。以前面的Huffman树为例子,如图4所示,简单地将第4层以内的叶结点补充到第4层,即把整个Huffman二叉树补满,那么在第4层的子叶结点的长度和字符信息都同父结点一样。

这种扩展Huffman树的方法可以迅速查找Huffman表得到相应的字符值和匹配的组合信息值,对解出匹配的组合信息值则根据LZ77原则还原出解码数据输出。

本设计中的硬件解码核心模块如图5所示,这种硬件结构的优点是利用扩展码表的方法实现快速解码。核心解码的基本流程为:每次用固定的9比特压缩数据作为地址去查表,查出包含有码长和字符信息的叶结点,并根据码长信息从字符容器模块移出使用过的压缩数据,等待新进的压缩数据与字符容器剩余的压缩数据组成新的9比特数据作为查表地址。在下一个时钟重复上述过程,以此方式反复查表直至Huffman解码结束。

仿真和综合结果

通过ModelSim 6.3仿真提取出解码后数据,在MATLAB中对原图显示与本设计解码后提取出的图像数据进行对比,结果完全一致,并且在验证平台上比较其对应的原始图像数据也100%吻合,因此,本硬件设计能够完全不失真的恢复图像数据。

在设计中,采用台积电90nm工艺库,在100MHz频率下对PNG解码核心模块用DC进行综合,结果如表1所示(其中面积大小和功耗不包括RAM的面积和读写RAM的功耗)。

硬件设计范文2

【关键词】tms320dm642;图像采集系统;vport接口;dsp

design is in hardware of image processing

liu li

(liaoning university of science & technology, anshan liaoning 114044, china)

【abstract】it designs the image processing system in the structure of hardware. it adopt the chip of tms320dm642 of ti as the arithmetic platform in aspect of image processing, and select the chip of xc95144 of xilinx as the core of controller that is used to assign into the time-sequence in image collection, and expanded sdram memory to storage the image on the basis of this hardware, thus achieve to deal with the image in real-time. practical application indicates that this method has high accuracy and is rapid enough to satisfy the requirement of real-time acquisition.

【key words】tms320dm642; image acquisition system; vport interface; dsp

图像采集系统在日常生活、军事、工业生产、科研中的作用越来越大.而纸币清分、目标跟踪、干线交通监视等应用也极大地促进了实时图像处理技术的发展。tms320系列为代表的高性能dsp在实时图像处理中也获得了广泛应用[1],由于图像处理的数据量大,数据处理相关性高,并且具有严格的帧、场时间限制, 如果能通过对dsp和cpld进行软件编程来控制数据采集频率,充分发挥其性能就成为提高整个系统性能的关键。本文介绍的是基于tms320dm642的一种图像采集方法[2]。

1 硬件设计整体结构

纸币图像识别需要依赖于一个稳定可靠、实时性高、抗干扰能力强的硬件系统,这样才能够减轻识别算法的负担,更好的实现整个系统的性能。纸币图像识别的整个系统硬件结构框图如图1:

从图中可以看到:接口电路以上的部分为纸币图像识别系统,以下部分为主控部分。纸币图像采集系统又分成图像采集和dsp其它外设模块部分。其中图像采集包括光源、cis传感器、偏值电路、放大电路、a/d变换、cpld,它所实现的功能是将纸币通过传感器。

图1 系统硬件结构框图

采样、量化后将数据传给dsp的vport接口。dsp的其它模块包括emif接口上的flash和sdram,用来实现程序和数据的存储;i2c接口上的eeprom,用来实现参数的存储;mcbsp接口与uart通信,这样可以与pc机进行通信,实现实时监测;emu接口在开发过程中实现了在线仿真、调试功能。

2 图像采集系统工作原理

图2给出了图像采集接线图, 通过cis图像传感器采集出物体模拟图像信号,并将其转换为电信号,然后将放大的模拟信号经过模数转换器ad9822转换成为标准的数字信号, 送入cpld缓存,最后通过edma通道输入到dsp的ram中,在dsp中进行图像处理和识别[3]。

cpld是图像采集的核心,它控制了整个采集过程的时序。当主机检测到物体后会向cpld发送一个帧同步信号syn,在此同时物体会在传感器的垂直方向上发生移动,主机检测到这个移动量并发送给cpld[4],这个信号就为物体的行同步plu。

根据控制相应管脚的低电平来控制光源。sp为cis传感器的行同步信号,cp为每个像素的时钟同步,sig是采样后的模拟量输出。每当sp发生从高到低的变化,cis传感器会检测到这个变化,重新计算cp的个数,每收到一个cp时钟信号,就会把相应的传感器件采样得到的电平通过sig管脚发送出去。

实际应用中,我们选用ad9822作为 cis图像传感器进行信号处理的a/d变换芯片。采用三通道运行方式,转换频率可以达到15msps。dsp在上电后初始化期间需要来配置a/d变换器来选择工作模式,对ad9822内部寄存器配置采用3线制串行通信接口,当cpld检测到了syn信号后准备进行图像采集工作,当检测到第一个plu信号开始采集,通过正确控制cis传感器的sp、cp的时序可以输出每一个像素的模拟量sig, 然后再正确控制a/d变换器的clk、adck就可以输出实际像素的数字量用8位数据线输出为d

0-d7,最后控制dsp的vport接口的vctl、vclk时序,把数据读到了dsp内部[5-6]。

图2 图像采集接线图

3 总结

本文通过分析tms320dm642和ad9822工作的特点,提出了一种新的数据采集时序设计,从而针对不同的信号能够根据实际情况对dsp和cpld进行软件编程来控制数据采集频率,提高了系统实时性和稳定性。本系统应该在干线交通监视方面取得了良好的效果。本文作者创新点:本文首先分析了ad工作的时序,通过对 dsp和 cpld进行软件编程来控制ad9822的采集速度,从而达到可以根据实际情况灵活地改变ad9822的数据采集频率,提出了一种新的数据采集时序设计。

【参考文献】

[1]江思敏,刘畅.tms320c6000dsp应用开发教程[m].北京:机械工业出版社,2005.

[2]何苏勤.dsp技术与应用实例[m].北京:清华大学出版社,2002,3.

[3]王水波,宋焕生,王国强,郭亚,郑辉.一种用于车辆测速的数据采集系统[j].计算机工程,2008,34(17):245-247.

[4]储茂祥.一种纸币识别系统的设计[j].北京:电子技术应用,2004,12:61-62.

[5]刘慧英.基于tms320dm642图像采集处理系统设计及实现[j].机电一体化,2008,2:78-80.

硬件设计范文3

关键词:计算机;硬件设计;安全问题

中图分类号:TP309文献标识码:A文章编号:1673-1131(2016)01-0171-02

作者简介:王慧(1992-),女,辽宁朝阳人,研究方向为信息管理与信息系统

0引言

在信息技术飞快发展,计算机被广泛应用的背景下,其系统安全问题始终是人们关注的话题。而相关安全系统设计及研究人员会在降低成本的基础上,首先升级计算机软件,促使其从内部加大防御力度,而计算机硬件安全问题被放在次要位置。在提高计算机安全性的过程中,为防止信息泄露,通常会对数据进行加密,或者将其隐写,然而攻击者还是能够通过各种方式突破这一防线。新时期单纯依靠软件设计提升计算机使用安全性是远远不够的,只有在此基础上充分结合计算机硬件安全设计才能够提升整体安全性。

1计算机硬件安全发展现状

丰富的范围是计算机硬件的主要特点,而通常状况下在对其进行研究的过程中主要是针对其输入、出设施及芯片的研究。同时集成、保密和使用是信息安全的主要特点,而信息安全主要体现在软件、硬件及通信三点当中。加强硬件、软件及使用者三方面建设是加强计算机安全建设主要途径。在这三点内容当中,无法实现有效规范用户行为这一目标,因此就需要从其他两点入手。现阶段,各国在加强计算机安全设计的过程中,对软件安全的开发已经达到了一定程度,这一方面不仅有效较深奥的理论知识做依据,同时其操作性也较高。因此,现阶段在加强计算机安全建设的过程中,重点落在了其硬件设计当中。安全问题体现在计算机硬件设施当中主要有三个内容,首先,安全问题发生于输入设施当中。这一安全问题指的是一定的安全隐患存在于属于的信息当中,和非法实行输入操作等。前者指的是木马等病毒存在于输入信息当中,导致这部分数据一旦录入计算机将促使内部数据受到干扰、产生变化及泄露等;其次,安全问题存在应储存介质当中。现阶段相关的数据安全屏障没有针对储存介质进行设计,导致计算机在使用过程中无法有效抵抗相关恶意攻击和非法拷贝现象,最终导致重要信息的泄露;最后,安全问题存在于输出设备当中。现阶段一定的记忆功能存在于被应用的输出设备当中,因此能够有效记忆使用者的操作程序及所应用的数据等,因此在提取信息过程中可以直接进行重复操作,这种做法极大的危害了计算机内部的信息安全。总而言之,现阶段计算机在使用过程中其硬件安全问题值得引起人们的注意,同时这一安全问题能够通过多种形式展示出来,相关部门及研究机构应当及时增加研究力度。

2加强计算机硬件设计安全的措施

2.1加强硬件内置安全

内置硬件的安全提升是促使计算机整体安全性提升的重要措施之一,具体步骤如下,首先,制造芯片过程中,有效结合PUE和EPIC两种技术,从而促使健全的保护体现在IP当中。该项技术在提出之初是建立在IC传统设计思想之上的,物理图版的获得以EDA工具为主;其次,对PUE技术进行充分利用,从而产生的PUFIC是传统芯片的变异。接下来,检测密钥产生于IC管理员被加密的基础之上,将PUFIC通气进行结合。经过以上步骤所产生的验证模块是经过加密的,能够有效保护IC版图,从而能够更好地保护传统模块,也就能够有效保护计算机硬件安全[5]。制作并测试芯片的过程中,需要建立在EPIC技术基础之上,从而进行有效的密钥设置,并激活电路,将“加锁/解锁”应用于总线当中,以上手段的实施能够对IP这一硬件进行充分的安全保护。同时,在该技术有效应用的过程中,还可以将其同PUF技术进行紧密结合,从而构建内置安全确认措施。HDL和C是IC最初的设计,物理版图在EDA工具编译有效进行下产生,PUFID是芯片的变异形式,产生于PUF技术基础上,有IC制作厂进行制作,IC持有人版权信息被加密以后需要同PUFID进行结合,促使针对IC的校验密码得以产生。重点逻辑区域的预先选择需要建立在IC物理版图基础之上,加密工作需要建立在教研密钥基础之上,从而促使验证模块得以产生,在此基础上对传统模块进行有效应用,促使IC版图得以有效保护,并将其应用于制作产品的过程当中。加密过程中,相关算法需要拥有较高的安全性,如AES等。

2.2加强检验硬件外置的辅助安全测验

测验外置辅助安全性的过程中,RAS技术是关键,在应用过程中,需要将私钥和公钥在密钥管理中心进行精细制作,不同的信息在芯片当中是需要一定程度的保护的,这就要对公钥进行充分利用,而外置辅助安全验证设备的构建需要将安全芯片验证同密钥储存器进行充分的结合。在应用过程中,储存保护私钥的设备为密钥储存器,RFID应当被应用于检测实施过程中,促使电路信息数据在芯片内部得到有效读取,同时实现安全验证芯片,从而实现对数据信息的有效保护。有效设计外置辅助安全测验设施对于提升计算机整体硬件安全具有重要意义,能够促使密钥管理功能得到最大程度的发挥。RAS机制是外置辅助安全测验实施过程中的主要机制,在应用过程中,首先,密钥管理中心应当生成一对可信度较高的密钥,分为公开和私用两种。ASIC和FPGA又公开密钥进行加密,芯片标签电力用于集成储存信息。该设备在应用过程中的构成由两部分组成,即密钥储存器和安全验证芯片。

2.3将安全设计融入到硬件研发过程当中

技术是加强计算机安全的基础,针对计算机硬件设施而言,应当从内置和外置两方面入手。然而值得注意的是,在加强计算机硬件安全性的过程中,单纯依靠技术是远远不够的,在进行硬件设计的过程中就应当积极融入安全理念,这就要求设计人员能够始终保持清醒的头脑,对传统计算机硬件当中的安全漏洞及时进行分析和研究。首先,提高设计人员安全意识。现阶段相关工作人员在对计算机硬件设施进行设计的过程中,都将重点放在了其性能及质量方面,工作人员意识相对较弱。产生这种现象的主要原因还同计算机使用者忽视计算机硬件设施的安全性有很大关联。新时期,计算机使用者应当提高硬件设施安全建设意识,监督并促使设计人员能够在设计过程中融入安全理念,提升硬件设置质量及安全性。其次,设计过程中侧重计算机硬件的安全性能。研发计算机硬件时,单纯的以提升其质量及性能为目的是远远不够的。新时期应当在要求其质量和性能的基础上对其安全性进行侧重。促使使用者在感受到良好的使用感的同时能够更加安心地使用其进行数据的保存等。设计过程中,工作人员应当内外兼顾,对每一个可能产生安全威胁的部件进行加强设计。最后,加强评估计算机硬件安全性能。在对计算机硬件设备进行设计的过程中,单纯的提升其使用性能是远远不够的,在积极加强其安全性能的过程中,对其安全性做好的检验就是评估的加强。这一过程中应当分为三个方面进行,即输入、储存及输出设备,变传统的被动设计为主动,积极主动地挖掘计算机硬件设备中的安全威胁因素,并寻找有效措施对其进行弥补。

2.4硬件安全设计技术的创新

近年来,计算机硬件安全问题的爆发越来越频繁,主要原因不仅包含相关设计人员对其安全问题的忽视,同时也包含提升安全性技术发展过于缓慢等原因,也就是说发生于计算机硬件当中的安全问题远远快于技术的研发速度。在这种情况下,相关设计人员应当在建立有效的安全意识基础之上,积极进行技术的创新及研发,并加强对每一个环节的研究。首先,对现有技术进行完善。在完善该技术的过程中,应对现阶段产生的计算机硬件漏洞进行充分的研究,并有针对性的进行改进,同时成立专项小组,提升专项硬件设施安全性能。只有这样才能够在促使硬件设施安全课题得到长久研究,并逐渐提升计算机整体安全性。其次,完善计算机硬件安全技术体系的构建。由以上分析可知,计算机在使用过程中其硬件设施种类较多,在提升整体硬件安全性的过程中,应针对不同硬件设施的功能、特点及产生漏洞的原因进行全面分析,并在此基础上将各个部件之间的联系进行整理,从而形成整体的计算机硬件安全技术体系。值得注意的是,该体系所包含的所有部件都应当展现出不同的安全威胁特点及解决方法,在这种情况下对其进行有机联系,能够促使各项技术在应用过程中得到强化和交互。

3结语

在进行计算机硬件设计安全问题研究的过程中,由于其拥有较多的硬件设施,外部和内部包含了多种类型的安全威胁,因此现阶段应当实施加大研究力度,通过加强硬件内置安全、加强检验硬件外置的辅助安全测验并将安全设计融入到硬件研发过程当中等措施,提升计算机在使用过程中的硬件保护,充分结合硬件安全设计与软件安全设计,从整体上提升计算机的使用安全,促使其为人类的发展及经济建设作出更大贡献。

参考文献:

[1]陈光武.轨道交通安全计算机系统及安全控制机制关键技术研究[D].兰州交通大学,2014

[2]赵国冬.安全嵌入式系统体系结构研究与设计[D].哈尔滨工程大学,2006

硬件设计范文4

关键词:电路设计;逐次渐近;ADC;比较教学

中图分类号:G642.41 文献标识码:A 文章编号:1009-3044(2016)22-0127-03

Abstract:Students have some difficulties in learning electronic technology and other hardware principle and design method while teaching computer science. And also the ability of program design could help students understand circuit theory and design ideas. Therefore, a kind of comparative teaching of computer hardware circuit design by software was presented. It guided students to understand the ADC circuit principle and design ideas through program algorithm and basic knowledge of digital circuits in teaching of successive approximation ADC circuit theory. It has been shown that the method could help students more effectively understand circuit knowledge.

Key words: circuit design; successive approximation; ADC; comparative teaching

1 引言

计算机专业的硬件知识课程通常包括电路原理、模拟电子与数字电子技术等课程。从实际教学过程看,由于实验条件、物理知识等多方面的因素,学生普遍反映电子技术的学习较为困难。甚至严重情况下,会影响学生对硬件电路设计的兴趣,这不利于学生综合素质的培养[1-2]。另一方面,软件设计由于对动手操作条件要求不高,编程锻炼的机会多,不少同学掌握程度较好,从而培养了兴趣。

学习通常都是利用已有知识去理解新知识的过程,如果新知识和已有知识在很大程度上具有相似性,或者通过合理的比较,建立新知识与已有知识之间某种紧密的联系,学生在理解上就相对容易。自信心也可能会从已掌握知识迁移到新知识上。比较是根据一定的标准,把有某些联系的两种或两种以上的事物加以对照,确定事物同异关系的思维过程和方法[3]。本文所谈论的比较教学方法就是在此概念框架下定义的,在相关教学中已经被成功采用[4-5]。

因此,本文以数字电子技术教学中的重点知识“逐次渐近型ADC”为例,在对原理概念做简要介绍后,引导学生用算法、程序语言的形式将设计的思想表达出来,再利用基本组合和时序电路将软件形式表达的设计思想“翻译”成初步的硬件电路。通过对软件和硬件初始化、运行方式等的比较,对初步的ADC电路进行优化调整,最终形成经典的逐次渐近型ADC电路设计。

2 逐次渐近型ADC简介

ADC是将模拟信号转换成数字信号的器件,以方便计算机等数字系统进行信号处理,是计算机系统与外部物理世界交互的重要部件,也是数字电子技术课程中的重要知识内容。根据构造原理的不同,ADC的种类很多,例如并联比较型ADC、反馈比较型ADC、双积分型ADC、V-F变换型ADC,以及∑-ΔADC等。其中逐次渐近型ADC是一种反馈比较型ADC,它具有转换速度较快、体型小、构造成本低等优点,因此是目前ADC产品中用得较多的一种。图1和图2分别是逐次渐近型ADC的原理框图和电路原理图[6]。

逐次渐近型ADC的基本设计思想是:它是对计数型ADC在转换速度上的改进,对于外界模拟输入信号,逐渐计数累加,通过DAC产生输出一个与模拟信号相等的电压信号,此时输入给DAC的数值就是ADC的转换结果。值得注意的是,计数累加不是每次加1个单位,而是采用类似“二分查找”的原理,由高位到低位逐渐取1比较,如果DAC的输出大于外界模拟信号,相应的位置0,否则保留置1,直至到最低位比较结束。

传统的电路教学方法,会对照着原理图给学生讲解思想和电路的组成。学生领会上比较困难,特别是即使搞清楚原理,对电路的设计过程、来龙去脉也是不清楚的,从而产生对电路设计的神秘感和恐惧感,不利于进一步学习。

3 利用软件设计的比较教学

3.1 程序和电路的运算方式比较

通常的程序设计,是一种串行的思维方式,设计者仿照CPU指令的执行方式。学生写出程序设计的算法,再转换成具体的程序设计语言,供计算机编译执行。从实践教学过程看,在这一点上,在入门时,较电路设计更容易为学生所接受。以下内容介绍逐次渐近型ADC电路设计的软件比较教学过程。通过这一过程,让学生自己很自然地“设计”出逐次渐近型ADC。

3.2 逐次渐近型ADC的软件算法表达

用算法和程序表达计算机系统的处理过程,将有助于加深理解,也更便于未来的工程实现。逐次渐近型ADC可理解为一个将浮点型(表示模拟信号)转换成一定位数的整形数(表示数字信号)的函数模块。可以用伪码来表达这一过程,为了便于计算机程序语言实现,我们取转换结果为8位无符号整形。

算法1 BitADC8

输入:浮点数input

输出:8位无符号整形数iAdcResult

处理:

BEGIN

1,iAdcResult初始化为0,当前比较位BitNum初始化为最高位,即BitNum赋值为7(表示取最大值的一半,从中间开始比较);

2,转换目标值iAdcResult的当前位BitNum置为1与输入浮点数比较;

3,如果iAdcResult大于input,置iAdcResult的当前比较位为0;

4,当前位BitNum减一,如果BitNum>=0,去第2步,否则输出iAdcResult;

END

学生对上述算法的理解是不太困难的,也可以较方便地用C语言来实现,如下面的函数BitADC8所述。需要说明的是,在C语言中有标准的函数可以实现这样的转换,这里是为了说明原理,故不采用现有的标准函数或者强制类型转换实现[7]。

int BitADC8(float input)

{if (input < 0 ) return -1;

if (input > 255) return 255;

unsigned char iAdcResult=0;

int BitNum=7;

while (BitNum >= 0)

{iAdcResult = iAdcResult | (1

if (iAdcResult > input)

iAdcResult = iAdcResult & ~(1

BitNum--;}

return iAdcResult;}

3.3 电路设计

学生写出BitADC8以后,基本对转换的原理有了较为深刻的理解,下面讨论如果从BitADC8函数中引导逐次渐近型ADC的电路设计。

逐句逐句地用数字电路中基本的组合和时序电路模块来理解BitADC8,最后形成逐次渐近型ADC电路与函数BitADC8的语句对比联系,如下图3所示。图中一共标注了5处对比模块,可以清晰地看到,软件算法能够帮助我们理清电路设计的思路,从而有助于我们进行硬件电路的设计。

当然,硬件电路和软件模块在表达和执行上还是有区别的,本质可能一一对应。局部细节的调整需要设计者自己去琢磨、理会。例如,或门G4和G5初始化时清零作用,还有软件串行执行和硬件电路并行执行的区别等。但这不影响两者的比较理解,设计的联系性还是比较紧密,具有重要意义。

4 结论

文章以逐次渐近型ADC电路原理教学为例,介绍了硬件电路设计的软件比较教学方法的应用。从实际教学效果来看,能够起到帮助学生掌握电路设计思路的作用,也有助于将来在EDA等课程中学习VHDL等硬件描述语言,更重要的是通过学习迁移帮助提高学生电路设计的信心,

参考文献:

[1] 任英玉, 王萍. “模拟电子技术”课程质量提升探讨[J]. 电气电子教学学报, 2016(2): 36-38.

[2] 李月乔, 宗伟. “模拟电子技术基础”教学方法的思考与体会[J]. 电气电子教学学报, 2007(5): 97-99.

[3] 丁邦. 反思教学论研究――基于比较教学论的视角[J]. 课程・教材・教法, 2012(9): 26-31+49.

[4] 徐钦桂, 杨桃栏. 比较教学法在操作系统教学中的应用与实践. 计算机教育, 2010(10): 95-99.

[5] 陈锟, 田晓梅. 用Matlab进行插值法比较教学研究[J]. 电气电子教学学报, 2012(2): 98-100.

硬件设计范文5

关键词:AVS;SoC;软硬件协同设计;嵌入式;解码

中图分类号:TP331文献标识码:A文章编号:1009-3044(2009)25-7245-02

A SoC Architecture Design of Hardware Decoder of AVS

XU Xiao-ni, YAN Xiang-hong

(College of Information Science and Engineering, SDUST, Qingdao 266510, China)

Abstract: According to the algorithm of AVS audio and video decoding standard, this paper proposes a proposal of AVS decoding based on SoC method. This method can reduce the complexity of AVS decoder effectively. Using the hardware and software co-design ideas can reduce the difficulty of designing a decoder while improving the flexibility of decoding.

Key words: AVS; SoC; hardware and software co-design; decoding

AVS(Audio Video coding Standard)[1]是由中国信息产业部成立的“数字音视频编解码技术标准工作组”提出的我国自主制定的数字音视频编解码技术标准,是为了适应数字电视广播、数字存储媒体、网络流媒体、多媒体通信等应用中对运动图像压缩技术的需要而制定的。AVS标准中的解码后的视频质量介于MPEG2和H.264之间,但AVS标准的编码复杂度和效率要好于H.264标准,而且相对H.264较高的专利许可费用,AVS采用了非常低的专利许可费。2006年初,国家信息产业部正式批准AVS标准成为中国音视频领域的国家标准,从而为国内企业每年节省大量的专利许可费用。

目前在嵌入式设备上,音视频的硬件编解码器都采用ASIC的设计方案,即全部采用硬件实现音视频标准的所有部分。这种方案的设计优点是解码速度快,但同样缺点也是明显的,即它的研发时间长、成本高、灵活性低,而且编解码格式固定,无法进行升级。而SoC(System on chip)[2]的设计方案能够满足音视频领域要求的编解码速度,同时还能够加快研发速度、降低成本,而且灵活性高,可升级(设计部分只针对软件方面),因此相对ASIC的设计方案,采用SoC的设计方法有很大的优势。

1 SoC设计方法介绍

SoC(System on chip)[2]简称片上系统,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容,包括CPU、程序存储器、IP(intellectual property)功能复用模块、片外总线接口模块。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。SoC设计的关键技术主要包括总线架构、IP核可复用、软硬件协同设计等技术。

音视频硬件编解码的Soc设计方案主要采用软硬件协同设计的思想,将音视频标准中的各部分分而治之:标准当中逻辑复杂但计算量小的部分采用软件实现,以增加编解码器的灵活性,同时可以进行升级;标准当中逻辑简单但计算量大计算复杂的部分以IP核的形式采用硬件实现,以增加编解码器的速度,还可以实现IP核在其他设计上的复用。从目前个人计算机上利用GPU(显卡)中硬件解码功能进行加速解码的高清视频播放的方法中就可以看到SoC设计方法的影子。个人计算机上的视频播放程序通过GPU的驱动程序,调用GPU内置的硬件解码功能实现实时加速播放,从而大大降低CPU的工作量,降低对CPU计算能力的要求。

SoC方法的设计流程如图一,通过下图可以看出,SoC设计方法中一旦软硬件功能模块划分清楚后就可以同时开发设计,大大加快设计的速度。最后软硬件协同测试完成开发。

2 基于SoC方法的AVS硬件解码器设计方案

在嵌入式设备的音视频解码方案中,硬件解码器作为一个外设模块存在,它与摄像头之类的外设处于同一级别。根据上述SoC方案的设计思想,按照AVS音视频标准P2(先进音视频编码第2部分:视频)[1]部分,对AVS视频的解码过程中计算量大计算复杂的过程分为以下几个模块:

1) 熵解码模块:熵解码是针对AVS视频编码过程采用的熵编码的反过程。熵编码采用的预计统计科学的一种编码方法,它能够有效的降低编码码长。AVS视频流中所有的码流都是经过熵编码的数据,因此熵解码的过程计算量大,计算过程也比较复杂,因此需要硬件解码来实现。

2) 帧内预测模块:AVS视频标准中,帧内预测用于解码采用帧内编码方法的帧,帧内预测是采用帧内图像的空间相关性进行编码的一种方法。帧内预测分为求参考样本、求预测模式、计算三步。预测模式又分为5种预测模式,每种预测模式是针对帧图像中的像素来计算的,而且每种预测模式的计算方法计算复杂。考虑AVS标清视频720p的每帧图像720x576的分辨率,就可以清楚的知道计算量的大小。

3) 帧间预测模块:相对于帧内预测,帧间预测是采用前后相邻帧之间的时间相关性来进行编码的,它的计算量更大,复杂性更高,这是任何一个音视频硬件解码器中必须实现的一个模块。

4) IDCT变换模块:AVS中IDCT变换,即整数离弦变换,定义如下:

先对变换系数矩阵进行如下水变换

H'= CoeffMatrix ×T8T

T8是8×8反变换矩阵,T8T是T8的转置矩阵,H'表示水变换后的中间结果,T8定义参加AVS标准。矩阵H''的元素h''ij计算如下:

h''ij = (Clip3(-215, 215-1, (h'ij+4))) >> 3 i,j = 0~7

再对矩阵H'进行如下垂直反变换:

H = T8×H''

其中,H表示反变换后的8×8矩阵。最后,残差样值矩阵ResidueMatrix的元素rij计算:

rij = (Clip3(-215, 215-1, (hij + 26))) >> 7i,j = 0~7 hij是H矩阵的元素。

对于8×8的残差样本矩阵,IDCT变换需要2次矩阵乘法,矩阵相乘需要512次乘法448次加法,总共需要1024次乘法896次加法,对于这样的计算量,显然在嵌入式设备上用软件实现是无法满足实时解码的,因此需要硬件实现。

5) 滤波模块:由于AVS编码过程中是按照8x8的模块进行预测编码的,因此在模块之间的边缘会出现变化明显的边界,因此需要对解码后的模块进行滤波。AVS解码过程滤波主要分为求边界滤波强度和计算两步,这两步的运算也是针对像素级别的运算,因此也需要大量的计算,也需要硬件来实现。

6) AVS硬件解码器的总体架构:根据以上的分析,设计出如图2的硬件解码器的方案。

SoC是一个完整的系统,因此也包含了CPU,主要用于软件部分的运行。其中程序存储模块包括程序存储器(ROM实现)和程序运行内存(RAM),通过该部分可以对硬件解码器进行升级,因此增加了解码器的灵活性。片外接口用于嵌入式系统与硬件解码器的通信,由于嵌入式的多样性,因此该模块不能通用,需要针对特定的嵌入式系统进行开发。

图2中的各个模块通过片内总线连接在一起,形成了一个完整的系统。片内总线目前主要有ARM公司开发的AMBA总线,Altera公司开发的Avalon总线以及开源的Wishbone总线,前两个总线是专有的,因此使用这个总线是需要缴纳专利费用的,而后者是开源的免费总线。具体的总线的实现可以按照不同的场合自由选择。

3 总结

本论文开展了一种面向嵌入式设备的SoC架构的AVS硬件解码器设计方案的研究。该设计方案能够有效的加快AVS解码器的设计实现,而且灵活性高,可扩展性强,IP核能够重复应用在各种不同的AVS解码器架构上,有效的利用现有资源进行开发。

参考文献

[1] 国家数字音视频解码技术标准工作组.AVS视频AVS-P2视频标准[S].

[2] 沈兰荪,卓力.小波编码与网络视频传输[M].北京:科学出版社,2005.

硬件设计范文6

关键词:组成设备 维护 计算机硬件

中图分类号:TP303 文献标识码:A 文章编号:1007-9416(2016)04-0000-00

计算机硬件设备是维持计算机正常运行的重要部分,但在长时间的使用过程中计算机还是会出现一定的故障问题。这些故障问题如果不能及时得到解决,将会严重的影响到人们的正常使用,并带来不必要的麻烦。组成设备维护技术对计算机的正常应用和未来发展都具有重要的意义,因此当前阶段对此进行研究也是十分有必要的。下面将对计算机硬件中的组成设备维护技术进行详细的分析。

1计算机组成设备维护原则

(1)以预防为主。计算机组成设备维护中首先应主要采取预防性的措施。良好的使用习惯是维护计算机硬件设备的重要原则。在进行计算机使用过程中,首先应在插好电源之后再进行开机,同时需要保证计算机电压稳定性。如果在电源未插好的情况记性计算机使用,那么很有可能因为突然插入的电压而导致电池受到损害。如果计算机出现了卡机等情况,不能在第一时间内进行电源切断,而是应当查看是否能够通过计算机显示上的“关机”来进行系统化关机[1]。此外,在计算机使用中应当掌握基本的使用常识,不能将计算机放置于潮湿的环境中,同时要做好计算机散热,以便于能延长计算机的使用寿命。

(2)环境监控。计算机的工作正常环境应当维持在18――30度之间,因此,在进行使用的过程中应当重视起环境温度的控制,避免室内出现过高或者过低的温度,保证计算机硬件不会因为温度上的变化而遭到破坏。同时,应当在使用过程中注意通风性,避免阳关的直射,延长计算机硬件使用寿命。此外,计算机工作的环境中如果湿度比较低就会容易出现静电反应,长时间的静电反应会给计算机硬件带来安全隐患,最终导致计算机受到损坏。

2计算机硬件检测中应注意的问题

计算机长期使用中难免会发生一定的故障问题,那么在进行计算机使用故障检查中,应当注意哪些问题是十分值得人们所关注的问题。首先,计算机出现故障以后,应当首先考虑到是哪些软件中的问题,并对其进行维护和管理。当排除了软件故障之后在对计算机中的硬件设备问题进行考虑,避免浪费时间,同时也能便于及时的进行问题解决。同时,应对计算机进行必要的监控。计算机出现问题时所显示的内容会与正常的情况之间有所差异,其次,需要对环境情况进行查看,包括室内的温度和湿度等,从全面的角度来进行考虑,最终找到问题的所在。此外,计算机故障的出现主要硬件有显示器、电源等部分[2]。显示器问题主要是因为长时间的使用出现散热不均,或者主板原件损坏等情况造成的。鼠标键盘等硬件故障问题主要是因为设备不能正常的进行供电,或者当中的零件损坏等引起的。

3组成社会维护技术在计算机硬件当中的使用

(1)中央处理器的维护。计算机硬件中,中央处理器是最为重要的组成部分,这部分的好坏将直接影响到计算机的正常使用性能。中央处理器如果接收到了加密的程序后,能够立即进行解锁,并根据解密后的指令来进行一步一步的工作。因此,在维护计算机中央处理器的过程中应当重视起加密处理。同时,计算机长期使用下中央处理器的性能会有所下降,在会这样的情况下应当尽量的保持计算机通风环境,并选择性能较好的风扇,便于中央处理器正常的进行运行。此外,需要定期的进行计算机清灰处理,减少尘埃所引起的通风不畅现象,促使计算机中央处理器能正常的进行运行[3]。

(2)整体维护。计算机的整体维护中,应重视起计算机所处通风条件和清洁条件。因为不良的通风情况和不清洁的空间会导致计算机过多的积尘,从而影响计算机的正常运行,同时也会给计算机硬件造成过重的负担。对于时间长没有使用的计算机,应将电源拔除,并放置于通风良好的环境当中,便于日后使用中能正常的进行开机。此外,潮湿的空气容易给计算机硬件造成损坏,出现生锈等问题,需要加以注意,尽量保持空气湿度在正常范围内。

(3)硬盘维护。计算机的硬盘是计算机硬件当中最为脆弱的一部分,即便是遭受到了一定的振动,也有可能导致硬盘受到损坏。因此,在进行计算机的使用过程中,应当尽量的避免对计算机进行移动,即便要进行搬移也要重视起搬动的轻重,避免给硬盘造成损害。其次,硬盘长时间的使用会出现超负荷的情况,这些也会增加硬盘的损坏几率,需要在使用中尽量控制好计算机使用频率,避免同时进行大量的资源下载[4]。

(4)主板维护。计算机的主板也是计算机当中重要的硬件部分,主板的性能会给计算机的使用性能造成直接的影响。如果这部分出现了问题,那么计算机也会处于瘫痪的状态,不能正常使用。因此,在硬件维护当中应当重视起主板部分的维护工作。首先应当保持主板部分的清洁度,定期的进行除尘,同时应在清洁之后进行烘干处理,避免湿度原因或者灰尘等原因造成主板腐蚀,影响其使用。

4结语

计算机是现代社会科学技术发展下的产物,给人们的生活和工作带来了巨大的变革。随着社会的发展,未来人们将越来越离不开计算机,其维修管理就显得更加重要。在进行计算机使用中应当重视起硬件部分的维护,并为其使用创造良好的环境,其次,需要定期进行计算机硬件检查,避免出现硬件上的故障问题,这样以来才能保证计算机维持在正常的运行当中,为人们提供生活便利。

参考文献

[1]范军.关于计算机硬件维护原则及方法的具体分析[J].黑龙江科技信息,2016,(01):55―59.

[2]王苏波.计算机硬件维护关键技术的若干探讨[J].当代教育实践与教学研究,2016,(01):44―45.

[3]张鹏义.浅议计算机硬件检测维修项目和管理[J].现代职业教育,2015,(24):80―82.

[4]刘国峰.计算机硬件维护原则和方法分析[J].科技创新与应用,2014,(36):46―49.