微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于SAM模块的CPU型IC卡燃气表的设计

基于SAM模块的CPU型IC卡燃气表的设计

时间:10-29 来源:作者:强英 点击:
5 预付费型智能IC卡燃气表的软件设计

  5.1 软件功能模块


  软件用NEC78k0S C语言编写,采用模块化、层次化的编程方法。核心部分包括以下几个模块:SAM、CPU卡的通信模块(T=0,字符方式,串行速率9.6Kbps);SAM、CPU卡的认证和读写模块;燃气计量模块;电源管理模块;LCD显示模块;报警模块;工厂测试模块等(由于篇幅原因,在此不细述)。

  5.2 SAM和CPU卡的认证过程

  本燃气表中,软件必须接收和处理多种CPU卡:用户购气卡、检查卡、厂家生产测试卡(如阀门检测卡等6种)、修改主密钥卡等。每种CPU卡的目录文件结构和认证访问方式不尽相同,以使用用户购气卡购气后在燃气表上插卡为例,说明软件认证过程:

  (1)从卡的可读二进制文件中识别出卡的类型,即用户购气卡。

  (2)燃气表从用户卡中读取卡序列号和用户号,并比较用户号是否与SAM中存储的一致,不一致则拒绝读卡。

  (3)若用户号一致,IC卡燃气表将卡序列号送至SAM模块。SAM模块对卡序列号进行加密,并生成相应的内部认证密钥。

  (4)燃气表用内部认证密钥对用户卡做内部认证。

  (5)燃气表用气表外部认证密钥对用户卡做外部认证。

  (6)燃气表从用户卡购气应用二进制文件中读取购气数据,判断其完整性,同时判断购气次数是否与IC燃气表内一致。若不一致则向IC卡燃气表返写应用二进制文件(返写数据)退出;若判断一致,则进入(7)。

  (7)由IC卡燃气表用气量外部认证密钥对SAM模块进行外部认证,若一致则将购气量及状态数据存入SAM模块,并返写数据退出,完成购气操作;否则只返写数据退出。

  6 结束语

  基于NEC单片机和SAM模块的CPU IC卡预付费型燃气表,在安全保密性、防攻击、低功耗、低成本等方面作了有益的探索,经过几个月的实际使用,已证明达到了预期的效果。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top