摘要:为了使农副产品电子交易系统满足交易管理、资金结算及市场各项费用的收缴,同时最大限度的提高交易的效率,提出一种新的数字交易终端,它是以ARM7处理器LPC2292为核心,分别采用SJAI000和PCA82C251作为CAN协议控制器和与物理总线之间的接口,移植了嵌入式实时操作系统μC/OS-Ⅱ来管理不同的任务模块,提高了系统的实时性及可靠性。经现场检验和运行,系统具有良好的实用性,可用于诸多电子结算领域。
关键词:ARM7;LPC2292;CAN总线;μC/OS-Ⅱ
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-Ⅱ操作系统,使系统具有强大的多任务管理能力,大大提高了系统的稳定性和可靠性。良好的性能、较低的成本、优秀的扩展性使该终端在电子结算领域具有较大的推广价值。