1 引言 稅控系統即“POS電子稅收控制系統”, 是由POS機、金稅卡/IC卡、讀卡器、計算機及打印機等設備構成的電子信息網絡。POS稅款機的推廣是執行“金稅工程”的一個重點項目,推廣應用POS稅款機能夠讓稅務部門節約大量的人力財力,杜絕商家經營中的偷稅漏稅情形。由于目前市面上使用的POS機五花八門,全部更換是一個很大的經濟負擔,因此,一個可行的方法是對現有的普通收款機進行改造,安上稅控裝置。以MCU為核心的嵌入式稅控系統以其高效、可靠、低價的優點,成為最佳的稅控系統解決方案之一。 2 稅務監控系統介紹 稅務監控系統通過截獲POS機的打印數據,從中提取出交易的日期、時間、金額等稅控信息,并在打印數據中插入加密的防偽信息,再送到打印機打印出票據。同時,系統能夠響應稅務管理中心的命令,向中心提供營業額等稅務信息。其拓撲結構如圖1所示。 稅控POS機是在普通POS機的基礎上增加了具有數據保護功能的“黑匣子”。它的主要作用是自動記錄用戶的經營結果,掌握用戶的真實營業數據,才能有效堵塞稅收漏洞,從而保證征稅工作的合理性與合法性。 3 M68HC912D60芯片介紹 3.1 基本結構 M68HC912D60 單片機是Motorola公司的16位單片機,由控制單元和執行單元兩個主要部分組成。控制單元包含時序發生器、控制存儲器和隨機控制邏輯,為執行單元生成所有的控制;執行單元(EU)包含所有的寄存器、ALU和總線接口。 3.2 功能特點 M68HC912D60系列采用模塊化設計,各種不同型號單片機可由不同的模塊組成。M68HC912D60是其中的代表產品,它速度快、功能強、內部資源豐富。M68HC912D60具有如下特點:
3.3 M68HC912D60的結構與存儲器組織 M68HC08系列可以尋址64Kbytes的存儲空間。M68HC912D60的存儲器組織包括:
4 基于Motorola M68HC912D60單片機的稅務控制系統設計 Motorola M68HC912系列單片機具有速度快、功能強、功耗低、價格低等特點,采用先進的亞微米工藝,具有較高的性價比。以下討論一個基于M68HC912D60嵌入式稅務監控系統的實現。 4.1 系統描述 稅務監控系統是通過在普通POS機中加裝一個稅控黑匣子,從而準確地獲取經營者的營業額,并能將數據傳送至稅務管理中心,提供稅收依據。 4.2 硬件系統設計 稅務監控系統的硬件設計主要包括MCU、外圍接口單元、控制單元、外擴數據存儲器SRAM、嵌入式MODEM單元、8250串行接口、8255并行接口及時鐘電路幾大模塊。系統結構框圖如圖2所示。外圍接口單元由RS-232接口、RS-485接口、指示電路接口和電話線接口構成;控制單元由復位電路、掉電保護電路和看門狗電路構成。 MCU模塊完成整個系統的控制和相應處理;外圍接口單元模塊主要完成本系統與PC機、遠程管理中心之間以及下層的各個PoS分機之間的通信接口;外擴存儲器RAM完成對各個PoS分機上傳輸數據的暫時保存,等接收到規定數量的數據后,統一由MODEM傳到稅控管理中心。 控制單元模塊主要完成用戶對整個系統的控制,即對數據提供可靠的掉電保護,防止掉電后丟失數據,對系統提供徹底、統一的復位,以防系統死機,實現對程序的監視功能,解決了程序“跑飛”失控及死循環問題;8250串行接口模塊完成 MCU與嵌入式MODEM芯片的接口。 嵌入式MODEM單元模塊完成數據的調制解調,并通過電話線接口與遠程的標準MODEM進行通信;8255接口模塊完成數據線的擴充,提供足夠的數據線來驅動系統的指示電路;時鐘電路模塊主要是為系統提供一個準確、穩定和可靠的時鐘,以便定時和為監視器(Watchdog)電路提供方波輸入等。其中,8255接口模塊、8250接口模塊及外擴存儲器RAM之間,是通過M68HC912D60的C口的高三位經過譯碼后的片選信號控制各模塊的片選來進行切換的。 4.3 系統軟件設計 軟件部分包括PoS稅控盒部分和稅務部門的主機上運行的服務器部分。前者是以MCU為核心的嵌入式系統,全部以匯編語言編寫;后者運行于 Windows平臺,采用VB語言。圖3給出了主程序的工作流程。 系統中的通信協議包括稅控分機與POSMaster 之間的通信協議、PoSMaster與稅務部門主機間的通信協議、稅控分機與PC機直接通信的協議(用于PoSMaster的通信線路故障時)。本系統參考電信部門IC卡公用付費電話系統的通信協議和相關的國家標準,制定了自己的通信協議。考慮到設計的方便性,在上述的三種通信中采用基本相同的鏈路層和應用層協議。下面是對所用協議的簡單描述。 4.3.1 幀結構 鏈路層有兩種幀結構:命令幀和數據幀。 (a)命令幀 用于傳輸建鏈請求、應答、請求數據等命令以進行鏈路控制,命令幀結構如下: 命令幀符號定義: SOH 標題開始 TYPE 指示幀的類型 Length 指示幀長度 Command 傳輸的命令,例如: 命令字符:
(b)數據幀 用于傳輸實際的數據即稅控信息數據,數據幀結構如下: 數據幀符號定義: SOH 標題開始 TYPE 指示幀的類型 Length 指示幀長度 DATA 傳輸的正文(數據) ETB 指示一幀數據結束 ETX 指示所有數據結束 BCC 校驗碼 4.3.2 通信的流程 在物理層建立連接后,先發送一長串同步碼,然后再發送第一幀數據,數據上傳的一方發送肯定應答后開始數據傳輸過程。數據收集方每接收到一幀數據,根據校驗的結果發肯定或否定應答。 4.3.3 差錯控制 本協議采用BCC規則的偶校驗。接收端收到一幀數據后,若BCC校驗有錯,則發送NAK要求對方重發上一幀數據。對同一幀信息文電如果重發次數超出閾值,則本次通信失敗,雙方退出通信過程。 4.3.4 超時控制 通信雙方在收到對方的命令或數據后必須在6s以內回應;若某一方在6s內沒有收到對方的回應則重發上一次的命令或數據。允許的最大重發次數為3次。 |