新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于C8051F040状态监测电路设计与实现

基于C8051F040状态监测电路设计与实现

作者:时间:2016-10-22来源:网络收藏

摘要 为记录某航行体航行是否正常,采用监测有无重要电路电压和存储通讯信息的方式。将被监测电路的电压通过TPL281-4光耦转换直接与微处理器C8051F040的I/O引脚连接,若相应I/O无电,则将此刻时间和信息存储到AM29F160DT芯片取Sτ媒峁表明,该监测电路达到了设计要求,具有一定的应用价值。

本文引用地址:http://www.eepw.com.cn/article/201610/309022.htm

航行体内部控制器和相关重要信号需被监测和记录,作为正常航行及故障判断的重要依据。当航行体内部重要信号缺失时,该电路仍能进行一些相关处理,以确保航行体能有效结束航行。

1 系统硬件结构

基于C8051F040电路硬件部分由7个主要功能模块组成:监测信号、电子转换电路、达拉斯时钟模块、AM29F 160DT、单片机C8051F040模块、/RS232通讯模块以及驱动输出模块。系统硬件结构框图如图1所示。

基于C8051F040状态监测电路设计与实现

电路工作原理是将被监测电路的电压通过TPL2814光耦转换直接与微处理器C8051F040的I/O引脚连接,若相应I/O无电,则将此刻时间和信息存储到AM29F160DT芯片中,同时发送给相关控制器,并给出相应驱动输出。此外将通讯过程中的信息也进行存储,以便航行结束后对相关数据进行分析、处理。

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所示。

基于C8051F040状态监测电路设计与实现

1.3 时钟芯片

是美国达拉斯半导体公司推出的时钟芯片,采用CMOS技术制成,将时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部。其主要功能如下:(1)内含一个锂电池,断电后运行10年以上不丢失数据。(2)计秒、分、时、天、星期、日、月、年,并有闰年补偿功能。(3)二进制数码或BCD码表示时间、日历和定闹。(4)有Motorola5和Inatael的总线时序选择。

将DS12887的MOT引脚接地,表明该电路的数据总线方式为Inatael总线时序,这样读写使能独立。数据操作需先将地址信息锁存,再进行相应读写,具体电路如图3所示。

基于C8051F040状态监测电路设计与实现

1.4 AM29F160DT模块

存储器AM29F160DT模块是2 MB的CMOS型5 V供电的Flash存储芯片,存取速度可高达70 ns,每个扇区至少满足100万次的擦除,数据一次保存时间长达20年,内部扇区数据结构是顶部数据形式。

将AM29F160DT的BYTE引脚下拉接地,表明是8位数据传输,并将RY/BY、WP、RESET上拉到电源。然后对应的读、写、片选信号接到微处理相应的引脚即可。具体电路如图4所示。

基于C8051F040状态监测电路设计与实现

1.5 驱动输出模块

考虑到要有足够的驱动能力,故在驱动芯片上使用BTS712N1。而在该驱动芯片之前增加一个光耦进行隔离,以保护单片机相应的I/O。具体驱动电路如图5所示。

2 软件设计

整个软件设计是以相应CAN信息为基础进行的,记录相应电路状态信息以及当时的时间信息;一部分电路信号检测是全程监控,另一部分电路信号检测则有时段要求。为此信号检测软件采用100 ms为周期的中断检测。

系统的软件设计主要包括软件初始化配置程序、电路状态检测程序、DS12887时钟数据读取、数据存储程序、CAN通信程序以及串口通讯6部分。

2.1 电路状态的检测程序设计

电路状态的检测程序设计采用定时器检测的方式,持续检测相应电路状态3 s并未认定此电路信号出现故障。具体设计流程如图6所示。

基于C8051F040状态监测电路设计与实现

2.2 DS12887时钟数据存储程序

时间读取程序设计就是对DS12887芯片内部4个寄存器进行相应的初始化和对其他寄存器数据的读取。

时间数据储存程序设计就是通过I/O按照存储器AM29F160DT控制时序写入对应控制字,完成对应数据写入、读取以及擦除。

2.3 CAN及RS232通信程序设计

由于C8051F040器件内部集成了Bosch CAN控制器,只需对该控制器进行初始化和配置便可实现CAN通信。操作通过特殊功能寄存器直接或间接访问CAN控制器中的相关寄存器。

串行通讯设置是用来向界发送一些内部数据,从而显示整个电路工作状态。

3 结束语

该电路设计已成功应用于某航行体航行监测中,在实际使用中对相关控制器监测起到了较好的数据记录和问题分析。本文设计实现了电路能应用其他场合的相关及时刻记录,由于AM29F160DT存储器具有2 MB的存储空间,因而能够长时间地进行监测。该设计具有结构简单、功能齐全且系统运行可靠的特点。



评论


相关推荐

技术专区

关闭