八、系统时钟FLL+ ( SYSTEM CLOCK, FLL+ (x41x) )
1)、相关的寄存器
SCFI0、SCFI1 :系统时钟频率积分器
SCFQCTL :系统时钟频率控制寄存器
(1)系统时钟频率积分器0 : SCFI0 (0x0050)
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
|
| FN_8 | FN_4 | FN_3 | FN_2 | 2*2 | 2e0 |
#define FN_2 (0x04) /* fDCOCLK = 1.4-12MHz*/
#define FN_3 (0x08) /* fDCOCLK = 2.2-17Mhz*/
#define FN_4 (0x10) /* fDCOCLK = 3.2-25Mhz*/
#define FN_8 (0x20) /* fDCOCLK = 5-40Mhz*/
#define FLLD0 (0x40) /* Loop Divider Bit : 0 */
#define FLLD1 (0x80) /* Loop Divider Bit : 1 */
#define FLLD_1 (0x00) /* Multiply Selected Loop Freq. By 1 */
#define FLLD_2 (0x40) /* Multiply Selected Loop Freq. By 2 */
#define FLLD_4 (0x80) /* Multiply Selected Loop Freq. By 4 */
#define FLLD_8 (0xC0) /* Multiply Selected Loop Freq. By 8 */
(2)系统时钟频率积分器1 : SCFI1 (0x0051)
2e9 | 2e8 | 2e7 | 2e6 | 2e5 | 2e4 | 2e3 | 2e2 |
由SCF0和SCF1来控制DCO
NDCO=(X*2e9+X*2e8+X*2e7+X*2e6+X*2e5)
+(1-M)*(X*2e4+X*2e3+X*2e2+X*e1+X*2e0)
(3)系统时钟频率控制寄存器:SCFQCTL (0x0052)
M | 2e6 | 2e5 | 2e4 | 2e3 | 2e2 | 2e1 | 2e0 |
fMCLK=(X*2e6+X*2e5+X*2e4+X*2e3+X*2e2+X*e1+X*2e0+1)*ACLK
2)、系统时钟设置 MCLK;(ACLK=32K通过对SCFQCTL来设置);(BIS.B #XXX,&SCFQCTL)
#define SC FQ_32K (0x00) /*fMCLK=1*fACLK*/
#define SCFQ_64K (0x01) /* fMCLK="2"*fACLK */
#define SCFQ_128K (0x03) /* fMCLK="4"*fACLK */
#define SCFQ_256K (0x07) /* fMCLK="8"*fACLK */
#define SCFQ_512K (0x<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0F) /* fMCLK="16"*fACLK */
#define SCFQ_1M (0x1F) /* fMCLK="32"*fACLK */
#define SCFQ_2M (0x3F) /* fMCLK="64"*fACLK */
#define SCFQ_4M (0x7F) /* fMCLK="128"*fACLK */
#define SCFQ_M (0x80) /* Modulation Disable */
3)、锁相环设置 FLL+
(1)、锁相环控制寄存器0 : FLL_CTL0 (0x0053)
DCOPLUS | XTS_FLL | OSCCAP1 | OSCCAP0 |
| XT1OF | LFOF | DCOF |
DCOF : DCO 停止位
LFOF : 低频模式下LFXT1震荡器失效位
XT1OF : 高频模式下LFXT1震荡器失效位
OSCCAP0 : 有效晶体振荡器选择0
OSCCAP1 : 有效晶体振荡器选择1
XTS_FLL : LFXT1的模式选择:0:低频 1:高频
DCOPLUS : DCO+使能位
相对的设置:
外接电容的设置:通过OSCCAP0、OSCCAP1来设置
#define XCAP0PF (0x00) /* XIN Cap = XOUT Cap = 0pf */
#define XCAP10PF (0x10) /* XIN Cap = XOUT Cap = 10pf */
#define XCAP14PF (0x20) /* XIN Cap = XOUT Cap = 14pf */
#define XCAP18PF (0x30) /* XIN Cap = XOUT Cap = 18pf */
(2)锁相环控制寄存器1 (FLL_CTL1) (0x0054) /* FLL+ Control 1 */
| SMCLKOFF | XT2ON | SELM1 | SELM0 | SELS | FLL-DIV1 | FLL-DIV0 |
#define FLL_DIV0 (0x01) /* FLL+ Divide Px.x/ACLK 0 */
#define FLL_DIV1 (0x02) /* FLL+ Divide Px.x/ACLK 1 */
对应的设置:
#define FLL_DIV_1 (0x00) /* FLL+ Divide Px.x/ACLK By 1 */
#define FLL_DIV_2 (0x01) /* FLL+ Divide Px.x/ACLK By 2 */
#define FLL_DIV_4 (0x02) /* FLL+ Divide Px.x/ACLK By 4 */
#define FLL_DIV_8 (0x03) /* FLL+ Divide Px.x/ACLK By 8 */
4)对应的SFR的中断位
#define OFIFG 0x02
#define OFIE 0x02
九、SVS
SVSCTL (0x0056) /* SVS Control */
#define SVSFG (0x01) /* SVS Flag */
#define SVSOP (0x02) /* SVS output (read only) */
#define SVSON (0x04) /* Switches the SVS on/off */
#define PORON (0x08) /* Enable POR Generation if Low Voltage */
#define VLDON (0x10)
#define VLDOFF (0x00)
#define VLD_1_8V (0x10)
文章评论(0条评论)
登录后参与讨论