基于过采样和∑-△噪声整形技术的DAC能够可靠地把数字信号转换为高精度的模拟信号(大于等于16位)。采用这一架构进行数模转换具有诸多优点,例如极低的失配噪声和更高的可靠性,便于实现嵌入式集成等,最重要的是可以得到其他DAC结构所无法达到的精度和动态范围。在高精度测量,音频转换,汽车电子等领域有着广泛的应用价值。 本文采用∑-△结构以FPGA方式实现了一个具有高精度的数模转换器,在24比特的输入信号下,达到了约150dB的信噪比。作为一个灵活的音频DAC实现方案。该DAC可以对CD/DVD/HDCD/SACD等多种制式下的音频信号进行处理,接受并转换采样率为32/44.1/48/88.2/96/192kHz,字长为16/18/20/24比特的PCM数据,具备良好的兼容性和通用性。 由于非线性和不稳定性的存在,高阶∑-△调制器的设计与实现存在较大的难度。本文综合大量文献中的经验原则和方法,阐述了稳定的高阶高精度调制器的设计流程;并据此设计了达到24bit精度和满量程输入范围的的5阶128倍调制器。本文创新性地提出了∑-△调制器的一种高效率流水线实现结构。分析表明,与其他常见的∑-△调制器实现结构相比,本方案具有结构简单、运算单元少等优点;此外在同样信号采样率下,调制器所需的时钟频率大大降低。 文中的过采样滤波模块采用三级半带滤波器和一个可变CIC滤波器级联组成,可以达到最高128倍的过采样比,同时具有良好的通带和阻带特性。在半带滤波器的设计中采用了CSD编码,使结构得到了充分的简化。 本文提出的过采样DAC方案具有可重配置结构,让使用者能够方便地控制过采样比和调制器阶数。通过积分梳状滤波器的配置,能够获得32/64/128倍的不同过采样比,从而实现对于32~192kHz多种采样率输入的处理。在不同输入字长情况下,通过调制器的重构,则可以将调制器由高精度的5阶模式改变为功耗更低的3阶模式,满足不同分辨率信号输入时的不同精度要求。这是本文的另一创新之处。 目前,该过采样DAC已经在XilinxVirtexⅡ系列FPGA器件下得到硬件实现和验证。测试表明,对于从32kHz到192kHz的不同输入信号,该DAC模块输出1比特码流的带内信噪比均能满足24比特数据转换应用的分辨率要求。
上传时间: 2013-07-08
上传用户:从此走出阴霾
随着微电子技术和计算机技术的迅猛发展,尤其是现场可编程器件的出现,为满足实时处理系统的要求,诞生了一种新颖灵活的技术——可重构技术。它采用实时电路重构技术,在运行时根据需要,动态改变系统的电路结构,从而使系统既有硬件优化所能达到的高速度和高效率,又能像软件那样灵活可变,易于升级,从而形成可重构系统。可重构系统的关键在于电路结构可以动态改变,这就需要有合适的可编程逻辑器件作为系统的核心部件来实现这一功能。 论文利用可重构技术和“FD-ARM7TDMLCSOC”实验板的可编程资源实现了一个8位微程序控制的“实验CPU”,将“实验CPU”与实验板上的ARMCPU构成双内核CPU系统,并对双内核CPU系统的工作方式和体系结构进行了初步研究。 首先,文章研究了8位微程序控制CPU的开发实现。通过设计实验CPU的系统逻辑图,来确定该CPU的指令系统,并给出指令的执行流程以及指令编码。“实验CPU”采用的是微程序控制器的方式来进行控制,因此进行了微程序控制器的设计,即微指令编码的设计和微程序编码的设计。为利用可编程资源实现该“实验CPU”,需对“实验CPU”进行VHDL描述。 其次,文章进行了“实验CPU”综合下载与开发。文章中使用“Synplicity733”作为综合工具和“Fastchip3.0”作为开发工具。将“实验CPU”的VHDL描述进行综合以及下载,与实验箱上的ARMCPU构成双内核CPU,实现了基于可重构技术的双内核CPU的系统。根据实验板的具体环境,文章对双内核CPU系统存在的关键问题,如“实验CPU”的内存读写问题、微程序控制器的实现,以及“实验CPU'’框架等进行了改进,并通过在开发工具中添加控制模块和驱动程序来实现系统工作方式的控制。 最后,文章对双核CPU系统进行了功能分析。经分析,该系统中两个CPU内核均可正常运行指令、执行任务。利用实验板上的ARMCPU监视用“实验CPU”的工作情况,如模拟“实验CPU”的内存,实现机器码运行,通过串行口发送的指令来完成单步运行、连续运行、停止、“实验CPU"指令文件传送、“实验CPU"内存修改、内存察看等工作,所有结果可显示在超级终端上。该系统通过利用ARMCPU来监控可重构CPU,研究双核CPU之间的通信,尝试新的体系结构。
上传时间: 2013-04-24
上传用户:royzhangsz
P C B 可测性设计布线规则之建议― ― 从源头改善可测率PCB 设计除需考虑功能性与安全性等要求外,亦需考虑可生产与可测试。这里提供可测性设计建议供设计布线工程师参考。1. 每一个铜箔电路支点,至少需要一个可测试点。如无对应的测试点,将可导致与之相关的开短路不可检出,并且与之相连的零件会因无测试点而不可测。2. 双面治具会增加制作成本,且上针板的测试针定位准确度差。所以Layout 时应通过Via Hole 尽可能将测试点放置于同一面。这样就只要做单面治具即可。3. 测试选点优先级:A.测垫(Test Pad) B.通孔(Through Hole) C.零件脚(Component Lead) D.贯穿孔(Via Hole)(未Mask)。而对于零件脚,应以AI 零件脚及其它较细较短脚为优先,较粗或较长的引脚接触性误判多。4. PCB 厚度至少要62mil(1.35mm),厚度少于此值之PCB 容易板弯变形,影响测点精准度,制作治具需特殊处理。5. 避免将测点置于SMT 之PAD 上,因SMT 零件会偏移,故不可靠,且易伤及零件。6. 避免使用过长零件脚(>170mil(4.3mm))或过大的孔(直径>1.5mm)为测点。7. 对于电池(Battery)最好预留Jumper,在ICT 测试时能有效隔离电池的影响。8. 定位孔要求:(a) 定位孔(Tooling Hole)直径最好为125mil(3.175mm)及其以上。(b) 每一片PCB 须有2 个定位孔和一个防呆孔(也可说成定位孔,用以预防将PCB反放而导致机器压破板),且孔内不能沾锡。(c) 选择以对角线,距离最远之2 孔为定位孔。(d) 各定位孔(含防呆孔)不应设计成中心对称,即PCB 旋转180 度角后仍能放入PCB,这样,作业员易于反放而致机器压破板)9. 测试点要求:(e) 两测点或测点与预钻孔之中心距不得小于50mil(1.27mm),否则有一测点无法植针。以大于100mil(2.54mm)为佳,其次是75mil(1.905mm)。(f) 测点应离其附近零件(位于同一面者)至少100mil,如为高于3mm 零件,则应至少间距120mil,方便治具制作。(g) 测点应平均分布于PCB 表面,避免局部密度过高,影响治具测试时测试针压力平衡。(h) 测点直径最好能不小于35mil(0.9mm),如在上针板,则最好不小于40mil(1.00mm),圆形、正方形均可。小于0.030”(30mil)之测点需额外加工,以导正目标。(i) 测点的Pad 及Via 不应有防焊漆(Solder Mask)。(j) 测点应离板边或折边至少100mil。(k) 锡点被实践证实是最好的测试探针接触点。因为锡的氧化物较轻且容易刺穿。以锡点作测试点,因接触不良导致误判的机会极少且可延长探针使用寿命。锡点尤其以PCB 光板制作时的喷锡点最佳。PCB 裸铜测点,高温后已氧化,且其硬度高,所以探针接触电阻变化而致测试误判率很高。如果裸铜测点在SMT 时加上锡膏再经回流焊固化为锡点,虽可大幅改善,但因助焊剂或吃锡不完全的缘故,仍会出现较多的接触误判。
上传时间: 2014-01-14
上传用户:cylnpy
并行接口电路:微处理器与I/O设备进行数据传输时均需经过接口电路实现系统与设备互连的匹配。并行接口电路中每个信息位有自己的传输线,一个数据字节各位可并行传送,速度快,控制简单。由于电气特性的限制,传输距离不能太长。8255A是通用的可编程并行接口芯片,功能强,使用灵活。适合一些并行输入/输出设备的使用。8255A并行接口逻辑框图三个独立的8位I/O端口,口A、口B、口C。口A有输入、输出锁存器及输出缓冲器。口B与口C有输入、输出缓冲器及输出锁存器。在实现高级的传输协议时,口C的8条线分为两组,每组4条线,分别作为口A与口B在传输时的控制信号线。口C的8条线可独立进行置1/置0的操作。口A、口B、口C及控制字口共占4个设备号。8255A并行接口的控制字工作模式选择控制字:口A有三种工作模式,口B有二种工作模式。口C独立使用时只有一个工作模式,与口A、口B配合使用时,作为控制信号线。三种工作模式命名为:模式0、模式1及模式2。模式 0 为基本I/O端口,模式1为带选通的I/O端口,模式 2 为带选通的双向I/O端口。口A可工作在三种模式下,口B可工作在模式 0与模式 1下,口C可工作在模式0下或作为控制线配合口A、口B工作。
上传时间: 2013-11-07
上传用户:xitai
介绍了软件动态链接技术的概念和特点,提出了基于TI TMS320系列DSP的软件动态链接技术。该技术解决了可重配置的DSP系统中关于软件二进制目标代码的动态加载和卸载的问题。采用该技术的软件重配置方案已成功运用于某多功能通信系统,为基于其他系列DSP的可重构数字处理系统提供了一定的参考,在无人值守设备、多功能信号处理设备方面具有一定的应用价值。
上传时间: 2013-10-14
上传用户:lanwei
源代码\用动态规划算法计算序列关系个数 用关系"<"和"="将3个数a,b,c依次序排列时,有13种不同的序列关系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要将n个数依序列,设计一个动态规划算法,计算出有多少种不同的序列关系, 要求算法只占用O(n),只耗时O(n*n).
上传时间: 2013-12-26
上传用户:siguazgb
1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 经过研究发现,汉诺塔的破解很简单,就是按照移动规则向一个方向移动金片: 如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C 此外,汉诺塔问题也是程序设计中的经典递归问题
上传时间: 2016-07-25
上传用户:gxrui1991
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上传时间: 2014-11-10
上传用户:wpwpwlxwlx
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上传时间: 2013-12-12
上传用户:亚亚娟娟123
给定两个集合A、B,集合内的任一元素x满足1 ≤ x ≤ 109,并且每个集合的元素个数不大于105。我们希望求出A、B之间的关系。 任 务 :给定两个集合的描述,判断它们满足下列关系的哪一种: A是B的一个真子集,输出“A is a proper subset of B” B是A的一个真子集,输出“B is a proper subset of A” A和B是同一个集合,输出“A equals B” A和B的交集为空,输出“A and B are disjoint” 上述情况都不是,输出“I m confused!”
标签:
上传时间: 2017-03-15
上传用户:yulg