MSP430外围模块功能简介[2]
- 格式:pdf
- 大小:256.49 KB
- 文档页数:18
模数转换器ADC12的工作原理及使用MSP430F14X和44X系列单片机内嵌入一个高精度12位ADC转换模块。
该转换模块具有采样速率高,(最大采样速率达二十万次每秒,这无疑提高了测量精度)。
另外MSP430系列中的FE427也具有ADC模块功能,该模块中的16位ADC是采用∑-△转换技术来将模拟信号数字化的。
因此这两个模块转换的原理是有差别的,具体使用参见芯片参考手册。
在此讲座中只介绍MSP430F44X、14X系列的ADC转换模块。
从该模块电路看出,其模式转换是采用逐次逼近的方法来实现测量的。
该电路分5大功能模块组成,在配置上这5个模块都可以独立配置。
五大模块分析:1、带有采样/保持功能的ADC内核该采样器是以电菏为转换辅助量的及采用电荷重分布技术的逼近型ADC,其特点是高效经济。
其核心为1权电容网络。
其采样过程是一个电容充电过程。
其保持就是根据电容中的电菏不变实现在比较寄存器中的总电荷量在逐次逼近,随着逐次逼近过程的进行,权电容网络中的各电容两端的电压在不断变化,因而导致总电荷量在每个电容之间不断重新分布。
该原理要比传统逼近型ADC中控制精密电阻的相对精度要容易,因此实现较为经济,同时消除了电阻网络中因温度变化引起的阻值失配。
由于A/D转换的原理是基于电荷再分配,当内部开关切换输入信号进行采样时,会产生流入或流出电流,但这种电流由于外部的等效时间常数很小而不会影响转换精度。
但如果外部的阻抗很大,在确定的采样时间内,这些瞬变的电流就会影响采样的精度。
关于采样时序可见书中223页采样时序分析和218页的采样一节。
2、可控制的转换存储:MSP430F449的A/D转换存储是由16个转换存储寄存器完成的,在使用中可以进行多次转换而不需要用软件干预。
16个转换存储寄存器都配有一个控制器,通过控制器的说明可灵活的对每一采样通道的选择、参考电平的选择以及转换模式等其他工作条件进行独立定义。
一旦进行采样,A/D就会按照定义的方式进行工作,直到用软件去停止它。
1、MSP430 端口功能P1、P2 I/O、中断功能、其他片内外设功能P3、P4、P5、P6 I/O、其他片内外设功能S、COM I/O、驱动液晶2、PxDIR 方向寄存器0 为输入模式1 为输出模式在PUC 后全都为位,作为输入时,只能读;作为输出时,可读可定。
3、PxIN 输入寄存器输入寄存器是只读的,用户不能对它写入,只能读取其IO 内容。
此时引脚方向必须为输入。
4、PxOUT 输出寄存器这是IO 端口的输出缓冲器,在读取时输出缓存的内容与脚引方向定义无关。
改变方向寄存器的内容,输出缓存的内容不受影响。
5、PxIFG 中断标专寄存器标志相应引脚是否有待处理中断信息。
0 没有中断请求1 有中断请求6、PxIES 中断触发沿选择寄存器0 上升沿使相应标志置位1 下降沿使相应标志置位7、PxIE 中断使能寄存器0 禁止中断1 允许中断8、PxSEL 功能择寄存器0 择引脚为I/O 功能。
1 择引脚为外围模块功能9、关于端口P3、P4、P5、P6端口P3、P4、P5、P6 是没有中断功能的,其它功能与P1、P2 相同。
所以在此不再作详尽说明。
10、关于端口COM、S这些端口实现与LCD 片的驱动接口,COM 端是LCD 片的公共端,S 端为LCD片的段码端。
LCD 片输出端也可以用软件配置为数字输出端口,详情使用请查看其册。
11、WDT 看门狗看门狗定时器实际上是一个特殊的定时器,它的的功能是当程序运行发生故障序时能使系统从新启动。
其原理就是发生的故障的时间满足规定的定时时间后,产一个非屏蔽中断,使系统的位。
12、定时器各种定时器功能看门狗定时器基本定时,当程序发生错误时执行一个受控的系统重启动。
基本定时器基本定时,支持软件和各种外围模块工作在低频率、低功耗条件下。
定时器A基本定时,支持同时进行的多种时序控制、多个捕获、比较功能和多种输出波形(PWM),可以以硬件方式支持串行通信。
定时器B基本定时,功能基本同定时器A,但比较定时器 A 灵活,功能更强大。
Msp430学习笔记一、简介图1基本结构图2pin designation结论:1.基本每个管脚都可以复用2.外围功能模块丰富端口介绍(32I/O pins)1.端口P1和P2具有输入、输出、中断和外部模块功能。
这些功能可以通过各自的7个控制寄存器的设置来实现。
(1)PxDIR输入输出方向寄存器rw(2)PxIN输入寄存器r(3)PxOUT输出寄存器r(4)PxIFG中断标志寄存器r(5)PxIES中断触发沿选择寄存器rw(6)PxIE中断使能寄存器rw(7)PxSEL功能选择寄存器rw2.其他端口:四个控制寄存器(除去中断相关)看看例程二、时钟部分1.时钟寄存器设置SCFQCTL系统时钟控制寄存器(倍频,反馈后默认是31,31+1=32)SCFI0系统时钟频率调整器0(锁频环反馈中的分频(实质最终是倍频))SCFI1系统时钟频率调整器1(自动控制调整,无需软件设置)FLL_CTL0FLL+控制器0(反馈中是否分频、选择LFXT1晶振的有效电容)FLL_CTL1FLL+控制器1(振荡器控制、时钟源对应的振荡器的选择,默认情况下:振荡器打开,MCLK选择DCOCLK,SMCLK选择DCOCLK)图时钟模块2.工作模式:One Active Mode、Five Power Saving ModesMSP430是一个特别强调低功耗的单片机系列,尤其适用于采用电池供电的长时间工作场合。
系统根据应用和节能使用不同的时钟信号,这样可以合理利用系统的电源,实现整个系统的超低功耗。
中断是MSP430微处理器的一大特色。
有效地利用中断可以简化程序,并且提高执行效率和系统稳定性。
几乎所有的msp430系统单片机的每个外围模块都能产生中断,为MSP430针对事件(外围模块产生的中断)进行的编程打下基础。
MSP430在没有事件发生时处于低功耗模式,事件发生时通过中断唤醒CPU,时间处理完毕后CPU再次进入低功耗模式,由于CPU运算速度和推出低功耗的速度很快,所以在应用中,CPU大部分时间都处于低功耗状态,使得系统的整体功耗极大地降低。
浅析MSP430单片机及外围模块作者:倪文兴来源:《科技资讯》2011年第33期摘要:MSP430系列单片机都集成了较丰富的片内外设。
本文介绍MSP430单片机及外围模块,以期能够对MSP430单片机有更深的认识。
关键词:MSP430 单片机外围模块中图分类号:TP36 文献标识码:A 文章编号:1672-3791(2011)11(c)-0048-011 MSP430系列单片机简介MSP430系列单片机可以分为以下几个系列:X1XX,X2XX,X3XX,X4XX等等而且还在不断发展,从存储器角度又可分为ROM(C型)、OTP(P型)、EPROM(E型)、Flash Memory(F型)。
系列的全部成员均为软件兼容可以方便地在系列各型号间移植。
MSP430系列单片机的MCU设计成适合各种应用的16位结构。
它采用“冯-纽曼”结构,因此RAM、ROM和全部外围模块都位于同一个地址空间内。
2 外围电源电路、时钟模块、接口电路2.1 电源电路由于MSP430系列单片机的工作电压一般是1.8V~3.6V,并且功耗极低,因此选用TI公司的TPS76033作为电源芯片。
该电源芯片输出电压为3.3V,电流为50mA,完全能满足大多数低功耗应用场合的要求,也能满足本系统的功耗要求。
TPS76033特性参数:(1)50mA的低压差稳压器。
(2)提供1.8V、2.5V、2.85V、3.3V、5V的可调电压。
(3)-40°C至125°C的工作结温度范围。
(4)关机时小于1μA的静态电流。
(5)在50mA是典型的压差是120mV。
(6)输出短路保护。
2.2 MSP430F449时钟模块MSP430系列单片机提供了几种不同的时钟信号和时钟系统,以适应不同的应用场合。
用户可以根据需要,选择合适的系统时钟频率。
同时系统也提供了1种活动模式和5种低功耗工作模式,以供用户选择使用。
时钟模块:MSP430的时钟模块由低速晶体振荡器LFXT1、高速晶体振荡器XT2、数字控制振荡器DCO、锁相环FLL和增强型锁相环FLL+等部件组成。
MSP430MSP430一、上电复位POR 和上电清除PUC二、低功耗控制但系统时钟发生器基本功能建立之后,CPU内的状态寄存器SR中的SCG1、SCG2、OscOff、CpuOff是低功耗的重要控制位;系统工作模式一共有6种,1种活动模式和5种低功耗模式;可以通过设置控制位使MSP430进入低功耗模式,由中断唤醒CPU,在执行完中断服务程序之后再回到低功耗模式,也可以在执行中断程序的时候间接访问堆栈修改状态寄存器的值,这样中断程序执行完之后就会进入另外一种低功耗模式或者处于活动模式。
三、时钟模块(一)、MSP430F149有三个时钟输入源:1、LFXT1CLK:如果LFXTCLK没有作用于SMCLK、MCLK信号,可以用OscOff置位以禁止LFXT1CLK工作;2、XT2CLK:若XT2CLK没有作用于SMCLK、MCLK信号,可以用控制位XT2OFF 关闭XT2;3、DCO振荡器:MSP430F149的两个外部振荡器产生的时钟信号都可以经过1、2、4、8分频后用作系统主时钟MCLK;当外部振荡器失效后,DCO 振荡器会自动被选作MCLK 的时钟源;(二)、MSP430F149提供3三种时钟信号:1、ACLK----辅助时钟,一般用于低速外设,由LFXT1CLK信号分频而得;2、MCLK----系统通过主时钟,一般用于CPU和系统,由以上三个时钟源任意一个分频而得;3、SMCLK---主要用于高速外设,由XT2CLK+XT2CLK 或LFXT1CLK+DCO分频而得。
(三)、如何控制MSP430的DCOCLK频率?——时钟模块的控制由5个寄存器来完成1、DCOCTL:定义8总频率之一2、BCSCTL1:控制XT2CLK的开启与关闭;控制LFXT1CLK的工作模式(低频或高频,高频下需要接高频时钟源);控制ACLK分频。
3、BCSCTL2选择MCLK时钟源;选择MCLK分频;选择SMCLK时钟源;选择SMCLK时钟源分频。
MSP430教程14MSP430单片机ADC12模块MSP430单片机的ADC12模块是一个12位的模数转换器,用于将模拟电压转换为数字值,以供单片机内部处理。
ADC12模块是MSP430单片机中最常用的外设之一,可以用于各种应用,如模拟传感器读取、电量计算等。
ADC12模块的主要特点包括:1.12位的精度,可以将电压精确转换为4096个不同的数字值。
2.可以配置为单通道或多通道模式,允许同时转换多个模拟通道的电压。
3.支持多种转换触发方式,如手动触发、定时触发、比较触发等。
4.可以配置不同的参考电压源,以适应不同的应用场景。
5.内置温度传感器和内部参考电压源,方便温度和电压的测量。
在使用ADC12模块之前,需要进行一些初始化配置。
首先,需要设置参考电压源,可以选择使用外部引脚输入的参考电压,或者使用内部参考电压。
其次,需要选择转换触发源,可以选择手动触发或定时触发等。
还可以选择转换结果的存储位置,可以存储在内存中,也可以存储在DMA传输缓冲区中。
在实际使用中,可以通过编程设置ADC12的参数并启动转换。
转换完成后,可以通过查询标志位或中断方式来获取转换结果。
获取结果后,可以进行进一步的处理,如计算实际电压值或进行比较判断等。
以下是一个简单的示例代码,演示了如何使用ADC12模块进行模拟电压转换:```c#include <msp430.h>void init_ADC12//设置参考电压为内部2.5V参考源REFCTL0=REFMSTR,REFVSEL_2,REFON;//设置为单通道模式,使用A0通道ADC12CTL0=ADC12ON,ADC12SHT0_8,ADC12MSC;ADC12CTL1=ADC12SHP;//使用采样保持模式ADC12MCTL0=ADC12INCH_0,ADC12VRSEL_1;//设置输入通道为A0,使用2.5V参考电压//选择转换触发源为软件触发ADC12CTL0,=ADC12ENC,ADC12SC;void main(void)WDTCTL=WDTPW,WDTHOLD;//停用看门狗定时器while (1)while (ADC12CTL1 & ADC12BUSY);//等待转换完成unsigned int result = ADC12MEM0; // 获取转换结果//进一步处理转换结果,如计算实际电压值float voltage = (result / 4096.0) * 2.5;//处理完成后进行下一次转换ADC12CTL0,=ADC12SC;}```以上代码中,首先调用`init_ADC12(`函数进行ADC12模块的初始化配置,然后在主循环中进行转换和结果处理。