文档库 最新最全的文档下载
当前位置:文档库 › Note for 430

Note for 430

MSP430G2553&MSP430F5529_Learn_Note

一、IO口
////
P2.6,P2.7作为普通io口时,需要进行一下设置:P2SEL&=~(BIT6+BIT7);



///////////////端口///////////////////////
////
MSP单片机上电时默认是输入状态,所以初始化时要更改方向。 这样就能防止IO口干扰了。
用不到的IO口怎么处理,最好不要悬空,通过限流电阻接地或者VDD,直接接地也行。

0 输入模式,只能读。
1 输出模式,可读可写。



///
PxREN的作用是使能上拉或者下拉电阻,因为MSP430F5438这个单片机IO口内部集成了上拉或者下拉电阻,
通过PxREN去使能这两个电阻。另外,IO口有输入和输出两种状态,当IO口是输出状态时,
IO口电平高低由单片机控制;当IO口是输入状态时,IO口电平高低由外部电路决定。
IO口输入和输出状态的选择由PxDIR决定,当PxDIR=0时对应IO口的输入状态,PxDIR=1对应IO口的输出状态。
PxOUT的作用是当IO口配置成输出状态时,决定输出电平高低,当IO口配置成输入状态时
,并且使能上拉下拉电阻的时候,决定到底是上拉起作用还是下拉电阻起作用。




PxREN寄存器控制拉电阻是否启用,而PxOUT决定了拉电阻是上拉还是下拉,具体的工作原理是这样的

PxDIR=1时输出 PxREN=1只有拉电阻起作用 PxOUT=1上拉
PxOUT=0下拉
PxREN=0推挽输出无拉电阻 PxOUT=1输出高
PxOUT=0输出低
PxDIR=0时输入 PxREN=1有拉电阻起作用 PxOUT=1上拉
PxOUT=0下拉
PxREN=0时IO呈高阻状态 高阻状态

二、时钟
///
主要提供三个时钟输出:辅助时钟
ACLK(Auxillary Clock)、主系统时钟MCLK(Main System Clock)和子系统时钟SMCLK(Sub System Clock)。
///G2553
1、ACLK:系统辅助时钟,来自LFXT1CLK为32768HZ。
2、MCLK:系统主时钟,
1、32768HZ,来自ACLK。
2、1MHZ: BCSCTL1=CALBC1_1MHZ;
DCOCTL=CALDCO_1MHZ;
3、8MHZ: BCSCTL1=CALBC1_8MHZ;
DCOCTL=CALDCO_8MHZ;
4、12MHZ:BCSCTL1=CALBC1_12MHZ;
DCOCTL=CALDCO_12MHZ;
5、16MHZ:BCSCTL1=CALBC1_16MHZ;
DCOCTL=CALDCO_16MHZ;
3、SMCLK:子系统时钟,一般为16MHZ


时钟源:
LFXT1CLK、XT2CLK、DCOCLK、VLOCLK这四个是时钟源,形象点说,这四个就相当于4个“晶振”,提供了不同的时钟。而ACLK、
MCLK、SMCLK这三个是跟CPU或外设连接的,相当于连接在“晶振”和CPU、外设之间的
“中间机构”,这个“中间机构”决定给哪个“晶振”给CPU或外设使用。


///F5529


UCS模块包括5个时钟源:

XT1CLK:低频/高频振荡器,可以使用32768Hz 的手表晶振、标准晶
体、谐振器或4—16Mz 的外部时钟源。
VLOCLK: 内部低功耗、低频振荡器,典型频率为12k。
REFOCLK: 经过调整过的内部低频振荡器,典型值为32768Hz,可以
用作FLL(锁频环)的参

考时钟。
DCOCLK: 内部数字时钟,可以通过FLL 得到稳定的时钟信号。
XT2CLK: 可选的高频振荡器,可以是标准晶振、谐振器或4—40M 的
外部时钟源。


UCS模块提供的三个可利用时钟信号;

ACLK: 辅助时钟。可以通过软件选择XT1CLK、REFOCLK、VLOCLK、
DCOCLK、DCOCLKDIV 或(在有可用的XT2CLK 的情况下)XT2CLK
作为辅助时钟。DCOCLKDIV 是DCOCLK 通过FLL 模块经过
1,2,4,8,16,32 分频获得的。ACLK 可以为某些外围模块提供时钟。
ACLK 可以被进行1,2,4,8,16,32 分频。ACLK/n 就是ACLK 经过
1,2,4,8,16,32 分频或得到的,也可以选择通过外部引脚输出。
MCLK: 主时钟。MCLK 可以被进行1,2,4,8,16,32 分频后为CPU 和系统
提供时钟.MCLK 的获得来源和ACLK 的相同。
SMCLK: 子系统时钟。SMCLK 可以被进行1,2,4,8,16,32 分频后为个别
的外围模块提供时钟。其来源和ACLK 相同。

///
内部超低功耗低频振荡器(VLO):
内部VLO 在无需外部晶振的情况下提供12kHz 的典型频率,VLO
为对时钟要求不高的应用系统提供了低成本、超低功耗的时钟源。当
VLO 被用作ACLK、MCLK 或SMCLK 时(SELA=1、SELM=1 或SELS=1),VLO
被选中。


///
DCO模块详解
DCO模块在MSP430F5XX系列芯片中非常重要,因为从MSP430F4XX开始,MSP430引用了FLL模块,FLL即锁相环,可以通过倍频的方式提高系统时钟频率,进而提高系统的运行速度。

DCO模块运行需要参考时钟REFCLK,REFCLK可以来自REFOCLK、XT1CLK和XT2CLK,通过UCSCTL3的SELREF选择,默认使用的XT1CLK,但如果XT1CLK不可用则使用REFOCLK。

DCO模块有两个输出时钟信号,级DCOCLK和DCOCLKDIV,其中,倍频计算公式如下:

DCOCLK = D*(N+1)*(REFCLK/n)

DCOCLKDIV = (N+1)*(REFCLK/n)

其中:

n即REFCLK输入时钟分频,可以通过UCSCTL3中的FLLCLKDIV设定,默认为0,也就是不分频;

D可以通过UCSCTL2中的FLLD来设定,默认为1,也就是2分频;

N可以通过UCSCTL2中的FLLN来设定,默认值为32。

所以,系统上电后如果不做任何设置,DCOCLK的实际值为2097152,DCOCLKDIV的实际值为1048576。

另外,配置芯片工作频率还需要配置DCORSEL和DCOx,DCORSEL和DCOx的具体作用如下:

DCORSEL位于UCSCTL1控制寄存器中的4到6位,共3位,将DCO分为8个频率段。

DCOx位于UCSCTL0中的8到12位,共5位,将DCORSEL选择的频率段分为32个频率阶,每阶比前一阶高出约8%,该寄存器系统可以自动调整,通常配置为0。


可以见,DCORESL的频率调节范围大致如下:

DCORSEL = 0的调节范围约为0.20~0.70MHZ;

DCORSEL= 1的调节范围约为0.36~1.47MHZ;

DCORSEL = 2的调节范围约为0.75~3.17MHZ;

DCORSEL = 3的调节范围约为1.51~6.07MHZ;

DCORSEL = 4的调节范围约为3.2~12.3MHZ;

DCORSEL = 5的调节范围约为

6.0~23.7MHZ;

DCORSEL = 6的调节范围约为10.7~39.7MHZ;

DCORSEL = 7的调节范围约为19.6~60MHZ。


////ADC12
REFCTL0 &= ~REFMSTR; //当且仅当REFMSTR=0时,ADC12参考电压控制位才有效
REFMSTR RW 0h REF master control. ADC10_A devices: Must be written 1.
0b = Reference system controlled by legacy control bits inside the ADC12_A
module when available.
1b = Reference system controlled by REFCTL register. Common settings inside
the ADC12_A module (if exists) are do not care.





////
Direct Memory Access (DMA) Controller Module
MSP430系列单片机扩展的DMA具有来之所有外设的触发器,不需要CPU的干预即可提供先进的可配置的数据传输能力,
从而加速了基于MCU的信号处理进程,DMA传输的触发来源对CPU 来说是完全透明的,DMA控制器可在内存与外部及外部硬件之间进行精确的传输控制。
DMA 消除了数据传输延迟时间以及各种开销,从而可以解放16为RISC CPU,以便其将更多的时间用于处理数据,而非执行正在处理的任务。

DMA控制器模块:3个独立的传输通道:通道0、通道1和通道2。每个通道都有源地址寄存器、目的地址寄存器、传送数据长度寄存器和控制寄存器。
每个通道的触发请求可以分别允许和禁止;可配置的通道优先权:优先权裁决模块,传输通道的优先级可以调整,对同时有触发请求的通道进行优先级裁决,
确定哪个通道的优先级最高。MSP430的DMA控制器可以采用固定优先级,还可以采用循环优先级。程序命令控制模块,每个DMA通道开始传输之前,
CPU要编程给定相关的命令和模式控制,以决定DMA通道传输的类型;可配置的传送触发器:触发源选择模块,DMAREQ(软件触发)、
Timer_ACCR2输出、Timer_BCCR2输出、I2C 数据接收准备好、I2C 数据发送准备好、USART接收发送数据、DAC12模块DAC12IFG、
ADC12模块的ADC12IFGx、DMAxIFG、DMAE0 外部触发源。并且还具有触发源扩充能力。

DMA有六种传输模式:单字或者单字节传输;块传输;突发块传输;
重复单字或者单字节传输;重复块传输;重复突发块传输。前三个,传输完成后DMAEN自动复位;
再次传输时需要重新置位DMAEN位以使能DMA通道。后三个为重复模式,一次传输完成后,DMAEN不复位;
再次出发时,可以再次启动数据传输









相关文档
相关文档 最新文档