TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
RSA算法 :首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数...... p, q, r 这三个数便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了..... 再来, 计算 n = pq....... m, n 这两个数便是 public_key ,编码过程是, 若资料为 a, 将其看成是一个大整数, 假设 a < n.... 如果 a >= n 的话, 就将 a 表成 s 进位 (s
标签: person_key RSA 算法
上传时间: 2013-12-14
上传用户:zhuyibin
一:需求分析 1. 问题描述 魔王总是使用自己的一种非常精练而抽象的语言讲话,没人能听懂,但他的语言是可逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: ----------------------------------------------------------- (1) a---> (B1)(B2)....(Bm) (2)[(op1)(p2)...(pn)]---->[o(pn)][o(p(n-1))].....[o(p1)o] ----------------------------------------------------------- 在这两种形式中,从左到右均表示解释.试写一个魔王语言的解释系统,把 他的话解释成人能听得懂的话. 2. 基本要求: 用下述两条具体规则和上述规则形式(2)实现.设大写字母表示魔王语言的词汇 小写字母表示人的语言的词汇 希腊字母表示可以用大写字母或小写字母代换的变量.魔王语言可含人的词汇. (1) B --> tAdA (2) A --> sae 3. 测试数据: B(ehnxgz)B 解释成 tsaedsaeezegexenehetsaedsae若将小写字母与汉字建立下表所示的对应关系,则魔王说的话是:"天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅". | t | d | s | a | e | z | g | x | n | h | | 天 | 地 | 上 | 一只| 鹅 | 追 | 赶 | 下 | 蛋 | 恨 |
上传时间: 2014-12-02
上传用户:jkhjkh1982
数据结构查找算法中的二分查找算法,设置一个长度为100的查找表,有效值范围(0-1)例如设置一个值0.34运行程序就会得到他在表中位置。
上传时间: 2013-12-29
上传用户:225588
调整视频图像的分辨率需要视频缩放技术。如果图像缩放技术的处理速度达到实时性要求就可以应用于视频缩放。 传统图像缩放技术利用插值核函数对已有像素点进行插值重建还原图像。本文介绍了图像插值的理论基础一采样定理,并对理想重建函数Sinc函数进行了讨论。本文介绍了常用的线性图像插值技术及像素填充、自适应插值和小波域图像缩放等技术。然后,本文讨论了分级线性插值算法的思想,设计并实现了FPGA上的分级双三次算法。最后本文对各种算法的缩放效果进行了分析和讨论。 本文在分析现有视频缩放算法基础之上,提出了分级线性插值算法,并应用在简化线性插值算法中。分级线性插值算法以牺牲一定的计算精度为代价,用查找表代替乘法计算,降低了算法复杂度。本文设计并实现了分级双三次插值算法,详细说明了板上系统的模块结构。最后本文将分级线性插值算法与原线性插值算法效果图进行比较,比较结果显示分级插值算法与原算法误差较小,在放大比例较小时可以取代原算法。结果证明分级双三次线性插值算法的FPGA实现能够满足额定帧频,可以进行实时视频缩放。
上传时间: 2013-04-24
上传用户:亚亚娟娟123
MPEG-2是MPEG组织在1994年为了高级工业标准的图象质量以及更高的传输率所提出的视频编码标准,其优秀性使之成为过去十年应用最为广泛的标准,也是未来十年影响力最为广泛的标准之一。 本文以MPEG-2视频标准为研究内容,建立系统级设计方案,设计FPGA原型芯片,并在FPGA系统中验证视频解码芯片的功能。最后在0.18微米工艺下实现ASIC的前端设计。完成的主要工作包括以下几个方面: 1.完成解码系统的体系结构的设计,采用了自顶而下的设计方法,实现系统的功能单元的划分;根据其视频解码的特点,确定解码器的控制方式;把视频数据分文帧内数据和帧间数据,实现两种数据的并行解码。 2.实现了具体模块的设计:根据本文研究的要求,在比特流格式器模块设计中提出了特有的解码方式;在可变长模块中的变长数据解码采用组合逻辑外加查找表的方式实现,大大减少了变长数据解码的时间;IQ、IDCT模块采用流水的设计方法,减少数据计算的时间:运动补偿模块,针对模块数据运算量大和访问帧存储器频繁的特点,采用四个插值单元同时处理,增加像素缓冲器,充分利用并行性结构等方法来加快运动补偿速度。 3.根据视频解码的参考软件,通过解码系统的仿真结果和软件结果的比较来验证模块的功能正确性。最后用FPGA开发板实现了解码系统的原型芯片验证,取得了良好的解码效果。 整个设计采用Verilog HDL语言描述,通过了现场可编程门阵列(FPGA)的原型验证,并采用SIMC0.18μm工艺单元库完成了该电路的逻辑综合。经过实际视频码流测试,本文设计可以达到MPEG-2视频主类主级的实时解码的技术要求。
上传时间: 2013-07-27
上传用户:ice_qi
MP3音乐是目前最为流行的音乐格式,因其音质、复杂度与压缩比的完美折中,占据着广阔的市场,不仅在互联网上广为流传,而且在便携式设备领域深受人们喜爱。本文以MPEG-1的MP3音频解码器为研究对象,在实时性、面积等约束条件下,研究MP3解码电路的设计方法,实现FPGA原型芯片,研究MP3原型芯片的验证方法。 论文的主要贡献如下: (1)使用算法融合方法合并MP3解码过程的相关步骤,以减少缓冲区存储单元的容量和访存次数。如把重排序步骤融合到反量化模块,可以减少一半的读写RAM操作;把IMDCT模块内部的三个算法步骤融合在一起进行设计,可以省去存储中间计算结果的缓存区单元。 (2)反量化、立体声处理等模块中,采用流水线设计技术,设置寄存器把较长的组合逻辑路径隔开,提高了电路的性能和可靠性;使用连续访问公共缓存技术,合理规划各计算子模块的工作时序,将数据计算的时间隐藏在访存过程中;充分利用频率线的零值区特性,有效地减少数据计算量,加快了数据处理的速度。 (3)设计了MP3硬件解码器的FPGA原型芯片。采用Verilog HDL硬件描述语言设计RTL级电路,完成功能仿真,以Altera公司Stratix II系列的EP2S180 FPGA开发板为平台,实现MP3解码器的FPGA原型芯片。MP3硬件解码器在Stratix II EP2S180器件内的资源利用率约为5%,其中组合逻辑查找表ALUT为7189个,寄存器共有4024个,系统频率可达69.6MHz,充分满足了MP3解码过程的实时性要求。实验结果表明,MP3音频解码FPGA原型芯片可正常播放声音,解码音质良好。
上传时间: 2013-07-01
上传用户:xymbian
H.264/AVC是国际电信联盟与国际标准化组织/国际电工委员会联合推出的活动图像编码标准,简称H.264。作为最新的国际视频编码标准,H.264/AVC与MPEG-4、H.263等视频编码标准相比,性能有了很大的提高,并已在流媒体、数字电视、电话会议、视频存储等诸多领域得到广泛的应用。 本论文的研究课题是基于H.264/AVC视频编码标准的CAVLC(Context-based Adaptive Variable Length Coding,基于上下文的自适应可变长编码)编码算法研究及FPGA实现。对于变换后的熵编码,H.264/AVC支持两种编码模式:基于上下文的可变长编码(CAVLC)和基于上下文的自适应算术编码(CABAC,Context-based Adaptive BinaryArithmetic Coding)。在H.264/AVC中,尽管CAVLC算法也是采用了VLC编码,但是同以往标准不同,它所有的编码都是基于上下文进行。这种方法比传统的查单一表的方法提高了编码效率,但也增加了设计上的困难。 作者在全面学习H.264/AVC协议和深入研究CAVLC编码算法的基础上,确定了并行编码的CAVLC编码器结构框图,并总结出了影响CAVLC编码器实现的瓶颈。针对这些瓶颈,对CAVLC编码器中的各个功能模块进行了优化设计,这些优化设计包括多参考块的表格预测法、快速查找表法、算术消除法等。最后,用Verilog硬件描述语言对所设计的CAVLC编码器进行了描述,用EDA软件对其主要功能模块进行了仿真,并在Cyclone II系列EP2C20F484的FPGA上验证了它们的功能。结果表明,该CAVLC编码器各编码单元的编码速度得到了显著提高且均能满足实时通信要求,为整个CAVLC编码器的实时通信提供了良好的基础。
上传时间: 2013-06-22
上传用户:diamondsGQ
图像缩放在图像处理领域中,发挥着重要作用。图像的分辨率调整和格式变换,都需要用到图像缩放技术。随着多媒体技术和大规模集成电路的发展,利用硬件实现视频图像无级缩放已成为图像处理研究的一个重要课题。 图像缩放通常由插值算法实现。传统的插值算法由于实现原理的局限性,在缩放时容易引起边缘锯齿或细节模糊现象。针对传统插值算法的这个不足,出现了许多基于边缘改进的算法。但这些算法一般只能完成2k倍数插值,无法真正做到基于边缘的无级缩放。 为了实现基于边缘改进的无级缩放,本文做了如下五个方面的研究工作: 1.系统回顾了图像缩放技术,包括传统图像缩放技术和多边缘检测插值,分析了这些图像缩放技术的优缺点。 2.重点研究了新兴的方向多项式插值算法,该算法能够真正完成基于边缘改进的无级缩放。 3.提出改进的方向多项式插值算法(IOPI算法),该算法针对硬件实现,做了两个方面改进:提出EDV算法,简化边缘方向的确定;提出Cubic6逼近插值算法(A-Cubic6算法),改善平坦区域缩放效果。其中的EDV算法通过加减、比较模块,完成边缘方向的确定。相比原算法中的乘除法、直方图计算,大大简化了硬件实现,降低了硬件实现成本。A-Cubic6算法利用查找表简化了Cubic6点插值算法的实现,而且明显改善了非边缘区域的缩放效果。 4.研究缩放算法与图像质量的评价方法。比较、分析各算法的软件仿真结果,得出结论:本文提出的IOPI算法在平坦区域和边缘区域都具有比其它算法更突出的效果。 5.结合实时视频处理要求,研究了IOPI算法的FPGA实现。已完成最近邻域插值和A-Cubic6算法的FPGA实现,可以在硬件平台上稳定工作。
上传时间: 2013-06-05
上传用户:2728460838
伴随高速DSP技术的广泛应用,实时快速可靠地进行数字信号处理成为用户追求的目标。同时,由于可编程器件在速度和集成度方面的飞速提高,使得利用硬件实现数字信号实时快速可靠处理有了新的途径。 FIR滤波器是数字信号处理中常用部件,它的最大优点在于:设计任何幅频特性时,可以具有严格的线性相位,这一点对数字信号的实时处理非常关键。 FPGA是常用的可编程器件,它所具有的查找表结构非常适用于实现实时快速可靠的FIR滤波器,在加上VHDL语言灵活的描述方法以及与硬件无关的特点,使得使用VHDL语言基于FPGA芯片实现FIR滤波器成为研究的方向。 本文对基于FPGA的FIR数字滤波器实现进行了研究,并设计了一个16阶的FIR低通滤波器。所做的主要工作为: 1.以FIR数字滤波器的基本理论为依据,使用分布式算法作为滤波器的硬件实现算法,并对其进行了详细的讨论。针对分布式算法中查找表规模过大的缺点,采用多块查找表的方式减小硬件规模。 2.在设计中采用了自顶向下的层次化、模块化的设计思想,将整个滤波器划分为多个模块,利用VHDL语言的描述方法进行了各个功能模块的设计,最终完成了FIR数字滤波器的系统设计。 3.采用FLEX10K系列器件实现一个16阶的FIR低通滤波器的设计实例,用MAX+PLUSII软件进行了仿真,并用MATLAB对仿真结果进行了分析,证明所设计的FIR数字滤波器功能正确。 仿真结果表明,本论文所设计的FIR滤波器硬件规模较小,采样率达到了17.73MHz。同时只要将查找表进行相应的改动,就能分别实现低通、高通、带通FIR滤波器,体现了设计的灵活性。
上传时间: 2013-04-24
上传用户:zdluffy