射频IC卡就餐机和后台管理微机的通信设计
发布时间:2008/5/26 0:00:00 访问次数:452
    
    
    来源:电子查询网 作者:梁昌明 李一森
    
    摘 要 主要介绍一种射频ic卡就餐机和后台管理微机通信的硬件和软件设计。硬件设计方面简述各种串行通信方法的比较,并详细论述了用rs-485实现远距离通信。软件方面详述了在visual foxpro 5.0中应用communications 串行通信控件实现射频ic卡就餐机和后台管理微机的通信,实现了两者相互传输数据。
    关键词 射频ic卡,串行通信控件,串行通信,rs-485 rs-232
    
    1 系统总体方案
    我们采用美国atmel公司的子公司temic公司生产的tk5550射频识别ic卡、idic(identification integrated circuit)、读写基站集成电路u2270b和atmel公司的8位单片机研制开发学校食堂就餐管理系统,系统具有预付收费、目标识别、身份验证、数据采集、数据加密和数据库管理的功能。系统由tk5550卡、就餐机、数据库管理系统、就餐机和数据库管理微机的通讯系统四部分组成。主机与就餐机之间的通信采用rs-485通信标准,工作方式为半双工,每次通信都是主机首先呼叫从机。
    
    2 串行通信接口设计
    最常见的串行通行接口标准是rs-232-c串行总线,传输的是单端信号,即信号线中一条是公共地线,另一条是信号线。它只适用于数据传送速率要求不高,距离不长的场合(小于15米),适合于长距离传送的总线标准有:rs-422、rs-423、rs-485、rs-499以及20ma电流环串行接口。
    
    本系统中单片机与上位主机的通讯选用了rs-485总线标准,并采用了max465芯片来实现,它具有rs-485通讯接口中要的全部功能,数据通讯的方向由re,de 脚来控制,设计中二者连在一起,由单片机的p1.5来控制,当它为高电平时,数据由单片机经max485到外部串行总线,即处于发送状态;为低电平时,数据由外部串行总线到单片机。
    
    一般微机的串行口采用rs-232接口,故在主机一端需要一个rs-232/rs-485转换器。本设计中采用了台湾aten公司生产的ic-485sn转换器,它是一种双向rs-232/rs-485或rs-422转换器,可提供点对点、点对多点的全双工和半双工以及多点的单工串行通信。具体工作方式可通过两个拨码开关和外部界限灵活配置。由于本系统中涉及到多点半双工通讯,下面就以此方式介绍其使用方法。
    
    
    
    在此工作方式下系统的连线如左图。可见转换器对外部的rs-485总线只需两根信号线:data+和data-,即发送和接收数据公用一对差分传输线,而转换器和微机的rs-232接口则需通过3根线进行连接:rx, dx和rts/cts,其中rx为接收数据信号线,tx为发送数据信号线,rts和cts端接在一起,控制数据发送是否允许。由于转换器工作时rts必须为高电平来为转换器供电,即转换器接收数据时也一直处于数据发送允许的状态,为避免发生冲突,应在设计主机串行通讯程序时,控制发送和接收数据分时进行,即系统始终工作在半双工的工作方式。
    
    3 串行通信程序设计
    本系统上位主机数据库管理系统采用vf5.0编写,这里介绍的串行通信程序主要是在vf中实现与单片机的通信程序设计。
    
    3.1就餐系统通信程序的设计
    windows 应用程序串行通信方式有调用windows api函数和标准的通信控件communications两种方式。本系统采用标准的通信控件communications进行通信程序的设计,实现挂失数据的发送、用户卡号的发送、发卡和就餐数据的接收。在这里主要以接收用户就餐数据为例讨论应用通信控件communications通信程序的设计。
    
    就餐机向主机传送的数据为学生卡号和消费金额,主机把接受后的数据临时存贮在表jc中,然后通过相关运算后修改表stu中的存款数据。主机与多台就餐机的通讯方式为,先与一号机通讯,待到一号机数据传输完毕后,再与二号机通信直到最大编号就餐机。使用主机的串口com2与就餐机相连。
    
    3.2 主机与就餐机双方通信的约定
    微机向就餐机发送字符串时,该块字符串前附加a,末尾附加b,
    
    
    来源:电子查询网 作者:梁昌明 李一森
    
    摘 要 主要介绍一种射频ic卡就餐机和后台管理微机通信的硬件和软件设计。硬件设计方面简述各种串行通信方法的比较,并详细论述了用rs-485实现远距离通信。软件方面详述了在visual foxpro 5.0中应用communications 串行通信控件实现射频ic卡就餐机和后台管理微机的通信,实现了两者相互传输数据。
    关键词 射频ic卡,串行通信控件,串行通信,rs-485 rs-232
    
    1 系统总体方案
    我们采用美国atmel公司的子公司temic公司生产的tk5550射频识别ic卡、idic(identification integrated circuit)、读写基站集成电路u2270b和atmel公司的8位单片机研制开发学校食堂就餐管理系统,系统具有预付收费、目标识别、身份验证、数据采集、数据加密和数据库管理的功能。系统由tk5550卡、就餐机、数据库管理系统、就餐机和数据库管理微机的通讯系统四部分组成。主机与就餐机之间的通信采用rs-485通信标准,工作方式为半双工,每次通信都是主机首先呼叫从机。
    
    2 串行通信接口设计
    最常见的串行通行接口标准是rs-232-c串行总线,传输的是单端信号,即信号线中一条是公共地线,另一条是信号线。它只适用于数据传送速率要求不高,距离不长的场合(小于15米),适合于长距离传送的总线标准有:rs-422、rs-423、rs-485、rs-499以及20ma电流环串行接口。
    
    本系统中单片机与上位主机的通讯选用了rs-485总线标准,并采用了max465芯片来实现,它具有rs-485通讯接口中要的全部功能,数据通讯的方向由re,de 脚来控制,设计中二者连在一起,由单片机的p1.5来控制,当它为高电平时,数据由单片机经max485到外部串行总线,即处于发送状态;为低电平时,数据由外部串行总线到单片机。
    
    一般微机的串行口采用rs-232接口,故在主机一端需要一个rs-232/rs-485转换器。本设计中采用了台湾aten公司生产的ic-485sn转换器,它是一种双向rs-232/rs-485或rs-422转换器,可提供点对点、点对多点的全双工和半双工以及多点的单工串行通信。具体工作方式可通过两个拨码开关和外部界限灵活配置。由于本系统中涉及到多点半双工通讯,下面就以此方式介绍其使用方法。
    
    
    
    在此工作方式下系统的连线如左图。可见转换器对外部的rs-485总线只需两根信号线:data+和data-,即发送和接收数据公用一对差分传输线,而转换器和微机的rs-232接口则需通过3根线进行连接:rx, dx和rts/cts,其中rx为接收数据信号线,tx为发送数据信号线,rts和cts端接在一起,控制数据发送是否允许。由于转换器工作时rts必须为高电平来为转换器供电,即转换器接收数据时也一直处于数据发送允许的状态,为避免发生冲突,应在设计主机串行通讯程序时,控制发送和接收数据分时进行,即系统始终工作在半双工的工作方式。
    
    3 串行通信程序设计
    本系统上位主机数据库管理系统采用vf5.0编写,这里介绍的串行通信程序主要是在vf中实现与单片机的通信程序设计。
    
    3.1就餐系统通信程序的设计
    windows 应用程序串行通信方式有调用windows api函数和标准的通信控件communications两种方式。本系统采用标准的通信控件communications进行通信程序的设计,实现挂失数据的发送、用户卡号的发送、发卡和就餐数据的接收。在这里主要以接收用户就餐数据为例讨论应用通信控件communications通信程序的设计。
    
    就餐机向主机传送的数据为学生卡号和消费金额,主机把接受后的数据临时存贮在表jc中,然后通过相关运算后修改表stu中的存款数据。主机与多台就餐机的通讯方式为,先与一号机通讯,待到一号机数据传输完毕后,再与二号机通信直到最大编号就餐机。使用主机的串口com2与就餐机相连。
    
    3.2 主机与就餐机双方通信的约定
    微机向就餐机发送字符串时,该块字符串前附加a,末尾附加b,