基于C8051的状态监测电路设计
摘要 为记录某航行体航行是否正常,采用监测有无重要电路电压和存储通讯CAN信息的方式。将被监测电路的电压通过TPL281-4光耦转换直接与微处理器C8051F040的I/O引脚连接,若相应I/O无电,则将此刻时间和信息存储到AM29F160DT芯片內。应用结果表明,该监测电路达到了设计要求,具有一定的应用价值。
航行体内部控制器和相关重要信号需被监测和记录,作为正常航行及故障判断的重要依据。当航行体内部重要信号缺失时,该电路仍能进行一些相关处理,以确保航行体能有效结束航行。
1 系统硬件结构
基于C8051F040状态监测电路硬件部分由7个主要功能模块组成:监测信号、电子转换电路、达拉斯DS12887时钟模块、并行存储器AM29F 160DT、单片机C8051F040模块、CAN/RS232通讯模块以及驱动输出模块。系统硬件结构框图如图1所示。
电路工作原理是将被监测电路的电压通过TPL2814光耦转换直接与微处理器C8051F040的I/O引脚连接,若相应I/O无电,则将此刻时间和信息存储到AM29F160DT芯片中,同时发送给相关控制器,并给出相应驱动输出。此外将通讯过程中的CAN信息也进行存储,以便航行结束后对相关数据进行分析、处理。
1.1 单片机C8051F040介绍
C8051F040由美国Silicon Labs公司设计,对原51单片机内核进行了较大改造,由原来12个时钟执行一条指令改进为一个时钟执行一条单周期指令,多数指令执行的时钟周期数与指令的字节数相同,使该款单片机的运行速度大幅提高。C8051F040具有64个数字I/O引脚,片内集成了一个CAN2.0B控制器。其主要特性有:(1)高速、流水线结构的8051兼容CIP-51内核(可达25 MI·s-1)。(2)局域网(CAN2.0B)控制器,具有32个消息对象,每个消息对象有其独有的标识。(3)硬件实现的SPI、SMBus/I2C和两个UART串行接口。(4)5个通用的16位定时器。(5)具有6个捕捉/比较模块的可编程计数器/定时器阵列。
1.2 检测信号及电平转换电路
由于检测信号的电压为24 V,但单片机C8051F040I/O口能够承受的电压为5 V。因此,需将这些电路的电压进行转换以便给单片机的I/O识别。该电路电平转换采用光电隔离芯片TLP281-4,其电路如图2所示。
1.3 时钟芯片DS12887
DS12887是美国达拉斯半导体公司推出的时钟芯片,采用CMOS技术制成,将时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部。其主要功能如下:(1)内含一个锂电池,断电后运行10年以上不丢失数据。(2)计秒、分、时、天、星期、日、月、年,并有闰年补偿功能。(3)二进制数码或BCD码表示时间、日历和定闹。(4)有Motorola5和Inatael的总线时序选择。
将DS12887的MOT引脚接地,表明该电路的数据总线方式为Inatael总线时序,这样读写使能独立。数据操作需先将地址信息锁存,再进行相应读写,具体电路如图3所示。
1.4 并行存储器AM29F160DT模块
存储器AM29F160DT模块是2 MB的CMOS型5 V供电的Flash存储芯片,存取速度可高达70 ns,每个扇区至少满足100万次的擦除,数据一次保存时间长达20年,内部扇区数据结构是顶部数据形式。
将AM29F160DT的BYTE引脚下拉接地,表明是8位数据传输,并将RY/BY、WP、RESET上拉到电源。然后对应的读、写、片选信号接到微处理相应的引脚即可。具体电路如图4所示。
1.5 驱动输出模块
考虑到要有足够的驱动能力,故在驱动芯片上使用BTS712N1。而在该驱动芯片之前增加一个光耦进行隔离,以保护单片机相应的I/O。具体驱动电路如图5所示。
2 软件设计
整个软件设计是以相应CAN信息为基础进行的,记录相应电路状态信息以及当时的时间信息;一部分电路信号检测是全程监控,另一部分电路信号检测则有时段要求。为此信号检测软件采用100 ms为周期的中断检测。
系统的软件设计主要包括软件初始化配置程序、电路状态检测程序、DS12887时钟数据读取、数据存储程序、CAN通信程序以及串口通讯6部分。
2.1 电路状态的检测程序设计
电路状态的检测程序设计采用定时器检测的方式,持续检测相应电路状态3 s并未认定此电路信号出现故障。具体设计流程如图6所示。
2.2 DS12887时钟数据存储程序
时间读取程序设计就是对DS12887芯片内部4个寄存器进行相应的初始化和对其他寄存器数据的读取。
时间数据储存程序设计就是通过I/O按照存储器AM29F160DT控制时序写入对应控制字,完成对应数据写入、读取以及擦除。
2.3 CAN及RS232通信程序设计
由于C8051F040器件内部集成了Bosch CAN控制器,只需对该控制器进行初始化和配置便可实现CAN通信。操作通过特殊功能寄存器直接或间接访问CAN控制器中的相关寄存器。
串
- 基于C8051F340驱动与采集的CCD光电遥测垂线仪(02-01)
- 基于单片机C8051F060的智能功率柜的设计应用(01-12)
- 基于单片机的存储设备转储器(05-03)
- 基于单片机设设计的智能无线网络汽车测试系统(12-02)
- 基于C8051F的18B20程序(12-01)
- 基于C8051F的AD UART0 KEY FLASH TIME3程序(12-01)