基于can总线的温度检测系统毕业设计论文(编辑修改稿)内容摘要:

过 CAN总线传输到主控制器。 主控制器接收智能节点的温度值并显示,并可通过 CAN 总线向智能节点发送温度。 温度检测的总体方案设计 根据应用场合的需要,本温度测控系统主要完成的功能有:对热电偶温度传感器Pt100 的信号进行检测;利用数字温度传感器 DS18B20 对温度的检测;现场 LED 显示数字温度信号以及键盘控制功能;主站通过 CAN 总线与下位机通信 ,实现对整个系统的监控。 系统主要由: 监控模块、测温模块、现场显示模块和 CAN 总线通信等部分组成。 设计系统结构图如图 21: 图 21 系统结构图 上位机 电平转换 收发节点 温度节点 速度节点 CAN 总线 安徽工程大计(论文) 5 第 3 章 CAN 总线温度检测系统的硬件及设计 CAN 总线的介绍 CAN总线是德国一家公司在 20世纪 80年代初为解决汽车中大量的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。 CAN 能灵活有效地支持具有较高安全等级的分布式控制.其数据传输速度可达 1Mbps,在汽车、煤矿 安全检测、自动化仪表、智能楼宇、机械制造等领域应用广泛。 本文介绍了一种基于 CAN 总线的智能温、湿度检测系统,可应用于不同的工业自动化领域。 CAN 即控制器局域网络 ,属于工业现场总线的范畴。 与一般的通信总线相比 ,CAN 总线的数据通信具有突出的可靠性、实时性和灵活性。 由于其良好的性能及独特的设计 ,CAN 总线越来越受到人们的重视。 由于 CAN 总线本身的特点 ,CAN 已经形成国际标准 ,并已被公认为几种最有前途的现场总线之一 [3]。 CAN(Controller Area Network—— 控制器局域网 )是一种有效的支 持分布式控制和实施控制的总线式串行通信网络,其可靠性远高于已经陈 1 日的现场通信技术,具有强有力的检错功能以及优先权和仲裁功能,可以很容易的实现多个单片机的挂载,并且价格低廉,结构灵活,维护方便,已经成为国际上应用最广泛的现场总线之一。 另外 ,与其它现场总线比较而言 ,CAN 总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。 这些也是目前 CAN 总线应用于众多领域 ,具有强劲的市场竞争力的重要原因。 CAN 通信的特点 : (1) CAN 是到目前为止唯一具有国际标准且成本较低的现场总线 ; (2) CAN 废除了传统总线的站地址编码,对通信数据块进行编码,为多主方式工作,不分主从,通信方式灵活,通过报文标识符通信,可使不同的节点同时接收到相同的数据,无需站地址等节点信息。 (3) CAN 采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。 尤其是在网络负载很重的情况下也不会出现网络瘫痪情况 (以太网则有可能出现这种情况 )。 (4) CAN 只需通过报文滤波即可实现点对点、一点对多点即 全局广播等方式传送接收数据,无需专门的“调度”。 (5) CAN 的直接通信距离最远可达 10km(速率 5kbps 以下 );通信速率最高可lambs(此时通信距离最长为 40m); (6) CAN 上的节点数最多可达 110 个 (主要取决于总线驱动电路 )。 (7) CAN 采用短帧结构,单帧最大长度仅 150 位,传输时间短,从而保证了通信的实时性,受干扰概率低。 (8) CAN 的每帧信息都有 CRC 校验及其他检错措施,降低了数据出错率,保证了数据通信的可靠性。 (9) CAN 节点在错误严重的情况下具有自动关闭输出功能,以使总线 上其他节点的操作不受影响。 (10) CAN 的通信介质可使用双绞线作为传输介质,价格低廉,可靠性强。 基于 CAN 总线的温度检测系统 6 AT89S51 单片机介绍 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(Insystem programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS51 指令系统及 80C51 引脚结构,芯片内集成了通用 8位中央处理器和 ISP Flash存储单元,功能强大的微型计算 机的 AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 89S51 采用 新工艺,成本降低 ,而且将功能提升 ,增加了竞争力。 AT89S51 单片机引脚图如 31[3]。 AT89S51 提供一下标准功能: 4K 字节 Flash 闪速存储器, 128 字节内部 RAM,32 个 I/O口线,看门狗( WDT),两个数据指针,两个 16 位定时 /计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。 同时, AT89S51 可降至 0HZ 的静态逻辑操作,并支持两种软件可选的节电工作模式。 空闲方式停止 CPU 的工 作,但允许RAM,定时 /计数器,串行通信口及诊断系统工作。 掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 图 31 AT89S51 单片机引脚图 AT89S51 具有如下特点: 40 个引脚, 4k Bytes Flash 片内程序存储器, 128 bytes的随机存取数据存储器( RAM), 32 个外部双向输入 /输出( I/O)口, 5 个中断优先级 2层中断嵌套中断, 2 个 16 位可编程定时计数器 ,2 个全双工串行通信口, 看门狗( WDT)电路,片内时钟振荡器。 此外, AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。 空闲模式下, CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。 同时该芯片还具有 PDIP、 TQFP 和 PLCC 等三种封装形式,以适应不同产品的需求。 1.主要特性: ( 1) 8031 CPU 与 MCS51 兼容 ( 2) 4K 字节可编程 FLASH 存储器 (寿命: 1000 写 /擦循环 ) 安徽工程大计(论文) 7 ( 3) 全静态工作: 0Hz33MHz ( 4) 三级程序存储器保密锁定 ( 5) 128*8 位内部 RAM ( 6) 32 条可编程 I/O 线 ( 7) 两个 16 位定时器 /计数器 ( 8) 6 个中断源 ( 9) 可编程串行通道 ( 10) 低功耗的闲置和掉电模式 ( 11) 片内振荡器和时钟电路 2.管脚说明: VCC:供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P1口的管脚第一次写 1 时,被定义为高阻 输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1口作为第八位地址接收。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓 冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编 程和编程校验接收一些控制信号。 I/O 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。 读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。 只有读端口时才真正地把外部的数据读入到内部总线。 上面图中的两个三角形表示的就是输入缓冲器 CPU将根据不同的指令分别发出读端口或读基于 CAN 总线的温度检测系统 8 引脚信号以完成不同的操作。 这是由硬件自动完成的,不需要我们操心, 1 然后再实行读引脚操作,否则就可能读入出错,为什么看上面的图,如果不对端口置 1 端口锁存器原来的状态有可能为 0Q 端为 0Q^为 1 加到场效应管栅极的信号为 1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为 1,也会因端口的低阻抗而使信号变低使得外加的 1 信号读入后不一定是 1。 若先执行置 1 操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类 I/O 口被称为准双向口。 89C51 的 P0/P1/P2/P3 口作为输入时都是准双向口。 接下来让我们再看另一个问题,从图中可以看出这四个端口还有一个差别,除了 P1口外 P0P2P3 口都还有其他的功能。 RST:复位 输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。 另外,该引脚 被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 AT89SXX 系列单片机实现了 ISP 下载功能,故而取代了 89CXX 系列的下载方式,也是因为这样, ATMEL 公司已经停止生产 89CXX 系列的单片机,现在市面上的 AT89CXX多是停产前的库存产品。 传感器的选用 DS18B20 传感器 DS18B20 是美国 DALLAS 半导体公司继 DS1820 之后最新推出的一种改进型智能温度传感器。 与传统的热敏电阻相比,他能够直接读出被测温度并且可根据 实际要求通过简单的编程实现 9~ 12 位的数字值读数方式 [11]。 可以分别在 ms 和 750 ms 内完成 9位和 12 位的数字量,并且从 DS18B20 读出的信息或写入 DS18B20 的信息仅需要一根口线(单线接口)读写 ,温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20供电,而无需额外电源。 因而使用 DS18B20 可使系统结构更趋简单,可靠性更高。 他在测温精度、转换时间、传输距离、分辨率等方面较 DS1820 有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。 DS18B20 产品的特点 ( 1) 只要求一个。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。