[完整版]基于CAN总线的温度检测系统毕业论文(4)

2019-09-01 15:36

图2-1 系统结构图

第3章 CAN总线温度检测系统的硬件及设计

3.1 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的通信介质可使用双绞线作为传输介质,价格低廉,可靠性强。

3.2 AT89S51单片机介绍

AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51

可为许多嵌入式控制应用系统提供高性价比的解决方案。89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。AT89S51单片机引脚图如3-1。

[3]

AT89S51提供一下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个IO口线,看门狗(WDT),两个数据指针,两个16位定时计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及诊断系统工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

图3-1 AT89S51单片机引脚图

AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入输出(IO)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

1.主要特性:

(1) 8031 CPU与MCS-51 兼容

(2) 4K字节可编程FLASH存储器(寿命:1000写擦循环) (3) 全静态工作:0Hz-33MHz (4) 三级程序存储器保密锁定 (5) 128*8位内部RAM (6) 32条可编程IO线 (7) 两个16位定时器计数器 (8) 6个中断源 (9) 可编程串行通道

(10) 低功耗的闲置和掉电模式 (11) 片内振荡器和时钟电路 2.管脚说明: VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向IO口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向IO口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向IO口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八

位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向IO口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

IO口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。这是由硬件自动完成的,不需要我们操心,1然后再实行读引脚操作,否则就可能读入出错,为什么看上面的图,如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1。若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类IO口被称为准双向口。89C51的P0P1P2P3口作为输入时都是准双向口。接下来让我们再看另一个问题,从图中可以看出这四个端口还有一个差别,除了P1口外P0P2P3口都还有其他的功能。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALEPROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地


[完整版]基于CAN总线的温度检测系统毕业论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:动物营养与健康论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: