0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C8051F060单片机的数字传感器系统硬件如何设计?

电子工程师 来源:世界电子元器件 作者:韩双喜 2021-04-28 10:32 次阅读

随着科学技术的发展,智能控制技术开始在电子测试领域广泛地应用。在现代工业测控系统中,人们往往将各种传感器挂接在现场总线上,组成传感器网络系统,各种传感器设备分别作为其中的一个网络节点,通过现场总线实现节点与控制中心之间以及节点与节点之间的信息传输。

通常,人们选用CAN总线将大部分传感器连接起来,因此,传感器也需相应地智能化并统一数据接口。本文基于C8051F060单片机设计一款带有CAN通信接口的温湿压数字传感器系统,该系统能对压力传感器输出的压力模拟信号进行信号调理和模数转换;能处理并传输温度、湿度和压力数据,搭建CAN总线传感器网络以实现数据的采集和通信

数字传感器系统总体方案设计

根据数字传感器系统的任务和功能,系统工作原理如图1所示。首先传感器采集压力信号,并对压力信号进行跟随滤波处理,然后采集温湿度数据,并进行数据的编帧处理及数据的通信。经过传感器采集和预处理之后的数据按照指定的CAN应用协议,通过CAN数据通信接口传输到CAN总线,数据由相应的节点采集并存储,或者直接传送给上位机,通过上位机软件实时监测各个节点的数据。

pIYBAGCIx7mAaBEjAAC4QMjynOg779.png

数字传感器系统主要由控制中心模块、压力采集模块、温湿度采集模块、CAN总线模块及电源模块等部分组成。控制中心模块选用C8051F060单片机;为了实现温湿压数据的采集,数据采集模块选用SHT15、MPX4200A、TLV2402和MAX291等器件;为了完成组建通信网络、传输数据和实现总线冗余,CAN总线模块选用高速光耦、CD4052、TJA1050等器件。

数字传感器系统硬件设计

控制中心模块设计

控制中心模块选用C8051F060单片机,它是美国Cygnal公司推出的完全集成混合信号片上系统型MCU。C8051F060单片机采用与8051兼容的专利内核CIP-51,速度高达25MIPS,并具有59个数字I/O引脚、5个16位通用定时器、6个带有捕捉/比较模块的可编程定时器/计数器阵列。

同时,片内还集成了两个16位、1Msps的ADC和2个12位DAC、3个电压比较器看门狗定时器,VDD监视器和温度传感器。该芯片上集成有64KB的FLASH和4352B内部RAM,以及硬件实现的SPI、SMBus/I2C和2个UART串行接口。最重要是,C8051F060单片机还集成了CAN总线控制器,这使得采用CAN总线开发C8051F060单片机具有抗干扰性强、开发费用低廉、可适用于工业现场应用等特点。

控制中心模块的工作原理如图2所示,C8051F060单片机作为控制中心模块的核心器件,主要负责控制SHT15采集温湿度数据以及采集和转换经过跟随滤波之后的压力数据,然后对这些信号进行数据处理(滤波处理、数据编帧、数据缓存等);同时,由于C8051F060单片机自身具有CAN通信接口,因此它还可以实现数据传输。

依据图2设计的控制中心模块具体电路如图3所示。C8051F060单片机正常运行之前,必须初始化应用端口时钟,C8051F060单片机的端口引脚都能承受3V~5V电压值,而且P0~P3管脚的模式状态都是可以根据需求配置的;为了实现系统时钟,本设计采用外部晶体振荡驱动电路驱动外部晶振。

o4YBAGCIx8eAA1zfAABv-pX1ejM154.png

o4YBAGCIx9qAV4JfAAGH1BNagTg826.png

图3 控制中心模块电路图

压力采集模块设计

根据数字传感器系统的要求,压力采集模块主要由模拟传感器、电压跟随电路及低通滤波电路等组成。

模拟传感器选用MPX4200A,用于获取被检测信息以及负责模数转换。为了保证所采集信号的精度,压力信号需经过跟随滤波模块的处理。滤波电路用于对传感器检测到的压力信号进行的跟随和模拟滤波处理。模拟滤波能大大提高传感器采集精度,本设计选用开关电容滤波器MAX291作为对传感器压力信号进行模拟滤波的核心元件。

MAX291是MAXIM公司生产的八阶巴特沃斯型开关电容式有源低通滤波器,它的3dB截止频率可以在0.1kHz~25kHz之间选择。开关电容滤波器需要由一个时钟来驱动电路工作,该时钟的频率应为3dB截止频率的100倍,可以采用外时钟或内时钟2种方式。压力采集模块的跟随滤波原理如图4所示,模块主要包含MPX4200A组成的压力采集敏感头、TLV2402组成的电压信号跟随电路和MAX291组成的低通滤波电路。

其工作过程是:MPX4200A将采集到的压力信号转换成电信号之后传输给TLV2402,TLV2402完成信号跟随之后将信号传送给MAX291进行模拟滤波处理,之后在C8051F060单片机的控制下,由单片机内嵌的ADC1(16位A/D转换模块)采集转换压力信号,最后将采集转换的数据经编帧处理后通过CAN通信模块传递给数据记录器。

本设计之所以选用C8051F060单片机内嵌的ADC1采集转换压力信号,是为了满足系统微小化设计的需求,C8051F060单片机内部嵌有ADC1和ADC0两个16位AD转换模块,它们的转换速度最高可达1Msps。

pIYBAGCIx_uAB-MaAAD2ZaNhlXg125.png

图4 压力采集模块跟随滤波原理图

温湿度采集模块设计

温湿度采集模块结构组成如图5所示,在该模块的电路中,C8051F060单片机I/O口与温湿度传感器SHT15直接连接,C8051F060单片机引脚P2.1端口与SHT15的时钟管脚SCK相连以作为时钟线,C8051F060单片机引脚P2.0端口与SHT15的数据管脚DATA相连以作为数据线,这种连接方式具有接口方便、控制简单、通信速率高等优点。

温湿度采集模块工作原理是:C8051F060单片机通过数据线和时钟线向SHT15发送控制命令,并且接收SHT15采集、转换的温湿度数据,C8051F060单片机接收到温湿度数据后,对数据进行简单编帧等快速处理,最后通过CAN总线接口传输给数据记录器(上位机)进行数据处理与实时监测。

o4YBAGCIyBKAF4k3AABzmt2Ywwk590.png

图5 温湿度采集模块结构组成图

本设计选用温湿度传感器SHT15采集温湿度数据。SHT15是瑞士Sensirion公司推出的一款数字温湿度传感器芯片,其主要特点是:

①将温湿度感测、信号变换、A/D转换和I2C总线接口等功能集成到一个芯片上;

②提供两线数字串行接口SCK和DATA,并支持CRC传输校验;

③提供温度补偿和湿度测量值以及高质量的露点计算功能;

④测量精度可编程调节,内置A/D转换器

⑤由于采用了CMOSensTM技术,SHT15可浸入水中进行测量。

SHT15的性能参数如下:

①温度测量范围是-40~+123.8℃;

②湿度测量范围是0~100%RH;

③温度测量精度是±0.3℃;

④湿度测量精度是±2.0%RH;

⑤响应时间是8s。

数字式温湿度传感器SHT15是8引脚SMD表面贴片封装形式,其引脚1接地,引脚4接电源,工作电压为2.4~5.5VDC,为了达到SHT15的最高精确度,供电电压为3.3V适宜;引脚2为数据线,引脚3为时钟线,引脚5~8为空管脚。SHT15包含1个用能隙材料制成的温度敏感元件和1个电容聚合体湿度敏感元件,这两个敏感元件分别将温度和湿度转换成电信号,电信号首先由微弱信号放大器进行放大,然后进入1个14位的A/D转换器,最后经由二线串行数字接口输出数字信号

CAN总线模块设计

CAN总线模块是数字传感器系统中用来实现CAN总线协议、完成报文收发等功能的元器件的集合,该模块由C8051F060单片机、高速光耦HCPL0600以及CAN总线驱动TJA1050等组成。

为了保护CAN控制器,提高抗干扰能力,总线驱动与CAN总线的接口部分采用一定的安全和抗干扰措施:

TJA1050的CANL和CANH引脚各自通过一个5 的电阻与CAN总线相连,电阻可以使TJA1050免受过流的冲击;CANL和CANH与地之间各自都并联了一个30pF的小电容,能够尽量滤除掉总线上的高频干扰,以及提高总线的防电磁辐射的能力。

为了保证通信网络的可靠性,CAN总线模块采用网络冗余方法对总线及其驱动进行可控的总线冗余设计,CAN总线模块冗余设计原理如图6所示。该模块CAN通信接口由一个CAN控制器、两个CAN总线驱动和两对差分线组成。我们可以通过控制模拟多路开关CD4052在两个总线之间进行切换,A1、A0为CD4052的控制信号,由节点的主控制器控制。

当A1A0=01时,X通道选通X3、Y通道选通Y3,此时总线驱动U4工作,数据通过总线1传输;当A1A0=10时,X通道选通X2、Y通道选通Y2,此时总线驱动U3工作,数据通过总线2传输。CAN网络正常工作时,两条总线互为备用(一条总线工作,另外一条处于备用状态)。

为了检测各个节点的工作状态,CAN网络会以固定的频率发送检测命令,该检测命令通常由CAN网络上的一个固定的主节点来发送的,主节点发送检测命令后,根据预定的应答情况判断是否有节点损坏以及是哪个节点损坏;其他节点称为副节点,副节点接收主节点发送的检测命令,若接收到检测命令,则及时返回应答信息给主节点,若超过了预定时间主节点还未接收到检测信息,则由控制器控制切换总线并报警。

o4YBAGCIyGOAUZneAADwmb3S6ik869.png

图6 CAN总线模块冗余设计原理图

电源模块设计

根据现场情况,CAN网络提供24V电压给传感器,而传感器需要5V或3.3V的电源供电,因此,需要电源模块将24V电压转换为5V和3.3V。本设计选用TPS5410将24V电压转换为5V,选用MAX1658将5V电压转换为3.3V;另外,为了给光耦和CAN驱动供电,CAN通信电路需要一个与前面电源不共地的5V电源,在此选用DCR010505来实现,定义该隔离出来的5V为W5V,它的地为W5VGND。

TPS5410电压转换电路如图7所示。TPS5410是TI公司SWIFT系列的一款开关电源芯片,具有5.5V~36V的输入电压范围;开关转换频率为500KHz;转换效率高达95%;具有过流、过压和热过载保护功能;能够提供最大为1A的电流;外围电路简单。

pIYBAGCIyHSAGVZpAACtyojNI4s415.png

MAX1658电压转换电路如图8所示。MAX1658是MAXIM公司的一款5V转3.3V的开关电源芯片,转换效率高达95%;具有2.7V~16.5V的输入电压范围;具有过流、热过载保护和电源反接保护功能;能够提供最大为350mA的电流;外围电路简单。

o4YBAGCIx6SAAevSAABOR8IZpSY096.png

图8 MAX1658电压转换电路图

DCR010505隔离5V电路如图9所示。DCR010505是TI公司的一款隔离型开关电源芯片,能够将5V电压隔离为另外一个不共地的5V;开关转换频率为400KHz;转换效率为80%;具有1000Vrms的隔离能力和过热保护能力;提供最大200mA的电流;最大输入电压为7V。

pIYBAGCIx5SADFyCAABJuYIOqb8240.png

图9 DCR010505隔离5V电路图

结束语

随着电子技术、传感器技术及现场网络技术的飞速发展,带有CAN通信接口的数字化传感器也得到了迅速的发展。本文基于C8051F060单片机设计了一款带有CAN通信接口的温湿压数字传感器系统。首先介绍了数字传感器系统总体设计方案,然后详细阐述了系统的硬件设计,包括控制中心模块、压力采集模块、温湿度采集模块、CAN总线模块以及电源模块设计。该数字传感器系统性能稳定,集成了温湿度传感器、压力传感器等,带有CAN通信接口,具有集成化、小型化等特点。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2522

    文章

    47984

    浏览量

    739688
  • 单片机
    +关注

    关注

    5997

    文章

    43948

    浏览量

    620549
  • CAN总线
    +关注

    关注

    145

    文章

    1809

    浏览量

    129573
收藏 人收藏

    评论

    相关推荐

    8051单片机中断系统过程

    8051单片机是一种经典的8位微控制器,它具有一个灵活的中断系统。在8051单片机中,中断是一种非常重要的功能,它允许处理器在执行主程序的过
    发表于 12-05 09:15 0次下载

    基于高性能单片机C8051F060的CAN节点设计方案

    电子发烧友网站提供《基于高性能单片机C8051F060的CAN节点设计方案.pdf》资料免费下载
    发表于 10-25 10:46 2次下载
    基于高性能<b class='flag-5'>单片机</b><b class='flag-5'>C8051F060</b>的CAN节点设计方案

    人体传感器单片机一直输出高电平为什么?

    人体传感器。默认无人输出低电平,检测到人高电平,输出直接连接单片机后,一直是高电平,无人的时候也无法拉低单片机IO。是为什么?传感器电平输出电流200UA,和这个有关系吗。直连不行 加
    发表于 10-23 06:24

    8051单片机控制8*8点阵时不用译码可以吗?

    8051单片机控制8*8点阵时,不用译码可以吗?8*8总共灯的数量大于51单片机接口数量,但是又不会用译码,有没有不用译码
    发表于 10-20 06:03

    stc89c51单片机最多可以接几个超声波传感器

    stc89c51单片机最多可以接几个超声波传感器,主要涉及到51中RX和TX口
    发表于 10-17 08:35

    C8051F007单片机内部的12位ADC如何提高精度?

    C8051F007单片机内部的12位ADC ,如何提高精度?
    发表于 10-17 08:11

    C8051F007单片机内部的12位ADC如何提高精度?

    C8051F007单片机内部的12位ADC ,如何提高精度?
    发表于 10-16 14:04

    51单片机32个io口能全部接数字传感器吗 ?

    小萌新想问问89c52单片机32个io口可以全部连接上数字传感器吗,每个传感器就一条输入信号线,单片机
    发表于 10-08 06:05

    单片机C语言程序设计实训100例

    单片机C语言程序设计实训100例51 Proteus仿真本书基于Keil μVision程序设计平台和Proteus硬件仿真平台,精心编写了100余个8051
    发表于 09-27 06:16

    STC89C52单片机最小系统的设计方案

    单片机最小系统设计主要在STC89C52单片机上,用MAX23芯片实现串口程序下载,用HD7279A片驱动4*4键盘和8位数码管显示,用DS1302实现实时钟电路,用18b20
    发表于 09-25 08:06

    基于单片机AT89C51的室内灯光控制系统的研究和开发

    本篇论文介绍了就是基于单片机AT89C51的室内灯光控制系统的研究和开发。本系统是以单片机为控制
    发表于 09-25 08:03

    8051单片机C语言编程入门指导手册

    8051单片机C语言编程入门指导书
    发表于 09-21 08:18

    如何用8051单片机做一个温度计?

    温度传感器广泛用于电子设备中,用来显示实时温度,比如我们经常看到一些数字时钟便带有温度计,这是由于其中嵌入了温度传感器。在这个项目中,将展示如何设计数字温度
    的头像 发表于 07-07 11:40 611次阅读

    基于8051单片机制作一个酒精测试仪

    在本文中,使用8051单片机的呼吸分析仪电路,它从呼吸中输出血液酒精含量(BAC)。“酒精含量的百分比”在3位七段显示器上以百分比显示。使用的单片机8051系列的AT89S51和酒精
    的头像 发表于 07-07 11:27 1444次阅读
    基于<b class='flag-5'>8051</b><b class='flag-5'>单片机</b>制作一个酒精测试仪

    基于单片机的变压故障检测系统设计

    想问一下大佬们,单片机仿真系统中要对电压,液位,温度进行检测,用的at89c51单片机系统,现在温度传感
    发表于 04-29 12:34