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