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