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