摘要:為了使農(nóng)副產(chǎn)品電子交易系統(tǒng)滿足交易管理、資金結算及市場各項費用的收繳,同時最大限度的提高交易的效率,提出一種新的數(shù)字交易終端,它是以ARM7處理器LPC2292為核心,分別采用SJAI000和PCA82C251作為CAN協(xié)議控制器和與物理總線之間的接口,移植了嵌入式實時操作系統(tǒng)μC/OS-Ⅱ來管理不同的任務模塊,提高了系統(tǒng)的實時性及可靠性。經(jīng)現(xiàn)場檢驗和運行,系統(tǒng)具有良好的實用性,可用于諸多電子結算領域。
關鍵詞:ARM7;LPC2292;CAN總線;μC/OS-Ⅱ
0 引言
農(nóng)副產(chǎn)品電子交易系統(tǒng)數(shù)字交易終端簡稱為IC卡智能交易一體機或者POS機。它應用在農(nóng)副產(chǎn)品交易過程中,系統(tǒng)在供電和通信正常的情況下,可以為買賣雙方提供可靠、快捷、方便的交易平臺。買賣雙方在IC卡交易終端機上進行交易,數(shù)字交易終端機通過讀取并處理電子磅秤的數(shù)據(jù)能進行同一品種多筆累加過磅、去皮、預置去皮、按公斤過磅。IC卡數(shù)字交易終端在交易過程中自動識別買賣雙方管理費費率,將交易雙方的成交金額自動從買方IC卡轉入賣方IC卡中,并從雙方IC中自動扣除市場應收的管理費。
1 系統(tǒng)總體結構設計
電子結算系統(tǒng)是一個實時性很強的系統(tǒng),如果邏輯和時序出現(xiàn)偏差將會引起嚴重后果。本文搭建一個集讀卡、顯示、鍵盤、稱重、打印及通信功能于一體的新型電子結算終端。
在硬件上采用了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)總體結構框圖如圖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的電源接口電路。
[!--empirenews.page--]
復位電路采用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)部結構和在現(xiàn)場總線系統(tǒng)中的位置。
PCA82C251是CAN協(xié)議控制器和物理總線之間的接口,它主要在速度達1Mbaud的應用中使用。這個器件向總線提供了差動的發(fā)送能力,向CAN控制器提供了差動的接收能力。它完全符合ISO“11898—24 V”標準。一個限流電路可防止發(fā)送器的輸出級對電池電壓的正端和負端短路。雖然在出現(xiàn)這種故障條件時,功耗將增加,但這種特性可以防止破壞發(fā)送器的輸出級。圖6是PcA82C251內(nèi)部結構圖,圖7是CAN協(xié)議控制器和物理總線之間的接口電路。
PCA82C251與CAN總線的接口部分也采取了一定的安全和抗干擾的措施。PCA82C251的CANH和CANL引腳各自通過一個電阻與CAN總線相連,電阻可以起到一定的限流作用,保護PCA82C251免受過流的沖擊。以CANH和CANL與地之間并聯(lián)了兩個30 pF的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。
[!--empirenews.page--]
3 電子交易系統(tǒng)的終端軟件結構設計
由于電子結算的特殊性,終端控制系統(tǒng)需要在短時間處理大量交易數(shù)據(jù),并對外部的事件及時響應。選用開放源碼的嵌入式操作系統(tǒng)μC/OS-Ⅱ。μC/OS-Ⅱ具有規(guī)模小、可裁剪、實時性好、易移植的特點。對實時性和穩(wěn)定性要求很高的電子結算系統(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-Ⅱ的軟硬件體系結構如圖8所示,從圖中可以很清楚得看到,對μC/OS-Ⅱ的移植實際上就是對處理器有關的代碼進行重寫或修改。移植工作主要包括三個部分:OS_CPU.H文件的修改、OS_CPU_A.ASM文件的修改、OS_CPU_C.C文件的修改。
3.2 系統(tǒng)主流程
系統(tǒng)軟件采用模塊化設計,包括主程序、初始化程序、讀卡子程序、鍵盤掃描子程序、顯示子程序、傳輸子程序等。系統(tǒng)中軟件部分采用模塊化設計,若干個小的程序或模塊,分別進行獨立設計、編程、測試和查錯,最后連接構成一個完整的應用程序。對每一個外設都有相應例程,可以方便地進行移植。系統(tǒng)的主流程如圖9所示。
示例代碼(IC卡輸入密碼段)如下:
4 結語
系統(tǒng)采用LPC2292與CAN總線的組合可實現(xiàn)對電子結算系統(tǒng)中對數(shù)據(jù)庫儲存的行情信息快速實時采集,實現(xiàn)實時結算和交易費用的扣取。配置的液晶及按鍵模塊使系統(tǒng)具有一定的獨立工作能力。軟件設計中采用了μC/OS-Ⅱ操作系統(tǒng),使系統(tǒng)具有強大的多任務管理能力,大大提高了系統(tǒng)的穩(wěn)定性和可靠性。良好的性能、較低的成本、優(yōu)秀的擴展性使該終端在電子結算領域具有較大的推廣價值。