📄 readme.cma286
字号:
CPU module revisions--------------------My cpu module has the model number "CMA286-60-990526-01". My motherboardhas the model number "CMA102-32M-990526-01". These are both fairly old,and may not reflect current design. In particular, I can see from theCogent web site that the CMA286 has been significantly redesigned - itnow has on board RAM (4M), ethernet 10baseT PHY (on SCC2), 2 serial ports(SMC1 and SMC2), and 48pin DIN for the FEC (if present i.e. MPC860T), andalso the EPROM is 512K.My CMA286-60 has none of this, and only 128K EPROM. In addition, the CPUclock is listed as 66MHz, whereas mine is 33.333MHz.Clocks------Quote from my "CMA286 MPC860/821 User's Manual":"When setting up the Periodic Interrupt Timer (PIT), be aware that theCMA286 places the MPC860/821 in PLL X1 Mode. This means that we feeda 25MHz clock directly into the MPC860/821. This mode sets the divisorfor the PIT to be 512. In addition, the Time Base Register (TMB)divisor is set to 16."I interpreted this information to mean that EXTCLK is 25MHz and that atpower on reset, MODCK1=1 and MODCK2=0, which selects EXTCLK as thesource for OSCCLK and PITRTCLK, sets RTDIV to 512 and sets MF (themultiplication factor) to 1 (I assume this is what they mean by X1mode above). MF=1 means the cpus internal clock runs at the samerate as EXTCLK i.e. 25MHz.Furthermore, since SCCR[TBS] (the Time Base Source selector bit in theSystem Clock and Reset Control register) is set in the cpu initialisationcode, the TMBCLK source is forced to be GCLK2 and the TMBCLK prescale isforced to be 16. This results in TMBCLK=1562500.One problem - since PITRTCLK source is EXTCLK (25Mhz) and RTDIV is 512,PITRTCLK will be 48828.125 (huh?). Another quote from the MPC860 UsersManual:"When used by the real-time clock (RTC), the PITRTCLK source is firstdivided as determined by RTDIV, and then divided in the RTC circuits byeither 8192 or 9600. Therefore, in order for the RTC to count inseconds, the clock source must satisfy: (EXTCLK or OSCM) / [(4 or 512) x (8192 or 9600)] = 1The RTC will operate with other frequencies, but it will not count inunits of seconds."Therefore, the internal RTC of the MPC860 is not going to count inseconds, so we must use the motherboard RTC (if we need a RTC).I presume this means that they do not provide a fixed oscillator forOSCM. The code in get_gclk_freq() assumes PITRTCLK source is OSCM,RTDIV is 4, and that OSCM/4 is 8192 (i.e. a ~32KHz oscillator). Sincethe CMA286-60 doesn't have this (at least mine doesn't) we can't usethe code in get_gclk_freq().Finally, it appears that the internal clock in my CMA286-60 is actually33.333MHz. Which makes TMBCLK=2083312.5 (another huh?) andPITRTCLK=65103.515625 (bloody hell!).If anyone finds anything wrong with the stuff above, I would appreciatean email about it.Murray Jensen <Murray.Jensen@csiro.au>21-Aug-00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -