它的特点有:CAN总线的收发器大部分都是8脚DIP封装,各公司的产品价格和性能类似,无太大的区别。PHILIP公司新推出的高速容错CAN收发器TJA1050, TJA1040与早先推出的PCA82C250相比,价格大致相同,但其抗干扰性更强,可防止电磁干扰。本文选用了PCA82C250CAN收发器。
3.3 控制节点设计
控制节点采用PIC16F873进行控制和通讯控制板的结构如图。控制板由以下电路组成:键盘输入电路、IC卡控制电路、液晶显示电路、无线信号接收电路、主控制电路、CAN通讯电路。图3为控制节点结构示意图。
1、键盘输入电路采用74C922键盘编码芯片。其输出的有效端(DATA AVAILABLE)与I6F873的PORTB口的硬件中断连接。其解码输出与分别接至PORTA, PORTB口。74C922芯片通过外部时钟或者外部电容执行键盘扫描,功耗小,宽范围供电3V-15V。当按键按下,数据有效端输出高电平,否则为低电平。数据输出端口在下一次按键之前保持前次按键解码输出的状态。
2、IC卡控制电路。控制芯片采用I2C通讯方式与IC卡通讯。只有读到卡内的数据才能操作控制板,否则控制板只显示当前的时间,按键无效。通用存贮器1C卡是由通用存贮器芯片封装而成的,由于它的结构和功能简单,生产成本低,使用方便,因此在各领域都得到了广泛的应用。目前用于IC卡的通用存贮器芯片多为E2PROM,其常用的协议主要有两线串行连接协议(I2C)和三线串行链接协议。本文采用比较常用的ATMEL公司生产的AT24系列芯片EEPROM AT24C01,它具有1k的存贮容量,两线串行I2C通讯方式,适用于2V~5V的低电压/标准电压的操作,具有低功耗和高可靠性等优点。
3、LCD显示是单片机控制产品中的典型应用。目前有多种方法实现LCD液晶显示控制:一种是单片机内部直接集成了LCD驱动电路,这种方法一般在4位机中较常用,8位机则很少,成本也较高。另一种方法是使用LCD模块,这种模块中带有LCD显示屏和LCD驱动电路,用起来较方便,但成本偏高,不适合于大批量生产采用。本文采用的是单片机+LCD驱动器+LCD显示屏的方式,可选用不同的单片机,另外选用性价比很高的LCD驱动器HT1621。
4、本系统设计的无线信号接收电路采用MICRF002芯片。MICRF002芯片是超外差电路。美国Micrel公司推出的MICRF系列超外差电路灵敏度高和选择性好。单片集成电路可完成接收及解调功能。Micrel 公司MICRF002为MICRF001的改进型,与MICRF001相比,功耗更低,并具有电源关断控制端。MICRF002性能稳定,使用非常简单。
5、主从机节点硬件电路相同(我们称其为电机板),二者仅软件设计不同而己。电机板由主控芯片PIC16F873,水位检测电路、脉冲检测电路、驱动电路组成。
4 节点软件设计
系统软件的设计分为以下几个部分:CAN节点通讯程序、控制板程序(包括键盘输入程序、无线接收程序、IC卡通讯程序、液晶界面控制程序)、电机板程序三个大部分。控制板上的IC芯片包含控制板程序和CAN通讯程序。电机板上的IC芯片存有CAN通讯程序和电机板程序。CAN节点要有效、实时地完成通讯任务,CAN通讯软件设计是关键。它包括初始化程序报文发送子程序,报文接收子程序和出错处理子程序等。
控制板的主程序流程图如图4所示。系统设计要求只有插入IC卡后,才可以通过键盘或遥控器来控制系统。键盘处理子程序和无线接收子程序都是采用中断方式执行,且任何时刻二者只能有一个被执行。键盘处理子程序的中断是外部INT中断,无线接收子程序采用的是PORTB 口的RB6端。