直接数字频率合成(DDS)是七十年代初提出的一种新的频率合成技术,其数字结构满足了现代电子系统的许多要求,因而得到了迅速的发展。现场可编程门阵列器件(FPGA)的出现,改变了现代电子数字系统的设计方法,提供了一种全新的设计模式。本论文结合这两项技术,并利用单片机控制灵活的特点,开发了一种双通道波形发生器。在实现过程中,选用了Altera公司的EP1C6Q240C8芯片作为产生波形数据的主芯片,充分利用了该芯片的超大集成性和快速性。在控制芯片上选用ATMAL的AT89C51单片机作为控制芯片。本设计中,FPGA芯片的设计和与控制芯片的接口设计是一个难点,本文利用Altera的设计工具Quartus Ⅱ并结合Verilog-HDL语言,采用硬件编程的方法很好地解决了这一问题。 本文首先介绍了波形发生器的研究背景和DDS的理论。然后详尽地叙述了用EP1C6Q240C8完成DDS模块的设计过程,这是设计的基础。接着分析了整个设计中应处理的问题,根据设计原理就功能上进行了划分,将整个仪器功能划分为控制模块、外围硬件、FPGA器件三个部分来实现。然后就这三个部分分别详细地进行了阐述。并且通过系列实验,详细地分析了该波形发生器的功能、性能、实现和实验结果。最后,结合在设计中的一些心得体会,提出了本设计中的一些不足和改进意见。通过实验说明,本设计达到了预定的要求,并证明了采用软硬件结合,利用FPGA实现基于DDS架构的双路波形发生器是可行的。
上传时间: 2013-04-24
上传用户:gxf2016
·摘 要:本文根据当今现代通信技术的发展,对QPSK信号的工作原理进行了分析。利用Simulink仿真工具设计出一个QPSK仿真模型,以衡量QPSK存高斯白噪声信道中的性能,并对仿真结果进行了分析。[著者文摘]
上传时间: 2013-04-24
上传用户:DanXu
MIL-STD一1553B是一种集中控制式、时分指令/响应型多路串行数据总线标\r\n准,具有高可靠性和灵活性,已经成为现代航空机载系统设备互联的最有效的解\r\n决方案,广泛的应用于飞机、舰船、坦克等武器平台上,并且越来越多的应用到\r\n民用领域。完成1553B总线数据传输功能的关键部件是总线接口芯片11][41。\r\n在对M几STD一1553B数据总线协议进行研究后,参考国外一些芯片的功能结\r\n构,结合EDA技术,本论文提出了基于FPGA的1553B总线接口芯片的设计方案。\r\n在介绍了总线
上传时间: 2013-08-26
上传用户:manlian
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
本课题主要研究对象为数字预失真技术中的功放模型的建立及数字预失真算法的研究。功放的数学模型主要分为无记忆模型和记忆模型,分析了不同模型的参数估计的方法。针对以往常见的模型反转数字预失真算法,课题分析并使用了新颖的间接学习(indirect learning)数字预失真算法,从而有效避免了无法对功放模型进行求逆的缺陷,并在此架构下仿真了不同功放模型的参数估计对于数字预失真效果的影响。针对WCDMA移动通信基站系统中使用的宽带功率放大器,使用ADS和MATLAB软件联合仿真的形式来评估整个DPD系统的性能并使用实际功放进行了测试。
上传时间: 2013-10-12
上传用户:问题问题
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
内容提要: PIC系列微控制器系统扩展技术,PIC系列微控制器应用开发及常用工具有介绍, MPLAB集成开发环境IDE软件的介绍,PIC系列微控制器的应用实例! 《PIC系列单片机应用设计与实例》 pdf 窦振中 北京航空航天大学出版社 本书作为《PIC系列单片机原理和程序设计》的姊妹篇,介绍当前单片机世界中异军突起的美国Microchip公司的PIC系列单片机的应用设计技术和应用实例。内容相当丰富,包括并行的各种串行存储器、接口电路、人机对话通道、中断系统、IC总线串行通信等系统扩展技术,应用系统开发及其常用工具、集成开发环境MPLAB软件包和十分有实用价值的典型应用实例。应用实例有交流数字电压表、电力周波表、闪光报警器、移动式客房控制器、不间断电源UPS控制器、均匀分布随机数程序、4阶IIR数字滤波器程序、快速傅里叶变换程序、即热式电热水器模糊逻辑温控器、汉字热敏微型打印机等。书中给出了大部分应用实例的硬件电路、程序流程图以及汇编语言源程序。这些内容是作者近几年业部分开发工作的实践总结,有一些就是实际批量生产产品的提练和推广。 本书内容丰富而实用,语言逻辑性强,通俗流畅,易学易懂;适于广大从事单片机开发和应用的工程技术人员自学,也可作大学相关专业研究生、本科、专科、中专各种单片机应用、毕业设计的参考用书,以及培训班的教材。
上传时间: 2013-12-29
上传用户:yt1993410
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
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
用单片机制作多功能莫尔斯码电路:用单片机制作多功能莫尔斯码电路莫尔斯电码通信有着悠久的历史,尽管它已被现代通信方式所取代,但在业余无线电通信和特殊的专业场合仍具有重要的地位,这是因为等幅电码通信的抗干扰能力是其它任何一种通信方式都无法相比的。在短波波段用几瓦的功率即可进行国际间的通信,收发射设备简单易制成本低廉,所以深受业余无线电爱好者的喜爱,是业余无线电高手必备的技能。要想熟练掌握莫尔斯电码的收发技术除了持之以恒的毅力外,还需要相关的设备。设计本电路的目的就是给爱好者提供一个实用和训练的工具。 一、功能简介 本电路可以配合自动键体和手动键体,产生莫尔斯码控制信号,设有16种速度,从初学者到操作高手都能适用。监听音调也有16种,均可以通过功能键进行选择。可以按程序中设定好的呼号自动呼叫,设有听抄练习功能,听抄练习有短码和混合码两种模式,分别对10个数字和常用的38个混合码模拟随机取样,产生分组报码,供爱好者提高抄收水平之用,速度低4档的听抄练习是专为初学者所设,内容是时间间隔较长的单字符。设有PTT开关键,可以决定是否控制发射机工作,不需要反复通断控制线。无论当前处于呼叫状态还是听抄状态只要电键接点接通则自动转到人工发报程序。4分钟内不使用电路将自动关闭电源,只有按复位键才能重新开始工作。先按住听抄练习键复位则进入短码练习状态,其它功能不变。从开机到自动关机执行每个功能都有不同的莫尔斯码提示音。本电路具有较强的抗高低频干扰的能力和使用方便的大电流开关接口,以适应不同的发射设备。 二、硬件电路原理硬件电路如图1所示。设计电路的目的在于方便实用,以免在紧张的操作中失误,所以除了听抄练习键外其它键没有定义复用功能。各键的作用在图中已经标出。PTT控制在每次复位时处于关闭状态,每按动一次PTT功能键则改变一次状态,这样可以使用软件开关控制发射。 PTT处于控制状态时发光二极管随控制信号闪亮。考虑到自制设备及淘汰军用设备与高档设备控制电流的不同,PTT开关管采用了2SC2073,可以承受500mA的电流,同时还增加了无极性PTT开关电路,无论外部被控制的端口直流极性如何加到VT3的极性始终不变,供有兴趣的爱好者实验。应该注意,如果被控制的负载是感性,则电感两端必须并联续流二极管,除自制设备外成品机在这方面一般没有什么问题。手动键只有一个接点,接通后产生连续的音频和发射控制信号。在本电路中手动键的输入端是P1.5 ,程序不断检测P1.5电平,当按键按下时P1.5电平为0,程序转入手动键子程序。 自动键的接点分别接到P1.3和P1.4 ,同样当程序检测到有接点闭合时便自动产生“点”或“划”。音频信号从P输出,经VT1放大后推动扬声器发音。单片机的I/O口在输入状态下阻抗较高,容易受到高低频信号干扰,所以在每个输入端口和三极管的be端并联电阻和高频旁路电容,确保在较长的电键连线和大功率发射时电路工作稳定。图2是印刷电路版图,尺寸为110mmX85mm,扬声器用粘合剂直接粘接在电路版有铜箔的面。 三、软件设计方法 “点”时间长度是莫尔斯电码中的基本时间单位。按规定“划”的时间长度不小于三个“点”,同字符中“点”与“划”的间隔不小于一个“点”,字符之间不小于一个“划”,词与词之间不应小于五个“点”。在本程序中用条件转移指令来产生“点”时间长度。通过速度功能键功可以设置16种延时参数。用T0中断产生监听音频信号,并将中断设为优先级,保证在听觉上纯正悦耳。T1用于自动关机计时,如果不使用任何功能四分钟后将向PCON 位写1,单片机进入休眠状态,此时耗电量仅有几个微安。自动键的“点”或“划”以及手动键的连续发音都是子程序的反复调用。P1.2对地短接时自动呼叫可设定为另一内容。为了便于熟悉汇编语言的读者对发音内容进行修改,这里介绍发音字符的编码方法。莫尔斯码的信息与计算机中二进制恰好相同,我们可以用0表示“点”,用1表示“划”。提示音、自动呼叫、听抄内容等字符是预先按一定编码方式存储在程序中的常数。每个字符的莫尔斯码一般是由1至6位“点”、“划”组成,也就是发音次数最多6次。程序中每个字符占用1个字节,字符时间间隔不占用字节,但更长的延时或发音结束信息占用一个字节。我们用字节的低三位表示字节的性质,对于5次及5次以下发音的字符我们用存储器的高5位存储发音信息,发音顺序由高位至低位,用低3位存储发音次数,发音时将数据送入累加器A,先得到发音次数,然后使A左环移,对E0进行位寻址,判断是发“点”还是“划”,环移次数由发音次数决定。对于6次发音的字符不能完全按照上述编码规则,否则会出现信息重叠,如果是6次发音且最后一次是“划”我们把发音次数定义为111B,因为这时第6次位寻址得到的是1。如果第6次发音是“点”,那么这个字符的低三位定义为000B。字符间隔时间由程序自动产生,更长的时间隔或结束标志由字节低三位110B来定义,高半字节表示字符间隔的倍数,例如26H表示再加两倍时间间隔。如果字节为06H则表示读字符程序结束,返回主程序。更详细的内容不再赘述,读者可阅读源程序。四、使用注意事项手动键的操作难度相对大一些,时间节拍全由人掌握,其特点是发出的电码带有“人情味”。自动键的“点”、“划”靠电路产生,发音标准,容易操作,而且可以达到相当快的速度,长时间工作也不易疲劳。在干扰较大、信号微弱的条件下自动键码的辨别程度好于手动键码。初学者初次使用手动键练习发报要有老师指导,且不可我行我素,一旦养成不正确的手法则很难纠正。在电台上时常听到一些让对方难以抄收的电码,这可能会使对方反感而拒绝回答。使用自动键也应在一定的听抄基础上再去练习。在暂时找不老师的情况下可多练习听力,这对于今后能够发出标准正确的电码非常有益。
上传时间: 2013-10-31
上传用户:sdq_123