超市版稅控收款機的設(shè)計與實現(xiàn)
超市版稅控收款機外圍設(shè)備包括打印發(fā)票的打印機、用戶操作的鍵盤、與稅控用戶卡通信的讀卡器設(shè)備。這3外圍設(shè)備個模塊各自由一個8位單片機控制,功能相對獨立,將這些設(shè)備模塊獨立設(shè)計后通過串口連接到主機上。處理器W90P710上帶有4個獨立的串口。稅控機內(nèi)設(shè)備間的通信只使用串口1作為串行總線,由核心板擴展3個相同的接口,分別與讀卡器、打印機、鍵盤相連接。ARM7與3個外設(shè)之間采取命令應(yīng)答的通信模式進行通信,并且采用時間片輪詢方案,當(dāng)總線發(fā)生競爭時,可避免一個設(shè)備占用總線資源而導(dǎo)致死機。串口0被用作調(diào)試端口,與PC機相連。串口2接外置手寫板,用于輸入文字信息。串口3接外置MODEM等設(shè)備。針對超市版稅控收款機相對于地稅版所特有的功能,本設(shè)計還增加了條碼槍、錢箱、權(quán)限鎖等外設(shè)。
本文引用地址:http://m.butianyuan.cn/article/166833.htm
3 系統(tǒng)軟件設(shè)計
3.1 系統(tǒng)軟件架構(gòu)
稅控系統(tǒng)軟件主要由硬件驅(qū)動程序、操作系統(tǒng)平臺相關(guān)軟件和應(yīng)用軟件3部分組成。硬件驅(qū)動程序包括CPU初始化、Flash驅(qū)動、LCD驅(qū)動、USB驅(qū)動、以太網(wǎng)驅(qū)動、串口驅(qū)動等。操作系統(tǒng)平臺相關(guān)軟件包括系統(tǒng)引導(dǎo)程序(BootLoader)、操作系統(tǒng)內(nèi)核、操作系統(tǒng)組件、API、交叉編譯器等。硬件驅(qū)動程序為μCLinux訪問底層硬件提供統(tǒng)一的接口。系統(tǒng)引導(dǎo)程序是針對開發(fā)板自帶的BootLoader而設(shè)計的,根據(jù)稅控機的實際需求進行修改而得到的。引導(dǎo)程序負(fù)責(zé)上電啟動,硬件檢測及進入μCLinux操作系統(tǒng)。μCLinux操作系統(tǒng)實現(xiàn)文件系統(tǒng)管理、任務(wù)調(diào)動、網(wǎng)絡(luò)功能、設(shè)備驅(qū)動,并提供用戶程序的運行環(huán)境等功能。最上層為應(yīng)用軟件。該稅控系統(tǒng)的嵌入式Linux軟件平臺架構(gòu)如圖4所示。
3.2 應(yīng)用軟件設(shè)計
3.2.1 軟件總體架構(gòu)
超市版稅控收款機應(yīng)用軟件有3大功能:系統(tǒng)管理設(shè)置功能、商業(yè)功能和稅控功能。主控模塊控制機器信息,包括系統(tǒng)設(shè)置、員丁管理、基本信息查詢以及附加功能。該模塊與商業(yè)管理模塊和稅控管理模塊聯(lián)系比較密切。而商業(yè)管理和稅控管理兩個模塊相對獨立,主要通過機器初始化和開票操作相關(guān)聯(lián)。這3個模塊的數(shù)據(jù)都存儲在嵌入式數(shù)據(jù)庫中。在模塊化設(shè)計的同時,每個模塊還采用分層設(shè)計,有分界面、數(shù)據(jù)庫和基本流程3層,分別調(diào)用不同的API接口,結(jié)構(gòu)清晰,為后續(xù)代碼的跨平臺移植奠定了基礎(chǔ)。系統(tǒng)功能模塊的劃分如圖5所示。
應(yīng)用軟件是超市版稅控收款機的核心。由于ARM7處理器沒有MMU(內(nèi)存管理單元),所以在設(shè)計應(yīng)用程序時一定要考慮到內(nèi)存的使用情況,否則就會出錯,導(dǎo)致程序崩潰。稅控收款機的應(yīng)用軟件采用結(jié)構(gòu)化、模塊化設(shè)計。在模塊劃分的同時,每個模塊又分層次設(shè)計,從上到下依次為界面層,數(shù)據(jù)庫應(yīng)用層以及流程層。
3.2.2 系統(tǒng)管理模塊
系統(tǒng)管理包括員工管理、系統(tǒng)設(shè)置和基本信息查詢。其中,員工管理主要有權(quán)限管理和單個管理兩種。當(dāng)機器初始化后,數(shù)據(jù)庫有一個默認(rèn)的管理員,操作人在注冊員工之前只能以該管理員的身份登陸,然后注冊新員工來進行操作;系統(tǒng)設(shè)置主要是設(shè)定系統(tǒng)的功能,實現(xiàn)對系統(tǒng)設(shè)置表的操作;基本信息查詢是對數(shù)據(jù)庫的操作,用戶可以在這個子模塊內(nèi)查詢機器的信息。
3.2.3 商業(yè)管理模塊
商業(yè)管理包括銷售和報表兩個模塊。其中,銷售模塊是超市版收款機運用最頻繁的一部分,包括收款員交接班,錢箱管理,多種單品錄入方式等功能。而報表子模塊主要是總結(jié)一個階段內(nèi)銷售及發(fā)票信息,以便用戶了解一段時間內(nèi)的銷售量,單個項目的銷售量以及員工業(yè)績等。查看報表后,用戶可以打印各種報表信息。
3.2.4 稅務(wù)管理模塊
稅務(wù)管理模塊包括發(fā)票管理和稅務(wù)管理兩個模塊。其中,發(fā)票管理模塊主要管理對稅控機的發(fā)票。按常規(guī)來說,退票和廢票是銷售的另外兩種方式,之所以將發(fā)票管理模塊放在稅務(wù)管理模塊中,主要是因為這兩個模塊使用較少,沒有必要和銷售放在一起,每次都需選擇。只有稅務(wù)管理模塊是稅控收款機最主要的功能,因此要求安全可靠,考慮到所有異常情況的發(fā)生,才能有利于稅控機的推廣。稅務(wù)管理包括稅務(wù)初始化、開票、申報、完稅、稽查等功能。
4 應(yīng)用實例
經(jīng)過精心設(shè)計和反復(fù)調(diào)試,目前樣機已完成且通過測試和鑒定,能可靠的實現(xiàn)各項功能。具體功能實現(xiàn)為:分權(quán)限管理,支持6個管理員、99個收款員;可打印13種商業(yè)報表:支持兩萬個PLU,條碼長度支持1~20位;最多可將商品分成50個部類進行管理;可快捷注冊20個PLU;最多可保留20條銷售暫掛信息;擁有輸入快捷鍵、商品編碼、商品條形碼、商品拼音4種商品錄入查找方式;支持現(xiàn)金、優(yōu)惠券、信用卡、支票以及兩種外幣等6種付款方式,并可進行退票,廢票操作;最多可同時使用6個項目,每個項目可對應(yīng)不同稅率;具有單張發(fā)票限額、累計發(fā)票限額、退票限額功能;可支持打印76 mm、57 mm兩種發(fā)票;可存儲100筆錢箱報告和記錄50 000條發(fā)票明細(xì);可保持10年日交易數(shù)據(jù)(國標(biāo)要求不少于5年);能夠可靠地完成報稅、完稅及稅務(wù)部門的稽查功能。
5 結(jié)束語
在國家稅控機有關(guān)標(biāo)準(zhǔn)的基礎(chǔ)上,仔細(xì)研究目前稅控收款機的不足與缺陷,根據(jù)市場需求,設(shè)計超市版稅控收款機的軟硬件。但由于硬件限制,單品注冊數(shù)量和查找速度仍不夠理想,此款稅控機適用于中小型超市,在此基礎(chǔ)上經(jīng)過升級可開發(fā)網(wǎng)絡(luò)版收款機,將其使用于大型超市。
評論