M68HC912D60 MCU在稅務(wù)監控系統設計中的應用
控制單元模塊主要完成用戶(hù)對整個(gè)系統的控制,即對數據提供可靠的掉電保護,防止掉電后丟失數據,對系統提供徹底、統一的復位,以防系統死機,實(shí)現對程序的監視功能,解決了程序“跑飛”失控及死循環(huán)問(wèn)題;8250串行接口模塊完成 MCU與嵌入式MODEM芯片的接口。
嵌入式MODEM單元模塊完成數據的調制解調,并通過(guò)電話(huà)線(xiàn)接口與遠程的標準MODEM進(jìn)行通信;8255接口模塊完成數據線(xiàn)的擴充,提供足夠的數據線(xiàn)來(lái)驅動(dòng)系統的指示電路;時(shí)鐘電路模塊主要是為系統提供一個(gè)準確、穩定和可靠的時(shí)鐘,以便定時(shí)和為監視器(Watchdog)電路提供方波輸入等。其中,8255接口模塊、8250接口模塊及外擴存儲器RAM之間,是通過(guò)M68HC912D60的C口的高三位經(jīng)過(guò)譯碼后的片選信號控制各模塊的片選來(lái)進(jìn)行切換的。
4.3 系統軟件設計
軟件部分包括PoS稅控盒部分和稅務(wù)部門(mén)的主機上運行的服務(wù)器部分。前者是以MCU為核心的嵌入式系統,全部以匯編語(yǔ)言編寫(xiě);后者運行于 Windows平臺,采用VB語(yǔ)言。圖3給出了主程序的工作流程。
系統中的通信協(xié)議包括稅控分機與POSMaster 之間的通信協(xié)議、PoSMaster與稅務(wù)部門(mén)主機間的通信協(xié)議、稅控分機與PC機直接通信的協(xié)議(用于PoSMaster的通信線(xiàn)路故障時(shí))。本系統參考電信部門(mén)IC卡公用付費電話(huà)系統的通信協(xié)議和相關(guān)的國家標準,制定了自己的通信協(xié)議??紤]到設計的方便性,在上述的三種通信中采用基本相同的鏈路層和應用層協(xié)議。下面是對所用協(xié)議的簡(jiǎn)單描述。
4.3.1 幀結構
鏈路層有兩種幀結構:命令幀和數據幀。
(a)命令幀
用于傳輸建鏈請求、應答、請求數據等命令以進(jìn)行鏈路控制,命令幀結構如下:
命令幀符號定義: SOH 標題開(kāi)始
TYPE 指示幀的類(lèi)型
Length 指示幀長(cháng)度
Command 傳輸的命令,例如:
命令字符:
AUDIT 請求數據
ACK 肯定應答
NAK 否定應答
EOT 傳輸結束
(b)數據幀
用于傳輸實(shí)際的數據即稅控信息數據,數據幀結構如下:
數據幀符號定義: SOH 標題開(kāi)始
TYPE 指示幀的類(lèi)型
Length 指示幀長(cháng)度
DATA 傳輸的正文(數據)
ETB 指示一幀數據結束
ETX 指示所有數據結束
BCC 校驗碼
4.3.2 通信的流程
在物理層建立連接后,先發(fā)送一長(cháng)串同步碼,然后再發(fā)送第一幀數據,數據上傳的一方發(fā)送肯定應答后開(kāi)始數據傳輸過(guò)程。數據收集方每接收到一幀數據,根據校驗的結果發(fā)肯定或否定應答。
4.3.3 差錯控制
本協(xié)議采用BCC規則的偶校驗。接收端收到一幀數據后,若BCC校驗有錯,則發(fā)送NAK要求對方重發(fā)上一幀數據。對同一幀信息文電如果重發(fā)次數超出閾值,則本次通信失敗,雙方退出通信過(guò)程。
4.3.4 超時(shí)控制
通信雙方在收到對方的命令或數據后必須在6s以?xún)然貞?;若某一方?s內沒(méi)有收到對方的回應則重發(fā)上一次的命令或數據。允許的最大重發(fā)次數為3次。
評論