SDLu的MSP430入门学习笔记时钟选择数控振荡器_第1页
SDLu的MSP430入门学习笔记时钟选择数控振荡器_第2页
SDLu的MSP430入门学习笔记时钟选择数控振荡器_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、S.D丄u的MSP430入门学习笔记(3):IZZ>LFOffOVXT2OUTMSP430默认使用DCO,在MSP430x2xx系列用户指南(中文版)中可以查至鷹在 TI 官方例程 MSP430G2xx2_Code_Examples 中,“ msp430g2xx2_clks.c ”代码如下:时钟选择(1)数控振荡器DCOMSP430的时钟系统比较完善,它提供了一个内置的数字控制振荡器,对降低成本非常 有价值。DCO的频率可通过软件使用 DCOx,MODx,和RSELx位来调节。在一般的应用 中,使用内部数控振荡器 DCO作为时钟,就能够满足设计需求。MSP430的时钟模块比较复杂,框图如

2、下,其中DCO在左下角部分。WOCLKLFXT1CLKACLKAkJ Hilary CkwkXOUTLFXTl OsollaborMCLKModulator <SELSSCG1SMCLKSub SyabHn Clock图5-1.垒本时钟槪块*框團MSP430F2XXivtderE>tficftar 幵住丿尅9Min. Puh FiHarMin. PulseAftergnly wh<snXT2 not presenl on-chipkiEwial LPi'LF Oscillaflor1,LLXCAPxDIVSxTIMQOiDIWTTXT2IH-cz>cflDCGe

3、rwratafSEUMtK甲甲 DIWx«T Q5CQFF LFKTISiKT2 OwllalQr5+2 基本时钟模块+的操作在一亍PUC丘 MCLK和SMCLK来自1 1MHz的DCOCLK有关数据请参阖特定器件数据表),ACLK 自于带冇个6pF电猝内部负戦的虻于髙频模式的LFXT1CLK,卜 1Mm. PulseFillerCOx7T -nDCOn*1DCOfi 5CGD RSELkJ001CPVOFF0110ivklflr1J11 丿AMainCKmA69 #iticlud& <tnsp430 .7Q71±nt main (voId)72 j73BMC

4、TL s WDTPW 4WETHOLD.;/Stopr.ahd<ag rimer74P1DIR |= Ok13 J/PI, I end Pl. outputs75F15EL |= DkII;/Fl - flir 4FMCDK output7S77while(1)7B(79P1OUT | = 0x02 ;/Pi.l = I30P1OUT £ -0x02?PI. I > aaiS2 MSP430G2XX2/| 1xnv| -1 1| 32kHz1 RST1xouri -1111Pl.4/SMCLK->SMCLK =D&fault DCO1Pl.J I 一一>

5、;MCLK/10土 DCO/101Pl . 0/ACLK >ACLK =32kHzP1.0 脚有 32K编译下载运行之后,用示波器可以测到在P1.4脚有约1.1MHz的方波信号信号,P1.1脚有110K信号。代码解释:75 行,P1SEL |= 0x11;/ P1.0,4 ACLK, SMCLK output选择了 P1.0, P1.4的外设功能,分别输出ACLK和SMCLK。引脚的外设功能设置可参考MSP430G2x52,MSP430G2x12系列参考手册(英文版)。MSP430G2X12ir InsthumfntsTable 14. Port P1 (P10 to P1.2) Pin

6、 Functiaritpm name Pl闰iFUnCTiOhCOHTRDL BITS 丿 SHMALS111P1D1RP13tSPHKL3S<fewCfMnpvjrtarADCIQW (INCH.y«1l|P1.DCP1.K It 0:0:10d0BTAOCLK/TAO.TAJCLKCflflaC-ACLK1AA£LK11d0bAD刊uMXXXMl即CWCADXK1QP m CheCapaabvc sensnqX10t>P1.1fP1 .N 阿*it ; h: i0oTJftjQOfTAQQ110Q0W.CCIOA申1dQ01A1XXX0itr*nCAVCAI

7、X其X1DPinOtcMineinflX011Q0P1J/P1.K it ft; a: iQd0DTA0.1/TA0.1l110uQTAD.CCllAa1dtf阴刊£.A2KXX1&«3|CA2!CA2X扎X10PmOscCapacThw MnsmgXD100>1 X = Oon l care住MSPf30G2xi55 & onlyM5P430G2152* TMSP430G2x12Instruments凤=吕丁7匚日 FR JE 1 门 RFJ吕F口 IdiVr" “站 mtlg"Table Port PI (PI,4 Pin Fu

8、nctionsPIN NAMEXFUNCTIONCONTROL BUS 5KNA£S,:,:IP1 D«R.iiPISELkP1SEL2.AAf>C1ME.H匚lil眉叭|閻JTA£ ModaCAPD.yP1.4JP*iz(WQ|fc 0; & 10&Cl00SMCLKj'gMCLK11血D0TAQTAS-3111QQgW.CI201100QVREF*1jVREF*KXX1Q0VEREF*叭VEREF*X寓X1Da*4刊阳X諾XQgCMTCA4XXM001 B"TCK/TCKMXX010Pin OkCjpactiVB sen

9、singX:010a(IJ X = dwi'tcare MSP4MG2)c5i2 -devices only在TI官方另一个例程“ msp430g2xx2_ dco_calib.c ”中,介绍了如何选择DCO的频率。该例程在"msp430g2xx2_clks.c ”的基础上增加了选择 DCO频率的代码。72 #includle <wsp43Q, h>7374int main (void)75(76MDTCTL = UDTPU +WDTHOLDJ/Stop Watcftdog rimer777879If (CALBCl_l_MHZ=OxFE)/Ifca J-JLib

10、ird 亡$口盘 constn亡弓 erasedSOf_01whil* p);/do nottrap CPCTi £S21S3DCOCTL = 0;/Select 1 oures 亡 DCOx and MODx.吕日右tings8 4BCSCTL1 = CALBC1_1MH2;/Set rangBB5DCOCrL = CALDCO_1HH2;Set JJCO step + modulation */0607f/Sl-lhz&&df (CALEC1 6MHZ=0FF)/Ifc-alibird 亡 jcirs ao nst.an 亡_s erased8?f_90while

11、 (1);/do not laadf trap CPUi!9192DCOCTL = th/Select lowest DCOx. and MODx. settings93BCSCTL1 = CALBC1_SMHZ;/Set94DCOCTL =Set DCQ step + mocfulotion */9596/* /12Mhz97if (CALSC1 12M=0xFF)/Ifcalibration constants erasecf9B(99whi2e (1);/do nottrap CPUi f10D101VCOCTL = 0;/Select lowestDCOk and MODxs e 亡

12、Tings102BCSCTL1 = CALBCi;/Set range103DCOCTL = CALDCO "12MHZ ;/Set DCO step+ zno dul m 士on * /104105 " /ISMhz10SSf (CALBC1/If1 iti on coj?s tafi ts es ci107 _in®whlle (1 ;/do not loa cfxtz-ap CPU I !109J110DCOCTL = 0;/S&l&ct lowestpcoj£modx占白C£iflgs111BCSCTL1 =/112DC

13、OCTL = CALDCO/Set DCO step+ modulations/113114E1DIR |= 0x13;Pl.0f1 nd Pi 4 outputsIISE1SEL |= Oxllj/Pl.0,4 ACLK,SMCLK Output116117while(1)118(119P1CUT |= 0m02;Pl.1=1120P1QUT-0x02;/Pl.1 = 0121J122 MSP430在出厂时,对 DCO进行了校准,并把其中1MHZ、8MHZ、12MHZ、16MHZ这几个频率的校准值写入了特定的信息代码段中。所以在应用中,可以很方便的选择相应的DCO频率,如上述代码操作即可。上

14、述程序中,选择不同的DCO频率,在P1.1和P1.4上得到不同的频率输出。另一个和DCO相关的官方例程是 “ msp430g2xx2_dco_flashcal.c ”该例程的作用是重写 DCO的校准值。在硬件上需要提供一个外部32768Hz时钟。函数void Set_DCO(unsigned int Delta);的作用就是设定 DCO输出指定频率。应该注意 的是,参数Delta的单位是4069Hz。其基本原理是用 TimerA定时器的捕获/比较功能,进行 两个频率的比较,然后根据比较结果调整DCO的输出,直到得到指定频率。程序操作涉及TimerA定时器的操作,在此不作展开。以下代码的作用是擦

15、除并重写DCO校准值,非必要情况下,建议不要重写这些校准值,可将这些代码屏蔽。115Fla3h_ptrA =(char * ) 0 >t1DCO r/Point to jbeginning of seg J116FCTL2 = FIBKEY+ FSSELO + EK1;/JJCEfT/3 JpQ奮 Flash rimingf Sen-er-atp117F(Z TL1 = FWKEY+ ERASE;/s&tbit118FCTL3 = FWKEY+ LOCKA;/clear lock & locka bits119*Ela3h_ptrA =Koa ;/write to era

16、se Flash seg A120FCTL1 = FWKEY+ WRT;/WRT hit for write operation121Flash pt rA =(< har *) OkIDeS ;/Polnt to h&glnning of cal cofis122氐片(j = D; j< a; j+)123*Flash_pt-rA+-K = CAL_DATA j J ;/DCO calibration ctat:白12 iFCTL1 = FKJKEY;/Cle&r WRT bit12 SFCTL3 = FWKEY+ LOCKA + LOCK;/Set LOCK 占 LOCKA bit因为DCO是RC振荡器,其精度和稳定度是有限的,在时间要求比较严格的应用中建 议使用外部晶体振荡器。应该注意的是,不是所有的MSP430都支持外部高频时钟,请查看 相应器件的用户指南中关于时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论