當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]在遙測遙控系統(tǒng)中,數(shù)據(jù)的調(diào)制和解調(diào)是經(jīng)常遇到的問題。一些自報測站不接收遠(yuǎn)方的遙控命令,只是定時采集參數(shù)或在參數(shù)變化時采集,并自動將采集的參數(shù)發(fā)往監(jiān)控中心。這些遙測站不一定包含解調(diào)功能,但信號調(diào)制是遙測

在遙測遙控系統(tǒng)中,數(shù)據(jù)的調(diào)制和解調(diào)是經(jīng)常遇到的問題。一些自報測站不接收遠(yuǎn)方的遙控命令,只是定時采集參數(shù)或在參數(shù)變化時采集,并自動將采集的參數(shù)發(fā)往監(jiān)控中心。這些遙測站不一定包含解調(diào)功能,但信號調(diào)制是遙測站的必要功能。

  在水情自動測報系統(tǒng)中,數(shù)據(jù)傳輸大量采用超短波無線電臺。用模擬電臺傳輸數(shù)字信號時,調(diào)制方法多采用FSK。水情自動測報規(guī)范推薦的標(biāo)準(zhǔn)為CCITT V.21,即:數(shù)據(jù)串行速率為300波特率,數(shù)據(jù)電平“1”調(diào)制頻率為980Hz,數(shù)據(jù)電平“0”調(diào)制頻率為1180Hz。

  調(diào)制解調(diào)的通常方法是采用專用的調(diào)制解調(diào)接口芯片,如MC145442、XR2211、XR2206等。采用專用調(diào)制解調(diào)接口芯片不僅增加了設(shè)備成本,而且芯片質(zhì)量直接影響測控設(shè)備的性能。就一般而言,設(shè)備中的元器件越多,設(shè)備的可靠性越低。因此,在滿足系統(tǒng)功能的前提下,應(yīng)盡可能減少設(shè)備中元器件的品種和數(shù)量。遙測遙控設(shè)備的信號調(diào)制解調(diào)是非常重要的環(huán)節(jié),如果能夠減少或省去調(diào)制解調(diào)專用接口芯片,將對提高設(shè)備的穩(wěn)定性和可靠性大有好處。

  目前,幾乎所有的遙測設(shè)備都使用單片機(jī),其中MCS-51系列單片機(jī)又占了很大比例。本文將以MCS-51單片機(jī)為例,說明利用單片機(jī)的軟件調(diào)制產(chǎn)生標(biāo)準(zhǔn)的FSK信號。

1 正弦波的調(diào)制

  單片機(jī)的輸出接口一般只能輸出邏輯“0、1”,即0、Vcc兩種電位。要想得到FSK信號,首先要得到正弦波信號,再根據(jù)串行數(shù)據(jù)的變化產(chǎn)生FSK信號。

  從單片機(jī)獲得正弦波,最簡單的方法就是利用方波濾波得到正弦波。由于單片機(jī)的脈沖輸出只有正電平,沒有負(fù)電平,方波負(fù)半周,單片機(jī)無法產(chǎn)生負(fù)脈沖。因此產(chǎn)生的信號波形應(yīng)該疊加一個直流正電平,使信號波形完全處在正電平一側(cè)。如圖1所示。

然而,方波是由基波和一系列高次諧波組成。如果圖1可以用函數(shù)f(x)表示,將函數(shù)f(x)進(jìn)行傅里葉級數(shù)展開可以得到:

從式(1)可以看出,接近基波的諧波成分比重較大。采用低通濾波器濾波時,接近基波的諧波成分難以濾去,為了減小波形的失真往往需要增大濾波的強(qiáng)度,這樣在減小波形失真的同時,基波的損失也隨之增大。

  如果采用正弦波脈寬調(diào)制(PWM)可以得到比較滿意的結(jié)果。PWM調(diào)制可以利用“0、1”變化的脈沖信號調(diào)制出模擬信號。

  在計算機(jī)中,對連續(xù)曲線進(jìn)行數(shù)字化處理時,通常將連續(xù)曲線用階梯圖形表示,當(dāng)階梯的步長足夠小的時候,所表示的曲線被認(rèn)為是精確的。圖2的上圖表示了不同時段內(nèi),電壓的不同階梯。

  但是單片機(jī)輸出接口不能產(chǎn)生變化的電平,即不能產(chǎn)生如圖2所示的電壓階梯,所能做的只能是“0、1”電平的時間變化,即PWM調(diào)制。

所謂正弦波PWM調(diào)制就是調(diào)制出的波形盡可能接近正弦波,也就是傅里葉級數(shù)中的基波比重盡可能大,高次諧波的比重盡可能小。對于圖2來說,在調(diào)制過程中使每個時段內(nèi)下圖的陰影面積與上圖對應(yīng)部分的陰影面積相等。在用PWM調(diào)制正弦波時,要求時段的分割是偶數(shù),因為正弦波圖形是一種對稱圖形。

  對于一個周期函數(shù)可以進(jìn)行傅里葉級數(shù)的展開,級數(shù)的一般表達(dá)式為:

當(dāng)按上述方法進(jìn)行PWM調(diào)制時,圖2下圖函數(shù)傅里葉級數(shù)的an均為0,當(dāng)n為偶數(shù)時,bn也為0。所以正弦波PWM調(diào)制的傅里葉級數(shù)為:

根據(jù)階梯圖形表示連續(xù)曲線時,階梯越細(xì)圖形越精確的原理,認(rèn)為用PWM調(diào)制正弦波時,時段分割越多,調(diào)制出的正弦波越精確。如果不考慮級數(shù)中的直流成分,可以得到不同時段的諧波系數(shù),如表1所示。

從表1可以看出,諧波系數(shù)隨著諧波次數(shù)的增加逐漸減小,但在n=K-1處系數(shù)會突然增大,之后又逐漸減小。而這種突然增大的比值隨著時段分割數(shù)的增加總體呈下降趨勢。

  另一方面,突然增大的比值,隨著時段分割數(shù)的增加而向高次諧波方向移動。對這種遠(yuǎn)離基波的高次諧波,只要采用低通濾波器就能很容易將其去除,我們所關(guān)心的是如何盡可能減小基波附近諧波的系數(shù)。

  從表1可以看出,隨著時段分割數(shù)的增加,離基波較近的諧波系數(shù)也呈下降趨勢。所以通過對時段的細(xì)分,信號的高次諧波,特別是接近基波的諧波成分會進(jìn)一步減少。

2 信號輸出

  由于采用了正弦波PWM調(diào)制,單片機(jī)輸出信號只要經(jīng)過簡單的低通濾波器就可以得到平滑的正弦波信號。圖3中的74HC04是CMOS反相器,這里它起緩沖驅(qū)動作用。

因為單片機(jī)的P1~P3口是準(zhǔn)雙向口。作為輸出口時低電平有一定的吸收電流能力,但高電平輸出電流的能力很小,這就使輸出信號的開關(guān)特性有較大差異。而CMOS反相器的輸出采用P溝道和N溝道MOS管構(gòu)成的對稱互補(bǔ)結(jié)構(gòu),使輸出信號的“0、1”有相同的開關(guān)特性,能保證低電平的吸收電流和高電平的輸出電流相同。圖3中R1、R2為1kΩ的電阻,C1、C2、C3為0.1μF的獨(dú)石電容。當(dāng)時段分割為20,正弦波信號頻率為1180Hz時,圖3中A、B、C三個端口的輸出波形如圖4所示。

3 CPFSK調(diào)制

  軟件調(diào)制是將正弦波分為若干個時段,并計算出每個時段內(nèi)高電平和低電平所占用的時間,這些時間在單片機(jī)中用軟件延時實現(xiàn)。

  為了敘述方便,首先定義幾個符號:

  φ——軟件調(diào)制所在的相位;

  T——相位角為φ時對應(yīng)時段的機(jī)器周期總和;

  T1——相位角為φ時對應(yīng)時段的高電平機(jī)器周期;

  T0——相位角為φ時對應(yīng)時段的低電平機(jī)器周期;

  T1180——相位角為φ時頻率為1180Hz正弦波對應(yīng)時段的機(jī)器周期總和;

  T980——相位角為φ時頻率為980Hz正弦波對應(yīng)時段的機(jī)器周期總和。

  根據(jù)圖2中面積相等,即S1=S2的要求可以得到:

如果單片機(jī)的晶振頻率為11.0592MHz,完成頻率為980Hz的正弦波調(diào)制需要=940個機(jī)器周期,完成頻率為1180Hz的正弦波調(diào)制需要=781個機(jī)器周期。20等分能夠?qū)?40整除,得到每個時段的機(jī)器周期數(shù)T980=47。但=39余1,如果將余數(shù)1丟掉,就會造成頻率為1180Hz的正弦波頻率誤差變大。實際編程時可以將余數(shù)1插補(bǔ)在20個時段中的某個時段中,也就是19個時段為T1180=39個機(jī)器周期,1個時段為T1180=40個機(jī)器周期。T0和T1的計算如表2所示。

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

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

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

4 波形的優(yōu)化

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

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

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

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

  從圖4中可以看出,波峰的左側(cè)恰好是“0、1”之一的脈寬較小的地方,這里的鋸齒較小。波峰的右側(cè)是“0、1”脈寬比較平均的地方,這里的鋸齒較大。

  根據(jù)上述分析知道,要想提高波形的精度就要對時段細(xì)分,細(xì)分的原則就是“0、1”之一的脈寬為最小。這樣每個時段就不會是均等的。在單片機(jī)中,脈沖的延時的最小時間是一個機(jī)器周期。如果PWM調(diào)制的是單一頻率的正弦波,“0、1”之一的最小脈寬就是一個機(jī)器周期。但是在進(jìn)行FSK調(diào)制時,由于在執(zhí)行每個脈寬延時時要對TXD的電平進(jìn)行判斷,一個機(jī)器周期顯然不夠用。如果某個時段的高電平脈寬T1180(H)=3,T980(H)=4,根據(jù)圖5的程序流程,具體的程序是:

從上面程序可以看出,如果某個時段T1180(X)≠T980(X),T1180(X)的最小值為3個機(jī)器周期,T980(X)的值則是根據(jù)T1180(X)所在相位做相應(yīng)的增加。當(dāng)然,當(dāng)T1180(X)=T980(X)時,T1180(X)和T980(X)的最小值可以是1個機(jī)器周期。

  單片機(jī)的晶振頻率為11.0592MHz,采用這種方式調(diào)制,時段分割為52個,調(diào)制的結(jié)果如圖7所示。比較圖7與圖4可以發(fā)現(xiàn),波峰左側(cè)變化不大,波峰右側(cè)的鋸齒卻大大減小了,整個波形的精度有了很大提高。

采用單片機(jī)的輸出接口直接調(diào)制產(chǎn)生CPFSK信號,充分利用了單片機(jī)的資源,節(jié)省了元器件,同時也提高了信號頻率的穩(wěn)定性和靈活性。因為FSK的頻率只與單片機(jī)的晶振和軟件有關(guān),晶振的頻率是非常穩(wěn)定的。采用軟件編程調(diào)制可以根據(jù)信號的需要進(jìn)行靈活多樣的變化,而不用擔(dān)心專用元器件的供貨問題和元器件的質(zhì)量問題。該調(diào)制方式已在全國許多地區(qū)的水情自動測報系統(tǒng)中應(yīng)用,運(yùn)行結(jié)果是非常理想的。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉