新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 采用MCS-51單片機實現(xiàn)CPFSK調(diào)制

采用MCS-51單片機實現(xiàn)CPFSK調(diào)制

作者: 時間:2009-04-09 來源:網(wǎng)絡 收藏

如果波形是單一頻率的,程序可以非常簡單,只要編制順序程序就可以了。如果波形的頻率是變化的,就需要根據(jù)串行數(shù)據(jù)“0”或“1”的變化來改變每個時段的延時時間。在中,串行數(shù)據(jù)流是由軟件設置,硬件自動產(chǎn)生,由TXD自動發(fā)出的。TXD的高低電平變化可以通過的程序測得。根據(jù)這一特性,可以通過不斷檢測TXD的高低電平變化來決定每個時段的延時時間。程序流程如圖5所示。

從流程圖5可以看出,在每個相位中,將Px.x置“1”或置“0”后都要判斷TXD的電平,以確定相應延時的數(shù)。在某個相位TXD電平開始改變時,程序就從這個相位改變脈沖的延時時間,而程序中相位執(zhí)行的次序并不改變。所以在TXD的電平改變時,兩種頻率的正弦波信號在同一個相位上交接。因此,F(xiàn)SK調(diào)制相位是連續(xù)的,見圖6。

編程時必須注意,程序不論走哪條分支,所用的數(shù)都必須跟蹤計算,最終所用的數(shù)必須符合表2的要求。另外,在進行FSK調(diào)制前應該增加一定長度的980Hz 的載波信號(PWM980)作為前導碼信號。在數(shù)據(jù)發(fā)送完之后還應該增加一定長度的PWM980作為停止位,因為單片機的TI標志出現(xiàn)在數(shù)據(jù)幀停止位的前沿。

4 波形的優(yōu)化

  圖4中B端的波形也就是帶有鋸齒的正弦波,是PWM調(diào)制經(jīng)一階濾波后產(chǎn)生的波形。該波形已具有了正弦波的大致形狀,但鋸齒也很明顯,它和圖2的階梯波有些相似。通過前面的分析和表1的比較知道,增加PWM調(diào)制的時段分割數(shù)可以提高正弦波的波形精確度。

  對于時段分割應該選擇一個適當?shù)臄?shù)字。分割太粗,波形的失真就會嚴重,給濾波帶來困難;分割過細會增加程序所占的空間。另一方面,時段的分割也不可能無限加大,因為軟件延時時,延時時間的最高分辨率為1個機器周期。從表2也可以看到,在第4和第6時段出現(xiàn)了最小脈寬為1個機器周期的情況,而在第5時段甚至出現(xiàn)了只有高電平?jīng)]有低電平的現(xiàn)象。如果繼續(xù)細分時段,將會出現(xiàn)更多的只有一種電平的脈寬而另一種電平脈寬長度為0的現(xiàn)象。按上述等分時段的方法,如果不提高單片機的晶振頻率,20個時段的分割已達到極限。所以不能單純地細分時段的方法來提高波形的精度。

  從圖4中帶有鋸齒的正弦波可以看出,鋸齒的大小在整個波形上不是處處相等的,波峰左側(cè)的鋸齒要比右側(cè)的鋸齒小得多。

  從圖2的階梯波形可以看出,當階梯波的精度最高時,應該是電壓的步長或時間的步長之一為最小,而不是電壓步長與時間步長之和為最小,當然更不能是電壓或時間的任何步長為0。同樣,用脈寬波表示正弦波時,精度最高的表示方法應該是“0、1”之一的脈寬為最小,而不一定是“0、1”脈寬之和為最小,也不能是“0、1”之一的脈寬為0。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉