SLE4442及其在电子肺活量计上的应用
SLE4442及其在电子肺活量计上的应用
石巧云,谢义
(安徽电子信息职业技术学院电子
系)
摘要:文章介绍了逻辑加密卡SLE4442I作原理及I
其在肺活量计上的具体应用过程,并设计了一种通用的I
IC卡接口电路.最后给出了读写卡的软件流程图,及具I
体的实现程序.i
关键词:SLE4442:电子肺活量计ARMi
SLE4442anditsapplicationatelectronicspirometer! Shi0iaoyunXieYi!
AnhuiVocationalcollegeofElectronics&InformationI TechnologyI
Abstract:ThispaperintroducestheworkingprincipleofI logicencryptioncardSLE4442anditsconcreteapp1icationat: spirometer,andalSOthedesignofageneralICcardinterface- circuit.Finally,theread-writecardsoftwareflowchart,and! realizationprocedureiSpresented.I
Keywords:SLE4442:E1ectroniCSpirometer:ARMI 引言
随着现代生活的发展,Ic卡由于其可以存储大量信息,!
具有极强的保密性能,而且抗干扰,无磨损,寿命长,因!
此在广泛的领域中得到应用.从Ic卡的读/写方法上来分!
类有接触型和非接触型两种.另外从Ic卡内部结构上分,!
有如下三类:存储卡,逻辑加密卡和CPU型智能卡等.本I
文以Siemens公司的SLE4442型卡为例,介绍逻辑加密卡I
结构和工作原理,及其在肺活量计上的具体应用.I
1SLE4442芯片的特点及结构I
逻辑加密卡SLE4442是Siemens公司推出的带写保护I 和保密逻辑的256BytesE2PROM卡.它具有以下特点:I ?两线制串行通信协议;?串行接口,触点配置符合I IS07816
;?最小可擦/写—万次,数据可保持1O年以上.i SLE4442存储器可分为主存储器和保密存储器,如图 所示.
主存储器保护存储器主存储器保护存储器:
225
32
31
0
应用数据区
/32×1位224×8位E甲R0M保护数据区32x8位PR0MEl甲R0M
加密存储器l×8位E2PROM
校验参照数据字
校验参照数据字
校验参照数据字
BB,B3l密码错误计数器
图1SLE4442内部存储器结构
主存储器有256Bytes,分为保护存储器和应用存储 器.保护存储器的地址单元位OOH-1FH,应用存储器的地 址单元位20H—FFH.保护存储器相对于应用存储器有所不 同,他具有保护功能,可以通过写入相应的保护位而得 到保护.实行保护后,被保护单元不能被擦/写:若没有 被保护,则其使用与应用存储器完全相同.另外,保护 功能是不可逆的,保护存储器中的某单元一旦被保护后 就不能再解除保护,保护存储器的32位和保护存储器的 32字节是相对应的.
保密存储器有4Bytes,包括1Byte的错误计数器(EC) 和3Bytes的保密代码(PSC).SLE4442芯片通过保密存储 器进行密码逻辑操作以控制整个主存储器的擦/写.他上 电后,除密码外的整个存储器只能够读,只有当密码验证 正确后才可以进行擦/写,连续3次密码校验错误则芯片 白锁,再也不能进行擦写.
2SLE4442在电子肺活量计上的应用
电子肺活量计主要用于取代传统的容积式肺活量计 进行肺活量测量.电子肺活量计主要包括传感器检测部 分和测试仪主机.肺活量传感器负责采集肺活量数值, 交由主机处理.现以测试仪主机为例,介绍SLE4442在本 系统中的应用.
2.1硬件设计
测试仪主机的主控电路由LPC2132,信号调理电路, 液晶显示电路,RS485通信接口,键盘电路等组成,IC卡 插座电路由单独的一块单片机LPC915来控制,来完成卡 的识别和主控板的通信.LPC2132是Philips公司一个支 持实时仿真和跟踪的16位ARM7TDMI-SCPU的微控制器,具 有丰富的片内资源,功能强大,具体参数请参看参考文 献.主控电路硬件框图如图2所示.
图2电子肺活量计硬件框图
IC卡插座电路由两部分组成:IC卡卡座和RS485通 信接口.由单独的一块单片机LPC915来控制.IC卡卡座 的功能包括对IC卡供电,提供读/写信号和传送数据.其 .]L
硬件原理图如图3所示.其中单片机的PO.1是复位线; PO.2脚负责插卡检测;P1.2是串行时钟线;P1.3是双向 数据线.
3
RS485接口主要负责与主控制板通信,具体包括接收 最新的肺活量测试数据,向主控板传送测试信息等.由 于485标准只对接口的电气特性做出规定,而不涉及接插 件,电缆或协议,因此需要设计自己的应用层通讯协议, 主要为发送和接收.
2.2软件设计
系统软件设计可分为两部分:Ic卡的正确读写和高 效485通讯协议的设计.在本系统中主要用到两种卡:存 储卡和逻辑加密卡.针对不同的用户权限,教师卡(保 存每个学生的体测数据)采用存储卡;学生卡(保存每 个人的数据)采用逻辑加密卡SLE4442.教师卡采用 ATMEL公司的AT24C256大容量存储卡.两种卡的卡座是兼 容的,软件设计稍有不同,具体可参考其Datasheets. Ic卡具体操作过程如下所述:当有卡插入插座中, 单片机的PO.2脚输入电平位低电平.单片机即可判断有 卡插入,而后读出卡片内的ATR数据,根据此数据判断此 卡是教师卡还是学生卡,然后根据卡类别执行相应的操 作.此软件实现如图4所示.
在对Ic卡操作中,可以按功能分为四个模块:复 位与复位应答操作模块,密码存储器操作模块,写主 存储器操作模块和读主存储器操作模块.SLE4442卡 的读/写操作最重要的是时序问题,应仔细研究各种 操作模式下的时序图.
其中对主存储器的写操作是关键,现以对
SLE4442卡的写操作为例说明.图5为写主存储器的程 序流程图.SLE4442卡在写之前需要校验密码,如果 密码不正确,则不能够进行写入操作.如果连续三次 未输入正确密码,则此卡将变成一个只读存储器,再 也不能对其进行写入操作.voidwrite4442(uint8木p,
uint8addr,uint8dcnt)是实现SLE4442卡写操作 的程序代码.其中参数P为指向数据的指针;addr为 IC卡地址;dcnt为要写的字节数.
voidwrite4442(uint8却,uint8addr,uint8dcnt)
uint8datacommand4442[3]; rstandanswer0://复位应答
psccheck0://密码校验
command4442[0]=WR~EMY://写主存储器
command4442[1]=addr: while(dcnt--)
{
command4442[2]=木p++:
iccommand(command4442)://命令处理
processing0://擦出与写处理
command4442[1]++:
)
}
高效的通讯协议是可靠通信的保障.我们采取加前 导码和CRC校验的方法确保可靠通信.在此基础上我们设 计了主机和从机通信的具体帧
,见下表1和2. 1234
地址命令数据长度I寄存器起始地址l请求数据?CRC(校验码)
2字节1字节1字节I2字节lN字节1-7节 表1主机向从机发送的请求帧格式
1234
地址命令数据长度响应数据CRC(校验码) 2字节1字节1字节N字节1字节
表2从机得到请求后向主机发送的响应帧格式 具体实现采用中断接收,查询发送的方式.下面给 出从机(IC卡电路)中断接收部分的程序. voiduartreceive0interrupt4USing1
{
staticuint8dataRcvCnt=0://目前接收的数据个数 staticuint8dataRcvState=0://目前接收的状态 uint8dataRcvData://目前接收的数据
RcvData=SBUF:
RI=0:
switch(RcvState)
{
case0://前导码1
if(RcvData==STARTBYTE1) {RcvState=1:)
break:
case1://前导码2
if(RcvData===STARTBYTE2) {RcvState=2:)
else
{RcvState=0:)
break:
case2://地址高字节
if(RcvData==SlaveAdrH) {RcvState=3:)
elseif(RcvData==0) {BROADCASTF=1:
RcvState=3:
)
else
{RcvState=0:)
break:
case3://地址低字节
if(RcvData==SlaveAdrL)
{RcvState=4:
SM2=0://以下接收数据
).
elseif(RcvData==0) {BROADCASTF=1:
RcvState=4:
SM2=0:
else
{RcvState=0:)
break:
case4://命令
RcvBuf[O]=RcvData: RcvState=5:
break:
case5://数据长度
RcvBuf[13.=RcvData: RcvState=6:
break:
case6:
RcvBuf[RcvCnt+2]=RcvData:
RcvCnt++:
if(RcvCnt>RcvBuf[1])
{RcvCnt=0:
RcvState=0:
SM2=1:
RCV—
QUEUE—
F=1://数据更新
)
}
3结语
基于SLE4442的电子肺活量计具有数据存储方便, 安全,已大规模应用于中
学生体质健康测试中,反 应良好.同时设计的IC卡接口可以识别符合IS07816标准 的接触式IC卡,具有较强的应用价值.
.
参考文献
[1]PhilipsSemiconductors,Lpc2131/2132/
2138UserManua1.
[2]SiemensSemiconductors,sle4442datasheet
[3]周立功等.Lpc900系ylJFlash单片机应用技术. 北京:北京航空航天大学出版社,2004
[4]MotorolaSemiconductors,mpx5010
datasheet,2002
?