M68HC912D60 MCU在稅務監控系統設計中的應用
控制單元模塊主要完成用戶對整個系統的控制,即對數據提供可靠的掉電保護,防止掉電后丟失數據,對系統提供徹底、統一的復位,以防系統死機,實現對程序的監視功能,解決了程序“跑飛”失控及死循環問題;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 傳輸的命令,例如:
命令字符:
AUDIT 請求數據
ACK 肯定應答
NAK 否定應答
EOT 傳輸結束
(b)數據幀
用于傳輸實際的數據即稅控信息數據,數據幀結構如下:
數據幀符號定義: SOH 標題開始
TYPE 指示幀的類型
Length 指示幀長度
DATA 傳輸的正文(數據)
ETB 指示一幀數據結束
ETX 指示所有數據結束
BCC 校驗碼
4.3.2 通信的流程
在物理層建立連接后,先發送一長串同步碼,然后再發送第一幀數據,數據上傳的一方發送肯定應答后開始數據傳輸過程。數據收集方每接收到一幀數據,根據校驗的結果發肯定或否定應答。
4.3.3 差錯控制
本協議采用BCC規則的偶校驗。接收端收到一幀數據后,若BCC校驗有錯,則發送NAK要求對方重發上一幀數據。對同一幀信息文電如果重發次數超出閾值,則本次通信失敗,雙方退出通信過程。
4.3.4 超時控制
通信雙方在收到對方的命令或數據后必須在6s以內回應;若某一方在6s內沒有收到對方的回應則重發上一次的命令或數據。允許的最大重發次數為3次。




評論