基子Atmega103微控制器的家庭信息终端的设计
扫描二维码
随时随地手机看文章
摘要:介绍了以Atmegal03为主控芯片的家庭信息终端在小区智能化建设中的应用。详细阐述了Atmegal03微控制器与触摸屏和nRF401无线数据收发芯片之间接口应用的软件与硬件技术要点。 关键词:Atmegal03 家庭信息终端 PDA nRF401 小区智能化建设在国内历经几年的发展,已经形成了一系列标准,它们的出现了满足了不同收入阶层对住房智能化的要求。而室内终端作为小区智能化建设中一个重要环节,也随着电子技术的发展和人们对住宅智能化要求的提高逐渐发展成一个集多种功能为一体的综合性信息服务处理平台。 传统室内终端只能在用户室内进行简单的安防和电器的控制,已经不能满足人们对住宅智能化的要求。而家庭信息终端HIT(Home lnformation Termination)在具有安防和电器控制功能的基础上,重点突出了信息服务的功能(例如电子商务和家政服务等),满足了人们在现代社会中快节奏和开放性的生活。 1 小区整体结构及系统流程 整个小区管理系统由住户室内控制和小区内部管理两部分组成。其中,小区内部管理主要由小区公共安全和小区日常管理两部分组成。而住户室内终端和室内控制器 RC(Room Controller)构成了住户的室内控制。图1是小区整体结构及系统流程图。
在小区内部,系统通过公共安全设施(电视监控和周界控制等)和小区管理设备(出入口门禁和车辆管理等)来监控对小区的非法闯入。一旦某个环节出现异常,则公共安全设施或小区管理设备立即将此异常上传至小区监控中心(中心数据库),以便采取相应的应对措施。 在住户室内,住户通过HIT终端向室内控制器RC以无线数据传输的方式发送控制数据,RC接收到数据后,根据通信协议判断接收到的数据是室内控制命令(安防或电器控制)还是请求信息服务命令(查询物管通知或要求家政服务等)。如果接收的数据是室内控制命令,那么RC解析命令后直接对室内的防区或电器进行操作。一旦对防区进行了设防操作后,RC轮流查询每一个设防防区的状态。当防区出现异常时,RC在室内报警的同时还将此异常情况上传至小区监控中心。如果接收到的是请求信息服务的命令,那么RC对此命令不做任何处理,直接上传至小区监控中心,由中心数据库来处理此条请求信息服务命令。 2 终端硬件设计 终端采用手持PDA的形式,并且以无线数据传输的方式完成与室内控制器RC之间的通信。图2是终端硬件结构图。终端主要由微控制器Atmega103、触摸屏输入、无线数据通信、非接触式IC卡身份识别、LCD显示模块以及电源管理模块等构成。其中,触摸屏输入模块和LCD显示模块共同实现终端的输入操作和状态显示。无线通信模块将输入的功能操作按通信协议的规定组织成命令数据帧,以无线的方式发送至RC,并且接收RC给出的应答信息。为了保证终端使用的安全性,终端引入了身份识别模块。使用者只有通过终端的身份识别后,才具有终端的某种使用权限。并且在身份识别模块的软件设计上还可以设置不同的终端使用权限。 终端以Atmega103为主控单片机。Atmega103是一种高性能的AV_R系列单片机,实现了每兆赫兹晶振频率处理能力1MIPS、内部有 128K字节的Flash Memory、4K字节的SRAM、还带有4K字节在线可编程EEPROM、支持ISP功能。本终端系统中的单片机任务十分繁重,在完成驱动LCD显示和触摸屏的同时,还要完成与nRF401无线数传模块的接口并通过它实现与室内控制器RC的交互。Atmega103内部资源丰富且功能强大,可以简化系统设计,提高系统可靠性,非常适用于本系统。
2.1 触摸屏控制器 实际应用中,终端采用的触摸屏控制器是AD7843。AD7843是AD公司生产的一款专用于4线电阻式触摸屏的模/数转换器。AD7843有12位或8 位可选的两种工作模式,具有单一电源供电、完全低功耗模式、转换速度快等特点。图3是AD7843与4线电阻式触摸屏典型接口图。 图3中,PENIRQ引脚在触摸屏被点击后立即产生一个宽度约为4个DCLK的负脉冲向主控单片机申请中断。主控单片机响应此中断后,通过DIN引脚将控制字写入AD7843的控制寄存器,以启动一次转换。转换结束后,BUSY也将产生一个负脉冲向主控单片机申请中断,响应中断后主控单片机将转换结果由 DOUT引脚读出。读出的结果经过转换后就是触摸屏上被点击点的坐标。 在终端设计中,采用功能图标表示终端具体功能操作。这样通过点击触摸屏对应位置下LCD上显示的功能图标,可以选择相应的功能操作,从而可以对终端进行相应的操作。 2.2 LCD接口电路 终端采用160x160(dots)的LCD作为显示界面。LCD控制器选用SEIKOEPSON公司的SED1335。SED1335具有较强功能的 I/O缓冲器、指令丰富、4位数据并行发送且驱动能力强,可实现图形和文本混合显示。 单片机对LCD采用直接访问方式,将LCD作为存储器直接与单片机的总线相连接。LCD控制器的数据总线与单片机的数据总线相连,并且由单片机给出控制器的片选及寄存器选择信号。此外,LCD的单片机接口时序与SED1335接口电路的时序采用Intel8080时序。 2.3 无线数据传输 终端将选择的具体功能操作按通信协议的规定组织成数据命令帧通过无线数传模块发送至室内控制器RC。系统采用nRF401作为无线数据收发的控制芯片。 nRF401是Nordic公司推出的一款工作在433MHz、具有双通道的、数据传输速率最高可达20kbps的无线射频数据收发芯片。而且 nRF401做到了单个芯片实现FSK信号的收发,其引脚电平为CMOS电平,可以直接与单片机串行口通信。
无线数据传输模块和单片机采用5-wire接口的方式。图4是Atmega103与无线数据传输模块的连接电路。 图4中,PB4、PBS、PB6分别控制无线数传模块的电源控制端(PWR_UP)、工作频率选择端(CS)以及工作模式选择端(TXEN)。其中,当 TXEN=l时,nRF401工作于发送状态;当TXEN=0时,nRF401工作于接收状态。另外,单片机的串行口(TXD/RXD)与无线数传模块的数据输入/输出端(DIN/DOUT)直接通信。 保证无线数据传输的稳定性是终端开发的关键之一。在终端设计的软、硬件两方面,增加了抗干扰措施。硬件上,在单片机的串行口与无线数传模块数据端之间加上隔离电路并对无线数传模块的电源电路设置去耦滤波电路,以减小单片机对无线数传模块的电磁干扰。软件上,采用了适当的信息码组合方式以及数据帧校验的方法来减小数据传输的误码率以及错误数据帧对终端整体数据传输的影响。 2.4 身份识别 终端所包含的功能服务中,有一些功能服务涉及到住户商业利益和家庭安全。例如,电子订购和安防控制等功能操作。这些功能操作只有在终端使用者经过身份识别后,具有了一定操作权限的前提下才能进行。终端采用非接触式IC卡对使用者进行身份识别。 非接触式IC卡又称射频卡,是国内外近几年日益广泛使用的新技术,它成功地将射频技术与IC卡技术相结合,解决了无源和免接触的问题。非接触式IC卡系统由读写器和非接触式IC卡两部分组成。应用系统通过读写器对卡进行操作;读卡器通过射频信号同步进行近距离通信,并为卡上芯片提供工作电源;非接触式IC 卡响应读写器的指令,并报告处理结果。 终端开机后,通过读入使用者IC卡上存储的数据对用户进行身份识别。只有身份识别通过后,使用者才能对终端进行后续的操作;否则,终端在不响应后续的任何操作的同时还会发送报警数据至室内控制器RC以提示有非法用户。另外,通过终端的软件设计还可以设置三种不同操作权限的用户:非法用户、访问用户和标准用户。 3 终端软件设计 终端的系统软件包括三大部分:触摸屏控制程序、LCD显示驱动和无线数据传输。整个系统软件是在Atmel公司的AVR-Studi04.0集成开发环境下采用汇编语言完成的。 3.1 触摸屏控制程序 触摸屏控制程序是一个触摸屏申请中断以及单片机响应中断的交互过程。 一旦触摸屏被点击后,立即向单片机申请中断,提请单片机启动一次A/D转换。单片机在中断服务程序中将控制字写入触摸屏控制器AD7843的内部寄存器中。控制字的主要功能是通道选择、精度选择、工作模式选择以及电源控制。转换结束后,单片机在另外一个中断服务程序中完成转换结果的读入。控制字的写入和转换结果的读出都是在单片机提供的时钟脉冲同步下,以串行方式完成。当AD7843工作于125kHz时钟脉冲下,其最大工作电流仅为380μA。
3.2 LCD显示驱动 终端中液晶显示器是人机交互的界面。液晶显示模块和触摸屏输入模块共同完成终端各级功能操作的输入及显示、文字输入及显示和其它提示信息的显示等。因此做到人性化的人机交互界面设计也是本终端开发的关键之一。 初始化完成后,LCD显示第一级功能操作菜单以等待选择。后续菜单的显示采用分级显示的方法,直至最终功能的完成。 3.3 无线数据传输 AV_R系列单片机提供了三个独立串行口中断:发送完成、接收完成和发送寄存器空。此外,经过内部的波特率发生器,AV_R系列单片机还可以在晶振低频率下产生较高的波特率。 终端将组织的命令控制数据由无线数传模块发送至室内控制器RC,从而实现二者之间的信息交互。为了提高终端系统数据传输的稳定性,软件设计上采用前导码+ 同步码+数据帧的信息码组合方式,以减小系统的零电平干扰。同时,在通信协议规定的数据帧的帧头和整个数据帧进行了CRC校验,从而提高了数据传输的可靠性。 在家庭信息终端中引人身份识别和触摸屏输入技术,是一次成功的尝试,克服了传统室内安防终端的很多缺陷。系统设计考虑的诸多要素中,保证系统中LCD显示模块人性化和无线数据传输的稳定性是开发的关键。同时,如何在软件和硬件上做好系统的低功耗设计直接影响到系统的性能与应用推广前景。