2.5.2 TC35i模块接口电路设计
TC35i与PIC单片机和SIM卡的接口都是通过ZIF连接器完成,如图5所示。本系统中ZIF连接器用到的主要引脚如下:第1~5引脚是TC35i的工作电压输入端VBATT+,推荐电压为4.2VDC,第6~10引脚是电源地(GND)。第15引脚是启动脚IGT(Ignition),低电平有效,本系统外接三极管Q1与PIC18F87K22的I/O RC5脚连接,当RC5产生大于100ms的高电平时,启动脚IGT与GND导通而变成低电平,启动GSM模块。第16~23为数据输入/输出,分别为DSR0、RING0、RXDO、TXD0、CTS0、RTS0、DTR0和DCD0。TC35i的数据输入/输出接口实际上是一个串行异步收发器,符合ITU-T RS232接口标准。它有固定的参数:8位数据位和1位停止位,无校验位,比特率在300bps~115kbps之间可选,默认9600,支持标准的AT命令集。本系统中仅用RXD0、TXD0分别与PIC单片机的RXD、TXD引脚连接即可,即单片机与TC35i的通信就是通过这两条串口线完成的。TC35i使用外接式SIM卡,第24~29为SIM卡引CCDET2引脚与ZIF的CCIN引脚相连,用来检测SIM卡夹持器中的SIM卡是否插好,如果已经插好,则CCIN引脚上为高电平,否则为低电平,因此通过单片机编程读取ZIF的CCIN引脚电平即可判断SIM卡是否就绪。CCIO是串行数据线,完成TC35i和SIM卡的数据输入和输出。第32脚为控制脚SYNC,本系统中的功能是指示TC35i的工作状态。
3 系统软件设计
3.1 系统主程序设计
系统主程序流程图如图6所示,软件编程采用MPLAB V8.63实现,编译器采用HI-TECHCCompiler。
上电后,首先对单片机和GSM模块分别进行初始化,然后进行按键扫描与处理,进入护理机默认的全自动运行模式,自动进行数据采集与处理。当有报警发生时,除了作相应的处理外,还通过GSM模块将报警信息以“手机短信”的形式自动发送到病人监护人的手机中,监护人也可用“手机短信”的形式发送命令远程控制家中护理机的运行,从而实现护理机的“无人护理”功能。
3.2 GSM短信息处理程序设计
GSM短信息传递本质上就是单片机通过AT指令向监护人手机发短信的过程。TC35i短消息模块有两种工作模式,用“AT+CMGF=n”命令来设置,n=0为PDU模式;n=1为文本模式。由于本系统发送和接收的数据都是基于英文的报警状况和命令字,所以n=1。AT+CMGS为选择消息服务。下面以“脏物收集桶满(Dirty Full Alarm)”报警为例,通过程序说明其实现过程。