金融稅控收款機是“銀稅一體化”的終端產品。該產品是以電子政務、電子商務的發展為背景,以金稅、金卡等“金”字系列工程互動、融合發展為基礎,以資源整合、信息共享、互聯互通推動信息化發展為目的,推動稅務、銀行、商業等行業有機融合、發展的信息化系統工程。這三者有機融合的關鍵功能部件就是金融稅控收款機中的Modem。金融稅控收款機中的Modem 通過PSTN 網與稅務機關相連實現網上報稅,稅務機關可以實現網上稽查;與銀行系統相連可以實現金融數據的網上傳輸。
1 Modem 所要求的特點
金融稅控收款機系統中的Modem 與通用的Modem 有很大差異。它只進行數據的傳輸,并不需要語言和傳真功能,要求具有下面3 個特點。
(1)同時支持同步傳輸與異步傳輸
根據現有《銷售點終端(POS) 入網技術要求和檢測方法YD/T 938—1997》標準的要求,POS 以同步傳輸方式時,采用高級數據鏈路控制規程(HDLC)不平衡正常響應方式(NRM)的規程。所以,與普通的異步Modem不一樣,金融稅控收款機系統中的Modem 應支持同步傳輸。
(2)兼容低速穩定少量數據傳輸與高速異步大量數據傳輸
金融稅控收款機通過PSTN 網與銀行系統相連時,傳輸的金融數據量少。一個ISO8583 的簽到包不超過60 字節,所要求的通信速率也只要符合CCIT V.22bis,最高傳輸速率只有2400 bps,但是要求高可靠。當其與稅務系統相連時,傳輸的稅務數據較大。如果要上傳2 個月的發票打印數據到稅務系統的話,可達到1MB,即使用56 kbps 的Modem 來傳輸,也要傳3min 左右,因此,要求金融稅控收款機Modem 的傳輸速率要高。
(3)支持快速連接握手控制
普通Modem 通信前的握手時間達到十幾秒鐘左右,甚至更長,這在金融稅控收款機系統中是不能忍受的。如果傳輸幾十字節,握手時間達這么長的話,傳輸效率太低。金融稅控收款機的Modem 與銀行系統通信時,要求握手建立時間越短越好,要達到毫秒級,即要求其Modem 可以支持快速握手方式。
2 Modem 整體方案
CX86500+CX20493 芯片組Modem 是Conexant 公司生產的可以廣泛應用于各種嵌入式系統的Modem。它支持CCITT V.92,并向下兼容;支持v.29 FastPOS 和V.22bis 快速連接協議,特別適合應用于POS 行業;支持V.80 同步訪問模式,可以通過異步方式發送同步數據。這套Modem 芯片組包括1 個Modem 芯片(CX86500),1 個SmartDAA 芯片(CX20493),1 個數字隔離器(DIB)和很少的分立元件。Modem 芯片(CX86500)內部集成了MCU、DSP、RAM 和ROM,有28 腳和38 腳TSSOP 兩種封裝形式。28 腳封裝的芯片與DTE 接口是9 線串行接口,38 腳封裝的芯片兼容9 線串行接口與8 位并行總線接口。SmartDAA 芯片(CX20493)是一個集成線側器件,用SmartDAA 芯片可以替代傳統Modem 方案中由模擬變壓器、繼電器和光電隔離器組成的DAA。采用28 腳的QFN 封裝或32 腳的LQFP 封裝,體積很小,可以將Modem 做得很小巧,以滿足現代嵌入式系統的要求。
CX86500+CX20493 芯片組Modem 的整體方案如圖1 所示。
3 Modem 方案在系統中的應用
3.1 系統硬件實現
在金融稅控收款機系統中,外圍設備多是串行通信的,如密碼鍵盤、手寫板等。下面也以串行方式的Modem為例,詳細說明基于CX86500+CX20493 芯片組Modem 方案在金融稅控收款機系統中的應用。由于Modem 芯片(CX86500)內部集成了MCU、DSP、RAM 和ROM,其外圍元件很少,只要加入時鐘和復位電路就可以了。圖2 詳細說明了Modem 部分的原理。其中與數字隔離器(DIB)相連接的4 個信號,PWRCLKP 和PWRCLKN 是時鐘和電源信號的兩極,DIB_DATAP 和DIB_DATAN 是數據信號的正負兩極。以CX20493 為主芯片的集成線側器件省去了變壓器、繼電器和光耦等大體積元件,外圍的分立元件都可以采用表面貼元件實現。數字隔離器采用Conexant 公司指定的元件,尺寸也很小。圖3 是CX20493 集成線側器件32 腳LQFP 封裝的硬件接口示意。
3. 2 系統軟件實現
金融稅控收款機系統中的Modem 通過PSTN 網,與稅務系統相連,可以實現網上報稅,采用異步傳輸以及X Modem 通信協議;與金融系統相連,可以實現金融數據的網上傳輸,采用基于ITUV.80 的HDLC 通信協議。Modem 部分的程序設計采用模塊化設計,包括Modem 初始化模塊,拔號與呼叫模塊,數據格式變換模塊,數據通信模塊,通信結束處理模塊。雖然Modem 部分的程序可以歸納成以上的幾部分,但是在稅務系統與金融系統兩方面的應用,除拔號與呼叫模塊外的其他模塊的具體內容基本不一樣。由于基于異步Modem 的文件傳輸協議的資料很多,下面只詳細介紹基于異步方式用V.80 協議實現CX86500+CX20493 芯片組Modem 在金融稅控收款機系統與銀行之間的同步HDLC 數據的傳輸。
3. 2. 1 Modem 的初始化
Modem 的初始化工作采用標準AT 命令實現對Modem 各參數的設置。由于要在異步通信口上實現HDLC的同步數據傳輸,還要設置V.80 協議的各種參數。以使用V.29 快速連接方式為例,具體的AT 命令如下:
AT%CO;禁止數據壓縮
AT\NO;操作模式選擇
AT+A8E=,,,O;禁止V8bis
AT$F4;使能V.29 快速POS 方式
AT+ES=6,,8;使能V.80 同步訪問模式
AT+ESA=O,O,,,1,O;使能CRC 校驗
ATSl7=5;POS 選項
3. 2. 2 數據格式變換
通過Modem的異步口進行HDLC的同步數據傳輸,采用ITU V.80 協議,CX86500+CX20493芯片組Modem在金融稅控收款機系統中的程序的數據格式變換主要是對V.80 協議的解析。例如,按3.2.1 的方式進行初始化,拔完號碼握上手后,Modem 收到“19 BE 24 24”,表示的就是連接速率為9600bps。數據格式的變換包括對帶內命令的解析與組合、信息數據的V.80 處理等。這部分程序不包括組拆ISO38583 數據包的處理,其中信息數據的v.80 處理就是對ISO8583 數據包的V.80 處理。
3. 2. 3 通信模式
金融稅控收款機系統中的Modem 通過PSTN 網與銀行系統相連,采用的高級數據鏈路控制規程(HDLC)不平衡正常響應方式(NRM)的同步傳輸規程類別,其通信模式如圖4 所示。
對于V.80 協議來說,握上手后,收到“30 93 19 B1”,表示收到SNRM 命令;而發送“30 73 19B1”,表示發送UA 響應。當然,這些內容的處理程序是放在數據格式變換部分的。
4 總 結
嵌入式Modem 方案比較多,專門用于POS 行業的低速單片Modem 的解決方案有TDK 公司的73 系列(如73M2901/5V)和Zilog 公司的Z02922 等;但是,這些都不是完全意義上的單片解決方案,要支持HDLC的同步方案都要外加CPU。只支持異步模式的高速Modem。方案也很多,但是要滿足金融稅控收款機特點的Modem 就比較少。CX86500+CX20493 芯片組Modem 方案很好地解決了這一問題,使金融稅控收款機中的Modem 方案變得簡單。