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