基于CMX469A的無線MODEM設(shè)計
摘要:CMX469A是CML公司推出的FFSK/MSK全雙工MODEM芯片,它內(nèi)部集成了載波檢測、RX時鐘恢復電路和振蕩電路,并具有很好的信噪比以及低電壓、低功耗等特性,能夠接收、發(fā)射FFSK/MSK信號,同時可提供收發(fā)時鐘。文中給出了CMX469A的工作原理、應(yīng)用電路和程序控制流程。
關(guān)鍵詞:快速移頻鍵控;CMX469A;調(diào)制解調(diào)器
1 CMX469A的主要特點
CMX469A是CML(公司新推出的全雙工無線Modem芯片)它采用CMOS工藝制造,工作電壓為2.7V~5.5V,當電源電壓為3V時,它的典型工作電流為2mA,數(shù)據(jù)傳輸速率可設(shè)定為1200 bps、2400 bps和4800bps。在這三種波特率下,邏輯高、低電平的頻率相應(yīng)為1200/1800Hz,1200/2400Hz,2400/4800Hz。
CMX469A采用快速移頻鍵控FFSK/MSK調(diào)制方式,可廣泛應(yīng)用于無線通訊系統(tǒng)中(例如水文檢測系統(tǒng)、船載監(jiān)控系統(tǒng)等)。CMX469A的主要特性如下:
●具有獨立的發(fā)送、接收使能控制;
●可以接外部1.008MHz或4.032MHz晶振;
●可選擇三種波特率:1200bps、2400bps、4800bps(4800bps傳輸時,需要外接4.032MHz晶振);
●具有載波檢測、接收時鐘故障恢復功能;
●低電壓、低功耗(電源為3V時,典型工作電流為2mA;節(jié)能模式下,供電電流只有300μA);
●抗干擾性能優(yōu)良,在信號條件比較差的情況下具有優(yōu)良的靈敏度,同時可通過外部電容設(shè)置載波檢測周期,以使器件在高噪音環(huán)境下具有更完善的性能。
2 CMX469A的引腳說明
CMX429A有22腳PDIP、20腳SOIC、24腳TSSOP三種封裝,這三種封裝的對應(yīng)引腳不同。表1是20腳SOIC封裝所對應(yīng)的引腳功能介紹,其余兩種封裝只是引腳序號不相同。
表1 CMX469AD3的引腳說明
引 腳 | 名 稱 | 類 型 | 功 能 描 述 |
1 | CLOCK/XTAL | I | 片內(nèi)振蕩器的輸入端或外部時鐘輸入端 |
2 | XTALN | O | 片內(nèi)振蕩器的輸出端 |
3 | Tx SYNC | O | 發(fā)送同步時鐘輸出 |
4 | TxSIGNAL | O | FFSK/MSK信號輸出 |
5 | TxDATA | I | 發(fā)送數(shù)據(jù)串行輸入端 |
6 | TxENABLEN | I | 發(fā)送使能 |
7 | BAND PASS | RX帶通濾波器輸出 | |
8 | RxENABLE | I | 接收使能 |
9 | VBIAS | BI | 偏置電壓輸出 |
10 | VSS | P | 地 |
11 | UNCLK DATA | O | 接收異步數(shù)據(jù)輸出 |
12 | CLK DATA | O | 接收同步數(shù)據(jù)輸出 |
13 | CD OUT | O | 載波檢測輸出 |
14 | RxSIGNAL | I | FFSK/MSK信號輸入 |
15 | RxSYNC | O | 接收同步時鐘輸出 |
16 | BAUD SELECT | I | 1200/2400波特率選擇 |
17 | BAUD SELECT | I | 4800波特率選擇 |
18 | COLOCK RATE | I | 4.032MHz/1.008MHz外晶振選擇 |
19 | CD TIME CINSTANT | BI | 載波檢測響應(yīng)時間調(diào)整端,影響抗干擾能力 |
20 | VDD | P | 接電源2.7~5.5V |
3 與單片機的硬件接口設(shè)計
基于CMX469A的無線調(diào)制解調(diào)器的硬件設(shè)計主要包括CMX469A與電臺的接口電路以及與單片機的接口電路兩部分。
CMX469A與電臺的接口主要用于實現(xiàn)輸入、輸出模擬電路部分的放大。這部分電路設(shè)計非常簡單,用運放LM358就可以實現(xiàn),這里就不再多說,以下主要說明CMX469A與單片機的接口設(shè)計。硬件接口電路如圖1所示。
CMX469A與單片機接口時,CMX469A內(nèi)部產(chǎn)生的TxSYNC和RxSYNC同步時鐘線可以同步單片機的發(fā)送和接收串行數(shù)據(jù)。由于發(fā)送數(shù)據(jù)時,從單片機輸出的串行數(shù)據(jù)在TxSYNC的上升沿必須有效且穩(wěn)定,因此,應(yīng)該在時鐘的下降沿輸出單片機的串行數(shù)據(jù)。同樣,在RxSYNC的下降沿讀取單片機同步數(shù)據(jù)線(CLOCK DATA)上的串行數(shù)據(jù),同時在RxSYNC的上升沿忽略同步數(shù)據(jù)線的狀態(tài)。而在接收數(shù)據(jù)時,載波檢測端口的輸出狀態(tài)可表明有效的FFSK數(shù)據(jù)是否進入CMX469A,并可通過載波檢測來防止CMX469A接收虛假的數(shù)據(jù)。
CMX469A與單片機的接口電路設(shè)計主要分為兩部分:發(fā)送接口電路設(shè)計和接收接口電路設(shè)計。發(fā)送接口電路由發(fā)送允許(TxEN)、發(fā)送時鐘線(TxSYNC)、發(fā)送數(shù)據(jù)線(TxDATA)三部分構(gòu)成。此時的FFSK數(shù)據(jù)輸出線(TxSIGNAL)用于輸出經(jīng)過調(diào)制的FFSK信號。接收接口則由接收允許(RXEN)、接收時鐘線(RxSYNC)、載波檢測(Carrier Detect)、時鐘同步接收數(shù)據(jù)線(CLOCK DATA)等四部分構(gòu)成。此時,FFSK數(shù)據(jù)輸入線RxSIGNAL為需要解調(diào)的FFSK/MSK信號的輸入端口。
TXEN為發(fā)送使能控制端口,當?shù)碗娖桨l(fā)送使能后,在時鐘信號TxSYNC的同步下,TXDATA數(shù)據(jù)線上的信號將依次被采樣,同時經(jīng)過調(diào)制即可在TxSIGNAL引腳輸出調(diào)制后的FFSK信號。在1200bps下,該系統(tǒng)可將高電平“1”轉(zhuǎn)換為1200Hz的正弦波,而將低電平“0”轉(zhuǎn)換為1800Hz的正弦波,并由TxSIGNAL端口輸出。其發(fā)送時序如圖2所示,Tx-DATA引腳信號將在時鐘信號TXSYNC的上升沿被采樣,因此,TXSYNC的上升沿必須有效并且保持穩(wěn)定。設(shè)計程序時,應(yīng)該在時鐘信號的下降沿依次串行輸出要發(fā)送的數(shù)據(jù)。拉高TxEN將使發(fā)送電路進入節(jié)能狀態(tài),這時TXSYNC將輸出邏輯高電平,TxSIGNAL進入高阻態(tài)。TxEN由內(nèi)部上拉為VCC。
RxEN為接收使能引腳。RxEN為高時,使能接收電路,為低時則使接收電路進入節(jié)能狀態(tài)。此時,RxSYNC和接收數(shù)據(jù)端將輸出固定電平。接收使能時,輸入RxSIGNAL的 FFSK信號經(jīng)過內(nèi)部濾波器后可被恢復為串行數(shù)據(jù)輸出。同時,從接收的數(shù)據(jù)中還可恢復出同步時鐘,單片機通過采樣此同步時鐘來同步接收數(shù)據(jù)。接收時序如圖3所示。設(shè)計該程序時,應(yīng)該在同步時鐘RxSYNC的下降沿采樣CLOCK DATA引腳的數(shù)據(jù)。
4 軟件設(shè)計
該MODEM的軟件設(shè)計主要包括FFSK發(fā)送程序和FFSK接收程序,其程序流程圖如圖4所示。發(fā)送FFSK數(shù)據(jù)時,首先需要拉低發(fā)送使能端口TxEN,接著檢測時鐘線(TxSYNC)?并在每一個時鐘下降沿移位輸出一位數(shù)據(jù),一直到數(shù)據(jù)全部發(fā)送完成,然后拉高發(fā)送使能端口。至此,FFSK發(fā)送數(shù)據(jù)結(jié)束。
接收FFSK數(shù)據(jù)時,由于接收時鐘線RxSYNC被接在單片機的中斷引腳上,因此,只要有FFSK數(shù)據(jù)到達,接收時鐘線就會輸出經(jīng)過恢復的時鐘信號,并引起單片機中斷。為了防止誤操作,進入中斷子程序以后,應(yīng)該首先判斷載波檢測端口是否有效。如果無效,表明是誤操作,此時應(yīng)退出接收子程序;如果有效,則繼續(xù)接收FFSK數(shù)據(jù)。在每一個RxSYNC時鐘的下降沿,都要鎖存接收數(shù)據(jù)線(CLOCKED DA-TA)的狀態(tài),一直到接收數(shù)據(jù)結(jié)束。同時,在接收數(shù)據(jù)時,為了防止單片機由于等待數(shù)據(jù)而死機,必須加上碼間隔判斷,如果超過一定的時間沒有收到預期的數(shù)據(jù),則將以前接收的數(shù)據(jù)廢棄,并進行數(shù)據(jù)接收初始化,以重新進行接收。
發(fā)送、接收FFSK數(shù)據(jù)內(nèi)容可以按照自定義協(xié)議來完成,具體為:第一字節(jié)為數(shù)據(jù)長度,然后為若干個字節(jié)的數(shù)據(jù)內(nèi)容,最后為和校驗碼以及異或校驗碼。經(jīng)筆者實踐證明,這種協(xié)議可以比較有效地實現(xiàn)數(shù)據(jù)的發(fā)送和接收,同時檢測傳輸誤碼的效果也比較好。
5 結(jié)束語
利用CMX469A實現(xiàn)的無線MODEM具有抗干擾能力強、電路簡單、程序設(shè)計方便等優(yōu)點,對于只有一個串行口的51系列單片機來說,由于CMX469A不占用串行口,因此,單片機可以利用串行口方便地與計算機或者其它設(shè)備進行串口通信,從而為整個系統(tǒng)的設(shè)計提供方便。
評論