MSP430精準配置高速串口波特率的方法
3 系統(tǒng)工作頻率計算
對于定時器A0,其時鐘源頻率為F0,使定時器A0工作在計數(shù)器模式下并設置每計數(shù)T0次產(chǎn)生一次中斷,即每中斷一次的時間t0為:

對于定時器A1,其時鐘源頻率為F1,使定時器A1工作在計數(shù)器模式下并設置每計數(shù)T1次產(chǎn)生一次中斷,即每中斷一次的時問t1為:


4 波特率設置
對于給定串口時鐘源BRCLK,分頻因子N滿足:
N=BRCLK/Baudrate
分頻因子N常常不是整數(shù),因此,至少需要一個分頻計數(shù)器和一個調(diào)整器來產(chǎn)生一個近似于分頻因子N的數(shù)。
在低頻模式下,整數(shù)部分分頻因子滿足:
UCBRx=INT(N)
且分數(shù)部分滿足下列公式:
UCBRSx=round[(N-INT(N))×8]
設置波特率程序如下:
division_factor=f_smclk/(Baudrate*1.0);
UCA0BR0=(int)division_factor;
UCA0BR1=((int)division_factor)>>8;
UCA0MCTL|=(int)((division_factor_(int)division_factor)*8);
5 方案驗證
如方案3所述,先測出串口時鐘源的當前頻率,再根據(jù)該頻率設置波特率寄存器及調(diào)整器的值。將修改后的程序下載到串口能通信和串口不能通信的多個設備進行驗證。通過示波器測試發(fā)現(xiàn),被測設備的時鐘頻率存在差異,各設備之間的頻率不一定相同,同時發(fā)現(xiàn)串口的實際波特率與理論波特率一致,其表現(xiàn)形式為串口能正常通信。至此,方案3通過驗證,該方案可有效避免因串口時鐘源時鐘偏移導致不能通信的問題。
結(jié)語
實踐證明,計算出內(nèi)部時鐘經(jīng)過倍頻后的高頻時鐘,再根據(jù)該時鐘頻率設置串口波特率的方法可行。該方法從純軟件的角度有效地解決了單片機內(nèi)部時鐘頻率不穩(wěn)定,單片機因環(huán)境溫度、氣壓、電磁等導致系統(tǒng)時鐘頻率偏差,以及單片機器件之間的差異性等因素導致串口通信失敗的問題。
本文引用地址:http://www.2s4d.com/article/153443.htm
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
負離子發(fā)生器相關(guān)文章:負離子發(fā)生器原理 塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理 晶振相關(guān)文章:晶振原理 離子色譜儀相關(guān)文章:離子色譜儀原理
評論