基于ARM處理器和CAN總線的電子結(jié)算終端設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了使農(nóng)副產(chǎn)品電子交易系統(tǒng)滿足交易管理、資金結(jié)算及市場(chǎng)各項(xiàng)費(fèi)用的收繳,同時(shí)最大限度的提高交易的效率,提出一種新的數(shù)字交易終端,它是以ARM7處理器LPC2292為核心,分別采用SJAI000和PCA82C251作為CAN協(xié)議控制器和與物理總線之間的接口,移植了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ來(lái)管理不同的任務(wù)模塊,提高了系統(tǒng)的實(shí)時(shí)性及可靠性。經(jīng)現(xiàn)場(chǎng)檢驗(yàn)和運(yùn)行,系統(tǒng)具有良好的實(shí)用性,可用于諸多電子結(jié)算領(lǐng)域。
關(guān)鍵詞:ARM7;LPC2292;CAN總線;μC/OS-Ⅱ
0 引言
農(nóng)副產(chǎn)品電子交易系統(tǒng)數(shù)字交易終端簡(jiǎn)稱為IC卡智能交易一體機(jī)或者POS機(jī)。它應(yīng)用在農(nóng)副產(chǎn)品交易過(guò)程中,系統(tǒng)在供電和通信正常的情況下,可以為買(mǎi)賣雙方提供可靠、快捷、方便的交易平臺(tái)。買(mǎi)賣雙方在IC卡交易終端機(jī)上進(jìn)行交易,數(shù)字交易終端機(jī)通過(guò)讀取并處理電子磅秤的數(shù)據(jù)能進(jìn)行同一品種多筆累加過(guò)磅、去皮、預(yù)置去皮、按公斤過(guò)磅。IC卡數(shù)字交易終端在交易過(guò)程中自動(dòng)識(shí)別買(mǎi)賣雙方管理費(fèi)費(fèi)率,將交易雙方的成交金額自動(dòng)從買(mǎi)方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è)集讀卡、顯示、鍵盤(pán)、稱重、打印及通信功能于一體的新型電子結(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)上,寫(xiě)入控制程序完成對(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、高速I(mǎi)2C接口(400 Kb/s)和2個(gè)SPI接口。內(nèi)部集成PWM單元、實(shí)時(shí)時(shí)鐘和看門(mén)狗等。豐富的片內(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的電源接口電路。
[!--empirenews.page--]
復(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的門(mén)限電壓時(shí),內(nèi)部定時(shí)器復(fù)位到0,并保持復(fù)位輸出端為低電平。當(dāng)VCC高于門(mén)限電壓時(shí),內(nèi)部定時(shí)器開(kāi)始計(jì)數(shù),計(jì)數(shù)到給定值(定時(shí)器的溢出期)時(shí),輸出端變?yōu)楦唠娖健D4為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的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。
[!--empirenews.page--]
3 電子交易系統(tǒng)的終端軟件結(jié)構(gòu)設(shè)計(jì)
由于電子結(jié)算的特殊性,終端控制系統(tǒng)需要在短時(shí)間處理大量交易數(shù)據(jù),并對(duì)外部的事件及時(shí)響應(yīng)。選用開(kāi)放源碼的嵌入式操作系統(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)行重寫(xiě)或修改。移植工作主要包括三個(gè)部分:OS_CPU.H文件的修改、OS_CPU_A.ASM文件的修改、OS_CPU_C.C文件的修改。
3.2 系統(tǒng)主流程
系統(tǒng)軟件采用模塊化設(shè)計(jì),包括主程序、初始化程序、讀卡子程序、鍵盤(pán)掃描子程序、顯示子程序、傳輸子程序等。系統(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à)值。