王小驥, 陳 俊, 李俊生
(中國電子科技集團第三十研究所,四川 成都 610041)
公共交換電話網絡(PSTN)的電話號碼是一個無以倫比的軟資源[1]。在較長時期內傳統的PSTN交換機還會繼續使用[2],基于PSTN線路的電話和傳真,在人們的日常生活中仍舊扮演著重要角色,是傳送語音信息和收發文件資料重要而便捷的途徑,因其通信可靠穩定,仍具有強大生命力。
由于PSTN線路只適合傳輸模擬信號,若在PSTN上發送數據和傳真等信息時,需要將其進行調制,轉換為模擬信號,才能在PSTN信道傳輸;同樣,在PSTN上接收數據和傳真等信息時,也需要將接收到的模擬信號進行解調,轉換為數字信號后還原信息。因此調制解調器是在PSTN線路上傳輸數據和傳真等數字業務的關鍵設備。
文中基于PSTN線路,結合低功耗微控制器ATMEAG128L和低功耗有線電信數據處理芯片CMX869,設計了一種手持式低功耗調制解調器,適用于遠程數據、傳真、圖像等傳輸和遠程監控系統,具有功耗低、體積小、攜帶方便、操控簡單、界面友好、性能可靠等優點。
手持式低功耗調制解調器主要由主控單元、調制解調單元、OLED顯示單元、按鍵單元及接口單元等組成。主控單元實現芯片控制、任務調度等功能;調制解調單元實現有線信號的調制和解調等功能;OLED顯示單元實現設備各種狀態的顯示;鍵盤單元完成按鍵的檢測和響應,操作人員可通過鍵盤輸入數據或命令,實現人機對話;接口單元實現設備與外部接口的適配,包括電話線接口、異步串行接口等部分。功能組成示意圖如圖1所示。

圖1 功能組成
本設備的主要器件有微處理器ATMEGA128L、有線Modem處理芯片CMX869、OLED顯示集成電路DWY12864C-S001(3 V)。
ATMEGA128L是基于AVR RISC的低功耗8位微處理器,最高工作頻率可達16 MHz,具有128 KB FLASH內部存儲應用器、4 KB E2PROM和SRAM數據存儲空間,含有53個通用I/O、2個UART、1個SPI、1個I2C等外設接口[3]。
CMX869 V.32bis Modem IC是低功耗有線電信數據處理芯片,最高通信速率為14.4Kb/s,芯片內部集成有電話線反向檢測器和振鈴檢測器,可接收和發送雙音多頻信號,具有低電壓、低功耗特性,有省電待機模式,可與微控制器通過C-BUS總線進行信息交互,所支持的通信協議有:V.32bis、V.32、V.23、V.22bis、V.22、V.21、Bell202、Bell103等[4],可應用于PSTN進行數據通信、遙測等領域。
DWY12864C-S001(3 V)(以下簡稱OLED)是128列×64行點陣的OLED單色顯示模塊。與LCD相比,OLED具有很多優勢:超輕、超薄、亮度高、可視角度大、功耗低、響應速度快、清晰度高、發熱量低、抗震性能優異、制造成本低、可彎曲、省電[5]。
硬件電路主要以微處理器ATMEGA128L為主控單元,由CMX869與ATMEGA128L接口電路、OLED與ATMEGA128L接口電路、鍵盤與ATMEGA128L接口電路、電話線接口電路、異步串行接口電路等組成。圖2為硬件電路結構圖。

圖2 硬件電路結構
CMX869的編程功能可通過C-BUS 串行總線接口來完成。ATMEGA128L具有與C-BUS串行總線相同時序的串行外設接口(簡稱SPI),可通過SPI控制寄存器配置成主機或從機模式。CMX869與ATMEGA128L的接口電路比較簡單,如圖3所示,將CMX869的片選線CSN、信號線(CLK、DATA、REDA)、中斷請求信號IRQN分別連接到ATMEGA128L的SPI信號線(/SS、SCK、MOSI、MISO)和外部中斷INT0,同時通過軟件編程將ATMEGA128L設置為主機模式。

圖3 CMX869與ATMEGA128L接口電路
OLED的編程功能可通過微處理器數據總線接口完成,如圖4所示,將OLED的數據總線D0-D7、片選信號/CS、復位信號/RES、數據/指令選擇控制信號D/C、寫信號/WR、讀信號/RD分別連接到ATMEGA128L的數據總線PA0(AD0)-PA7(AD7)、GPIO端口PC0(A8)、PC1(A9)、PC2(A10)、寫信號PG0(/WR)、讀信號PG1(/RD),同時將OLED的BS1和BS2連接至+3.3 V,將OLED設置8080-Parallel Interface方式。

圖4 OLED與ATMEGA128L接口電路
鍵盤采用4×4矩陣按鍵方式,按鍵是一種常開型按鈕開關,常態時按鍵的兩個觸點處于斷開狀態,按下鍵時它們才閉合,每個按鍵的斷開或閉合是通過一組行列式ATMEGA128L GPIO端口進行檢測。如圖5所示,將鍵盤的行或列端口分別接入ATMEGA128L的GPIO端口PC3-PC7、PB4-PB6,可通過查詢或中斷掃描方式識別按鍵狀態。

圖5 鍵盤與ATMEGA128L接口電路
CMX869與電話線接口電路主要二線接口和振鈴檢測接口組成。
二線接口電路如圖6所示,該電路等效阻抗R13為600 ?,采用變壓器耦合方式檢測載波,通過C10和C11兩個電容抑制電路的高頻噪聲,采用繼電器控制摘機和掛機。

圖6 二線接口電路[4]
振鈴檢測電路如圖7所示,振鈴電路連接在電話線兩端,采用光耦器件D3檢測振鈴信號,經振鈴電路處理后信號連接在CMX869的RDN引腳,當檢測到振鈴信號CMX869狀態寄存器的狀態位變為有效,同時CMX869輸出中斷信號給ATMEGA128L,指示ATMEGA128L進入通信準備階段。

圖7 振鈴檢測電路[4]
ATMEGA128L與異步串行接口電路如圖8所示,將ATMEGA128L的異步接收數據信號RXD0、發送數據信號TXD0分別接入電平轉換芯片MAX3221EEAE后,將TTL轉換RS232才能適配PC機異步串口。

圖8 ATMEGA128L與異步串行接口電路
如圖9所示,設備啟動后,首先對ATMEGA 128L、CMX869和OLED等完成系統初始化,再根據主叫和被叫進入相應的工作流程。主叫時,摘機后,判斷有無撥號音,有撥號音則開始撥號并發送雙音多頻(DTMF)信號,再監測有無忙音,若無忙音則依次進入收/發識別信息、身份驗證、業務數據通信等環節。被叫時,收到振鈴中斷后摘機,之后流程與主叫相關,不再贅述。
整個軟件主要以ATMEGA128L芯片為處理核心進行C語言編程,這里重點介紹ATMEGA128L對CMX869、OLED和鍵盤的控制軟件編程。

圖9 主程序流程
ATMEGA128L與CMX869內部寄存器間是通過SPI總線傳遞的控制、狀態和數據信息。
信息傳遞時,首先由ATMEGA128L向CMX869發送內部寄存器地址,接著發送數據,或者ATMEGA128L從CMX869的數據存儲器讀取數據,從而完成對CMX869的控制編程。圖10(a)為ATMEGA128L向CMX869寫入數據的子程序流程圖,圖10(b)ATMEGA128L向CMX869特定寄存器寫入一個字節數據的子程序流程圖。
ATMEGA128L與OLED顯示存儲器RAM間的命令、狀態和數據信息是通過數據總線進行傳送。如圖11所示,設備啟動時,先對ATMEGA128L數據總線和GPIO控制信號線進行初始化,再對OLED進行片選、復位、開啟顯示、設置顯示模式、設置對比度等初始化,若OLED處于空閑狀態,則依次向OLED顯示存儲器RAM寫入命令和數據,直到屏幕出現顯示信息。

圖10 ATMEGA128L與CMX869通信流程

圖11 OLED程序流程
ATMEGA128L對鍵盤的檢測是通過GPIO完成。如圖12所示,先對ATMEGA128L的GPIO設置成輸入,當有鍵按下時,為防止按鍵抖動進行延時消抖,再次判斷該按鍵是否按下,確認按下后,進入對應按鍵的處理程序。

圖12 鍵盤程序流程
PSTN/ISDN電路交換網絡目前還被電信運營商大量使用[6],筆者介紹的基于PSTN的手持式低功耗調制解調器實際應用證明該設備具有工作可靠、功耗低、成本低廉、體積小、操作方便等特點,可用于遠距離通信系統、數據采集或其它工業控制系統中,實現遠程數據傳輸和測控功能。該設備不僅可以傳輸數據,還可以進行語音、傳真、圖像等業務傳輸和遠程監控系統,具有較高的實用價值。
[1] 李洛,廖永紅,蔡朝曦,等.雙網融合(PSTN+ADSL/IP)可視電話平臺設計[J].通信技術,2009,42(06):77-80.
[2] 張陽.PON用戶與PSTN用戶語音業務互通的組網方式[J].通信技術,2012,45(12):118-120.
[3] 陳冬云,杜敬倉,任柯燕,等. ATMEGA128單片機原理與開發指導[M].北京:機械工業出版社,2006:4-5.
[4] CML Microcircuits.CMX869 Low Power V.32 bis Modem.[EB/OL].(2003-07-10)[2010-05-20].http://www.cmlmicro.com.
[5] 唐六華,唐建明,向紅權.嵌入式Linux下OLED顯示功能模塊實現[J].信息安全與通信保密,2009(06):55-57.
[6] 曾曦.基于IMS架構的PSTN/ISDN仿真實現[J].信息安全與通信保密,2009(03):47-49.