習喜龍 劉勇 李光磊 周崗
(1.海軍工程大學電氣與信息工程學院, 武漢430033;2.海軍工程大學科研部,武漢430033;3.中國人民解放軍海軍駐九江地區軍事代表室,江西 332007)
傳統的船舶控制系統中,由于復雜電磁環境的影響,一般采用自整角機對信號進行采集及發送。這種模擬信號的傳輸方式使其必須通過A/D與 D/A轉換電路才能實現與數字控制系統的對接。A/D和D/A具有轉換速度快,應用方便的特點[1]。但是在強干擾環境中,它又有數據采集不穩、易受干擾的缺點。這就有可能使計算機得到不正確或誤差較大的信息和發出的信息經傳送后失真。特別當模擬數據要傳送較長距離時更是如此[2]。且電路設計復雜,傳輸距離也具有一定的限制。隨著數字式傳感器在現代控制系統中的廣泛應用,數字信號的獲取逐漸代替傳統的模擬信號,這種發展方式實現了信號采集與數字電路的無縫連接。而串行通信作為控制系統中廣泛應用的數據傳輸模式,由于在數據發送過程中頻帶太寬且無法人為的控制,在復雜電磁環境且傳輸距離非常遠的情況下會出現高誤碼率,實時性差,同時占用非常多的資源。在實時性要求比較高的系統中無法滿足要求。
頻率信號具有較高的抗干擾能力,適合遠距離傳輸,實時性好,測量精度較高等特點,因此許多非頻率信號量都轉化成頻率信號量來進行測量和處理,在現代控制系統中得廣泛的應用[3]。且在不同電磁環境下,根據通信距離的不同,需要選擇合適的通信頻帶。這就要求傳輸過程中頻率信號的頻帶范圍可以根據需要人為的加以控制。同時,數據的更新速率隨頻帶的選擇改變,頻率越高,更新速率更快。傳統的D/F轉換采取的是數字信號與頻率成線性的思想。在接收端進行數字信號還原的過程中需要對頻率進行測量。如果采取單位時間內測周期個數的方式,無法保證較高的實時性和準確性。且當信號持續時間不足測量的單位時間,會造成數據的丟失。
本文通過對數字信號進行處理,將采集的每一個數字信號值與一個單位周期包含特定個基準頻率周期的頻率信號相對應,實現數字信號與周期個數的線性和可控化。最終實現D/T轉換、發送,接收及T/D轉換的全過程。較數字與頻率成線性的D/F轉換方式,本文采用的是計算接收到的頻率信號單位周期內包含的基準頻率周期的個數,也就是說只需要發送過來一個完整周期的頻率信號,接收端就能夠準確還原數字信號。從測量一個周期與測量N個周期相比,這在實時性上具有很大的提高。系統總體結構如圖1所示。

圖1 系統總體結構示意圖
數字/周期轉換主要實現的是將采集的數字信號通過電路轉換成單位周期包含特定個基準頻率周期的頻率信號進行發送。這就要求采集的數字信號與發送頻率之間具有一一對應的關系。電路工作原理如圖2所示。

圖2 發送模塊原理
通常新型數字傳感器或單片機采集的信號一般為N位的二進制數,我們根據采集信號的位數選擇合適的計數器芯片個數(以12位數字信號為例一般采用三片74LS163)。計數器采取并接級聯方式,即所有的計數器采用同一時鐘信號,前一級溢出信號作為下一級計數器的允許計數標志,這樣可以充分保證最后一級計數器的溢出信號的高電平持續時間剛好為時鐘的一個周期,同時應用其對所有的計數器進行同步置數。
我們將獲得的數字信號置于計數器的置位端,作為起始值開始計數。當計數器計滿,最高位的溢出端 RCO將產生一個基準時鐘周期長度的高電平,利用其對計數器進行置位,如此一直循環。由于計數器采用同一時鐘,這就保證其置位的同時性。并且置位信號只維持一個基準時鐘周期,這就保證了置位操做的唯一性。同時只有在最高位的計數器計滿溢出時才進行置位操作,即使在這期間預置數發生變化,本次循環依然進行直到計滿溢出,避免了非完整周期的產生而造成系統誤差。輸出的溢出信號的波形如圖3所示。
溢出端頻率信號每個周期包含的基準頻率的周期個數為:n=(2N-1)-P (n-包含基準頻率周期個數,N-數字信號的總體位數,P-預置數數值)。當N=12時,采用6M晶振作為基準頻率,則數字信號的最快更新速率為 n/(6M)=1/(6M)≈0.17μs。當然考慮到實際應用采集的數字信號數值處于0-111111111111的不同位置范圍,要求的更新速率也不同。根據頻段選擇的不同,更新速率必須大于所選頻段中最低頻率單位周期的長度,即T>tMAX=n/M=(2N-1-P)/M(T-更新速率,n-包含基準頻率周期個數,F-基準時鐘頻率,N-數字信號位數,P-預置數數值)。總之,預置數值越大則更新速率越快,反之則更新應越慢。以給定的D0~D11=100000000000為例,則溢出端每個周期包含的基準頻率周期個數n=2047,最快更新速率約為0.34 ms。
但是在實現頻率信號的差分發送時,由于溢出頻率信號的占空比非常小,在短距離發送試驗中還可以勉強實現無故障傳輸,但是在遠距離傳輸試驗中,抗干擾能力非常差。因此考慮將溢出信號在周期不變的情況下進行占空比調整。調整的結果如圖3所示。

圖3 溢出頻率信號占空比調整
由圖3可見,調整后的頻率信號每個周期包含兩個溢出周期,這樣的調整方式不但使占空比達到了 50%,同時可使精度得到提高。由于每個發送頻率信號的單位周期內包含兩個溢出周期,因此在復現模塊中計數的數值將是一個溢出周期包含的基準周期數的兩倍,即 2n。這可以起到測量多個周期然后獲取平均值以達到提高精度的效果。同時發送的頻率信號的頻率計算公式為:f=F/2n(f-發送信號頻率,F-基準頻率,n-單個溢出頻率周期包含基準頻率周期個數)。
由此當采集的數字信號涵蓋0—111111111111所有的數值,則發送的頻率信號的頻帶則為0.732 kHz~3 MHz。當然在工程應用中可以通過軟件的方式將采集的數字信號數值對應到一個相對較小的范圍內,以實現對頻帶范圍的壓縮與選擇。如以1000,0000,0000為中心前后各800,即1248~2848,總共1600種的情況下,其頻率范圍則相對非常地集中在1.05~1.6 kHz之間,頻率的變化非常小,這種頻率的可控性可使其應用于一些對通過頻率具有嚴格要求的環境。
周期/數字轉換電路的主要作用是測量接收頻率信號單位周期包含基準頻率周期的準確個數,最終實現對數字信號的復現。其基本的原理圖如圖4所示。

圖4 接收模塊原理
發送端根據采集信號的數值控制發送頻率單位周期包含的基準頻率周期個數,因此在復現模塊中只需要精確地測量這個數值,就能夠對數字信號進行復現。我們采用計數器對接收的頻率信號一個周期時間進行計數的方式。計數器的連接方式依然采用并接級聯,只是在接收端計數器不需要進行置位,需要的是在頻率信號每個周期結束時,對計數器進行清零。同時為方便單片機等微處理器獲取計數器的計數值,必須利用鎖存電路對每個周期結束時的計數值進行鎖存處理。因此這里的操作包括,首先對計數器進行停止計數操作,然后是鎖存,最后才進行清零。停止計數操作的主要作用是保證鎖存操作時計數器計數端的數值不發生變化,保持最后數值狀態,保證鎖存操作的準確性。在鎖存操作完成以后才進行清零處理,不然此周期的操作將失去意義。這些操作都是控制電路通過獲取接收頻率信號一個周期開始時的上升沿而產生。控制信號的生成見圖5。
當然鎖存信號的生成同時受硬件本身和處理器的雙重控制,單片機需要讀取數值時,則讓硬件產生鎖存信號,否則不進行鎖存操作。由于接收的頻率信號是連續的,但為了保證控制器數據采集的準確性而在每個周期開端進行停止計數操作,這就使下一個周期計數的開始位置并不是從下降沿就開始,其中會錯過幾個周期。但是錯過的周期個數是固定的,并且可以在硬件電路的設計時精確的設定。當然為使三種控制操作之間不相互影響,錯過的周期個數應設計得更長一些。最小的間隔周期應為四個,即停止計數占兩個周期,鎖存占停止計數中的后一個周期,最后清零信號在占一個周期。同時為了提高測量的精度,在復現端我們選取的有源晶振的頻率是發送端的兩倍(如發送端采用6M,則接收端采用的是12M晶振)。這樣就使計數值是原來的兩倍,加上原來發送端的翻倍處理。這就是說最終復現的數值是一個溢出周期包含的發送端基準頻率周期個數的四倍。當然在這樣的情況下計數器的使用個數會增加,但是這樣的處理就相當于連續計四個周期,然后求其平均值。將計數值右移去掉了不穩定的最低兩位,起到了非常好的提高精度的效果。對應一個接收信號其相對接收端晶振的周期個數:n’=4n=N+k (n-單個溢出頻率周期包含基準頻率周期個數;N-接收端計數器計數值;k-錯過的四個周期)。

圖5 控制信號生成示意圖
通過搭建硬件電路,對發送模塊進行測試。通過單片機定時向計數器置位端寫初值,最終通過占空比調整,能夠生成清晰穩定的占空比為50%的方波。然后,將產生的頻率信號通過差分發送的方式通過一千米的電纜線圈傳輸,最終在接收端準確地接收到發送的波形。接收模塊準確計數,最終復現初值。當對傳輸線路線纜進行強干擾實驗室,計數端只有最低兩位有所波動。由于采用了四個周期求平均值的方法,通過向低位右移,最低兩位的變化不影響最終的接受結果,取得預期的實驗效果。
Quartus軟件仿真結果:
發送端預置數為 100000000000時生成的方波頻率信號,如圖6所示。
接收端接收到頻率分別為500 Hz和1 kHz時計數仿真,仿真結果如圖7所示。

圖6 12位發送端預置10000000000時輸出的方波頻率信號

圖7 接收端不同頻率下計數器輸出
由此可見,每個接收信號周期都有四個時鐘周期計數器沒有計數,這正是生成停止計數,鎖存與清零等鎖存信號時所占用的四個周期,雖然這會使每個計數值相對接收信號對應時鐘信號的周期個數不準確,但這是硬件設計產生,而且固定相差4。因此,可以在接收端軟件上進行精確的補償。
電路設計硬件封裝以后的發送模塊及接受模塊如圖8所示。

圖8 發送與接收模塊
針對現代船舶控制系統中數字信號采集及發送,設計了全新的數字/頻率發送及接收電路,實現數字系統的直接頻率信號輸出,有效地避免了傳統頻率輸出系統由于的非整周期刷新而造成的系統誤差,同時由于采用了數字與發送頻率信號單個周期包含基準周期個數成線性的轉換方式,使傳輸頻率大小可控,接收端不再需要測量頻率大小,而只測量其中一個周期包含基準頻率周期的個數。這大大加快了測量的速度和效率,提高了系統的實時性。同時由于采用頻率的傳輸方式,有效地提高了信號在遠距離,強噪聲干擾環境下的抗干擾能力。為數字系統的頻率輸出與接收還原提供了一個完整的解決方案。此系統設計已經在船舶控制系統中得到了大量的應用,實時性與抗干擾性方面得到了驗證并取得了很好的效果。
[1]劉孝定. 數字/頻率、頻率/數字轉換電路的應用[J].艦船電子對抗,2004 ,27 (3):20~23
[2]鄭德智, 樊尚春, 邢維巍. 新型數字-頻率變換在科氏質量流量計中的應用[J]. 北京航空航天大學學報,2006 ,32(1).
[3]馬獻果, 焦陽. 頻率測量方法的改進[J]. 儀器儀表學報, 2004 ,25 (4):120~121.
[4]謝自美. 電子線路設計·實驗·測試. 武漢:華中科技大學: 232~246.
[5]Zheng Dezhi, Fan Shangchun. A Novel Digital Coriolis Mass Flowmeter[A]. In The 12th International Conference on Flow Measurement,Beijing Chinese Society for Measurement Press,204 455~460
[6]Prasad N Enjeti , Ashek Rahman, Ranjit Jakkli.Economic Single-phase to Three Phase Converter Topologies for Fixed and Variable Frequency Output[J]. Transaction Power Electronics, 1993 , 8(3)329~335.