895191540基于FPGA的声场测试仪的设计论文

上传人:无*** 文档编号:44228101 上传时间:2021-12-05 格式:DOC 页数:127 大小:4.51MB
收藏 版权申诉 举报 下载
895191540基于FPGA的声场测试仪的设计论文_第1页
第1页 / 共127页
895191540基于FPGA的声场测试仪的设计论文_第2页
第2页 / 共127页
895191540基于FPGA的声场测试仪的设计论文_第3页
第3页 / 共127页
资源描述:

《895191540基于FPGA的声场测试仪的设计论文》由会员分享,可在线阅读,更多相关《895191540基于FPGA的声场测试仪的设计论文(127页珍藏版)》请在装配图网上搜索。

1、基于FPGA的声场测试仪设计摘要自FPGA诞生以来,伴随着硬件描述语言的发展及器件性能的提升,FPGA运用越来越广泛,在某些领域已经取代了单片机、DSP等嵌入式设备并运用到了各种产品中。本系统以SOPC技术为核心,辅以必要的数模转换电路,以及相关的外围模拟电路,构成了一个基于SOPC技术的声场测定系统。其主要功能模块有信号处理模块、信号采集模块、VGA控制模块、锁相环模块、数据读取模块、数据转换模块。整个系统使用Quartus II和SOPC Builder软件进行设计,包括Nios II处理器、Flash接口、SDRAM接口等。采用C语言编程实现数据在片外存储器之间的传输、VGA的显示以及信

2、号采集。设计最终下载到Altera公司的Cyclone II系列FPGA中,设计灵活,调试方便。关键词:声场测试 FPGA Nios II SOPC VGA接口 位图文件结构121Design of the sound field detector based on FPGAAbstractFPGA, short for Field-Programmable Gate Array, accompany with the development of hardware description language, has been applied significantly broadly.It

3、has taken the place of singlechip 、DSP in some aspects and has been applied to various kinds of products.The center part of the system is technology of SOPC.With necessary D/A circuit and analog circuit.It constructed a sound field detector based on SOPC.Its main function blocks are VGA control bloc

4、k, PLL block, signal pickup block,signal processing block,data reading block and data transmission. The whole system is designed in Quartus II and SOPC Builder,which contains Nios II processor, Avalon Tristate Bridge, Flash interface and SDRAM interface etc. The system uses C language to compile pro

5、gram realizing data transmission between Flash and SDRAM,VGA display and signal pickup.The design is downloaded into FPGA device which belongs to the Cyclone II family of Altera. The design is very agile, and easy to debug.Key Words: Sound Field Detector FPGA Nios II SOPC VGA Interface BMP File目录1、绪

6、论11.1选题的背景和意义11.2系统功能的实现方法21.3主要的问题32、技术背景及方案选择42.1核心器件解决方案:FPGA42.1.1发展历史42.1.2行业的发展方向52.1.3 Altera的低成本FPGA52.1.4 Nios II处理器62.1.5高效的企业级开发平台Altera Complete Design Suite72.1.6 VHDL语言介绍82.1.7 C语言介绍102.1.8 VHDL与C语言的区别112.1.9 FPGA设计流程112.2显示接口及显示设备的选择:带有VGA接口的液晶显示器122.2.1显示接口的发展与种类122.2.2数字接口与模拟接口的比较14

7、2.2.3选择结论:VGA接口152.3图像格式及图像处理技术152.3.1 TIFF图像格式152.3.2 PCX图像格式162.3.3 GIF图像格式162.3.4 BMP图像格式172.3.5图像处理213、设计实现273.1模拟部分电路设计273.1.1 MIC放大模块设计273.1.2比较模块设计293.2 VGA显示模块设计313.2.1 VGA接口定义313.2.1 VGA接口及外围电路设计333.2.3 ADV7123应用343.2.4 VGA显示接口原理353.2.5 VGA时序信号的产生383.3 FPGA系统设计393.3.1锁相环模块413.3.2 VGA控制模块443

8、.4 Nios软核设计533.4.1图像数据553.4.2主控制程序553.4.3声音处理554、总结574.1 语音放大模块功能描述574.2 显示功能模块描述574.3 控制模块功能描述584.4 经验总结59致谢61参考文献62附录:主要程序63外文资料翻译及原文891、绪论1.1 选题的背景和意义科技因生活而改变,就像人类自生所追求的更高、更快、更强一样,IT产业也在创造着一次又一次的飞跃。电子技术的演进是科技发展的源泉,随着半导体业数十年的发展,整机制造商和半导体供应商的需求和服务都在发生着变化。从整机制造商来看,其需求层次已由器件、参考设计上升到总体解决方案,包括硬件、软件,甚至外

9、形等工业设计,这对半导体厂商提出更高的要求;另一方面,半导体供应商面临更多的挑战,包括更高的集成度、更低的功耗、更低的成本。平台解决方案的重要性和业界的接受程度日益明显。领先的半导体公司纷纷推出了各具特色的平台产品,其优势体现在强大的功能、广泛的第三方软件和硬件支持、产品的可延续性和升级性等。可靠、高效、低功耗是电子产业的永久追求,从目前一些领先的硬件制造商来看,提高效率,降低成本仍然是主要目标。可编程技术器件将与平台半导体解决方案形成更激烈的竞争态势,并促进FPGA/CPLD器件密度的进一步提高,以及面向特定应用的新型器的研发。快速的产品更新周期和不断的升级造就了可编程器件的迅速发展,对于样

10、品阶段以及一些新兴电子产品来说,将一直保持其灵活、快速的优势,而当进入快速成长和成熟期的阶段,可编程器件公司的策略是低成本可编程器件或类似ASIC的掩膜器件来进一步延伸其产品的生命周期。而这对于制造商的利益在于可以无缝地移植代码,并顺利地进入批量生产。EDA工具和半导体IP成为半导体工业发展的重要支持力量。半导体工艺向90nm以及65nm、45nm直至32nm的进程大大增加了芯片复杂度,而其它需求,如采用CMOS工艺实现模拟和射频电路、DFM、DFT等,对EDA工具提出了更高的要求。SiP是半导体厂商可以考虑的一种重要模式。与此同时,半导体IP,尤其是一些被业界广泛认同的内核,正成为快速推出I

11、C(单IP内核或多IP内核)的一条捷径。模拟器件仍然无处不在。数字家庭中的无线连接、新潮便携数码产品中的音频电路、电源管理、信号通路使模拟器件的重要性日益突显,我们看到的趋势是在数字世界中创造了更多的模拟应用,放大器、ADC/DAC、接口都是明显的例子。未来,我们应该更关注的是模拟及数字器件将如何不断融合的发展进程。可以说本次设计的声音测定系统是一个典型的数模器件充分融合的产物。1.2 系统功能的实现方法本次设计中,声音采集以及信号放大是需要模拟电路来完成的这是因为音频信号很小,要实现这么小的信号的数字化并进行处理,需要精度很高的AD转换芯片。这样整个系统的成本不得不考虑。在数字器件部分,主要

12、是用VHDL语言来实现,在后续章节中会对这门语言做简要介绍,这里将从理论方面简单介绍VHDL语言的编程思想。VHDL语言面向的对象器件是FPGA。这种语言一样有着丰富的语法,丰富的关键字,丰富的控制语句等等,虽然这种语言的语法规范是十分的严格。但是,并不是所有你写出的程序都可以运行。这和C语言大不一样。C语言编写出现问题可能会造成死循环或者是系统资源浪费,而VHDL语言则是,如果你写的程序在时序上有问题,则根本不能再器件内运行起来。想要写出优秀的VHDL程序,不但需要你对语法十分的了解,更需要你对数字逻辑电路有着丰富的知识和一定的设计经验。这也是VHDL设计门槛比较高的原因。这个方案的核心部分

13、在于其使用了Nios软核。Nios嵌入式处理器是Altera公司于2004年6月推出的第二代用于可编程逻辑器件的可配置的软核处理器,在CycloneII器件下,性能最高可达56 DMIPS。Nios是基于哈弗结构的RISC通用嵌入式处理器软核,能与用户逻辑相结合,编程至Altera的FPGA 中。处理器具有32位指令集,32位数据通道和可配置的指令以及数据缓冲。他特别为可编程逻辑进行了优化设计,也为可编程单芯片系统(SOPC)设计了一套综合解决方案。Nios处理器系列包括3种内核:高性能的快速内核(Niosf);低成本经济型内核(Niose);性能成本折中的标准内核(Nioss)。在Nios中

14、,又使用到了C语言,类似C语言这样的计算机语言,多是转化为汇编语言之后又计算机逐条的执行其中的指令。这样的执行效率不是很高,但是随着数字IC的执行效能越来越高,这种问题也被淡化。1.3 主要的问题系统设计完成后,如何能够稳定高效地工作以及完成既定的功能。在设计过程中,图像显示是一个很关键的问题。从可编程器件方面看。门阵列固然有其速度上的优势,在控制上,其强大的灵活性以及可定制性已经能够完全替代传统数字电路。在信号处理上,其强大的处理能力已经超过大部分DSP。但是对于控制VGA显示来说,大量的图像数据量、相对复杂的VGA时序控制对硬件来说是个挑战。对于个人来说,若想在显示器上显示16位图像,利用

15、VHDL描述难度太大。最终选择了嵌入Nios内核做为解决方案。2、技术背景及方案选择2.1 核心器件解决方案:FPGA2.1.1发展历史FPGA(现场可编程门阵列)与 CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL,GAL等逻辑器件的基础之上发展起来的。同以往的PAL,GAL等相比较,FPGACPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。自1985年Xilinx公司推出第一片FPGA至今,FPGA已经历了十几年的发展历史。在这十几年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的

16、25万个可利用门,乃至现在国际上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司早就陆续推出了数百万门的单片FPGA芯片。现在现场可编程器件的集成度已经提高到一个新的水平。纵观现场可编程逻辑器件的发展历史,其之所以具有巨大的市场吸引力,根本在于:FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。尤其是最近几年,FPGA的主要厂商Altera、Xilinx等不断更新优化产品架构和生产工艺,不断降低FPGA的功耗和系统成本,推

17、出了很多高性能低价位的解决方案,将市场从传统的高端通信扩展到汽车和消费类电子产品。2.1.2行业的发展方向目前,FPGA的主要发展动向是:随着大规模现场可编程逻辑器件的发展,系统设计进入片上可编程系统(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好的满足用户的需求,扩大市场;特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。在生产工艺方面,这几年来FPGA市场的飞速增长和一代代新工艺新产品的不断推出,FPGA产品的逻辑单元越来越多,性能越来越高,而单位成本和功耗却越来越低,这是因为现在FPGA厂商相

18、继采用90nm的制造工艺生产新一代的FPGA产品。先进的90nm制造工艺在物理上达到了一个新的极限,但是,克服了这一极限的挑战后,产品成熟量产,将大大降低。在高端处理方面,FPGA将挑战DSP。从本质上来讲,FPGA更象一个应用平台,的新应用层出不穷,复杂性越来越大,客户对速度、功能、效率的要求越来越高,比如集成DSP模块,同样的价格下,Altera的FPGA能够处理的接收器通道比高端的DSP处理器高几十倍以上。但相对DSP来说,它的封装及总成本仍然昂贵,想要从高端市场走入低端应用尚需时日。2.1.3 Altera的低成本FPGAAltera的主流FPGA分为两大类,一种侧重低成本应用,容量中

19、等,性能可以满足一般的逻辑设计要求,如Cyclone;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。 在性能可以满足的情况下,优先选择低成本器件。例如本系统所选择的Cyclone II EP2C35F672。FPGA具有灵活性和及时面市的优势,Altera的Cyclone器件系列便是在低成本FPGA中占据领导地位的,它提供了低风险和低成本的解决方案,在Quarters开发软件的支持下,它无疑是中低规模设计中最具吸引力的替代方案。也是本次设计采用的设计器件。后文将详细介绍Cyclone的详细参数及技术细节。

20、2.1.4 Nios II处理器Altera推出了Nios II系列32位RSIC嵌入式处理器。Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS,在Altera FPGA中实现仅需35美分。Altera的Stratix 、Stratix GX、 Stratix II和 Cyclone系列FPGA全面支持Nios II处理器,以后推出的FPGA器件也将支持Nios II。Nios II系列支持使用专用指令。专用指令是用户增加的硬件模块,它增加了算术逻辑单元(ALU)。用户能为系统中使用的每个Nios II处理器创建多达256个专用指令,这使得设计

21、者能够细致地调整系统硬件以满足性能目标。专用指令逻辑和本身Nios II指令相同,能够从多达两个源寄存器取值,可选择将结果写回目标寄存器。同时,Nios II系列支持60多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合,而不必支付根本不使用的硅片功能。 Nios II系列能够满足任何应用32位嵌入式微处理器的需要,客户可以将第一代Nios处理器设计移植到某种Nios II处理器上,Altera将长期支持现有FPGA系列上的第一代Nios处理器。另外,Altera提供了一键式移植选项,可以升级至Nios II系列。Nios II处理器也能够在HardCopy器件中实现,

22、Altera还为基于Nios II处理器的系统提供ASIC的移植方式。Nios II处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。设计者能够用Altera Quartus II开发软件中的SOPC Builder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios II处理器核的数量。 使用Nios II软件开发工具能够为Nios II系统构建软件,即一键式自动生成适用于系统硬件的专用C/C+运行环境。Nios II集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,Nios I

23、I开发套件包括两个第三方实时操作系统(RTOS)MicroC/OS-II(Micrium),Nucleus Plus(ATI/Mentor)以及供网络应用使用的TCP/IP协议栈。 长期以来,Altera一直推行嵌入式处理器战略的原因是,随着应用的ASIC开发日益受到成本的困扰,OEM日渐转向FPGA来构建自己的系统。这些系统中绝大多数需要一个处理器,而Altera正是为设计者提供了为FPGA优化的灵活的嵌入式处理器方案,可以满足16位和32位嵌入式处理器市场的需求。在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。随着系统日益先进,基于标准处理器的方案会

24、被淘汰,而基于Nios II处理器的方案是基于HDL源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。2.1.5高效的企业级开发平台Altera Complete Design SuiteAhera开发了整套工具(包括SOPC Builder,Nios集成设计环境和Quartus开发软件)帮助用户加速硬件和软件的开发,实现完整的基于可编程逻辑的SOPC解决方案Quartus II 8.0是目前进行Altera的CPLD、FPGA和结构化ASIC设计的最佳软件,具有强的的功能及良好的易用性。相比较传

25、统的 Max+plusII 软件和早期版本的Quarters软件,它有更好的性能表现,更多的功能,能够对CPLD和FPGA器件的最新系列进行设计。 它能够支持全系列的MAX II CPLD以及Cyclone、Stratix 和 Stratix II FPGA 以及 HardCopy结构化Asic,支持 MAX、FLEX 和 ACEX 设计。SOPC Builder是在Altera FPGA中实施IP的关键工具。该系统级工具使用Altera的MegaWizard技术自动生成Avalon的交换架构,将设计中的不同功能模块连接在一起。SOPC Builder还会生成定制软件开发工具,根据需要为由Ni

26、os处理器控制的功能模块提供合适的软件头文件。Nios IDE是Nlos软核处理器的主要开发工具。他为软件开发提供了一个集成的设计开发环境,包括一个具有工程管理、源代码开发、基于JTAG调试功能的图形用户界面(GUI),大大简化了大量复杂的Nios 处理器设计。2.1.6 VHDL语言介绍VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后

27、,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。VHDL主要用于描述数字

28、系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计

29、领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的

30、结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.1.7 C语言介绍C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。主要有以下特点:1、C语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。具体应用比如我是学硬件的,单片机以及嵌入式系统都可以用C来开发。C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。特别是加入一些汇编语言子程序后,更能显示C 语言的优势。归纳起来C

31、 语言具有下列特点: C是中级语言它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。2、C是结构式语言结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。3、C语言功能齐全C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另外C 语言也具有强大的图形功能, 支持多种

32、显示器和驱动器。而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的编游戏,编3D游戏,做数据库,做联众世界,做聊天室,做PHOTOSHOP做FLASH,做3DMAX。4、C语言适用范围大C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。2.1.8 VHDL与C语言的区别vhdl是一门硬件描述语

33、言,采用的是自顶向下的设计思想,即先描述一个电路的总体功能,然后给予具体地实现。就像搭建电路一样,先给出总体框图然后分块实现。一个电路当然就有级联的和并联电路就是所谓的用“并行语句和顺序语句”来描述。而c语言目前还没有一个编译器能把它翻译为硬件描述语言,尽管Verilog有点像c所谓象是他们的设计思路有点象,具体的语法规则还是有很大差异。c语言目前几乎都是在cpu中运行所以只能按指令的形式按顺序执行下来。2.1.9 FPGA设计流程在FPGA系统设计完成前,有2个不同的阶段:设计阶段、调试和检验阶段,如图2.1所示。设计阶段的主要任务是输入、仿真和实现;调试和检验阶段的主要任务是检验设计,校正

34、发现的错误。图2. 1 FPGA设计流程图2.2 显示接口及显示设备的选择:带有VGA接口的液晶显示器VGA数据线VGA(Video Graphics Array)是IBM于1987年提出的一个使用模拟信号的电脑显示标准,这个标准已对于现今的个人电脑市场已经十分过时。即使如此,VGA仍然是最多制造商所共同支援的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支援VGA的标准。2.2.1显示接口的发展与种类VGA接口:VGA的英文全称是Video Graphic Array,即显示绘图阵列。VGA支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨

35、率下可以同时显示256种颜色,这在当时绝对是巨大的飞跃。我们的眼球对颜色的敏感远大于分辨率,所以即使分辨率较低图像依然生动鲜明。VGA由于良好的性能迅速开始流行,厂商们纷纷在VGA基础上加以扩充,如将显存提高至1M并使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(Video Electronics Standards Association,视频电子标准协会)的Super VGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式。不管是VGA还是SVGA,使用的连线都是15针的梯形插头,传输模拟信号。AV接口:AV接口实现了音频和视频的分离传输,这就

36、避免了因为音/视频混合干扰而导致的图像质量下降,但由于AV 接口传输的仍然是一种亮度/色度(Y/C)混合的视频信号,仍然需要显示设备对其进行亮/ 色分离和色度解码才能成像,这种先混合再分离的过程必然会造成色彩信号的损失,色度信号和亮度信号也会有很大的机会相互干扰从而影响最终输出的图像质量。AV还具有一定生命力,但由于它本身Y/C混合这一不可克服的缺点因此无法在一些追求视觉极限的场合中使用。DVI接口:DVI接口的英文全称是Digital Visual Interface,其标准是1999年由Intel、Compaq、IBM、HP、NEC、Fujitsu等公司共同组成数字显示工作组DDWG(Di

37、gital Display Working Group)推出的数字显示接口。它的基础是Silicon Image公司的Panel Link接口技术,Panel Link接口技术采用的是最小化传输差分信号(Transition Minimized Differential Signaling,TMDS)作为基本电气连接。计算机中生成的图像信息传送到显示处理单元(显卡)中,经处理并编码成数据信号,数据信号中包含了一些像素信息、同步信息以及一些控制信息,信息通过3个通道输出。同时还有一个通道用来传送使发送和接收端同步的时钟信号。每一个通道中数据以差分信号方式传输,因此每一个通道需要2根传输线。由于采

38、用差分信号传输,数据发送和接收中识别的都是压差信号,因此传输线缆长度对信号影响较小,可以实现远距离的数据传输。在接收端对接收到的数据进行解码,并处理生成图像信息供数字显示设备显示。在DVI标准中对接口的物理方式、电气指标、时钟方式、编码方式、传输方式、数据格式等进行了严格的定义和规范。HDMI接口:HDMI,英文全称是High Definition Multimedia Interface,中文名称是高清晰多媒体接口的缩写。2002年4月,日立、松下、飞利浦、索尼、汤姆逊、东芝和Silicon Image七家公司联合组成HDMI组织。HDMI能高品质地传输未经压缩的高清视频和多声道音频数据,最

39、高数据传输速度为5Gbps。同时无需在信号传送前进行数/模或者模/数转换,可以保证最高质量的影音信号传送。HDMI不仅可以满足目前最高画质1080P的分辨率,还能支持DVD Audio等最先进的数字音频格式,支持八声道96kHz或立体声192kHz数码音频传送,而且只用一条HDMI线连接,免除数字音频接线。同时HDMI标准所具备的额外空间可以应用在日后升级的音视频格式中。足以应付一个1080p的视频和一个8声道的音频信号。而因为一个1080p的视频和一个8声道的音频信号需求少于4GB/s,因此HDMI还有很大余量。这允许它可以用一个电缆分别连接DVD播放器,接收器和PRR。此外HDMI支持ED

40、ID、DDC2B,因此具有HDMI的设备具有“即插即用”的特点,信号源和显示设备之间会自动进行“协商”,自动选择最合适的视频/音频格式。2.2.2数字接口与模拟接口的比较DVI接口的传输信号采用全数字格式,与之对应的是采用模拟信号的VGA接口。VGA和DVI的区别,VGA模拟信号的传输首先是将电脑内的数字信号转换为模拟信号,将信号发送到LCD显示器,而显示器再将该模拟信号转换为数字信号,形成画面展示在大家面前,正因为如此,中间的信号丢失严重,虽然可以通过软件的方法修复部分画面,但是随着显示器的分辨率越高画面就会越模糊。一般模拟信号在超过12801024分辨率以上的情况下就会出现明显的误差,分辨

41、率越高越严重。而DVI数字接口可以直接将电脑信号传输给显示器,中间几乎没有信号损失,不过在800600这种分辨率下,和模拟信号的效果几乎没有差别,这也就是很多人觉得DVI接口没有用处的原因。2.2.3选择结论:VGA接口VGA和DVI做为目前最常见的接口,占领着市场的大部分份额。但是数字接口的优势是传统模拟接口无法代替的。VGA接口很长一段时间内将会存在于小尺寸面板及低端LCD显示器中。本系统是仅需工作在640*480分辨率下,本着就地取材的出发点,选择了带有VGA接口的15英寸LCD显示器。从开发平台方面来说本身已经内置了VGA接口,从新设计DVI接口已不必要。2.3 图像格式及图像处理技术

42、计算机图像格式的发展一直是相关领域内发展较快的一个部分。通过改进图像算法,单幅图像占用空间越来越小,还原能力越来越高,当然算法越来越复杂,这需要性能更高的硬件解码。但是来作为Windows下的标准文件格式,bmp文件一直具有十分基础和重要的地位。2.3.1 TIFF图像格式TIFF图像格式:扩展名是TIF,全名是Tagged Image File Format。它是一种非失真的压缩格式(最高也只能做到23倍的压缩比)能保持原有图像的颜色及层次,但占用空间却很大。例如一个200万像素的图像,差不多要占用6MB的存储容量,故TIFF常被应用于较专业的用途,如书籍出版、海报等,极少应用于互联网上。2

43、.3.2 PCX图像格式PCX这种图像文件的形成是有一个发展过程的。最先的PCX雏形是出现在ZSOFT公司推出的名叫PC PAINBRUSH的用于绘画的商业软件包中。以后, 微软公司将其移植到 Windows环境中,成为Windows系统中一个子功能。PCX是最早支持彩色图像的一种文件格式,现在最高可以支持256种彩色。PCX图像文件由文件头和实际图像数据构成。文件头由128字节组成,描述版本信息和图像显示设备的横向、纵向分辨率,以及调色板等信息:在实际图像数据中,表示图像数据类型和彩色类型。PCX图像文件中的数据都是用PCXREL技术压缩后的图像数据。由于这种文件格式出现较早,它不支持真彩色

44、。PCX文件采用RLE行程编码,文件体中存放的是压缩后的图像数据。因此,将采集到的图像数据写成PCX文件格式时,要对其进行RLE编码:而读取一个PCX文件时首先要对其进行 RLE解码,才能进一步显示和处理。2.3.3 GIF图像格式GIF(Graphics Interchange Format)的原义是图像互换格式,是CompuServe公司在 1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50左右,它不属于任何应用程序。目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。GIF图像文件的数据是经过压缩的,而且是

45、采用了可变长度等压缩算法。所以GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像。GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。GIF解码较快,因为采用隔行存放的GIF图像,在边解码边显示的时候可分成四遍扫描。第一遍扫描虽然只显示了整个图像的八分之一,第二遍的扫描后也只显示了14,但这已经把整幅图像的概貌显示出来了。在显示GIF图像时,隔行存放的图像会给您感觉到它的显示速度似乎要比其他图像快一些,这是隔行存放的优点。2.3.4 BMP图像格式BMP是英文Bitmap(位

46、图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此带来的问题是占用磁盘空间过大。BMP文件由4部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、颜色表(color table)、颜色点阵数据(bits data)。24位真彩色位图没有颜色表,所以只有1、2、4这三部分。用UltraEdit打开MyBmp.

47、bmp,可以看到这个文件的全部数据如下图所示:图2. 2 位图结构位图文件头结构定义如下:typedef struct tagBITMAPFILEHEADERWORDbfType; / 位图文件的类型,必须为BMDWORD bfSize; / 位图文件的大小,以字节为单位WORDbfReserved1; / 位图文件保留字,必须为0WORDbfReserved2; / 位图文件保留字,必须为0DWORD bfOffBits; / 位图数据的起始位置,以相对于位图文件头的偏移量表示,以字节为单位 BITMAPFILEHEADER;表2. 1 位图文件头结构名称占用空间内容实际数据bfType2字

48、节标识,就是“BM”二字BMbfSize4字节整个BMP文件的大小0x50(80)bfReserved1/24字节保留字,没用0bfOffBits4字节偏移数,即 位图文件头+位图信息头+调色板 的大小0x36(54)位图信息头结构定义如下:typedef struct tagBITMAPINFOHEADERDWORD biSize; / 本结构所占用字节数LONGbiWidth; / 位图的宽度,以像素为单位LONGbiHeight; / 位图的高度,以像素为单位WORD biPlanes; / 目标设备的级别,必须为1WORD biBitCount/ 每个像素所需的位数,必须是1(双色),

49、4(16色),8(256色)或24(真彩色)之一DWORD biCompression; / 位图压缩类型,必须是 0(不压缩),1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一DWORD biSizeImage; / 位图的大小,以字节为单位LONGbiXPelsPerMeter; / 位图水平分辨率,每米像素数LONGbiYPelsPerMeter; / 位图垂直分辨率,每米像素数DWORD biClrUsed;/ 位图实际使用的颜色表中的颜色数DWORD biClrImportant;/ 位图显示过程中重要的颜色数 BITMAPINFOHEADER;表2. 2位图信息头结构

50、名称占用空间内容实际数据biSize4字节位图信息头的大小,为400x28(40)biWidth4字节位图的宽度,单位是像素2biHeight4字节位图的高度,单位是像素3biPlanes2字节固定值11biBitCount2字节每个像素的位数1-黑白图,4-16色,8-256色,24-真彩色0x18(24)biCompression4字节压缩方式,BI_RGB(0)为不压缩0biSizeImage4字节位图全部像素占用的字节数,BI_RGB时可设为00x1AbiXPelsPerMeter4字节水平分辨率(像素/米)0xB12(2834)biYPelsPerMeter4字节垂直分辨率(像素/米

51、)0xB12(2834)biClrUsed4字节位图使用的颜色数如果为0,则颜色数为2的biBitCount次方0biClrImportant4字节重要的颜色数,0代表所有颜色都重要0图2. 3颜色表定义:typedef struct tagRGBQUAD BYTErgbBlue;/ 蓝色的亮度(值范围为0-255)BYTErgbGreen; / 绿色的亮度(值范围为0-255)BYTErgbRed; / 红色的亮度(值范围为0-255)BYTErgbReserved;/ 保留,必须为0 RGBQUAD;颜色表中RGBQUAD结构数据的个数有biBitCount来确定:当biBitCount=

52、1,4,8时,分别有2,16,256个表项;当biBitCount=24时,没有颜色表项。位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:typedef struct tagBITMAPINFO BITMAPINFOHEADER bmiHeader; / 位图信息头RGBQUAD bmiColors1; / 颜色表 BITMAPINFO;颜色点阵数据:位图全部的像素,是按照自下向上,自左向右的顺序排列的。图2. 4 颜色点阵数据RGB数据是顺序颠倒的,原始数据按B、G、R的顺序来排列。2.3.5图像处理本系统中,C语言扮演了主要角色。从NIOS系统的构建到最终的图像显示都是由

53、C语言编写完成。对于系统中使用的图像数据,需要对BMP图像进行数据处理。大致流程如图2.5:图2. 5 图像处理流程图本系统是通过三组MIC来确定有效范围内音源的发声方位。在VGA显示中将屏幕分割成六个区域,成扇形辐射。六个扇区分别代表测试环境中的六个方位。当系统判断到某一方位有符合的声音产生时,屏幕上相应的扇区会成亮蓝色。图2.6为photoshop中制作出来的效果。图2. 6 photoshop生成位图GetBmpData是一个位图与数据转换程序。其特点是可以将BMP图像根据实际需要采用不同的数据存储形式。图2.7为其操作界面。本系统中使用了640*480分辨率的图像,颜色深度为16位,这

54、是基于硬件和显示效果上的考虑。由于板载FLASH容量为64MB,若采用24位高分辨率图像的话,存储空间显然不够。VGA控制器以每秒50HZ的速度刷新图像,如果单个图像过大,就需要更大的带宽,对于FPGA来说也是一种负担。其次在显示效果上,对于15英寸的显示器来说640*480与1280*1024时显示的图像并没有明显区别,当然文字除外。综上所述,可以说640*48016是最合适的方案。图2. 7 GetBmpData操作界面通过GetBmpData,我们可以得到.C格式的数据。从数据上看,24位的BMP数据与16位的BMP数据有明显的区别。图2.8、图2.9分别为24bit数据和16bit数据

55、。其中,24bit数据通过3组16进制数来描述一个点的色深,如图2.8中蓝框部分0x00h、0x45h、0x6ah代表了第一行第一个像素中RGB三色的深度。每种颜色用两位十六进制数来表示。图2.9蓝框部分0xa2h、0xa0h则是在16bit下代表了第一行第一个像素中RGB三色的深度。而这两种表示方法都是同一幅图像不同算法下的体现。16位图和24位图在数据表现上有明显的不同。24位图可以用6位十六进制数来表示,换算成二进制数则为24位,RGB三色分别用8位二进制数来表示。而对于16位图像来说,RGB用相同的位数来表示是不可能的,因此也出现了R5G6B5、B6G5R5等组合。本次将16位图转换成

56、B5G6R5 的形式。图2. 8 24位图像结构图2. 9 16位图像结构将数据处理完成后将其加载至NIOS工作区中:unsigned short bmpdata3 = 0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,0xa2a0,.;至于格式的限定以及读取的方式在vga_example.c中有严格的限定。3、设计实现3.1

57、模拟部分电路设计MIC输入的电流信号很小,需要经过放大才可以进行处理。音频信号有其特有的特点,因此这里可以使用特殊用途的音频放大器。前文已经描述过器件的选择过程,这里文章将详细讨论这些模拟电路的设计。本系统中FPGA的输入端并没有采用AD对信号进行采样,这考虑到了一个时间延迟的问题。在声音的传播中,声音的速度是340m/s。在设计过程中我们假设三个MIC的距离在1m,成等边三角形分布。如果在距离最近MIC一米的地方有一个声源,其到达第一个MIC的时间是2.94ms,到达最远MIC的时间将超过6ms。但是三者的时间差则会在2ms之内。多通道串行AD的最大问题在于其工作方式上。多通道串行AD的工作

58、原理是,当第一通道的数据转换传送完毕后进入下一通道的数据转换。在这个期间每个通道的数据会产生时间差。对于FPGA来说,它读取的信号是单路串行的,再经过内部的数据处理,必然又会产生另一个时间差。两者相叠加时间差将会无法控制,最终可能出现NIOS核中读取三路MIC的数据不在同一时间段。而在声音采样中也就是声音不同步问题。最终采用的方案是MIC采集声音信号后进行放大并比较直接进入FPGA,这样三组MIC将保持理论上的同步。当然这样带来了其他的问题,比如我们只能采集到高低电平而不能采集到声音的幅度。3.1.1 MIC放大模块设计LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类

59、产品。为使外围元件最少,电压增益内置为20。通过在1、8管脚外接电容、电阻,便可将电压增益调为任意值,最大增益为200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半。图3. 1 LM386的原理图全芯片有8个管脚。6和4为供电和接地端接入5V和GND。1和8间通过加入电阻和电容可以调节放大倍数。图3.2为标准连接图,3和2管脚是放大器输入端的正负输入借口,2脚直接接地没有漏电力流过大的问题。7管脚是旁路管脚,可以用于电路测试。5脚为输出管脚,是放大信号的输出。图3. 2 LM386应用电路图3.3为根据实际情况设计的两级放大图。图中共有三组放大电路,这对应三组相同的MIC,每一级放大

60、25倍。两级总共放大倍数为625倍,若MIC的输入电压为5mv,经过放大后电压应在3.1V左右。图3. 3设计电路3.1.2比较模块设计LM339内部包括有四个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。图3.4为LM339原理图。图3. 4 LM339原理图本系统将使用一片LM339构成三组滞回比较器。在LM339中,四个运算放大器为并发操作,不会有先后问题,这也在很大程度消除了器件带来的时间延迟的影响

61、。图3.5为系统中运用到的比较电路图3. 5比较器设计电路系统这里需要做的是一个滞回比较器,作用是将前端放大的声音信号转换为电平信号。使用滞回比较器的原因是被比较的电压VEE可调,同时滞回比较对信号有一个保持效果,能够滤除瞬间的环境噪音或芯片自身带来的毛刺现象。同时我们把比较电压设定在一个比较高的门限值,这样能够很好地滤除环境底噪。LM339最大的好处就是其输出是一个稳定的电平,不需要在输出端加稳压二极管便可达到效果。输出接口的稳压管能够将输出电压牵制在3.3V以上。加上输出电阻的帮助,这块运放与后级FPGA3.3vI/O口的兼容性完全符合要求。3.2 VGA显示模块设计3.2.1 VGA接口

62、定义表3. 1 VGA接口物理定义管脚 定义 1红基色 red 2绿基色 green 3蓝基色 blue 4地址码 ID Bit 5自测试 ( 各厂家定义不同 ) 6红地 7绿地 8蓝地 9保留 ( 各厂家定义不同 ) 10数字地 11地址码 12地址码 13行同步 14场同步 15地址码 ( 各厂家定义不同 ) 显示器输入信号采用15针的VGA接口,表3.1为接口中的管脚分配,在系统设计中将通过对FPGA管脚分配将其与VGA对应管脚联通。下图3.1中所示为VGA接口构造。这个接口已经存在于开发板中,只要进行管脚分配就可调用。图3. 6VGA接口构造15针D型显示器信号电缆连接器针脚说明如下:

63、第1,2,3脚输人图像的三基色模拟信号,它们是幅值为0.7V(峰峰值)的正信号,输入阻抗为75;第6,7,8脚分别接红、绿、蓝三信号线的屏蔽线;第13,14脚输入分离的行场同步信号,它们是TTL电平的正或负的脉冲信号。水平同步脉宽应大于1us,垂直同步脉冲宽度应大于560us。这在软件设计中是有用的约束。第12,15脚的信号用于实现显示器和主机的双向通信。在“即插即用”系统中,存在串行电可擦写存储器(EEPROM)中的关于该显示器的信息。在时钟的控制下,通过串行数据线输入主机,使主机了解该显示器的性能、制造厂商和型号,自动优化显示系统。3.2.1 VGA接口及外围电路设计图3. 7 VGA接口外围电路图图3.2为VGA接口外围电路,也是这个系统的关键部分。系统中最重要的部分是VGA时序的产生,是正常输出显示的关键,他包含在VGA控制器中。VGA控制器是用SOPC Builder中的interface t

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!