塑料桶厂家
免费服务热线

Free service

hotline

010-00000000
塑料桶厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

基于大容量IC卡AT45D041的出租车数据采集系统

发布时间:2020-07-01 01:01:29 阅读: 来源:塑料桶厂家

2004年6月B版

摘 要:本文介绍了基于大容量IC卡AT45D041的出租车数据采集系统的设计方法,讨论了IC卡AT45D041的主要特点及其使用方法;介绍了PIC单片机和PC机串行通信的硬件、软件方法。

关键词:出租车;IC卡;AT45D041;单片机;串行通信

引言

随着出租车行业的发展,对出租车管理的要求也越来越高。通常,出租车管理部门需要经常采集出租车计费器中存储的各种数据,这些数据主要包括累积数据(如总行驶里程、总收费里程、总收费时间、总车资等)和乘客记录数据(如起止时间、收费里程、收费时间、郊区或夜间收费里程、1公里单价、车资等)。一般来说,出租车的计费器可存储300次以上的乘客记录,每条乘客记录约占50字节,这样300次乘客记录约占15K字节。大容量IC卡AT45D041的容量为4Mbit(约500K字节),利用该IC卡来采集出租车计费器中存储的数据,不仅携带方便,而且可一次采集多达33台出租车的数据。数据采集完后,可通过串行接口控制器将数据输入给出租车管理部门的PC机,然后对这些数据进行分析、汇总、打印等各种处理。下面具体介绍基于大容量IC卡AT45D041的出租车数据采集系统的设计方法。

出租车数据采集系统的原理框图如图1所示,由图可知,该系统由出租车计费器、串行接口控制器、PC机及大容量IC卡AT45D041等四个部分组成。AT45D041采集多台出租车计费器中存储的总累积和乘客记录等数据,然后通过串行接口控制器即可将所采集的数据输入给管理部门的PC机,PC机根据车牌号或计费器编号可区分每台车所对应的数据。AT45D041与出租车计费器及串行接口控制器之间数据的交换均是通过其中的单片机来完成的,而串行接口控制器与PC机之间的数据交换主要是通过PC机的串行口来实现的;因此,该数据采集系统设计的关键是AT45D041与单片机接口软、硬件设计及单片机通过串行口与PC机之间串行通信的软、硬件设计。AT45D041的性能特点及其使用方法

AT45D041的性能特点及内部结构

AT45D041是一由单5V供电、带串行接口的快闪存储器,该芯片特别适合于在系统(in-system)反复编程,其4兆位的存储容量被分为2048页,每页264个字节。除了主存储页外,AT45D041还包含2个SRAM数据缓冲区,每个区的容量均为264个字节,当主存储页正在编程时,缓冲区可接收外部数据。传统快闪存储器往往利用多条地址线和并行接口来实现随机存取数据,而AT45D041则利用串行接口来实现连续存取数据。简单的串行接口简化了硬件电路,使线路板尺寸变小,成本降低,抗干扰能力增强,系统的可靠性得以提高。数据编程写入时,不需要高编程输入电压,只需要单5V(范围为4.5V至5.5V)即可完成数据的写入及读出。

AT45D041的内部结构图如图2所示,由图可知,该IC卡有九个引脚,其中SCK为串行时钟输入脚,SI和SO分别为串行数据输入、输出脚。

AT45D041的使用方法

通过单片机的控制可完成对AT45D041中数据的读出及写入操作,当芯片使能脚为低电平时,在时钟输入脚(SCK)的控制下,通过串行数据输入脚(SI),便可将命令码、主存储页或缓冲区地址码串行输入给该芯片,然后即可读或写入数据。值得注意的是,所有的命令码、地址、数据串行输入时,均是高位在前,低位在后。下面具体介绍数据的读写方法。

数据的读出

数据的读出包括主存储页直接读出、从主存储页读取数据至缓冲区、从缓冲区读数据、读状态寄存器等四种,除命令码不同外,读取数据的方法均大同小异。由于本数据采集系统的设计只用到了主存储页直接读出,下面只介绍从主存储页直接读取数据的方法。主存储页直接读取数据的时序波形图如图3所示。主存储页读允许用户从2048主存储页的任一页中读取数据,在SCK时钟脉冲的控制下,先串行输入命令码52H、紧接着是4个保留位、然后是20个地址位(即11个页地址位和9个页中数据起始地址位)、最后是32个无关位0。4个保留位是用于将来扩展该芯片的容量而设置的,对于AT45D041可输入4个0,32个无关位用于初始化读操作。数据通过SO脚串行输出,在数据的读出过程中,芯片使能脚必须保持低电平,当一页数据的最后一个字节读完后,会从该页的第一个字节开始继续读取数据。当芯片使能脚(CS)由低电平变为高电平时,将终止数据的读取,SO脚保持高阻态。

数据的写入

数据的写入包括将数据直接写入主存储器页、写入缓冲区、通过缓冲区将数据写入主存储页(带内置擦除功能)、通过缓冲区将数据写入主存储页(不带内置擦除功能)、主存储页自动重写等五种。除命令码不同外,数据写入的方法均差不多。在本数据采集系统的设计中使用的是将数据直接写入主存储页的方法,该方法的时序波形如图3所示,要写入的数据须事先写入缓冲区1或缓冲区2,然后再利用带内置擦除功能的缓冲区至主存储页写入功能将数据写入至指定的主存储页。在SCK时钟脉冲的控制下,先串行输入命令码82H或85H、紧接着是4个保留位、然后是11个页地址位(表示数据要写入的指定主存储页)、最后是9个数据起始地址位(表示缓冲区第一个字节的起始地址)。当所有的地址位均串行输入后,芯片通过SI脚开始接收数据并存储在缓冲区1或缓冲区2中,当缓冲区存满后,将从缓冲区的第一个字节处开始存储数据。当芯片使能脚CS由低电平变为高电平时,芯片将首先擦除指定的主存储页,然后再将存储在缓冲区中的数据写入指定的主存储页。

硬件写保护及复位功能

当写保护脚(WP)为低电平时,主存储页的前256页不能写入数据。当复位脚(RESET)变为低电平时,将中断所有正在进行的读操作,并将内部置成空闲状态。一旦该脚变为高电平,即可对芯片进行正常的读写操作。

AT45D041与出租车计费器及串行接口控制器的接口设计

AT45D041用于出租车数据采集系统时,一方面它采集出租车计费器中存储的各种数据,此时计费器中的单片机将数据写入到AT45D041中的主存储页中;另一方面通过串行接口控制器将数据输入给管理部门的PC机,此时串行接口控制器中的单片机从AT45D041中的主存储页读取数据,然后再将数据通过串行口传送到PC机中。因此AT45D041与出租车计费器及串行接口控制器的接口设计主要表现为AT45D041与单片机的接口设计,假设单片机为AT89C51,则单片机与AT45D041的接口如图4所示。图中R、C是使AT45D041具有上电复位功能,写保护脚(WP)接VCC是让AT45D041的前256页也能写入数据。

串行接口控制器的主要作用是从AT45D041的主存储中读出数据,然后再将数据输入给PC机,它的核心是单片机,利用单片机来实现和PC机的串行通信。图5所示为串行接口控制器的硬件电路图,因PIC系列单片机由于具有实用、低价、省电、小巧和高速等优点,所以串行接口控制器中的单片机选PIC16C57,由于该单片机没有专用的异步通讯口(RXD,TXD)及波特率发生器,因此要实现PIC单片机与PC机的串行通信,必须由软件指定PIC的两个I/O端口(如RA0为RXD,RA1为TXD)为异步通讯口,并按照预定的波特率编写软件延时子程序。 图中电阻为10KΩ,电容为10_F,电源电压Vcc为5V。MAX232为一电平转换芯片,它将单片机输出的TTL电平转换成PC机能接收的RS-232电平,并将PC机串行口输出的RS-232电平转换成单片机能接收的TTL电平。

系统软件设计

系统软件设计由两个部分组成:单片机读写AT45D041中的数据及单片机和PC机之间的串行通信。单片机读写AT45D041中数据的软件设计比较简单,这里不再叙述。下面主要介绍单片机和PC机之间串行通信的软件设计,由于VB6.0提供了串行通讯MSComm(电话盒)控件来为应用程序提供串行通信,它将串口设备当作一个目标封装起来,容易操作,编程很方便,其良好的用户界面、简单方便的串行通信和实用性强的优点,无须借用其他语言就可以开发出优秀的通信软件,因而PC机软件采用VB6.0语言编写。MSComm控件的调出及其主要属性如下。

MSComm控件的调出

VB 6.0的MSComm控件并不会主动出现在工具箱中,当我们需要它时,让它出现在工具箱中的步骤如下:

MSComm属性

MSComm属性很多,其重要的属性说明如下:

软件设计时应注意的几个问题

结语

本文所介绍的出租车数据采集系统使用了大容量IC卡AT45D041、PC机串行口及VB6.0来实现数据的采集和传输,不仅数据采集方便,且系统的硬件和软件设计均较简单,软件升级容易。降低了系统成本,提高了系统的可靠性,目前该系统已在许多大中城市的出租车公司得到了广泛的应用。■

参考文献:

1.薛栋梁. ‘MCS-51/151/251 单片机原理与应用(二)’, 中国水利水电出版社,2001

2.范逸之. ‘Visual Basic 与 RS232 串行通讯控制’, 中国青年出版社, 2001

东营制作西服

河北定做职业装

山东西服

山西劳保工服订做