天天看點

s3c2440a時鐘子產品

     s3c2440a包含兩個時鐘子產品,  mpll和upll,mpll提供FCLK,HCLK和PCLK,upll是一個專用于USB子產品。是時鐘頻率Fin經過pll電路提升頻率後的兩個時鐘頻率,

int main(int argc,char **argv)

{

 int i;

 uchar key;

 uint mpll_val=0;

 i=2;

 switch(i){

 case 0:  //200

  key=12;

  mpll_val=(92<<12)|(4<<4)|(1);  //mpll=200MHz的計算方法:mpll二進制值為0101 1100 0000 0100 0001即MDIV=0x92,PDIV=4,SDIV=1

                                                         //mpll=(2*m*Fin)/(p*2s) m=MDIV+8,p=PDIV+2,s=SDIV

                                                       //m=100,p=6,s=1,Fin預設為12MHz,是以mpll=(2*100*12)/(6*2)=200MHz

  break;

 case 1:

  key=13;//300

  mpll_val=(67<<12)|(1<<4)|(1);

  break;

 case 2://400

  key=14;

  mpll_val=(92<<12)|(1<<4)|(1);

  break;

 case 3:

  key=14;

  mpll_val=(92<<12)|(1<<4)|(1);

  break;

 default:

  key=14;

  mpll_val=(92<<12)|(1<<4)|(1);

  break;

     再cpu剛上電的時候不存在mpll和upll,當pll電路工作了一個lock time之後才産生,上電之初,FCLK=Fin,lock time之後,FCLK=mpll   

繼續閱讀