基于MSP430单片机的多种波形发生器的设计.doc

上传人:文库蛋蛋多 文档编号:4148182 上传时间:2023-04-07 格式:DOC 页数:44 大小:1.40MB
返回 下载 相关 举报
基于MSP430单片机的多种波形发生器的设计.doc_第1页
第1页 / 共44页
基于MSP430单片机的多种波形发生器的设计.doc_第2页
第2页 / 共44页
基于MSP430单片机的多种波形发生器的设计.doc_第3页
第3页 / 共44页
基于MSP430单片机的多种波形发生器的设计.doc_第4页
第4页 / 共44页
基于MSP430单片机的多种波形发生器的设计.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《基于MSP430单片机的多种波形发生器的设计.doc》由会员分享,可在线阅读,更多相关《基于MSP430单片机的多种波形发生器的设计.doc(44页珍藏版)》请在三一办公上搜索。

1、基于单片机的多种波形发生器的设计摘要:本系统采用MSP430F149单片机为控制核心,单片机内部存储波形相关数据,利用DA芯片输出模拟波形,通过按键中断来选择要输出的波形(正弦波、方波、三角波、锯齿波),再设置波形的幅值及频率,然后通过单片机控制显示到Nokia5110液晶上。关键字:MSP430,信号发生器,Nokia5110液晶Design a variety of waveform generator based on single chipAbstract:The system USES the microcontroller as control core, MSP430F149 u

2、ses DA chipoutput analog waveform, through the keys to logical choice to interrupt the output waveform (sine wave and square-wave, triangle wave, sawtooth wave), then Settings other key to control the amplitude and frequency wave, then through the single-chip microcomputer control on display to Noki

3、a5110 liquid crystal .KEY WORDS:Msp430,Signal generator,Nokia5110 liquid crystal 目录摘 要IABSTRACTII第1章前言11.1 信号发生器设计背景11.2信号发生器的发展现状11.3本设计采用的研究方法和技术路线21.4单片机的发展31.5本章小结4第2章 硬件电路52.1 电源电路52.1.1 5V稳压电源52.1.2 3.3V稳压电路62.2信号发生器的键盘电路72.3液晶显示82.3.1 Nokia5110液晶特点82.3.2 Nokia5110液晶驱动92.3.3单片机数据连接112.4 DA转换DA

4、C0832122.4.1 DAC0832引脚说明122.4.2 DAC0832的原理及控制方法132.4.3 运算放大器152.5硬件系统组成162.5.1 MSP430F149单片机简介162.5.2 复位和晶振电路182.5.3 在线烧写模块192.5.4 整体系统框图212.6本章小结22第3章 系统软件设计233.1系统构架233.2 信号发生器流程243.3 模块初始化253.4 按键扫描流程263.5 波形产生流程273.5.1 正弦波产生流程273.5.2 方波产生流程283.5.3 锯齿波产生流程293.5.4 三角波产生流程303.6波形信号的存储303.7本章小结30第4章

5、 结束语32致 谢33参考文献34附 录35第1章前言1.1 信号发生器设计背景随着计算机和集成技术的高速发展,电子电路的分析与设计及相应专业课程的教学与实验所采用的方式与方法都发生了重大变化,特别是电子设计自动化系统中所包含的测试测量技术已经成为现代教育技术的重要组成部分, 在高校的各个电子相关的实验室中,都需要开发和测试各种复杂的电路或子系统,其通常要求从没有上市的或很难获得的元器件或传感器中提取额外的信号,由此可见信号发生器已经成为了很多行业进行研究测试不可或缺的工具。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多

6、种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。1.2信号发生器的发展现状信号发生器既可以构成独立的信号源,也可以是高性能网络分析仪、频谱仪及其它自动测试设备的组成部分。信号发生器的关键技术是多种高性能仪器的支撑技术,因为它能够提供高质量

7、的精密信号源及扫频源,可使相应系统的检测过程大大简化,降低检测费用并极大地提高检测精度。美国安捷伦生产的33250A型函数/任意波形发生器可以产生稳定、精确和低失真的任意波形,其输出频率范围为1Hz80MHz,而输出幅度为10mVpp10Vpp;该公司生产的8648D射频信号发生器的频率覆盖范围更可高达9kHz4GHz。美国泰克生产的DTG5000 信号发生器的采样率达到最高3.35 Gb/s(数据)。国产SG1060数字合成信号发生器能双通道同时输出高分辨率、高精度、高可靠性的各种波形,频率覆盖范围为1Hz60MHz。国产S1000型数字合成扫频信号发生器通过采用新技术、新器件实现高精度、宽

8、频带的扫频源,同时应用DDS和锁相技术,使频率范围从1MHz1024MHz能精确地分辨到100Hz,它既是一台高精度的扫频源,同时也是一台高精度的标准信号发生器。还有很多其它类型的信号发生器,他们各有各的优点,但是信号发生器总的趋势将向着宽频率覆盖、高频率精度、多功能、多用途、自动化和智能化方向发展。1.3本设计采用的研究方法和技术路线1 用分立元件组成的函数发生器:根据具体需要加入积分电路等构成波形发生器。但这种信号发生器输出频率范围窄而且电路参数设定较繁琐输出的波形易受外界环境影响不稳定对电路硬件要求很高不易实现。2 可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数信号发生器I

9、C产生。3 利用单片集成芯片的函数发生器:能产生多种波形,达到较高的频率,且易于调试。4 利用专用直接数字合成DDS芯片的函数发生器:能产生任意波形并达到很高的频率,但成本较高。综合以上四种方案从性能和制作成本考虑本设计采用方案三即采用单片机控制键盘输入,设置输出的波形,幅度,频率,占空比以及波形的复合初始相位等信息。为响应当前的社会节能减排的口号,综合多方因素决定采用MSP430超低功耗单片机作为我们的核心处理器。首先去图书馆借阅有关MSP430单片机的书籍资料,了解MSP430单片机的工作原理、内部结构、功能模块、各种寄存器以及C语言,从整体上对MSP430单片机的使用方法和编程原理进行理

10、解。然后利用网络资源查阅单片机的C语言编程实例和视频讲解,对单片机每个功能模块的使用有所了解。最后根据自己的题材基于MSP430单片机的信号发生器设计指定相应的策略想办法完成编程。波形的产生是通过MSP430单片机执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。在MSP430学习板的键盘按键,通过软件编程来选择各种波形、幅值电压和频率,按不同按键产生不同波形的信号。此方案的有点是电路原理比较简单,实现起来比较容易。具体就是系统采用MSP430单片机为控制核心,利用AD芯片,通过按键中断来逻辑选择要输出的波形(正弦波、方波、三角波

11、、锯齿波),再设置其它键来控制波形的复制及频率,然后通过单片机控制显示到液晶上。本设计由检测模块、显示模块和控制模块组成,其中显示模块用LCD显示实现温度显示,控制模块通过单片机控制继电器来实现。1.4单片机的发展单片机的发展历史可划分为五个阶段:第一阶段(1974年1976年):单片机初级阶段。因工艺限制,单机采用双片形式,而且功能比较简单。例如Fairchild公司生产的F8单片机。第二阶段(1976年1978年):低性能单片机阶段。以Intel公司的MCS-48系列单片机为代表。这种单片机片内集成有8位CUP,并行IO口,8位定时器计数器,RAM及ROM等。不足之处是无串行口,中断简单。

12、第三阶段(1978年1982年):高性能单片机阶段。单片机以其优异的性能,低廉的价格,不断渗透到社会生活的每个角落。单片机生产厂商如雨后春笋不断涌现,多系列,多型号,各种性能组合的单片机层出不穷,不断满足不同应用场合的新要求。随着芯片制作工艺,技术水平的不断提高和单片机需求量的不断加大,单片机的性能价格比不断攀升,呈现出一派欣欣向荣的景象。第四阶段(1982年1990年):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。 第五

13、阶段(1990年至今):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位16位32位通用型单片机,以及小型廉价的专用型单片机。11.5本章小结我们对信号发生器设计方案进行了系统的论证,选择出合适的方案作为我们系统的设计。并且介绍了单片机的各个发展阶段,单片机在性能和处理速度方面的不断进步。单片机更好的服务我们的生活。第2章 硬件电路2.1 电源电路我们系统需要5V和3.3V混合电源系统。作为整个系统的动力来源当今社会人们极大的享受着电子设备带来的便利,但是任何电子设备都有一个共同的电路-电源电路。大到超级计算机、小到袖珍计算器,所有的电

14、子设备都必须在电源电路的支持下才能正常工作。当然这些电源电路的样式、复杂程度千差万别。超级计算机的电源电路本身就是一套复杂的电源系统。通过这套电源系统,电子系统各部分都能够得到持续稳定、符合各种复杂规范的电源供应。袖珍计算器则是简单多的电池电源电路。比较新型的电路完全具备电池能量提醒、掉电保护等高级功能。可以说电源电路是一切电子设备的基础,没有电源电路就不会有如此种类繁多的电子设备。2.1.1 5V稳压电源电子产品中,电源是电路中非常重要的部分,一个好的电源才能保证系统的正常工作。本系统中由于各部分的工作电压不一样,所以要用到多个电源。现在有许多稳压芯片它们可以提供稳定的电压。常见的三端稳压集

15、成电路有正电压输出的78 系列和负电压输出的79系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。这是一个输出正5V直流电压的稳压电源电路。IC采用集成稳压器7805,C1、C2分别为输入端和输出端滤波电容,RL为负载电阻。图 2-1 5V电源电路2.1.2 3.3V稳压电路该电路采用AMS11173.3系列稳压器有可调版与多种固定电压版,设计用于提供1A

16、输出电流且工作压差可低至1V。在最大输出电流时,AMS1117器件的压差保证最大不超过1.3V,并随负载电流的减小而逐渐降低。AMS1117的片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力。 AMS1117器件引脚上兼容其他三端SCSI稳压器,提供适用贴片安装的SOT-223 高效线性稳压器 后置稳压器,用于交换式电源 5V至3.3V线性稳压器 电池充电器 有源SCSI终端 笔记本电源管理 电池供电设备AMS1117 基本参数 输出电流 (A) 1 输出电压 (V) 3.3初始误差 (%) 1.5 压差 (V) 1.3 图 2

17、-2 3.3V电源电路2.2信号发生器的键盘电路单片机外接键盘一般分为独立键盘和矩阵键盘两大类。独立键盘就是单片机的个I/O端口直接与一个按键相连,特点是电路简单,判断方便。在很多按键较少(一般4个左右的时候)的系统中可以使用这种键盘。但它有一个很大的缺点:当按键较多时,会占用大量的I/O端口。严重浪费了系统资源,不益选取此种按键。矩阵键盘与独立按键相比也具有电路简单的优点,同时还具有一个优点就是2N个端口可以编程出NN个按键。当N很大时,这种方法可以节约大量端口节省系统资源。在本系统中大约会用到十个左右的按键控制。所以选取的矩阵按键这一节省系统资源的键盘形式。2本系统所需要的键盘有8个,经过

18、分析觉得使用独立式键盘更为合适,但是手上有现有的4*4矩阵键盘,因此使用了4*4矩阵键盘。连接电路如图2-3所示。图2-3 键盘模块电路现在具体分析键盘的工作原理:键盘初始化使得单片机P1的P1.0P1.3设置为输入状态, P1.4P1.7设置为输出状态,然后令P1.4P1.7输出低电平,P1.0P1.3下降沿触发中断,并开中断。进入中断子程序后进行扫描并获得键值,最后根据按键的不同分别跳到对应的子程序中。在扫描的子程序中,当在P1.7管脚上输出低电平,并且行线的其他管脚上输出高电平时,如果“K1”键被按下,则P1.0为低电平;如果“K2”键被按下,则P1.1为低电平;如果“K3”键被按下,则

19、P1.2为低电平;如果“K4”键被按下,则P1.3为低电平。通过设置一条行线的输出就可以获取列线上的相应状态,从而获得键盘输入的值。同理,依次在其他列线上输出低电平,就可以获取其他键的输入值。通过这样的扫描方式,可以实现键盘的输入。2.3液晶显示显示器一直就是我们进行人机交互的一项重要工具,而作为科学发展产物的液晶.更是让我们听到了福音,我们在设计系统的时候常常用到的液晶种类有段式液晶,带字库和不带字库的LCD12864,LCD1602。液晶的主要特点有:1. 机身薄,节省空间:与比较笨重的CRT显示器相比,液晶显示器只要前者三分之一的空间,而且得益于液晶显示器的这一特点使很多微型电子产品中的

20、产生成为了可能。 2. 省电,不产生高温:它属于低耗电产品,可以做到完全不发烫,相对与CRT显示器,因显像技术不可避免产生高温。 3. 无辐射,益健康:液晶显示器完全无辐射,这对于整天在电脑前工作的人来说是一个福音。 4. 画面柔和不伤眼:不同于CRT技术,液晶显示器画面不会闪烁,可以减少显示器对眼睛的伤害,眼睛不容易疲劳。 32.3.1 Nokia5110液晶特点我们这个系统采用的是Nokia5110液晶,该液晶特点1 84x48 的点阵LCD,可以显示4 行汉字,2 采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9 条。支持多种串行通信协议(如AVR

21、 单片机的I、MCS51 的串口模式等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。3 可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。4 LCD 控制器驱动器芯片已绑定到LCD 晶片上,模块的体积很小。5 采用低电压供电,正常显示时的工作电流在200A 以下,且具有掉电模式。LPH7366 的这些特点非常适合于电池供电的便携式通信设备和测试设备中6 性价比高,LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符。Nokia5110裸屏仅8.8元,LCD1602一般15元左右,LCD12

22、864一般5070元。7 接口简单,仅四根I/O线即可驱动,LCD1602需11根I/O线,LCD12864需12根。8 速度快,是LCD12864的20倍,是LCD1602的40倍。9 Nokia5110工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便携式移动设备。2.3.2 Nokia5110液晶驱动Nokia5110是一款经典机型,可能由于经典的缘故,旧机器很多,所以很多电子工程师就把旧机器的屏幕拆下来,自己驱动Nokia5110,用于开发的设备显示,取代LCD1602。SPI接口时序写数据/命令: Nokia5110(PCD8544)的通信协议是一个没

23、有MISO只有MOSI的SPI协议,如果单片机有富裕的SPI接口,也可以利用硬件SPI,但通常没有必要,只需要软件程序模拟即可。图2-4 液晶驱动时序Nokia5110的初始化接通电源后,内部寄存器和RAM的内容是不确定的,这需要一个RES低电平脉冲复位一下。当VDD变为高电平,达到VDDmin(或更高)之后,最多100ms,RST输入低电平(电平幅度0.3VDD)。图2-5 5110复位时序显示汉字:显示汉字可以采用两种点阵方式,一种是12*12点阵,一种是16*16点阵,网上也有一个自动提取字模的小软件“3310液晶显示屏汉字提取程序”,这个小程序只适用于水平寻址(V=0)。采用12*12

24、点阵汉字时,由于不是8的整数倍数,因此行与行之间只能隔开,这样才能完整显示一个汉字。0x0A,0x92,0x62,0x9E,0x02,0x18,0x87,0x74,0x84,0x14,0x0C,0x00,0x02,0x01,0x00,0x04,0x05,0x02,0x01,0x00,0x01,0x02,0x04,0x00,/欢图2-6 12*12点阵示意图2.3.3单片机数据连接图2-7 LCD驱动芯片Nokia5110液晶模块说明P1 Nokia5110 9个导电管脚P2Nokia5110与单片机连接的8个管脚其中15为I/O管脚6为电源7为背光输入8为GNDR3,R4视具体情况而定,可以焊

25、接3301K的限流电阻 图2-8 液晶与单片机连接 DS1,DS2为液晶背光LED,需要选用专用的白光或者其他的LED关于电压供电 正常设计的思路是按照5V设计的,需要并接3.3V稳压二极管限制电压大小。而我们采用的是MSP430单片机本就是3.3V供电所以我们不需要。2.4 DA转换DAC0832DAC0832是8分辨率的D/A转换集成芯片。D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。与微处理器完全兼容。这个D

26、A芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成* 分辨率为8位;* 电流稳定时间1us;* 可单缓冲、双缓冲或直接数字输入;* 只需在满量程下调整其线性度;* 单一电源供电(+5V+15V);* 低功耗,20mW。42.4.1 DAC0832引脚说明图2-9 DAC0832DI0DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有

27、效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻. Vcc:电源输入线(+5v+15v) Vref:基准电压输入线(-10v+10v) AGND:模拟地,摸拟信号和基准电源的参考地. DGND:数字地,两种地线在基准电源处共地比较好. 2.4.2 DAC0832的原理及控制方法DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。如图4-82所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。运

28、算放大器输出的模拟量V0为: 图2-10 DA转换原理 (2-1)由上式可见,输出的模拟量 与输入的数字量( ) 成正比,这就实现了从数字量到模拟量的转换。一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。图4-83是DAC0832的逻辑框图和引脚排列。5图2-11 DA内部结构DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。实验线路如图2-x所示。 图2-12 DA连接运算放大器2.4

29、.3 运算放大器运算放大器有三个特点:1 开环放大倍数非常高,一般为几千,甚至可高达10万。在正常情况下,运算放大器所需要的输入电压非常小。2 输入阻抗非常大。运算放大器工作时,输入端相当于一个很小的电压加在一个很大的输入阻抗上,所需要的输入电流也极小。3 输出阻抗很小,所以,它的驱动能力非常大。利用运算放大器各输入电流相加的原理,可以构成如图2-13所示的、由电阻网络和运算放大器组成的、最简单的4位D/A转换器。图中,V0是一个有足够精度的标准电源。运算放大器输入端的各支路对应待转换资料的D0,D1,Dn-1位。各输入支路中的开关由对应的数字元值控制,如果数字元为1,则对应的开关闭合;如果数

30、字为0,则对应的开关断开。各输入支路中的电阻分别为R,2R,4R,这些电阻称为权电阻。假设,输入端有4条支路。4条支路的开关从全部断开到全部闭合,运算放大器可以得到16种不同的电流输入。这就是说,通过电阻网络,可以把0000B1111B转换成大小不等的电流,从而可以在运算放大器的输出端得到相应大小不同的电压。如果数字0000B每次增1,一直变化到1111B,那么,在输出端就可得到一个0V0电压幅度的阶梯波形。6图2-13 四路D/A转换器2.5硬件系统组成硬件部分是我们整个系统的基础部分,是运行软件的平台,系统程序的载体。作为电子系统不可或缺的一部分,设计好硬件电路对我们系统的工作效率,整体性

31、能具有决定性的意义。我们以MSP430单片机作为核心的MCU,其他的传感器都以该单片机为中心,单片机作为我们的数据处理和数据存储单元,运用单片机内部时钟,软件实现电压和工作频率的调节,软件对TFT液晶开与关,能够使系统在待机状态下最低功耗。2.5.1 MSP430F149单片机简介MSP430系列单片机是美国德州仪器3(TI)1996年开始推向市场的一种16位超低 MSP430单片机4功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,

32、以提供“单片”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中主要的特点有:1 处理能力强MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。MSP430 系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如 FFT

33、等)。2 超低功耗MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。首先,MSP430 系列单片机的电源电压采用的是1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165A左右,RAM 保持模式下的最低功耗只有0.1A。其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL 和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768Hz),也可以使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以

34、在指令的控制下,打开和关闭,从而实现对总体功耗的控制。 由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0LPM4)。在实时时钟模式下,可达2.5A ,在RAM 保持模式下,最低可达0.1A 。3 片内资源丰富MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位- ADC、DMA、I/O

35、端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件 A/D 转换器有较高的转换速率,最高可达200kbps ,能够满足大多数

36、数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 另外,MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的低功耗状态时,中断唤醒只需5s。72.5.2 复位和晶振电路MSP430最小系统的外围电路很少,甚至可以不要。在本系统中有外围电路也很少,只有一个复位电路和晶振电路。复位电路很简单,复位只需要给单片机一个几微秒的低电平时就可以让单片机复位。所以只要给单片机复

37、位引脚接地就可以,这样的复位电路会有抖动,这样不好为了去抖在复位电路中加入了电阻和电容和一个二极管。晶振电路更简单只要一个晶振和起振电容。8单片机的时序单位 振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。 状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此一个状态周期包含2个振荡周期。 机器周期:1个机器周期由6个状态周期12个振荡周期组成,是计算机执行一种基本操作的时间单位。 指令周期:执行一条指令所需的时间。一个指令周期由1-4个机器周期组成,依据指令不同而不同。具体的复位电路和晶振电路如下图所示;图2-14复位电路 图2-15晶振电路2.5.3 在线

38、烧写模块我们要将我们的单片机程序烧写到单片机中,这就需要我们能够实现单片机和电脑之间的通信,我们采用的是PL2303这一款电平转换芯片PL2303 是Prolific 公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232 全双工异步串行通信装置与USB 功能接口便利连接的解决方案。该器件内置USB功能控制器、USB 收发器、振荡器和带有全部调制解调器控制信号的UART, 只需外接几只电容就可实现USB 信号与RS232 信号的转换,能够方便嵌入到各种设备;该器件作为USB/RS232 双向转换器,一方面从主机接收USB 数据并将其转换为RS232 信息流格式发送给外设;另

39、一方面从RS232 外设接收数据转换为USB 数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑固件设计. PL2303 的高兼容驱动可在大多操作系统上模拟成传统COM 端口,并允许基于COM 端口应用可方便地转换成USB接口应用,通讯波特率高达6 Mb/s。在工作模式和休眠模式时都具有功耗低,是嵌入式系统手持设备的理想选择。该器件具有以下特征:完全兼容USB1.1协议;可调节的35 V 输出电压,满足3V、3.3V和5V不同应用需求;支持完整的RS232接口,可编程设置的波特率:75b/s6 Mb/s,并为外部串行接口提供电源;512字节可调的双向数据缓存;支持默认的ROM和外部

40、EEPROM存储设备配置信息,具有I2C总线接口,支持从外部MODEM 信号远程唤醒,28引脚的SOIC封装.9图2-16 程序烧写模块JTAG仿真调试模块:JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System Programmer,在系统编程),对FLASH等器件进行编程。JTAG编程方式是在线编程,传统生产流程中先对芯

41、片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进行编程。具有JTAG口的芯片都有如下JTAG引脚定义:TCK测试时钟输入;TDI测试数据输入,数据通过TDI输入JTAG口;TDO测试数据输出,数据通过TDO从JTAG口输出;TMS测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。可选引脚TRST测试复位,输入引脚,低电平有效。含有JTAG口的芯片种类较多,如CPU、DSP、CPLD等。JTAG内部有一个状态机,称为TAP控制器。TAP控制器的状态机通过TCK和TMS进行状态的改变

42、,实现数据和指令的输入。10图2-17 JTAG仿真接口2.5.4 整体系统框图系统整体框图如图所示,以MSP430为核心处理器,将键盘输入的信息进行处理后,自动识别我们需要输出的波形,频率,相位等信息。显示到Nokia5110液晶显示屏上,并且调用单片机内部存储的波形数据,进行相应的法则运算得到我们想要的波形数据,同时传送给我们的DA转换器进行数模转换,再经由运算放大器将电流信号转换成电压信号就得到了我们的目标信号图2-18系统硬件框图2.6本章小结本章我们介绍了设计系统的电源,核心MCU,液晶显示,键盘,DA转换,运算放大器。系统的硬件部分设计已经完毕,通过这段时间查询资料的过程,我了解到

43、了以前没有接触的东西,对器件的选择有了更深入的理解。第三章 系统软件设计我们的硬件部分已经完毕。接下来我们需要给系统植入灵魂程序。硬件与软件的完美结合才能够呈现出强大的功能。信号发生器的顺利工作,需要合适的软件来协调系统的各个硬件组成部分,根据信号发生器系统的工作需要来工作,从而达到特定的功能。本章主要设计信号发生器系统的各个波形发射功能的程序流程图。3.1系统构架上一章介绍了系统硬结构,这章要解决的问题就是软件的设计。在上一章已经知道本系统由这第几部分组成:矩阵键盘、液晶显示和电源。其中电源的部分完全由硬完成不用再对其编程的初始化操作。按键的作用就是控制开始输入波形数据以及相应的选择功能,而

44、液晶更简单就是一个显示状态与结果。了解了这些之后编程思路就很清楚明了了。具体软件构架如下图所示:11图3-1主函数从图3-1可知,主函数的功能很简单,主要就是关看门狗,然后对系统做一些初始化的操作,再后就是开中断等待按键发出相应的指令进到到相应函数处理。再没有按键动作时系统会进入一个LPM3()的低功耗模式,这也是为了减少功耗。初始化中有一些具体的要初始化的子系统。如下图所示;图3-2初始化函数上面初始化函数部分应先开晶振开等待晶振起振后设定相应的时钟频率再对其它部分进行初始化。其对应的程序都放到了附录部分。3.2 信号发生器流程系统总程序流程图如图3-4所示。系统初始化后,当有按键按下是就会

45、产生按键中断,然后按键扫描获得键值并根据键值跳转到不同的子程序,产生不同的波形。12图3-4 信号发生器的程序总流程图3.3模块初始化初始化程序流程图如图3-5所示。进入初始化阶段,信号发生器的各个部分依次初始化,为后期的程序执行做好准备。图3-5 初始化程序流程图3.4 按键扫描流程按键中断程序流程图如图3-6所示。当有按键按下是就会产生按键中断,然后按键扫描获得键值并根据键值跳转到不同的子程序,产生不同的波形。图3-6 按键中断程序流程图3.5 波形产生流程3.5.1 正弦波产生流程本程序的波形产生原理是将一个波形周期分割成n等份,每加上一个偏移量,而这个偏移量就决定了我们的频率大小。然后

46、调取正弦函数数组sin_tab100中的数据程上我们相应的幅度值之后,写到DAC0832中,原理图如图3-7所示。图3-7 正弦波程序流程图3.5.2 方波产生流程方波的产生程序是根据波形的频率要求计算出每次幅值跃变的时间,等到定时器A的计时时间到时进入中断进行一次跃变,而且方波占空比和频率的设置都通过定时器初始数据达到设定的要求,流程图如图3-8所示。图3-8 方波程序流程图3.5.3 锯齿波产生流程锯齿波的产生程序根据波形的频率要求计算出每次幅值变化的时间,写入到计数器中,继而调取锯齿波存储数据uchar code sawtooth_tab100依次经过乘法乘以相应的幅度值写入到DAC0832中去。等到定时器A的计时时间到时进入中断变量i进行一次增值,如图3-9所示。图3-9 锯齿波程序流程图3.5.4 三角波产生流程三角波的产生程序跟锯齿波和正弦波的产生程序是同一个原理,都是调取数字内的值依次写入。根据波形的频率要求计算出每次幅值变化的时间,写入定时器等到定时器A的计时时间到时进入中断进行一次增值定义一变量i根据i的不同依次

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号