非接触公交IC卡读写器的应用设计
,即I2C总线上最多可并联8个串行E2PROM芯片。对E2PROM的操作方式由读写控制命令字决定,如图4所示。其中1010为4位读写控制码,R/W为读写控制位:0为写操作,1为读操作。所以结合图1可知A2H为写控制命令字,A3H为读控制命令字。
对存储器写操作,首先,单片机向24C64发一个START命令,产生开始条件。然后,发写命令控制字(如A2H)。当24C64接到命令后,进入一个写周期,再由单片机发送存储地址,即确定数据写入到存储器的哪个地址,随后,单片机将要存储的数据送入到SDA数据线上。写周期结束时,单片机再发一停止位(STOP)。
对存储器读操作,首先,单片机向24C64发一个START命令,产生开始条件。然后发写命令控制字(如A2H)。当24C64接到命令后,进入一个写周期,再由单片机发送存储地址。存储地址发送成功后,单片机又向24C64发一个START命令,产生开始条件,然后发读命令控制字(A3H)。当24C64接到命令后,进入一个读周期,单片机从SDA数据线上读出指定存储地址中的数据。读周期结束时,单片机再发一停止位(STOP)。(程序略)
值得注意的是,对存储器操作时,每读写一个字节,单片机必须送一个应答位(ACK),释放一下SDA数据线,以便存储器能继续接收数据。
5.通信程序
在读写器中,单片机与PC机之间的通信主要由TC232来实现TTL电平(0~5V)与RS232电平(+10~-10V)的转换(电路见图1),以完成售卡机保存的售卡记录的传送。通信格式设置为:采用串行工作方式1,波特率为9600baud, 1个起始位,8位数据位,1个停止位,采取和校验方式。读写器中,单片机程序可采用C语言进行编程。C语言有功能丰富的库函数,运算速度快、编译效率高、可移植性好、软件的可读性强,便于改进和扩充(程序略)。
为提高在公交系统的适应能力,包括用户的各类特殊要求,抗干扰,抗恶劣环境,除硬件上采用监控电路外,在软件上还采取了指令冗余和软件陷阱。
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- SHARC引领第四代通用DSP高端应用潮流(09-27)
- 在应用可编程测控网络设计(03-15)
- 基于dsPIC33F系列单片机的应用程序升级方法(04-03)
- 采用混合时钟模式提高Linux时钟精度的方法(05-10)
- MSP430低功耗原理及其在海温测量中的应用(06-06)