基于MSP430的手持式RFID读写器LCD接口设计
文章出处:http://www.nexussmartsolutions.com 作者:潘盛辉,郭毅锋,黄丽敏 人气: 发表时间:2011年10月17日
引言
RFID技术目前广泛应用于身份识别、防伪应用、供应链管理、公共交通管理、物流管理、生产线自动化与过程控制、容器识别等领域。根据不同的应用要求,RFID系统的具体功能有所差别。而RFID卡(电子标签)的信息显示是读写器的主要功能之一 2,本课题研究的是通用的手提式RFID读写器,因而系统显示器应选用具有功耗低、体积小、重量轻、超薄等优点的液晶显示器。
本文论述了RFID读写器中MSP430单片机与LCD模块接口的硬件设计的方法,以及LCD显示相关信息的软件设计方法。
1 MSP430F149单片机性能特点
MSP430F149是TI公司推出的16位系列单片机,能驱动液晶多达120段,超低功耗使其在用电池供电的便携式设备应用中表现出非常优良的特性,非常合适于手持式RFID读写器。片内数控振荡器可以调整MSP430F149单片机的工作频率,以适应不同外设的需求,提高了系统的利用效率;大容量的片内存储器使得系统在不需要外加存储设备的情况下就能实现大规模数据的存储,使得能够设计出内容丰富、美观的手持式RFID读写器的LCD显示界面。
MSP430F149含有P1、P2、P3、P4、P5、P6口等六个并行端口,各个端口都有丰富的功能及大量的控制寄存器供用户操作。其中P1和P2各有7个寄存器用于引脚独立控制,可用作I/O,且都具有中断能力,每个信号都可作为一个中断源。P3、P4、P5和P6端口可作为普通的I/O工作,能实现输入、输出功能和外围模块功能,相应端口各有4个寄存器供用户使用。设计中采用其中的3个I/O口,可以在不需要外扩设备的情况下,完成LCD显示控制电路的连接,从而使硬件接口电路变得简单,节省了外部资源且增强了系统抗干扰能力。
2 SED1335控制器的性能特点
SED1335控制器是一种宽工作电压控制器(2.7 V~5.5 V),能在较高时钟频率下工作(一般为1 MHz~ 10MHz),访问它时不需要判别其当前工作状态。SED1335液晶控制器与单片机相接的控制信号主要有5个,分别是:
AD:输入态SED1335寄存器选择端。
/CS:输入态$ED1335片选端,低电平有效。
/RD:输入态SED1335读操作信号端。
/WR:输入态SED1335写操作信号端。
D0-D7:数据总线。
SED1335控制器的工作时序如图1所示。
要使SED1335能正确地控制LCD进行相关信(read)息的显示,那么MSP430F149单片机必须给控制器正确的电平信号才能实现,而且控制信号电平变化的时间以及顺序必须满足图1的时序。
图1 SED1335适配MSP430F149时序图
3 LCD接口硬件的设计
根据手持式RFID读写器的低功耗要求,系统主控芯片选用具有超低功耗、强大处理能力、丰富的片上外围模块及多种存储器形式的MSP430F149单片机,显示设备选用DMF50840单色液晶显示器,液晶显示控制器采用SED1335.MSP430F149与SED1335及LCD模块接口电路如图2所示。
图2 LCD接口电路
MSP430F149的P3.0、P3.1、P3.2、P3.3分别与SED1335模块的A0、CS、RD、WR引脚相连接,P4口与SED1335的数据总线进行连接。SED1335的行列驱动线、帧驱动线分别与LCD的对应线相连接,并将SED1335的数据线与LCD数据线连接。单片机对SED1335的控制采用软件模拟总线时序的方法,即对P3.0、P3.1、P3.2、P3.3的高低电平控制,可以实现LCD显示控制。在此电路中没有利用数据总线来实现数据的传送,数据的传送直接通过'I/O口实现,其接口信号组合功能如表1所示。
4 LCD接口软件设计
RFID读写器需要显示相关的数字、字母以及汉字内容,需要对不同的显示类型进行对应编程,并进行子程序化,使程序具有通用和简捷的特性,从而提高整个系统的执行效率。
RFID读写器LCD接口程序应包括单片机初始化、控制引脚时序电平模拟、LCD操作等子程序。接口软件首先完成对主控芯片MSP430F149的初始化,其后是完成对总线时序的模拟。只有在正确的时序下,主控芯片才能对LCD进行正确的显示控制[4]。
根据LCD接口的硬件连接,MSP430F149用作控制信号线的P3口实现模拟总线时序,时序如图1所示,具体控制方法如下:
① 置P3.1为低电平0,保证$ED1335片选有效;
② 置P3.3和P3.2为高电平1;
③ 如为写数据,则将需要发送的数据送P5口;如为读数据,则进行下面的步骤;
④ 如发送或接收的数据为给LCD的控制信息,则置P3.0为高电平1;如发送或接收的数据为LCD的显示信息,则置P3.0为低电平0;使SED1335的A0满足相关时序要求;
⑤ 如为写数据,则置P3.3为低电平0,使“写”有效;如为读数据,则置P3.2为低电平0,使“读”有效;
⑥ 恢复P3.3或P3.2为高电平1;
⑦ 最后复位A0.
按照以上步骤,向SED1335依次传送初始化代码初始化SED1335,使其能处于正常工作状态;只有控制器SED1335正确初始化后,才能控制LCD进行显示。
完成以上步骤后,可以向LCD送数据完成显示。由于显示信息有数字、字母以及汉字等内容,而不同类型的显示内容在LCD上所占用的格式是不同的,所以针对不同类型的显示内容需要编写不同的显示控制程序。为了便于使用,将其子程序化,在进行显示前,首先判断显示数据的类型,并分别调用汉字、数字、字母的显示子程序进行数据显示。接口软件程序流程图如图3所示。
图3 接口软件程序流程图
另外,根据RFID读写器的功能要求,用户显示的具体内容如RFID卡号等信息,将通过调用存放在FLASH存储器中相应数据的子程序来完成。
5 结束语
手持式RFID读写器LCD接口硬件采用模拟总线时序进行数据传输,节省了系统总线资源,使接口电路变得简单。接口程序 采用C语言进行开发,具有较好的可读性和移植性,可以大大提高开发效率,缩短开发周期。应用表明,该显示接口具有低功耗特点,实现了显示中英文字符以及其他符号的功能,满足了读写器的操作菜单及射频卡信息显示的要求,为手持式RFID读写器提供了友好的人机交互接口。
参考文献:
[1]郎为民.射频识别(RFID)技术原理与应用[M].北京:机械工业出版社,2006.6.
[2]芦东听,李强,柳长安.基于ARM的RFID阅读器设计[J].微计算机信息,2006,(10—2):286-288.
[3]胡大可.MSP430系列FLASH型超低功耗单片机[M].北京:北京航空航天大学出版社,2001.I1.
[4]秦龙.MSP430单片机C语言应用程序设计实例精讲[M].北京:电子工业出版社,2006.11.
[5]吴平,龚彬,丁铁夫.液晶显示模块和IkCSP430单片机在显示终端上的应用[J].液晶与显示,2003.16(6):436-440