0 引言
農(nóng)副產(chǎn)品電子交易系統(tǒng)數(shù)字交易終端簡(jiǎn)稱為IC卡智能交易一體機(jī)或者POS機(jī),。它應(yīng)用在農(nóng)副產(chǎn)品交易過(guò)程中,,系統(tǒng)在供電和通信正常的情況下,可以為買賣雙方提供可靠,、快捷,、方便的交易平臺(tái),。買賣雙方在IC卡交易終端機(jī)上進(jìn)行交易,數(shù)字交易終端機(jī)通過(guò)讀取并處理電子磅秤的數(shù)據(jù)能進(jìn)行同一品種多筆累加過(guò)磅,、去皮,、預(yù)置去皮、按公斤過(guò)磅,。IC卡數(shù)字交易終端在交易過(guò)程中自動(dòng)識(shí)別買賣雙方管理費(fèi)費(fèi)率,,將交易雙方的成交金額自動(dòng)從買方IC卡轉(zhuǎn)入賣方IC卡中,并從雙方IC中自動(dòng)扣除市場(chǎng)應(yīng)收的管理費(fèi),。
1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
電子結(jié)算系統(tǒng)是一個(gè)實(shí)時(shí)性很強(qiáng)的系統(tǒng),,如果邏輯和時(shí)序出現(xiàn)偏差將會(huì)引起嚴(yán)重后果。本文搭建一個(gè)集讀卡,、顯示,、鍵盤、稱重,、打印及通信功能于一體的新型電子結(jié)算終端,。
在硬件上采用了Philips公司的LPC2292為中心處理器,并利用PCA82C251實(shí)現(xiàn)CAN協(xié)議控制器和物理總線之間的接口,,使POS機(jī)具有雙向通信的能力,。在軟件上,移植了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ,,以實(shí)現(xiàn)多任務(wù)調(diào)度的優(yōu)勢(shì),。在嵌入式平臺(tái)上,寫入控制程序完成對(duì)于各個(gè)功能模塊的控制,,以滿足處理設(shè)備具有較高的處理速度和處理能力的要求,,并且具備了較強(qiáng)的實(shí)時(shí)任務(wù)調(diào)度能力。
2 系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)的硬件平臺(tái)主要由嵌入式處理器,、電源,、CAN總線接口以及各種外部設(shè)備等組成,系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示,。
2.1 微處理器
主控芯片選用ARM7系列微處理器LPC2292,。LPC2292是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的32/16位ARM7TDMI-S核的微處理器,它對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過(guò)30 %,,而性能的損失卻很小,。帶有16 KB片內(nèi)靜態(tài)RAM,256 KB片內(nèi)FLAsH程序存儲(chǔ)器,。128位寬接口/加速器,。2個(gè)互連的CAN接口,帶有先進(jìn)的驗(yàn)收濾波器,,多達(dá)112個(gè)通用IO口(可承受5 V電壓),,9個(gè)邊沿或電平觸發(fā)外部中斷引腳,。多個(gè)串行接口,包括2個(gè)16C550工業(yè)標(biāo)準(zhǔn)UART,、高速I2C接口(400 Kb/s)和2個(gè)SPI接口,。內(nèi)部集成PWM單元、實(shí)時(shí)時(shí)鐘和看門狗等,。豐富的片內(nèi)資源,,使得LPC2292特別適用于工業(yè)生產(chǎn)控制,、醫(yī)療系統(tǒng),、訪問(wèn)控制和POS機(jī)。
2.2 電源和復(fù)位電路
為了保持各自電源的純潔,,采用LPC2292的內(nèi)核和片內(nèi)外設(shè)分別由1.8 V和3.3 V供電,。LDO芯片采用了SPX1117M3-1.8,SPX1117M3-3.3,,其特點(diǎn)為輸出電流大,,輸出電壓精度高。由于LPC2292ARM7控制器具有獨(dú)立的模擬電源,,模擬地引腳,,為了降低噪聲和出錯(cuò)機(jī)率,模擬電源與數(shù)字電源應(yīng)該隔離,,所以使用了10 mH電感實(shí)現(xiàn)隔離,,并在設(shè)計(jì)PCB時(shí)采用大面積敷地,以降低噪聲,。圖2和圖3分別為1.8 V和3.3 V的電源接口電路,。
復(fù)位電路采用MAX811芯片。MAX811為4引腳微處理器電壓監(jiān)視器,,具有精密電源監(jiān)控和低功耗的特點(diǎn),,能監(jiān)視3 V,3.3 V和5 V的電源電壓,,MAX811的工作電壓為1.0~5.5 V,,MAX811為低電平有效復(fù)位。MAX811具有手動(dòng)復(fù)位功能,,電源電流6μA,,復(fù)位閾值電壓有4.63 V,4.38 V,,3.08 V,,2.93 V和2.63 V五種,上電復(fù)位的脈沖寬度最小為140 ms,。當(dāng)微處理器的電壓VCC低于MAX811的門限電壓時(shí),,內(nèi)部定時(shí)器復(fù)位到0,,并保持復(fù)位輸出端為低電平。當(dāng)VCC高于門限電壓時(shí),,內(nèi)部定時(shí)器開始計(jì)數(shù),,計(jì)數(shù)到給定值(定時(shí)器的溢出期)時(shí),輸出端變?yōu)楦唠娖?。圖4為MAX811的接口電路,。
2.3 CAN總線
選用獨(dú)立的CAN協(xié)議控制器SJA1000。它是Philips半導(dǎo)體公司CA82CZOOCAN控制器(BasleCAN)的替代產(chǎn)品,,而且還增加了一種新的操作模式——PeliCAN,,這種模式支持具有很多新特性的CAN 2.0B協(xié)議。主要用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,。從圖5可以初步了解CAN控制器的內(nèi)部結(jié)構(gòu)和在現(xiàn)場(chǎng)總線系統(tǒng)中的位置,。
PCA82C251是CAN協(xié)議控制器和物理總線之間的接口,它主要在速度達(dá)1Mbaud的應(yīng)用中使用,。這個(gè)器件向總線提供了差動(dòng)的發(fā)送能力,,向CAN控制器提供了差動(dòng)的接收能力。它完全符合ISO“11898—24 V”標(biāo)準(zhǔn),。一個(gè)限流電路可防止發(fā)送器的輸出級(jí)對(duì)電池電壓的正端和負(fù)端短路,。雖然在出現(xiàn)這種故障條件時(shí),功耗將增加,,但這種特性可以防止破壞發(fā)送器的輸出級(jí),。圖6是PcA82C251內(nèi)部結(jié)構(gòu)圖,圖7是CAN協(xié)議控制器和物理總線之間的接口電路,。
PCA82C251與CAN總線的接口部分也采取了一定的安全和抗干擾的措施,。PCA82C251的CANH和CANL引腳各自通過(guò)一個(gè)電阻與CAN總線相連,電阻可以起到一定的限流作用,,保護(hù)PCA82C251免受過(guò)流的沖擊,。以CANH和CANL與地之間并聯(lián)了兩個(gè)30 pF的小電容,,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力,。
3 電子交易系統(tǒng)的終端軟件結(jié)構(gòu)設(shè)計(jì)
由于電子結(jié)算的特殊性,,終端控制系統(tǒng)需要在短時(shí)間處理大量交易數(shù)據(jù),并對(duì)外部的事件及時(shí)響應(yīng),。選用開放源碼的嵌入式操作系統(tǒng)μC/OS-Ⅱ,。μC/OS-Ⅱ具有規(guī)模小、可裁剪,、實(shí)時(shí)性好,、易移植的特點(diǎn)。對(duì)實(shí)時(shí)性和穩(wěn)定性要求很高的電子結(jié)算系統(tǒng),引入μC/OS-Ⅱ無(wú)疑將大大改善其性能,。在編程中使用ARM和Thumb指令集混合編程,,優(yōu)化代碼密度。
3.1 操作系統(tǒng)μC/OS-Ⅱ的移植
μC/OS-Ⅱ操作系統(tǒng)具備很好的可移植性,,如果硬件平臺(tái)的組成發(fā)生改變,,則只需要對(duì)操作系統(tǒng)代碼中與硬件相關(guān)的內(nèi)容進(jìn)行修改即可,與硬件無(wú)關(guān)的應(yīng)用代碼無(wú)需修改,。
μC/OS-Ⅱ的軟硬件體系結(jié)構(gòu)如圖8所示,,從圖中可以很清楚得看到,對(duì)μC/OS-Ⅱ的移植實(shí)際上就是對(duì)處理器有關(guān)的代碼進(jìn)行重寫或修改,。移植工作主要包括三個(gè)部分:OS_CPU.H文件的修改,、OS_CPU_A.ASM文件的修改、OS_CPU_C.C文件的修改,。
3.2 系統(tǒng)主流程
系統(tǒng)軟件采用模塊化設(shè)計(jì),,包括主程序,、初始化程序,、讀卡子程序、鍵盤掃描子程序,、顯示子程序,、傳輸子程序等。系統(tǒng)中軟件部分采用模塊化設(shè)計(jì),,若干個(gè)小的程序或模塊,,分別進(jìn)行獨(dú)立設(shè)計(jì)、編程,、測(cè)試和查錯(cuò),,最后連接構(gòu)成一個(gè)完整的應(yīng)用程序。對(duì)每一個(gè)外設(shè)都有相應(yīng)例程,,可以方便地進(jìn)行移植,。系統(tǒng)的主流程如圖9所示。
示例代碼(IC卡輸入密碼段)如下:
4 結(jié)語(yǔ)
系統(tǒng)采用LPC2292與CAN總線的組合可實(shí)現(xiàn)對(duì)電子結(jié)算系統(tǒng)中對(duì)數(shù)據(jù)庫(kù)儲(chǔ)存的行情信息快速實(shí)時(shí)采集,,實(shí)現(xiàn)實(shí)時(shí)結(jié)算和交易費(fèi)用的扣取,。配置的液晶及按鍵模塊使系統(tǒng)具有一定的獨(dú)立工作能力。軟件設(shè)計(jì)中采用了μC/OS-Ⅱ操作系統(tǒng),,使系統(tǒng)具有強(qiáng)大的多任務(wù)管理能力,,大大提高了系統(tǒng)的穩(wěn)定性和可靠性。良好的性能,、較低的成本,、優(yōu)秀的擴(kuò)展性使該終端在電子結(jié)算領(lǐng)域具有較大的推廣價(jià)值。