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