張同杰
摘 要:介紹一種基于CMX869調制解調芯片的遠程控制實現方案,通過采用QAM調制方式對數字信號進行調制并遠程傳輸,結合終端控制軟件,實現遠程數據采集和控制的功能,可以廣泛應用于企業或家庭的專用自動化網絡建設。將從硬件平臺設計和軟件實現兩方面介紹該方案低成本、高性能、易開發、適應性強的特點。
關鍵詞:調制解調芯片CMX869;QAM;V.32bis;C-Bus;89X51單片機;Cx51
中圖分類號:文獻標識碼:A
文章編號:1004-373X(2009)19-119-03
Realization Scheme of Remote Control
ZHANG Tongjie
(No.10th Research Institute,China Electronic Science & Technology Group Corporation,Chengdu,610036,China)
Abstract:A realization scheme of remote control based on CMX869 modem chip is introduced.The digital signal is modulated and transmitted using QAM modulation,integrating terminal control software,it can realize remote utility data reading and controlling.It also can be applied to enterprises and house construction of automatization network.Both in hardware design and software realization,its characteristics on excellence of low cost,high performance and easy design are proposed.
Keywords:CMX869 modem;QAM;V.32bis;C-Bus;89X51;Cx51
0 引 言
隨著社會的高速發展,工業領域內各種控制設備自動化程度越來越高,使用范圍也越來越廣,這就使得很多自動化相關的技術也滲透到了老百姓的日常生活,通過有線網絡實現對設備的遠程操作,將極大地提高工作效率,降低人力成本,因此各種網絡化的需求越來越高[1]。
眾所周知,在構建一個小區遠程控制網絡時,其實現方案有兩種:當終端距離較近時采用以太網傳輸;當距離較遠時,采用光纖或調制解調傳輸。由于采用以太網和光纖傳輸在線路的中繼和鋪設成本,以及對現有電器設備要求較高,對小區遠程控制這種數據量不太大、實時性較高的需求,以太網和光纖傳輸并不是最優的解決方案[2]。采用調制解調方案,從調制解調的底層協議棧開始開發是很復雜的,而使用目前市面上功能相對單一的通用調制解調產品構建專用網絡的時候,又會增加網絡的復雜程度,且不提供用戶編程接口,給集中式管理和維護造成不必要的麻煩。本文將介紹一種介于上述兩種方案之間的小區遠程控制網絡實現方案,有完善穩定的V.32bis協議棧,是一種低成本、高性能、易開發、適應性強的控制實現方案。
1 基于高性能調制解調芯片CMX869的硬件設計方案
本方案采用CML公司的CMX869調制解調芯片[3]作為核心器件,它的主要特點有:
傳輸速度快 普通調制解調芯片也可以用于網絡控制,但是其調制方式和傳輸速度制約了使用范圍。CMX869采用C-Bus串口總線[4]和全雙工QAM(正交幅度調制)調制方式[5],并向下兼容FSK(頻移鍵控),串口總線時鐘頻率最高可達5 MHz,調制傳輸速率最高可達28.8 Kb/s。
傳輸性能好 兼容程控交換網絡,提供帶回波抵消的2/4線傳輸接口,發送電路信號強度為0.5 dBm,接收電路接收靈敏度可達-30 dBm,在使用典型超5類雙絞線無中繼情況下,傳輸距離大于4 km。同時可自動檢測線路質量并實時調整,適宜遠距傳輸。
資源豐富 通過C-BUS串口總線可訪問多個命令和狀態可讀寫寄存器資源,并提供完善穩定的V.32bis協議棧,調用方便。
低功耗 采用3.3 V低壓工作模式,通過編程可自動中斷已建立的空閑連接,處于省電工作模式時消耗極低的電流,當串口接收到數據時,可自動返回到正常工作模式,有選擇的建立連接,適用于低功耗要求的應用。
環境適應性好 CMX869 的存儲溫度在-55~+125 ℃之間,工作溫度在-40~+85 ℃之間,適宜嚴寒和酷熱環境的室外工作。
方案實現原理和核心電路如圖1,圖2所示,主要完成控制數字信號和傳輸模擬信號的選通與轉換。管理終端通過接口擴展單元對業務進行選通使能[6],由控制單元MCU把控制命令通過CMX869調制后,送往遠端CMX869解調,待遠端控制單元采集到需求的業務數據后,再通過原路徑把數據送回到管理終端。
圖1 方案原理框圖
圖2 核心電路圖
2 軟件實現流程
本方案的另一個特點是軟件開發簡單,因為CMX869對外提供了豐富的命令和狀態可讀寫寄存器資源,以及完善穩定的V.32bis協議棧,開發人員只需在控制單元的89X51系列單片機[7]上進行匯編語言或C語言編程[8],通過調用構造的函數對各寄存器的設置和讀寫,就可以完成對CMX869狀態的控制和數據的收發,縮短了軟件開發和調試的周期。
由于CMX869功能和協議封裝相對獨立,開發人員只需要熟悉其特定寄存器的讀寫和單片機CX51程序編寫[9]就可以實現網絡互連。本方案的軟件主要包括管理終端軟件和遠端控制軟件,實現從管理終端控制單元串口,把業務查詢指令發送到CMX869接口,經過調制解調,將數據轉發到遠端控制單元串口,再由遠端控制單元把采集到的數據經原路徑回傳到管理終端控制單元串口。串口使用的波特率是115.2 Kb/s,傳輸協議采用V.32bis協議。圖3是軟件實現流程圖。
圖3 軟件流程圖
本方案中實現功能用到的主要函數如下:
(1) IinitCMX869函數
Return=IinitCMX869(Mode,Speed)
用途:對CMX869進行初始化。
參數類型含義
ModeInt設定CMX869調制編碼模式
SpeedInt設定CMX869調制編碼速率
返回值Int出錯時返回-1,成功返回0
(2) Read16Data函數
ReceiveData=Read16Data(Address);
用途:從特定寄存器中讀出數據。
參數類型含義
AddressIntCMX869寄存器地址族,包括收數據寄存器、狀態寄存器和QAM狀態寄存器,根據需要選取訪問
返回值Int從特定寄存器讀出的數據
(3) Write16Data函數
CommOrData=Write16Data(Address,Data);
用途:向特定寄存器中寫入數據。
參數類型含義
AddressIntCMX869寄存器地址族,包括通用控制寄存器、收/發模式寄存器、發數據寄存器、編程寄存器和QAM命令寄存器,根據需要選取訪問
DataInt送往特定寄存器的數據或命令
返回值Int出錯時返回-1,成功返回0
(4) CMX869Coding函數
ReturnTxCode=CMX869Coding();
用途:將從CMX869串口接收到的數據調制編碼向遠端發送。
參數類型含義
返回值Int出錯時返回-1,成功返回0
(5) CMX869Decode函數
ReturnRxCode=CMX869Decode();
用途:對CMX869接收的調制信號進行解調。
參數類型含義
返回值Int出錯時返回-1,成功返回0
3 仿真測試平臺及結果
將本方案的模塊按圖4所示搭建仿真測試平臺,通過計算機串口數據測試工具和模擬終端管理軟件(Visual Basic語言編寫[10])收發并比對數據包完成仿真測試。CMX869測試板串口速率為115.2 Kb/s,調制解調速率為28.8 Kb/s,計算機串口1和串口2波特率均配置為為115.2 Kb/s。圖5為模擬終端管理軟件測試結果。串口數據測試工具測試結果見表1。
圖4 仿真測試平臺原理框圖
圖5 模擬終端管理軟件測試圖
表1 串口數據測試工具測試結果
數據流向發送
間隔 /ms長度
/B包數
/包接收包數 /包誤包率
計算機串口1發數據,經CMX869測試板(主)調制、CMX869測試板(從)解調后,從計算機串口2收回數據
501001001000
1003001001000
計算機串口2發數據,經CMX869測試板(從)調制、CMX869測試板(主)解調后,從計算機串口1收回數據
501001001000
1003001001000
4 結 語
基于本方案設計的CMX869調制解調模塊已經在工程中使用,其優異的數傳和控制性能已得到驗證,并且能夠適應工業使用的苛刻環境。本方案實現簡單,適用于對成本要求低、氣候條件惡劣、遠端無人值守、且傳輸數據量不太大和實時性較高的應用,如保密系統專線、遠程控制管理、遠程儀表讀取、環境氣象數據采集、POS終端、電話線數據傳輸及家庭安防等。
參考文獻
[1]陳在平.工業控制網絡與現場總線技術[M].北京:國防工業出版社,2006.
[2]楊衛東.網絡系統集成與工程設計[M].2版.北京:科學出版社,2005.
[3]CML Microcircuits (UK) Ltd,CMX869 Low Power V.32bis Modem Datasheet[EB/OL].http://www.cmlmicro.com,2008.
[4]何立民.I2C總線應用系統設計[M].北京:北京航空航天大學出版社,1995.
[5]劉聰鋒.高效數字調制技術及其應用[M].北京:人民郵電出版社,2006.
[6][美] John F Wakerly.數字設計原理與實踐[M].3版.北京:機械工業出版社,2004.
[7]王幸之.AT89系列單片機原理與接口技術[M].北京:北京航空航天大學出版社,2004.
[8]譚浩強.C程序設計[M].2版.北京:清華大學出版社,2000.
[9]王為青,程國鋼.單片機Keil CX51應用開發技術[M].北京:人民郵電出版社,2007.
[10]周靄如,官士鴻.Visual Basic程序設計教程[M].北京:清華大學出版社,2000.