版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计论文基于51单片机的波形发生器设计摘 要波形发生器作为信号源广泛应用于电子工业、自动控制和科学试验等领域。目前国内市场上波形发生器种类匮乏,价格昂贵。为了实验、研究以及工业需要,研制一种功能齐全、使用方便的波形发生器十分重要。本文介绍了两种基于89C51单片机和数模转换器DAC0832产生所需波形的波形发生器设计方案,两种方案各有特色,可以满足不同领域对波形发生器的需求。其中,程控波形发生器设计方案运用单片机执行程序产生波形数据,再由单片机通过定时器定时控制将波形数据送给DAC转换输出波形,本方案扩展有LED显示模块和键盘模块,具有良好的人机交互性。硬件波形发生器设计中,单片机执行
2、程序产生波形数据或从上位机接受波形数据写入外部RAM中,然后由外部电路控制从RAM中取出波形数据送于DAC转换输出波形,本方案可以产生高频波,且具有良好的可升级性。本次设计的两种方案均能产生频率、幅值可调的正弦波、三角波、锯齿波和方波四种波形。本次设计运用Keil c软件采用C语言进行软件设计,使用仿真软件Proteus进行系统功能校验,并使用Protel软件制作印刷电路板(PCB)。本次设计的两种波形发生器具有精度高、误差小、功耗低、数据传输速度快、可靠性高等特点,且具有良好的经济性,具有一定的开发价值。关键词:波形发生器,单片机,DAC0832,程控波形发生器设计,硬件波形发生器设计THE
3、 DESIGN OF WAVEFORM GENERATOR BASED ON 51 MCUABSTRACTWaveform generators are widely used in the electronics industry, automatic control and scientific experiments and other fields. Currently, waveform generators, in domestic market, are very limit. So the development of a waveform generator which is
4、 fully functional and easy to use is very important for experimental, research, and industrial needs.This article describes two schemes of the design of waveform generator (WG) based on 51 MCU and DAC 0832 chip. And the two schemes advantages to meet different areas need. Among them, in the scheme o
5、f programmable WG design, we use the MCU to generate waveform data, and then use the timer timing to control DAC converter which translate the waveform data into the output waveform. This scheme expanded with LED display module and keyboard module, which -machine interaction. In scheme, we use the M
6、CU to generate waveform data or accept the data from PC, and then transfer this data to external RAM. Specially, we use an external circuit to control the DAC conversion. This design can generate produce four kinds of waveforms (sine, triangle, sawtooth and square wave); their frequency and amplitud
7、e can adjust by users need.In this design,we use the Keil c software for software design in C language. And then we use the simulation software Proteus to check system functions, Finally, we use Protel software to produce printed circuit boards (PCB).This design of the two kinds of waveform generato
8、r , low power consumption, speed, great reliability, and good economy value. To a certain extent, it is worthy of being further developed.KEY WORDS:waveform generators, MCU, DAC0832, programmable WG design, 目录 前言1第1章 绪论2§1.1 选题背景2§1.2 波形发生器的发展状况2§1.3 选题意义3§1.4 本文研究的主要内容4§1.5
9、 章节安排4第2章 波形发生器系统方案设计及选择5§2.1 总体方案选择5§2.2 子系统模块方案选择7§2.2.1 控制器的选择7§2.2.2 调频方案设计7§2.2.3 调幅方案设计10§2.2.4 按键方案设计10§2.2.5 显示模块方案设计11§2.2.6 DA转换器的选择11§2.2.7 静态RAM的选择12§2.3 系统总体框图13§2.3.1 程控波形发生器系统框图13§2.3.2 硬件波形发生器设计框图13§2.4 系统可行性分析14第3章 主要芯
10、片及设计软件介绍15§3.1 主要芯片介绍15§3.1.1 89C51单片机15§3.1.2 数模转换器DAC083221§3.1.3 可编程并行接口电路8255A23§3.1.4 定时器55525§3.1.5 计数器7416126§3.2 设计软件介绍27§3.2.1 仿真软件Proteus27§3.2.2 编程软件Keil C5128§3.2.3 EDA软件Protel28第4章 硬件实现及模块设计电路29§4.1 程控波形发生器设计硬件电路29§4.1.1 单片机最小系
11、统及IO扩展模块29§4.1.2 波形产生及调幅模块30§4.1.3 LED显示模块31§4.1.4 按键模块32§4.2 硬件波形发生器设计33§4.2.1 单片机最小系统及IO扩展模块33§4.2.2 波形产生及调幅模块34§4.2.3 调频模块35§4.2.4 SRAM模块36§4.2.5 按键模块37§4.2.6 串行通信和供电模块38第5章 系统软件设计39§5.1 系统软件编程语言方案设计39§5.2 程控波形发生器软件设计40§5.2.1 主程序40&
12、#167;5.2.2 按键子程序40§5.2.3 显示子程序41§5.2.4 波形子程序42§5.2.5 定时器中断子程序43§5.3 硬件波形发生器软件设计45§5.3.1 主程序45§5.3.2 波形子程序46§5.3.3 数模转换子程序48第6章 PCB设计与系统调试49§6.1 PCB设计49§6.2 系统调试50§6.2.1 程控波形发生器仿真结果50§6.2.2 硬件波形发生器仿真结果54§6.3 系统误差测试及分析58§6.4 系统功能实现情况59
13、167;6.5 经济分析报告61结论62参考文献63致谢65附录 A66附录 B67附录 C68附录 D85附录 E95附录 E95附录 E97附录 F98符号说明 Hz赫兹,频率单位KHz千赫,1千赫(KHz)= 1×103赫兹(Hz)MHz兆赫,1兆赫(MHz)= 1×103千赫(KHz)GHz吉赫,1吉赫(GHz)= 1×103兆赫(MHz)V伏特,电压单位欧姆,电阻单位K千欧, 1千欧(K)= 1×103欧姆()F法拉,电容单位F 微法,1法拉(F)= 1×106微法(F)pF皮法,1微法(F)= 1×106皮法(pF)s秒,
14、时间单位ms毫秒,1秒(s)= 1×103毫秒(ms)s微秒,1毫秒(ms)= 1×103毫秒(s)RRESResistance,电阻CCAPCapacitance,电容SW拨码开关RV滑动变阻器Crystal石英晶振ROMRead only memory,只读存储器RAMRandom access memory,随机存储器SRAMStatic RAM,静态随机存储器CPUCentral Processing Unit,中央处理器DADigitalAnalog,数模转换DACDigitalAnalog Converter,数模转换器前言波形发生器作为信号源广泛应用于电子工业
15、、自动控制和科学试验等领域。雷达、通信、宇航、遥控遥测技术和电子系统等领域都随处可见波形发生器的应用。从上世纪20年代起,世界上对于波形发生器的研究与改进从未间断过,到现今已经研制出了用于不同频域的各种高性能的波形发生器。但是我国对波形发生器的研究起步较晚,国内市场上波形发生器种类匮乏,价格昂贵,且多用于航天军事等领域。在这种情况下,在实际工业应用中往往需要设计人员自行设计出所需的波形发生器,带来不必要的工程开销。所以说研制一种功能齐全、使用方便的波形发生器十分重要。本文介绍了两种基于89C51单片机和数模转换器DAC0832产生所需波形的波形发生器设计方案,两种方案各有千秋,可以满足不同领域
16、对波形发生器的需求。其中,程控波形发生器设计方案运用单片机执行程序产生波形数据,再由单片机通过定时器定时控制将波形数据送给DAC转换输出波形,由于软件的限制产生波形的上限频率受到限制无法在本方案内寻求突破方法。本方案扩展有LED显示模块和键盘模块,且可以实现频率和幅值的连续可调,具有良好的人机交互性,因此在低频需求的教学实验领域具有很好的应用前景。硬件波形发生器设计中,单片机执行程序产生波形数据或从上位机接受波形数据写入外部RAM中,然后由外部电路控制从RAM中取出波形数据送于DAC转换输出波形,本方案虽然无法像程控方案那样方便的调节波形信息,但是可以产生高频波,且具有良好的可升级性,可以用于
17、对高频信号需求的领域。本次设计运用Keil c软件采用C语言进行软件设计,使用仿真软件Proteus进行系统功能校验,并使用Protel软件制作印刷电路板(PCB)。本文着重介绍了在设计过程中的方案选择以及两种硬件和软件电路的设计,也对设计所使用的芯片及功能进行简要介绍,并对设计结果进行误差和经济性分析说明系统的可行性。另外在文章中,还分散对两种设计方案的原理、特点、实现方式、性能比对和应用领域进行说明。以便于读者能够通过本篇文章对本次设计全面理解。第1章 绪论§1.1 选题背景波形发生器又名信号源,广泛应用于电子电路、自动控制和科学试验等领域。雷达、通信、宇航、遥控遥测技术和电子系
18、统等领域都随处可见波形发生器的应用。如今作为电子系统“心脏”的信号源的性能很大程度上决定了电子设备和系统的性能的提高。因此随着电子技术的不断发展,现今对信号源的频率稳定度、频谱纯度和频率范围以及信号波形的形状提出越来越高的挑战。§1.2 波形发生器的发展状况早在上世纪20年代就出现了作为测量仪器的波形发生器1。随着电子技术的发展,波形发生器实现了从定性分析的测试仪器到用于测试接收机的标准波形发生器的转变。早期的波形发生器的机构复杂,功率较大,因此发展缓慢。伴随着晶体管的问世所带来的电子领域的巨大变革,于1964年研制出了第一台全晶体管的波形发生器。自60年代以来波形发生器有了迅速的发
19、展,这个时期的波形发生器运用模拟电子技术,由分立元件和模拟集成电路构成。这种波形发生器电路尺寸大,价格贵,功耗高,结构复杂,功能单一,且由于模拟器件存在漂移输出波形的幅度稳定性差。所以模拟技术的波形发生器的发展在后期也受到了一定的制约。70年代随着微处理器的出现,波形发生器的设计开始往数字电子技术方面进军。这时的波形发生器主要运用软硬件结合的方法从而可以实现更加复杂的功能。但是由于这时期的设计主要采用软件去实现程控波形的功能,所以也就带来了一些问题,即由于CPU工作频率的制约使得设计产品只能输出低频波形。当时专用于信号处理的微处理器时钟频率只有1-2MHz,AD和DA一般为8位,且内部存储容量
20、也很小。所以实际上能够产生波形的有效频宽不会超过1MHz,再去考虑波形的平滑度和失真度,重复频宽不会超过10KHz。80年代后期才真正克服软件的问题出现了几种高性能的函数发生器。其中最具代表性的是HP公司推出的HP70S信号模拟装置系统,它由HP8770A任意波形数字化和HP1776A波形发生软件组成。传统的波形发生器产生的波形比较单一,如正弦波、方波、脉冲波、三角波等。随着科学实验研究的需求的不断发展,对波形种类的需求也呈现出多样化的趋势。如电子设备的性能指针测试中就需要能提供一些非常规的测试信号的信号源,即能产生现场所需要波形的任意波形发生器(Arbitrary Waveform Gene
21、rator, AWG)。 早期的任意波形发生器主要着重音频等低频频段,现在的任意波形发生器已扩展到射频频段,目前任意波形发生器的带宽可以达到2GHz,足够仿真许多移动通信、卫星电视的复杂信号。任意波形发生器的典型代表为Lecroy公司生产的的9100任意波形发生器2。现今市场上技术比较成熟的波形发生器产品有:安捷伦公司生产的33250A函数任意波形发生器,其输出频率宽度范围为1Hz-80MHz,可应用于各供不同频段的设计。该公司生产的8648D射频信号发生器大量应用于超高频的工业设计领域,频率宽度范围高达9KHz-4GHz3。§1.3 选题意义虽然我国对于波形发生器的研制起步较晚,但
22、是通过几年的努力也取得了一些可喜的成果。国产SG1060数字合成信号发生器可以双通道同时输出高分辨率、高精度、高可靠性的各种波形,其频率覆盖范围为1Hz-60MHz。国产S1000数字合成扫频信号发生器的频率范围为1MHz-1024MHz,可应用于超高频领域。但是总的来说,这些设计产品价格昂贵主要应用于航空、军事等高端领域,在日常民用方面并没有形成自己真正的产业。目前国内成熟的产品多位一些PC仪器插卡,独立仪器少之又少。并且我国现今的任意波形发生器的种类和性能与国外相比仍有很大差距,因此对此内产品的研究设计仍具有重要意义。§1.4 本文研究的主要内容本次设计的任务是运用新一代高性能数
23、字芯片设计一种使用方便,性能良好的独立式波形发生器。该波形发生器系统采用51单片机进行控制,DAC0832芯片进行DA转换。本次设计所实现的基本功能如下:(1) 能够产生正弦波、三角波、锯齿波和方波四种波形。(2) 扩展有键盘模块用于对对波形类型、频率和峰峰值进行设定。(3) 扩展有显示输出模块显示当前输出波形的类型、频率和峰值信息。本篇论文主要讨论的是波形发生器设计的方案选择,系统硬件电路设计问题,单片机软件和生成常用波形软件编写问题,以及对本次设计中的主要芯片的介绍。另外,本文还分散的对本次设计所采用的两种设计方案(程控波形发生器设计和基于硬件的波形发生器设计)的特点进行比较说明,并对两种
24、设计的应用前景进行阐述。§1.5 章节安排本文对基于单片机的波形发生器设计进行了详细的说明,共分六章。第一章主要介绍了课题的研究背景、发展、意义,设计的整体内容以及任务安排。第二章对设计前的系统方案以及各模块的实现方案进行比对和选择,从而确定出最终的两种设计方案,即程控波形发生器设计方案和硬件波形发生器设计方案。第三章对本次设计所使用的主要芯片如89C51单片机、8255A3、DAC0832等进行了介绍,并且对这些芯片在系统设计运用的功能给予简要说明,在本章最后对系统设计所使用的开发软件予以介绍。第四章对系统两种设计方案的硬件电路各模块的设计及工作方法分别进行详细介绍。第五章对两种设
25、计方案的各程序模块的设计及流程图分别予以详细的说明。第六章主要分为4个部分,首先对PCB设计进行了简要说明,然后对系统仿真结果及误差进行分析,接着对系统实现的功能及不足进行综合说明,组后对系统的可行性进行分析说明。在文章的最后还附录了软件程序、硬件电路图和PCB图。第2章 波形发生器系统方案设计及选择§2.1 总体方案选择波形发生器的设计可以通过多种方案来实现,在设计之前需要对各种设计方案进行比较和选择:方案一:采用分立元件构成非稳态的多谐振荡器,然后根据所需波形的要求加入积分电路等构成波形发生器,如图2-1所示。U0输出为正弦波、U1输出为方波、U2输出为三角波,三种波形输出频率相
26、同。通过调节第一级运放的RC参数,可以改变频率。图2-1 采用分立元件构成的简易波形发生器方案二:采用单片机控制的单片函数发生器(如8038芯片)来进行波形发生器的设计。8038可以同时产生方波、三角波和正弦波专用集成电路4。方案三:利用专用直接数字合成DDS芯片去实现波形发生器的设计。例如专门用于波形发生器的集成微处理器8XC196MCMD单片机可以直接产生高频率的各种常用信号波形5。方案四:对51单片机进行编程,在单片机ROM中写入各种波形子程序,使其根据按键设定产生相应的波形数据,波形数据送入DA转换芯片DAC0832从而输出相应的波形。我将此种方法称作“程控波形发生器设计”6。方案五:
27、对51单片机进行编程,在生成波形之前单片机将各波形的离散数据写入SRAM中,随后由外部时钟控制SRAM将波形数据输送给DA转换器从而生成波形。我将此种方法称作“硬件波形发生器设计” 7。对以上五个方案进行比较,可以得出如下结论:方案一由于采用分立元件,模拟信号容易受到干扰难以保证高的精度(如放大器有饱和失真、截止失真、交越失真,集成电路难免有零点漂移),且结构复杂,设备体积较大,不便于波形参数的调节。方案二简单易行,但是8038产生的波形容易寄生高次谐波分量,且频率的稳定性差。方案三虽然集成度高,生成的波形质量高,但是硬件成本较高。方案四和方案五基于51单片机设计软硬件结合,硬件成本低,软件起
28、点低,优化型相对比较好,设计时间短,成本低,可靠性高,且满足设计要求。方案四“程控波形发生器设计”8是运用软件编写波形子程序,并通过单片机将数据向DA转换器的传输。这种方案如1.2节所说只能产生不高于10KHz的波形,因此只可用于低频波形发生器的设计。但是此种方案所生成的波形完全由程序实现,所以峰峰值和频率在一定范围内连续可调,而且可以添加键盘和显示功能模块来提高人机交互性,这使得此种方案设计更接近于一个完整的系统。基于这些考虑,此种设计产品仍有很大的应用前途,例如,用于实验教学的信号源或低频段的工业设计。方案五“硬件波形发生器设计”9首先它运用单片机将波形数据写入SRAM中,然后由外部时钟源
29、控制SRAM向DA转换器输送数据进行转换。这种方案生在单片机写入波形数据到SRAM后就解放了工作任务,剩下的波形输出任务完全由外部时钟源控制,所以输出波的频率由外部时钟决定。因此只要外部时钟源允许就可以生成任意频率的波形。但是这也就带来了一个问题:如果要求对波的频率进行调节就需要更换外部时钟源。由于这个问题也就造成了此种方案无法像方案四中那样实现频率的连续可调。但是考虑到在实际的工业设计中所需的波形频率是有限的,针对特定的系统我们可以通过分频得到多个频率来满足系统的要求。并且本方案中单片机在后期处于闲置状态,这时单片机作为控制器可以去完成更多的功能,如时钟显示功能,可见此种方案具有很好的可扩展
30、性。基于这些考虑,本方案的设计适于作为一个大系统中的波形发生器子系统,如雷达系统的波形发生器。综上所述,本次设计采用方案四和方案五进行两种不同应用领域的波形发生器设计。两种设计方案的具体实施在下文中将会分别予以介绍。§2.2 子系统模块方案选择本节对本次设计中起主要作用的控制器、调频模块、调幅模块、按键模块、显示模块、DA转换器和SRAM的设计方案和选型方法进行了具体的阐述。下面分别予以介绍。§2.2.1 控制器的选择本次设计中提供了三种控制器方案,具体阐述如下:方案一:选用89C51单片机作为控制器。方案二:选用FPGA、CPLD等可编程器件组合构成控制模块10。方案三:
31、选用专用于波形发生器的集成微处理器8XC196MCMD作为控制器。对以上方案综合比对,可以得出如下结论:方案二中的FPGA可以实现各种复杂的逻辑功能,且具有密度高、速度快、稳定性好等优点。但是FPGA在掉电后会丢失当前数据,需要增加额外的程序开销。并且FPGA具有数字逻辑器件所共有的问题竞争和冒险,所以设计时必须考虑抗干扰性。另外FPGA相对于单片机的编程起点较高,增加编程的难度。方案三中的专用处理器生成的波形频段宽,稳定性好,精度高,执行速度快,且编程简单,不需要外围硬件电路,但是芯片价格昂贵。方案一中51单片机使用灵活,软件起点低,功耗低,价格低廉,但是必须配合一定的外围硬件电路才能实现波
32、形发生器的功能(其实外围电路并不复杂)。从电路结构复杂程度和成本角度及综合性价比考虑,确定选择方案一。§2.2.2 调频方案设计本次设计提供了两种调频方案的构思,具体阐述如下:方案一:通过硬件电路控制离散波形数据的输出速度从而实现频率的改变。将外部时钟信号经过不同的分频作为储存离散波形数据的SRAM的输出译码地址,使SRAM按照一定的时间间隔输出波形数据给DAC进行转换。通过外部时钟分频器的设置来选择波形的频率档位。(具体方法参见第四章)方案二:通过对单片机的定时器(具体参见第三章)的编程来实现调频。将一个周期的波形数据离散成256个采样点数据(具体方法见第五章),然后令微处理器的累
33、加器A自身循环增加,没增加一次即向DAC送出一个波形采样数据,并启用一次定时器延时。当8位累加器A的内容达到最大的计数值255时在自增一次就变成最小值零,然后可以继续增加。如此,周而复始就可以从DAC得到要求的波形输出。当然通过对定时器初值的设定可以改变波形的频率。例如,单片机的晶振频率fOSC=12MHz,定时器采用方式1,若产生周期为T的波形,定时器初值的计算方法如下:单片机机械周期Tmec为: (2-1)定时器初值TC为: (2-2)定时器初值高位TCH为: (2-3)定时器初值低位TCL为: (2-4)当要获得1Hz的波形时,按照上述方法可以算出:TC=61630, TCH=240,
34、TCL=190但是此种方案最大计数值为65536,最小计数值为1,所以决定了此种方法所能得到的波形的上限频率fMAX为: (2-5)下限频率fMIN为: (2-6)需要说明的是以上上限下限频率是对于将一周期波形离散成256个数据点的正弦波和锯齿波而言的。对于三角波本次设计是将一个周期的波形离散成512个波形数据,所以能得到的波形的上限频率fMAX为: (2-7)下限频率fMIN为: (2-8)对于方波本次设计是将一个周期的波形离散成2个波形数据(0和255),所以能得到的波形的上限频率fMAX为: (2-9)下限频率fMIN为: (2-10)可见方波输出的下限频率过高,所以进行方波的低频输出时
35、需要进行特别的程序处理,具体参见第五章。对以上方案综合比对,可以得出如下结论:方案一主要是靠硬件实现调频,无上限频率和下限频率的限制,且频率的误差度可以忽略不计,但是频率的选择只可是外部时钟源的整倍数分频(如2分频、4分频等),不可实现频率的连续可调。方案二是靠软件来实现调频,综合可以看出此种方案的有效频段为0.06Hz到1953Hz,在此范围内输出波形频率连续可调。但是由于输出高频时受到软件执行(例如对定时器的重新赋值指令需要占用4个机械周期,一周期波形需要进行256次再赋值操作,所以一个周期也就引入了的误差)的影响,在高于1KHz时得到波形频率与期望频率误差较大,且得出低于0.1Hz波形的
36、意义不大,故设定有效调频范围为0.1Hz1KHz。如2.1节所述,硬件波形发生器设计选择方案一,程控波形发生器设计选择方案二。§2.2.3 调幅方案设计在此之前,首先需要说明DAC0832的输出电压的计算方法: (2-11)其中Vref为DAC0832的基准电压,N为单片机送给DAC0832的8位数字量。方案一:将DAC0832的RFB引脚接一个滑动变阻器来改变DAC0832的基准电压Vref,从而通过改变基准电压Vref来改变DAC0832的输出电压Vo,即实现波形幅度的改变。方案二:为了将DAC0832输出的电流信号转化为电压信号,需要在DAC的电流输出接运放。在运放的电压输出端
37、加滑动变阻器可以实现输出波形幅值的调节。方案三:采用两片DAC0832串接在一起,即第一片DAC的电压输出接第二片DAC的基准电压Vref引脚。单片机通过程序改变送给第一片DAC0832的数字量来改变其输出电压,即第二片DAC的参考电压Vref,从而改变幅值。方案一和方案二相比,方案二在改变输出电压的过程中,实际的电压与预期的电压会有一个纹波的差别,所以方案一更好。方案一与方案三相比,虽然方案三增加了额外的硬件和软件的开销,但是可以通过按键对程序参数进行设定来改变输出幅值,不需要对硬件滑动变阻器进行手动调节,具有优越的人机交互性。综合考虑而言,硬件波形发生器设计选择方案一,程控波形发生器设计选
38、择方案三。§2.2.4 按键方案设计方案一:采用独立按键。方案二:采用矩阵键盘。方案一按键的数目少,结构简单,编程容易,执行效率高。方案二可以节省单片机的IO口资源,但是其编程方法(行扫描法和反转扫描法)难度较大。由于我们需求的按键数目较少,功能比较简单且对执行效率的要求较高,所以采用独立按键。§2.2.5 显示模块方案设计方案一:采用LED七段数码管对波形类型、频率和幅度进行显示。方案二:采用LCD1602液晶显示相关信息。方案三:采用LCD1286液晶图文显示相关信息。方案一占用较多的IO口资源,需要添加额外的IO扩展电路和译码电路,但是此方案硬件价格低廉,编程起点低。
39、方案二运用液晶显示可以显示点阵字母和数字信息,速度快,功耗低,体积小,但是硬件价格较贵,且编程相对于LED较难。方案三的液晶可以显示汉字和图形,这些功能在本次设计中用不到。综合考虑,程控波形发生器设计并不需要显示复杂的信息,所以选择方案一。硬件波形发生器设计不准备加入显示模块,主要是因为此种方案适用于生成特定波形的系统中,使用人员并不需要经常对波形的频率和幅值进行更改,所以显示模块在此种方案中显得冗余。§2.2.6 DA转换器的选择DA转换器的转换时间是指模数转换器完成一个转换所需的时间,是DA转换器的一个重要参数。在本次设计中DAC的转换时间直接影响到输出波形的上限频率。按转换速度
40、去划分现有的DAC可以分为低速(建立时间大于100)、中速(建立时间110050ns)和超高速(建立时间小于50ns)四种。因此本次设计最初对DA转换器的选择提供了如下两种方案:方案一:采用8位高速DA转换器(如DAC908,TLC7524)进行设计。方案二:采用常用的8位DA转换器DAC0832进行设计。方案一转换器的转换上限频率fMAX至少为: (2-12)方案二中选用的DAC0832为中速转换器,其转换速度为1us,所以其转换的上限频率fMAX为: (2-13)可见使用DAC0832产生的波形由于硬件的限值上限频率只有4KHz左右。但是在随后使用的仿真软件Proteus的元件库所提供的D
41、A转换器只有DAC0832这类中速转换器,所以在后面的仿真介绍中我们选用DAC0832芯片作为系统的转换器去仿真低频波形,而在制作PCB板时我们选用转换速度更高的DAC908芯片作为转换器以满足高频要求。§2.2.7 静态RAM的选择根据前文的介绍可知在硬件波形发生器设计中需要用到SRAM去存储离散的波形数据。以下是对SRAM进行选择的两种方案:方案一:采用普通的6116型号的SRAM。方案二:采用双端口RAM(如IDT7132芯片)。由于此次设计是将波形离散成256个波形数据,所以对RAM容量的要求大于256B即可。硬件波形发生器设计的设计中首先需要单片机将数据写入RAM中,然后需
42、要RAM将数据发送给DAC进行转换,这就意味着RAM即要从单片机接受数据又要输出数据给DAC。基于这种考虑首先想到的是使用双口RAM IDT7132解决这一问题,因为7132芯片有两组数据端口可以分别用于输入和输出。但是考虑到IDT7132芯片的价格昂贵,且Proteus仿真软件也没有提供此类软件,所以我选择用普通的6116RAM解决问题。由于设计时RAM的输入和输出不是同步进行的,可以运用锁存器去控制不同执行阶段数据的传输方向,具体方法请参见第四章。§2.3 系统总体框图如前文所述,本次设计采用两种设计方案以满足两种不同领域的波形发生器设计。以下分别对这两种设计的系统框图予以介绍。
43、§2.3.1 程控波形发生器系统框图本系统由单片机最小系统(由51单片机、晶振电路和复位电路组成),键盘电路,LED显示模块,两片DAC0832构成的调幅模块和电源供电模块以及用于扩展IO口的8255A芯片组成。图2-2 程控波形发生器系统框图在使用过程中用户首先通过键盘输入波形的类型、频率和幅值,单片机通过按键输入动作计算频率和幅值,然后执行程序驱动LED显示器显示当前波形的类型、频率和幅值信息,同时产生波形数据送于DA转换器并通过放大器输出波形。§2.3.2 硬件波形发生器设计框图本系统由单片机最小系统,键盘电路,数模转换模块,串行通信模块,USB供电模块,由外部时钟和
44、分频电路组成的调频模块以及8255A芯片,SRAM芯片组成。图2-2 硬件波形发生器系统框图在使用过程中,用户先通过键盘设定要输出波形的类型和分频选择。随后在系统运行初期51单片机将波形数据通过8255A写入SRAM中,然后将外部时钟经设定的分频电路的信号作为SRAM的地址信息从SRAM中读取数据送入数模转换模块生成波形。同时系统中扩展了RS232串行通信模块用于与上位机通信,可以从上位机获取波形数据。§2.4 系统可行性分析系统地电源部分我们选用7805、7815、7915三个三端集成稳压器得到+5V、+15V、15V的电压,然后再将这三个集成稳压器输出的电压值供给整个系统;通过D
45、AC0832或DAC908进行数模转换;集成运放OP05进行电压放大;运用8255A芯片进行IO扩展;拨码开关组成按键系统;程控波形发生器设计的显示模块还用到一片74LS138、两篇7404反相器和8组LED;硬件波形发生器设计额外用到一片SRAM6116,两片74LS373锁存器,一片555作外部时钟源,三片74161作分频译码电路,一个MAX232和一个9针插口组成串行通信模块。以上这些器件在市场上都很普及,价格低廉,容易获得,因此器件的选择经济可行。第3章 主要芯片及设计软件介绍§3.1 主要芯片介绍为了便于对下章硬件电路进行说明,本节将对设计中起主要作用的一些芯片进行介绍,如
46、89C5111、8255A12、DAC083213、DAC908、55514、74161。§3.1.1 89C51单片机STC89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中, 89C51是一种高效微控制器,89C2051是它的一种精简版
47、本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1. 主要特性l 与MCS-51 兼容l 4K字节可编程闪烁存储器l 寿命:1000写擦循环l 数据保留时间:10年l 全静态工作:0Hz-24MHzl 三级程序存储器锁定l 128×8位内部RAMl 32可编程IO线l 两个16位定时器计数器l 5个中断源l 可编程串行通道l 低功耗的闲置和掉电模式l 片内振荡器和时钟电路2. 管脚说明图3-1 89C51单片机引脚说明图(1) 电源和晶振VCC:运行和程序校验时加+5V电压。GND:接地。XTAL1:输入到振荡器的反向放大器。XTAL2:方向放大器的输出,输入到内
48、部时钟发生器。(2) IO口89C51单片机有4组8位的IO口,共32根口线。P0口:8位漏级开路双向IO口。当P0口的管脚第一次写1时,被定义为高阻输入。当使用片外存储器(RAM或RAM)时,作地址和数据总线分时复用。在程序校验期间,输出指令字节(这时需要加外部上拉电阻)。P0口(作为总线时)能驱动8个LSTTL负载。P1口:8位准双向IO口,具有内部上拉电阻。在编程校验期间,用作输入低位字节地址。P1口能驱动4个LSTTL负载。P2口:8位准双向IO口,具有内部上拉电阻。当使用片外存储器(RAM或RAM)时,输出高位地址。在编程校验期间,接收高位字节地址。P2口可以驱动4个LSTTL负载。
49、P3口:8位准双向IO口,具有内部上拉电阻。P3口可以驱动4个LSTTL负载。P3还提供了各种替代功能。在提供这些替代功能时,其输出锁存器应由程序置1。具体功能表述如下: RXD,串行输入口,输入。 TXD,串行输出口,输出。 ,外部中断0,输入。 ,外部中断1,输入。 T0,定时计数器0的外部输入端,输入。 T1,定时计数器1的外部输入端,输入。 ,低电平有效,输出,片外数据存储器写选通。 ,低电平有效,输出,片外数据存储器读选通。(3) 控制线RST:复位输入信号,高电平有效。在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。VPP:片外程序存储器访问允许信号,低电平有效
50、。在编程时,其上施加12V的编程电压。ALE:地址锁存允许信号,输出。用作片外存储器访问时,低字地址锁存。ALE以16的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。在编程期间,作输入。输入编程脉冲()。ALE可以驱动8个LSTTL负载。:片外程序存储器选通信号,低电平有效。从片外程序存储器取指令期间,在每个机器周期中,当有效时,程序存储器的内容被送上P0口(数据总线)。可以驱动8个LSTTL负载。由于在此次设计中运用了单片机的定时中断功能,所以现在对单片机的定时器计数器系统和中断系统进行简要说明15。3. 定时器计数器系统89C51单片机包含有2个16位的定时器计数器:T0和T1。定
51、时器计数器的核心是一个加1计数器。在单片机的T0、T1引脚施加一个1到0的跳变,计数器加1,即为计数功能;在单片机内部对机器周期或其分频进行计数,从而得到定时,这就是定时功能。定时器计数器T0和T1由计数器TH0、TL0和TH1、TL1;特殊功能寄存器TMOD和TCON;时钟分频器;输入引脚T0、T1、和组成。(1) 方式寄存器TMOD方式寄存器TMOD是一个逐位定义的8位寄存器,字节地址为89H,其格式如下:位D7D6D5D4D3D2D1D0位功能GATECM1M0GATECM1M0其中低4为定义T0,高4位定义T1,各位的意义如表3-1所示。表3-1 方式寄存器TMOD各位功能位名称功能D
52、7GATE定时器计数器T1门控位D6C定时器计数器T1功能选择位:C=1为计数器,C=0为定时器D5M1定时器计数器T1方式选择位D4M0定时器计数器T1方式选择位D3GATE定时器计数器T0门控位D2C定时器计数器T0功能选择位:C=1为计数器,C=0为定时器D1M1定时器计数器T1方式选择位D0M0定时器计数器T1方式选择位(2) 控制寄存器TCON控制寄存器TCON是一个逐位定义的8位寄存器,即可字节寻址也可位寻址,字节地址为88H,位寻址的地址为88H-8FH,其格式如下:位地址8FH8EH8DH8CH8BH8AH89H88H位功能TF1TR1TF0TR0IE1IT1IE0IT0各位的
53、意义如表3-2所示。表3-2 控制寄存器TCON各位功能位名称功能D7TF1定时器计数器T1的溢出标志D6TR1定时器计数器T1的运行控制位D5TF0定时器计数器T0的溢出标志D4TR0定时器计数器T1的运行控制位D3IE1外部中断1请求标志位D2IT1外部中断1请求标志位出发类型选择D1IE0外部中断0请求标志位D0IT0外部中断0请求标志位出发类型选择(3) 数据寄存器TH1、TL1和TH0、TL0T0、T1各有1个16位的数据寄存器,它们都是由高8位寄存器和低8位寄存器组成,这四个寄存器的地址如表3-3所示。表3-3定时器计数器T0、T1的数据寄存器的字节地址寄存器名称字节地址TH1T1
54、的高8位数据寄存器8DHTL1T1的低8位数据寄存器8BHTH0T0的高8位数据寄存器8CHTL0T0的低8位数据寄存器8AH(4) 工作方式根据对TMOD的M1和M0的设定,T0、T1可选择4种不同的工作方式。如表3-4所示。表3-4定时器计数器T0、T1的工作方式M1M0工作方式计数器配置00方式013为计数器01方式116位计数器10方式2自动再装入的8位计数器11方式3T0分为两个8位计数器,T1作为波特率发生器本次设计中只用到了定时器的方式1,在此只对方式1进行介绍,其他几种工作方式的具体介绍请参见15相应章节。方式1时的结构图如图3-2。图3-2 定时器计数器T0、T1的结构图计数
55、时,TLx的低8位一处后向THx进位,THx溢出后将TFx置位,并向CPU申请中断。当GATE=0时,A点为高电平,定时器计数器的启动停止由TRx决定。当GATE=1时,A点的电位由决定,B点的电位由TRx和决定,即定时器计数器的启动停止由TRx和两个条件决定。计数溢出时,TFx置位。如果中断允许,CPU响应中断并转入中断服务子程序,由内部硬件清TFx。TFx也可由程序查询和清0。4. 中断系统89C51单片机有5个中断源,见表3-5所示。由于在此系统中我们只用到定时器中断,在此只对单片机中断系统的中断允许控制字IE进行说明,其他关于中断系统的相关知识请参见1相应章节。表3-5中断矢量地址中断源中断矢量地址外部中断0()0003H定时器计数器0(T0)000BH外部中断1()0013H定时器计数器1(T1)001BH串行口(RI、TI)0023H中断允许控制字IE的字节地址为A8H,其格式如下:位地址AFHAEHADHACHABHAAHA9HA8H符号EA-ESET1EX1ET0EX0IE寄存器中各位为0时,禁止中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级学有余力学生的教学方法研究
- 《土壤地理学》笔记
- 2025年湖北省高考数学模拟试卷(附答案解析)
- 数据迁移与转换
- 阅读理解记叙文(练习)(学生版)-2025年高考英语一轮复习(新教材新高考)
- 湖北省襄阳市襄州区2024-2025学年九年级上学期9月月考英语试题(含答案)
- 2024年18-萘二甲酰亚胺项目投资申请报告代可行性研究报告
- 有理数的乘方(六大题型)-2024-2025学年沪教版六年级数学上册同步练习
- 3.2 二次函数 同步练习
- 读书交流会主持词
- 江西省宜春市丰城市多校2024-2025学年五年级上学期期中数学试卷(含答案)
- 期中模拟测试卷3(试题)-2024-2025学年四年级上册数学(福建)
- 安徽省合肥市肥西县西苑中学2023-2024学年八年级上学期期中数学试卷
- 人教版(PEP)三年级英语上册2024期中考试(无答案)
- 宪法与法律学习通超星期末考试答案章节答案2024年
- 《数学三年级上学期数学期中试卷》
- 方寸之间 课件 2024-2025学年苏少版(2024)初中美术七年级上册
- 2024-2025学年人教版七年级地理上学期 期中知识清单:第一章 地球
- 宠物饲料购销合同模板
- Unit4《This is my friend》-2024-2025学年三年级上册英语单元测试卷(译林版三起 2024新教材)
- 《 合唱指挥案头工作、排练与舞台呈现的递进构建》范文
评论
0/150
提交评论