99热久久这里只有精品,99久久人妻精品免费二区,成人综合亚洲欧美一区,国产成人精品亚洲一区,久久国产亚洲精品赲碰热

華大單片機(jī)RTC補(bǔ)償

  • 發(fā)布時間:2021-08-09 10:22:39,加入時間:2021年07月05日(距今1526天)
  • 地址:中國»遼寧»沈陽:遼寧省沈陽市鐵西區(qū)建工西路5號財富星座B座
  • 公司:沈陽芯碩科技有限公司, 用戶等級:普通會員 已認(rèn)證
  • 聯(lián)系:宣女士,手機(jī):13840143924 電話:024-85718900 QQ:3540893315

華大單片機(jī)有些型號帶有RTC功能模塊,提供秒、分、時、日、周、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整。RTC時鐘模塊的時鐘源可以選用內(nèi)部低速時鐘、外部低速時鐘和外部高速時鐘。內(nèi)部低速時鐘全環(huán)境范圍(VCC = 1.8 ~ 5.5V,T AMB = -40 ~ 85°C)下精確度為正負(fù)5%,這種精度不能滿足計時時間要求嚴(yán)格的使用。用戶想要得到高精度的計時就必須使用外接晶振。使用外接晶振后并不是完全可以無誤差,只是降低了誤差,如果還想得到更高的精度還需要對RTC進(jìn)行補(bǔ)償。


補(bǔ)償原理說明與計算:
由于計數(shù)器采用 32.768KHz 的時鐘計數(shù),如果需要對每秒精度進(jìn)行補(bǔ)償時,只能按照 32.768KHz 的整數(shù)周期補(bǔ)償,則每秒補(bǔ)償?shù)膯挝粸椋?/32768)*10 6 =30.5ppm,無法滿足高精度的要求。那么要在 32.768KHz 的計數(shù)時鐘下實(shí)現(xiàn)精度較高的時鐘補(bǔ)償時,需要在算法上做調(diào)整,將補(bǔ)償周期擴(kuò)大 32 倍。則在只能補(bǔ)償?shù)膯挝粸?30.5ppm 的情況下,平均每秒的補(bǔ)償單位變?yōu)闉?30.5ppm/32=0.96ppm。滿足了精度較高的時鐘補(bǔ)償要求。而且補(bǔ)償發(fā)生在每 32 秒內(nèi)比較均勻的范圍內(nèi)。所以,該寄存器中引入了 5 位小數(shù)的設(shè)定。
設(shè)定值計算如下:

如果補(bǔ)償目標(biāo)值為 +20.6ppm,計算相應(yīng)的寄存器值如下:

如果補(bǔ)償目標(biāo)值為-20.6ppm,計算相應(yīng)的寄存器值如下:








補(bǔ)償代碼如下:
       int16_t RTC_err;                                                          //一天內(nèi)誤差多少秒   
       float    RTC_Value = 0;  
       RTC_Value=RTC_err/(24*60*60) *(1000000);             //將誤差轉(zhuǎn)換為PPM
       RTC_Value=RTC_Value*32768/1000000;
       RTC_COM = Change_FloattoBin(RTC_Value);            //取2的補(bǔ)碼
       M0P_RTC->COMPEN_f.CR = RTC_COM;

uint16_t Change_FloattoBin(float data)     //取2的補(bǔ)碼部分
{
  float data1 = data;
  
  uint16_t temp_data=0;
  uint16_t temp_data1=0;
  uint8_t i,data_inter;

  if(data<0)
  {
  data=-data;
}
  data_inter = (uint8_t)data;
  data-=data_inter;
  for(i=0;i<6;i++)
  {
    data = data*2;
    if(data>=1)
    {
      data-=1;
      temp_data|=1<<(5-i);
    }
  }
  temp_data|=(data_inter<<6);
  if(data1<0)
  {
    temp_data=~temp_data+1;  
  }
  else
  {   
    temp_data1=temp_data;
  }
  temp_data1=temp_data;
  temp_data1>>=1;  
  temp_data1+=0x20;
  temp_data1&=0x1ff;
  return temp_data1;//取低9位補(bǔ)償值
}

華大單片機(jī)RTC補(bǔ)償

聯(lián)系我時請說明來自志趣網(wǎng),謝謝!

免責(zé)申明:志趣網(wǎng)所展示的信息由用戶自行提供,其真實(shí)性、合法性、準(zhǔn)確性由信息發(fā)布人負(fù)責(zé)。使用本網(wǎng)站的所有用戶須接受并遵守法律法規(guī)。志趣網(wǎng)不提供任何保證,并不承擔(dān)任何法律責(zé)任。 志趣網(wǎng)建議您交易小心謹(jǐn)慎。