Main Page | Modules | Data Structures | File List | Data Fields | Globals

crg.h

Go to the documentation of this file.
00001 
00009 /* CRG.H CONFIG START */
00010 /* CRG.H CONFIG END */
00011 
00012 /* CRGFLG (CRG Flags Register, from pp19) */
00013 #define CRG_RTIF    0x80    /* Real Time Interrupt Flag */
00014 #define CRG_PORF    0x40    /* Power on Reset Flag */
00015 #define CRG_LOCKIF  0x10    /* PLL Lock Interrupt Flag */
00016 #define CRG_LOCK    0x08    /* Lock Status Bit */
00017 #define CRG_TRACK   0x04    /* Track Status Bit */
00018 #define CRG_SCMIF   0x02    /* Self Clock Mode Interrupt Flag */
00019 #define CRG_SCM     0x01    /* Self Clock Mode Status Bit */
00020 /* CRGINT (CRG Interrupt Enable Register, from pp20) */
00021 #define CRG_RTIE    0x80    /* Real Time Interrupt Enable Bit */
00022 #define CRG_LOCKIE  0x10    /* Lock Interrupt Enable Bit  */
00023 #define CRG_SCMIE   0x02    /* Self Clock Mode Interrupt Enable Bit  */
00024 /* CLKSEL (CRG Clock Select Register, from pp21) */
00025 #define CRG_PLLSEL  0x80    /* PLL Select Bit */
00026 #define CRG_PSTP    0x40    /* Pseudo Stop Bit */
00027 #define CRG_SYSWAI  0x20    /* System clocks stop in Wait Mode Bit */
00028 #define CRG_ROAWAI  0x10    /* Reduced Oscillator Amplitude in Wait Mode Bit */
00029 #define CRG_PLLWAI  0x08    /* PLL stops in Wait Mode Bit */
00030 #define CRG_CWAWAI  0x04    /* Core stops in Wait Mode Bit */
00031 #define CRG_RTIWAI  0x02    /* RTI stops in Wait Mode Bit */
00032 #define CRG_COPWAI  0x01    /* COP stops in Wait Mode Bit */
00033 /* PLLCTL (CRG PLL Control Register PLLCTL, from pp23) */
00034 #define CRG_CME     0x80    /* Clock Monitor Enable Bit */
00035 #define CRG_PLLON   0x40    /* Phase Lock Loop On Bit */
00036 #define CRG_AUTO    0x20    /* Automatic Bandwidth Control Bit */
00037 #define CRG_ACQ     0x10    /* Acquisition Bit */
00038 #define CRG_PRE     0x04    /* RTI Enable during Pseudo Stop Bit */
00039 #define CRG_PCE     0x02    /* COP Enable during Pseudo Stop Bit */
00040 #define CRG_SCME    0x00    /* Self Clock Mode Enable Bit */
00041 /* COPCTL (CRG COP Control Register, from pp26) */
00042 #define CRG_WCOP    0x80    /* Window COP Mode Bit */
00043 #define CRG_RSBCK   0x40    /* COP and RTI stop in Active BDM mode Bit */
00044 #define CRG_CR2     0x04    /* CR[2:0]  COP Watchdog Timer Rate select  */
00045 #define CRG_CR1     0x02    /* CR[2:0]  COP Watchdog Timer Rate select  */
00046 #define CRG_CR0     0x01    /* CR[2:0]  COP Watchdog Timer Rate select  */
00047 
00048 /* <tt>
00049  * CRGFLG (CRG Flags Register, from pp19)
00050  * bit      name    normal  descr.
00051  * -------------------------------
00052  * 7        RTIF    Real Time Interrupt Flag RTIF set to 1 at end of the RTI 
00053                 period. This flag can only be cleared by writing a 1. 
00054                 If enabled (RTIE=1), RTIF causes an interrupt request. 
00055  * 6        PORF    Power on Reset Flag PORF set to 1 when a power on reset occurs. 
00056                 This flag can only be cleared by writing a 1.
00057  * 4        LOCKIF  PLL Lock Interrupt Flag LOCKIF set to 1 when LOCK status bit 
00058                 changes. This flag can only be cleared by writing a 1. 
00059                 If enabled (LOCKIE=1), LOCKIF causes an interrupt request. 
00060  * 3        LOCK    Lock Status Bit LOCK reflects the current state of PLL lock 
00061                 condition. This bit is cleared in Self Clock Mode. Writes have 
00062                 no effect. 1 = PLL VCO is within the desired tolerance of the 
00063                 target frequency. 
00064  * 2        TRACK   Track Status Bit TRACK reflects the current state of PLL 
00065                 track condition. This bit is cleared in Self Clock Mode. 
00066                 Writes have no effect.
00067  * 1        SCMIF   Self Clock Mode Interrupt Flag SCMIF set to 1 when SCM status 
00068                 bit changes. This flag can only be cleared by writing a 1. 
00069                 If enabled (SCMIE=1), SCMIF causes an interrupt request. 
00070  * 0        SCM Self Clock Mode Status Bit SCM reflects the current clocking 
00071                 mode. Writes have no effect. 1 = MCU is operating in Self Clock 
00072                 Mode with OSCCLK in an unknown state. All clocks are derived from 
00073                 PLLCLK running at its minimum frequency fSCM. 
00074                 
00075  * </tt>
00076  */
00077 
00078 /* <tt>
00079  * CRGINT (CRG Interrupt Enable Register, from pp20)
00080  * bit      name    normal  descr.
00081  * -------------------------------
00082  * 7        RTIE    Real Time Interrupt Enable Bit. 1 = Interrupt will be 
00083                 requested whenever RTIF is set. 
00084  * 4        LOCKIE  Lock Interrupt Enable Bit 1 = Interrupt will be requested 
00085                 whenever LOCKIF is set.
00086  * 1        SCMIE   Self Clock Mode Interrupt Enable Bit 1 = Interrupt will be 
00087                 requested whenever SCMIF is set.
00088  *
00089  * </tt>
00090  */
00091 
00092 /* <tt>
00093  * CLKSEL (CRG Clock Select Register, from pp21)
00094  * bit      name    normal  descr.
00095  * -------------------------------
00096  * 7        PLLSEL  PLL Select Bit
00097  *              Write anytime except when LOCK=0 and AUTO=1, or TRACK=0 and 
00098                 AUTO=0. PLLSEL bit is cleared when the MCU enters Self Clock Mode, 
00099                 Stop Mode or Wait Mode with PLLWAI bit set.
00100                 1 = System clocks are derived from PLLCLK. 
00101                 0 = System clocks are derived from OSCCLK.
00102  * 6        PSTP    Pseudo Stop Bit Write: anytime This bit controls the 
00103                 functionality of the oscillator during Stop Mode. 
00104                 1 = Oscillator continues to run in Stop Mode (Pseudo Stop). 
00105                     The oscillator amplitude is reduced. 
00106                 0 = Oscillator is disabled in Stop Mode. 
00107                 NOTE: Pseudo-STOP allows for faster STOP recovery and reduces 
00108                 the mechanical stress and aging of the resonator in case of 
00109                 frequent STOP conditions at the expense of a slightly increased 
00110                 power consumption. Lower oscillator amplitude exhibits lower 
00111                 power consumption but could have adverse effects during any 
00112                 Electro-Magnetic Susceptibility (EMS) tests.
00113  * 5        SYSWAI  System clocks stop in Wait Mode Bit Write: anytime 
00114                 1 = In Wait Mode the system clocks stop. 
00115                 0 = In Wait Mode the system clocks continue to run. 
00116                 NOTE: RTI and COP are not affected by SYSWAI bit. 
00117  * 4        ROAWAI  Reduced Oscillator Amplitude in Wait Mode Bit. Write: anytime 
00118                 1 = Reduced oscillator amplitude in Wait Mode. 
00119                 0 = Normal oscillator amplitude in Wait Mode. 
00120                 NOTE: Lower oscillator amplitude exhibits lower power consumption 
00121                 but could have adverse effects during any Electro-Magnetic 
00122                 Susceptibility (EMS) tests. 
00123  * 3        PLLWAI  PLL stops in Wait Mode Bit Write: anytime If PLLWAI is set, 
00124                 the CRG will clear the PLLSEL bit before entering Wait Mode. 
00125                 The PLLON bit remains set during Wait Mode but the PLL is 
00126                 powered down. Upon exiting Wait Mode, the PLLSEL bit has to be 
00127                 set manually in case PLL clock is required. While the PLLWAI bit 
00128                     is set the AUTO bit is set to 1 in order to allow the PLL 
00129                 to automatically lock on the selected target frequency after 
00130                 exiting Wait Mode. 1 = PLL stops in Wait Mode. 
00131                 0 = PLL keeps running in Wait Mode. 
00132  * 2        CWAI    Core stops in Wait Mode Bit Write: anytime 
00133                 1 = Core clock stops in Wait Mode. 
00134                 0 = Core clock keeps running in Wait Mode. 
00135  * 1        RTIWAI  RTI stops in Wait Mode Bit Write: anytime 
00136                 1 = RTI stops and initializes the RTI dividers whenever the part 
00137                 goes into Wait Mode. 
00138                 0 = RTI keeps running in Wait Mode. 
00139  * 0        COPWAI  COP stops in Wait Mode Bit Normal modes: Write once Special 
00140                 modes: Write anytime 
00141                 1 = COP stops and initializes the COP dividers whenever the 
00142                 part goes into Wait Mode. 
00143                 0 = COP keeps running in Wait Mode.
00144  * </tt>
00145  */
00146 
00147 /* <tt>
00148  * PLLCTL (CRG PLL Control Register PLLCTL, from pp23)
00149  * bit      name    normal  descr.
00150  * -------------------------------
00151  * 7        CME     Clock Monitor Enable Bit CME enables the clock monitor. 
00152                 Write anytime except when SCM = 1. 
00153                 1 = Clock monitor is enabled. Slow or stopped clocks will cause 
00154                 a clock monitor reset sequence or Self Clock Mode. 
00155                 0 = Clock monitor is disabled. NOTE: Operating with CME=0 
00156                 will not detect any loss of clock. In case of poor clock 
00157                     quality this could cause unpredictable operation of the MCU! 
00158                 In Stop Mode (PSTP=0) the clock monitor is disabled independently 
00159                 of the CME bit setting and any loss of clock will not be detected. 
00160  * 6        PLLON   Phase Lock Loop On Bit PLLON turns on the PLL circuitry. 
00161                 In Self Clock Mode, the PLL is turned on, but the PLLON bit 
00162                 reads the last latched value. Write anytime except when PLLSEL = 1. 
00163                 1 = PLL is turned on. If AUTO bit is set, the PLL will lock 
00164                 automatically. 
00165                 0 = PLL is turned off.
00166  * 5        AUTO    Automatic Bandwidth Control Bit AUTO selects either the high 
00167                 bandwidth (acquisition) mode or the low bandwidth (tracking) 
00168                 mode depending on how close to the desired frequency the VCO 
00169                 is running. Write anytime except when PLLWAI=1, because PLLWAI 
00170                 sets the AUTO bit to 1. 
00171                 1 = Automatic Mode Control is enabled and ACQ bit has no effect. 
00172                 0 = Automatic Mode Control is disabled and the PLL is under software 
00173                 control, using ACQ bit.
00174  * 4        ACQ     Acquisition Bit Write anytime. If AUTO=1 this bit has no effect. 
00175                 1 = High bandwidth filter is selected. 
00176                 0 = Low bandwidth filter is selected. 
00177  * 2        PRE RTI Enable during Pseudo Stop Bit PRE enables the RTI during 
00178                 Pseudo Stop Mode. 
00179                 1 = RTI continues running during Pseudo Stop Mode. 
00180                 0 = RTI stops running during Pseudo Stop Mode. NOTE: If the PRE 
00181                 bit is cleared the RTI dividers will go static while Pseudo-Stop 
00182                     Mode is active. The RTI dividers will not initialize like 
00183                 in Wait Mode with RTIWAI bit set.
00184  * 1        PCE   COP Enable during Pseudo Stop Bit PCE enables the COP during 
00185                 Pseudo Stop Mode. 
00186                 1 = COP continues running during Pseudo Stop Mode 
00187                 0 = COP stops running during Pseudo Stop Mode NOTE: If the PCE 
00188                 bit is cleared the COP dividers will go static while Pseudo-Stop 
00189                     Mode is active. The COP dividers will not initialize like 
00190                 in Wait Mode with COPWAI bit set. 
00191  * 0        SCME    Self Clock Mode Enable Bit Normal modes: Write once Special 
00192                 modes: Write anytime 
00193                 0 = Detection of crystal clock failure causes clock monitor 
00194                     reset (see 5.2.1 Clock Monitor Reset). 
00195                 1 = Detection of crystal clock failure forces the MCU in Self 
00196                     Clock Mode (see 4.3.2 Self Clock Mode).
00197  * </tt>
00198  */
00199 
00200 /* <tt>
00201  * RTICTL (CRG RTI Control Register, from pp24)
00202  * NOTE: A write to this register initializes the RTI counter.
00203  * bit          name    normal  descr.
00204  * -------------------------------
00205  * RTR[6:4]     Real Time Interrupt Prescale Rate Select Bits
00206                     These bits select the prescale rate for the RTI. See Table 3­2.
00207  * RTR[3:0]     Real Time Interrupt Modulus Counter Select Bits
00208                     These bits select the modulus counter target value to 
00209                     provide additional granularity.Table 3­2 shows
00210                     all possible divide values selectable by the RTICTL register.
00211                     The source clock for the RTI is OSCCLK. Address Offset: $_07
00212     Table 3-2 - Frequency Divide Rate:
00213                 RTR[6:4]:
00214                 000     001     010     011     100     101     110     111 
00215     RTR[3:0]:   (OFF)   (2^10 ) (2^11)  (2^12)  (2^13)  (2^14)  (2^15)  (2^16)
00216     0000 (÷1)   OFF*    2^10    2^11    2^12    2^13    2^14    2^15    2^16
00217     0001 (÷2)   OFF*    2x2^10  2x2^11  2x2^12  2x2^13  2x2^14  2x2^15  2x2^16
00218     0010 (÷3)   OFF*    3x2^10  3x2^11  3x2^12  3x2^13  3x2^14  3x2^15  3x2^16
00219     0011 (÷4)   OFF*    4x2^10  4x2^11  4x2^12  4x2^13  4x2^14  4x2^15  4x2^16
00220     0100 (÷5)   OFF*    5x2^10  5x2^11  5x2^12  5x2^13  5x2^14  5x2^15  5x2^16
00221     0101 (÷6)   OFF*    6x2^10  6x2^11  6x2^12  6x2^13  6x2^14  6x2^15  6x2^16
00222     0110 (÷7)   OFF*    7x2^10  7x2^11  7x2^12  7x2^13  7x2^14  7x2^15  7x2^16
00223     0111 (÷8)   OFF*    8x2^10  8x2^11  8x2^12  8x2^13  8x2^14  8x2^15  8x2^16
00224     1000 (÷9)   OFF*    9x2^10  9x2^11  9x2^12  9x2^13  9x2^14  9x2^15  9x2^16
00225     1001 (÷10)  OFF*    10x2^10 10x2^11 10x2^12 10x2^13 10x2^14 10x2^15 10x2^16
00226     1010 (÷11)  OFF*    11x2^10 11x2^11 11x2^12 11x2^13 11x2^14 11x2^15 11x2^16
00227     1011 (÷12)  OFF*    12x2^10 12x2^11 12x2^12 12x2^13 12x2^14 12x2^15 12x2^16
00228     1100 (÷13)  OFF*    13x2^10 13x2^11 13x2^12 13x2^13 13x2^14 13x2^15 13x2^16
00229     1101 (÷14)  OFF*    14x2^10 14x2^11 14x2^12 14x2^13 14x2^14 14x2^15 14x2^16
00230     1110 (÷15)  OFF*    15x2^10 15x2^11 15x2^12 15x2^13 15x2^14 15x2^15 15x2^16
00231     1111 (÷16)  OFF*    16x2^10 16x2^11 16x2^12 16x2^13 16x2^14 16x2^15 16x2^16
00232  * </tt>
00233  */
00234 
00235 /* <tt>
00236  * COPCTL (CRG COP Control Register, from pp26)
00237  * bit      name    normal  descr.
00238  * -------------------------------
00239  * 7        WCOP    Window COP Mode Bit When set, a write to the ARMCOP register 
00240                 must occur in the last 25% of the selected period. A write 
00241                 during the first 75% of the selected period will reset the part. 
00242                 As long as all writes occur during this window, $55 can be 
00243                 written as often as desired. Once $AA is written after the $55, 
00244                 the time-out logic restarts and the user must wait until the next 
00245                 window before writing to ARMCOP. Table 3-3 shows the exact 
00246                 duration of this window for the seven available COP rates. 
00247                     1 = Window COP operation 
00248                 0 = Normal COP operation
00249  * 6        RSBCK   COP and RTI stop in Active BDM mode Bit 
00250                 1 = Stops the COP and RTI counters whenever the part is in 
00251                 Active BDM mode. 
00252                 0 = Allows the COP and RTI to keep running in Active BDM mode.
00253  * [2:0]    CR[2:0] COP Watchdog Timer Rate select These bits select the COP 
00254                 time-out rate (see Table 3-3). The COP time-out period is 
00255                 OSCCLK period divided by CR[2:0] value. Writing a nonzero value 
00256                 to CR[2:0] enables the COP counter and starts the time-out 
00257                 period. A COP counter time-out causes a system reset. This can 
00258                 be avoided by periodically (before time-out) reinitializing the 
00259                 COP counter via the ARMCOP register. Table 3-3 COP Watchdog 
00260                 Rates1 NOTES: 1. OSCCLK cycles are referenced from the previous 
00261                 COP time-out reset (writing $55/$AA to the ARMCOP register) 
00262                 CR2 CR1 CR0 OSCCLK cycles to time-out 
00263                 0   0   0   COP disabled 
00264                 0   0   1   2^14 
00265                 0   1   0   2^16 
00266                 0   1   1   2^18
00267                 1   0   0   2^20 
00268                 1   0   1   2^22 
00269                 1   1   0   2^23 
00270                 1   1   1   2^24
00271  * </tt>
00272  */
00273 
00274 #define OFF_SYNR    0x00    /*  CRG Synthesizer Register  R/W */
00275 #define OFF_REFDV   0x01    /*  CRG Reference Divider Register  R/W */
00276 #define OFF_CTFLG   0x02    /*  CRG Test Flags Register  1 */
00277     /* NOTES: 1. CTFLG is intended for factory test purposes only.  R/W */
00278 #define OFF_CRGFLG  0x03    /*  CRG Flags Register  R/W */
00279 #define OFF_CRGINT  0x04    /*  CRG Interrupt Enable Register  R/W */
00280 #define OFF_CLKSEL  0x05    /*  CRG Clock Select Register  R/W */
00281 #define OFF_PLLCTL  0x06    /*  CRG PLL Control Register  R/W */
00282 #define OFF_RTICTL  0x07    /*  CRG RTI Control Register  R/W */
00283 #define OFF_COPCTL  0x08    /*  CRG COP Control Register  R/W */
00284 #define OFF_FORBYP  0x09    /*  CRG Force and Bypass Test Register  2 */
00285     /* 2. FORBYP is intended for factory test purposes only.  R/W */
00286 #define OFF_CTCTL   0x0A    /*  CRG Test Control Register  3 */
00287     /* 3. CTCTL is intended for factory test purposes only.  R/W */
00288 #define OFF_ARMCOP  0x0B    /*  CRG COP Arm/Timer Reset  R/W */

Generated on Sat Apr 10 17:08:02 2004 for BeeOS by doxygen 1.3.6-20040222