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