版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于CAN总线控制的温度仪表摘要随着科学技术的飞速发展,工业控制和生产自动化技术的不断进步以及微处理器的广泛应用,现场总线技术日益成为国外各行业关注的焦点。传统独立该仪器已不能满足当前控制系统大型化、智能化和网络化发展的要求,基于现场总线的新型智能仪器应运而生。CAN (Controller Area Network)现场总线作为一种支持分布式控制和实时控制的技术,以其稳定性好、可靠性高、抗干扰能力强、通信速率快、维护成本低等优点,成为世界上应用最广泛的现场总线之一。本文采用主流单片机STC89C52作为微处理器,配合独立的CAN控制器SJA1000设计CAN总线数据通信系统的硬件电路,使得C
2、AN总线通信更加直观。本文给出了相应的通信软件模型,包括应用层协议模块、基本通信模块和运动控制应用模块。其中,应用层协议模块包括消息标识符分配、数据域信息格式、数据交换模式和消息过滤机制。基本通信模块包括CAN控制器初始化、报文接收、报文发送、错误处理和中断服务程序。运动控制应用模块包括输出控制命令和输入状态信息。本文设计的数据通信系统结构简单,使用方便,设计灵活。它可以满足工业控制网络化和智能化的发展要求,对基于CAN总线的研究有积极的作用。关键词:CAN数据通信,SJA1000,单片机目录 TOC o 1-3 h z u HYPERLINK l _RefHeading_Toc3250149
3、58 摘要I HYPERLINK l _RefHeading_Toc325014959 Abstract HYPERLINK l _RefHeading_Toc325014960 目录 HYPERLINK l _RefHeading_Toc325014961 第一章绪论1 HYPERLINK l _RefHeading_Toc325014962 1.1选题背景与意义1 HYPERLINK l _RefHeading_Toc325014963 1.2国外研究现状与其发展1 HYPERLINK l _RefHeading_Toc325014964 1.3本文组织结构2 HYPERLINK l _R
4、efHeading_Toc325014965 第二章现场总线与CAN总线技术通信标准3 HYPERLINK l _RefHeading_Toc325014966 2.1 CAN总线简介3 HYPERLINK l _RefHeading_Toc325014967 2.2 CAN总线技术特点3 HYPERLINK l _RefHeading_Toc325014968 2.3 CAN总线通信协议4 HYPERLINK l _RefHeading_Toc325014969 2.3.1CAN总线的特点4 HYPERLINK l _RefHeading_Toc325014970 2.3.2 CAN总线帧格
5、式4 HYPERLINK l _RefHeading_Toc325014971 2.3.3CAN总线位仲裁技术特点5 HYPERLINK l _RefHeading_Toc325014972 2.4本章小结5 HYPERLINK l _RefHeading_Toc325014973 第三章系统硬件电路设计1 HYPERLINK l _RefHeading_Toc325014974 3.1智能仪表系统整体硬件构成1 HYPERLINK l _RefHeading_Toc325014975 3.2CAN通信模块硬件设计1 HYPERLINK l _RefHeading_Toc325014976 3
6、.2.1SJAl000有以下基本特性:1 HYPERLINK l _RefHeading_Toc325014977 3.2.2 CAN总线收发器TJA10502 HYPERLINK l _RefHeading_Toc325014978 3.2.3微控制器STC89C52单片机3 HYPERLINK l _RefHeading_Toc325014979 3.2.4数字温度传感器DS18B205 HYPERLINK l _RefHeading_Toc325014980 3.2.5 八段数码管6 HYPERLINK l _RefHeading_Toc325014981 3.2.674HC5957 H
7、YPERLINK l _RefHeading_Toc325014982 3.3 本章小结8 HYPERLINK l _RefHeading_Toc325014983 第四章 CAN数据通信接口模块软件设计9 HYPERLINK l _RefHeading_Toc325014984 4.1 CAN总线数据通信程序9 HYPERLINK l _RefHeading_Toc325014985 4.2 DS18B20 温度采集程序11 HYPERLINK l _RefHeading_Toc325014986 4.3 74HC595驱动数码管显示程序14 HYPERLINK l _RefHeading_
8、Toc325014987 结论16 HYPERLINK l _RefHeading_Toc325014988 参考文献17 HYPERLINK l _RefHeading_Toc325014989 致19 HYPERLINK l _RefHeading_Toc325014990 附录20 HYPERLINK l _RefHeading_Toc325014991 程序设计20第一章:绪论1.1选题背景和意义随着微机技术和嵌入式系统技术的飞速发展,工业控制系统已经成为计算机技术应用领域中最具活力的分支,并取得了长足的进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制向多样化
9、方向发展,系统向去中心化方向发展,即负荷去中心化、功能去中心化、危险去中心化和地域去中心化。即以微型计算机(单片机或嵌入式系统)为主体,代替传统仪器常见的电子电路,被称为具有一定智能的新一代智能仪器。传统模拟仪器的各种功能都是由单元电路来实现的,而在以单片机或嵌入式系统为主体的仪器中,很多数据处理和控制任务都是由软件来完成的。同时,正因为现场总线的标准尚未统一,现场总线的应用才能得到充分发挥,这将为现场总线的完善提供更为丰富的基础。在此背景下,CAN(控制器局域网)应运而生。CAN(控制器局域网)是一种现场总线,由德国Bosch公司于20世纪80年代首先推出。主要用于汽车检测中,与控制系统进行
10、数据通信。CAN总线通信协议充分考虑了工业现场环境,采用ISO-OSI模型中的三层,即物理层、数据层和应用层。CAN总线规范已被国际标准化组织制定为国际标准ISO11898,并得到了许多著名半导体器件制造商的支持,各种集成CAN协议的芯片产品已经推出。1.2国外研究的现状和发展如今,许多知名的外国汽车制造企业,如奔驰、宝马、保时捷、劳斯莱斯等。采用CAN总线实现了汽车系电子控制系统与测试和执行机构之间的数据通信。虽然国内一些汽车厂商最初尝试在自己的产品中使用CAN,并做出了一些相应的产品,但从成熟度上来说,无疑与那些知名厂商有较大差距。经过20多年的发展,特别是随着其国际标准化(IS01189
11、8)的制定,CAN总线促进了其发展和应用。英特尔、摩托罗拉、飞利浦、西门子等100多家国际公司都支持CAN总线协议。目前,中国的科学技术水平和整体综合技术水平已经达到国际上80年代中期的水平。随着微电子技术和计算机技术在仪器仪表产品中的广泛应用,约15%的产品智能化,达到90年代国际水平,30%的产品数字化,达到80年代后期国际水平。通过科技攻关、联合开发、合资合作、消化吸收引进技术和国产化,我国仪器仪表行业部分中高档主导产品缩小了与国际先进水平的差距,形成了生产能力。在未来的发展前景中,CAN总线将有以下几个方向:(1) CAN总线在未来的市场竞争中将具有一定的优势。(2)与企业以太网互联。
12、(3)模糊控制技术和智能技术的结合。(4)与无线技术的结合。1.3本文的组织结构本文研究了基于CAN总线的数据通信系统的通信系统的设计与实现。涉及需求分析、总体设计、硬件结构设计、软件设计开发、系统模拟测试等。第一章是绪论,简要介绍了CAN总线在国外的应用现状,说明了本课题的研究背景和意义。第二章简要介绍了CAN总线通信标准,包括其技术特点、报文帧类型和格式、独特的位仲裁技术、报文过滤技术等。第三章是CAN总线通信系统的硬件设计与实现以及应用层通信协议模块的设计。第四章介绍了CAN通信系统软件开发的过程,并说明了在仿真测试平台上的测试情况。第五章总结了本通信系统设计与实现的主要成果和结论,并对
13、下一步工作进行了展望。第二章现场总线和CAN总线的技术通信标准2.1 can总线介绍CAN网络是 HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/3965976.htm 控制器局域网(控制器局域网)是德国博世公司为现代汽车应用而提出的多主机局域网。它是一种有效支持分布式控制或实时控制的串行通信网络,其总线规范已被ISO。 HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/42488.htm 国际标准化组织它是一种国际标准,被认为是最有前途的现场总线之一。CAN总线的通信介质
14、可以是双绞线、同轴电缆或光纤,最高通信速率可达1Mbps。其应用范围从高速网络到低成本多线网络,广泛应用于工业自动化、各种控制设备、车辆、医疗仪器、建筑、环境控制等诸多部门。2.2 can总线的技术特点(1)多主机工作模式,网络上的任何节点都可以随时主动向网络上的其他节点发送信息,不分主从,通信方式灵活。(2)网络上的节点(信息)可以划分不同的优先级,可以满足不同的实时性要求。(3)利用非破坏性位仲裁总线结构机制,当两个节点同时向网络传输信息时,低优先级的节点主动停止数据传输,而高优先级的节点可以继续传输数据而不受影响。(4)可以以多种传输模式接收数据,例如点对点、点对多点(群组)和全球广播。
15、(5)直接通信距离可达6km(速率10Kbps以下)。(6)最高通信速率可达1MB/s(此时最远距离为40m)。(7)节点数实际可以达到110。(8)采用短帧结构,每帧有效字节数为8。(9)每一帧信息都有CRC校验等检错措施,数据误码率极低。(10)双绞线、同轴电缆和光纤可用作通信介质。一般可以用便宜的双绞线,没有特殊要求。(11)当出现严重错误时,节点具有自动关闭总线的功能,切断其与总线的连接,从而不影响总线上的其他操作。2.3 CAN总线通信协议2.3.1CAN总线的特点CAN总线是一种有效支持分布式控制或实时控制的串行通信网络。其通信介质可以是双绞线、同轴电缆或光纤。在汽车发动机控制部件
16、、传感器和其他应用中,总线的最大比特率可以达到1 Mbit/s。CAN总线具有以下主要特性:A.基于优先级竞争的无损总线仲裁B.可通过接收进行过滤的多地址帧传输C.它具有错误检测和错误帧自动重传的功能。D.数据传输方式可分为数据广播型和远程数据请求型。2.3.2 CAN总线帧格式CAN总线通信协议包括CAN2.0A和CAN2.0B,其帧格式为:(1)CAN2.0A通信协议规定了四种不同的帧格式:帧用于在节点之间传递数据,是网络信息的主体。其帧格式依次包括帧开始、仲裁字段、控制字段、数据字段、CRC字段、ACK字段和帧结束。数据段长度可编程为0至8字节。该帧由在线单元发送,用于请求发送具有相同标
17、识符的数据帧。其帧格式与数据帧基本相同,但没有数据字段。帧错误帧是用于检测总线错误的信号标志,它由两个不同的字段组成。第一个字段叠加了来自不同节点的错误标志,第二个字段是错误限定符。CAN协议采用CRC校验,并能提供相应的错误处理功能,保证数据通信的可靠性。过载帧由过载标识符和过载限定符组成,指示逻辑链路控制层要求的部分过载状态,将由媒体访问控制层的某些错误条件发起并发送。用于扩展帧序列的延迟时间。(2)CAN2.0B通信协议分为两种帧格式:标准框架标准帧信息为11字节,包括信息和数据两部分。前3个字节是信息部分。1字节1是帧信息。第7位(FF)表示帧格式。在标准帧中,FF = 0;位6 (R
18、TR)表示帧的类型,RTR=0表示数据帧,RTR=1表示远程帧;DLC表示数据帧时的实际数据长度。字节2和3是报文识别码,11位有效。字节4 11是数据帧的实际数据,在远程帧中无效。扩展框架扩展帧信息是13字节,包括信息和数据两部分。前五个字节是信息部分。1字节是帧信息。第7位(FF)表示帧格式。在扩展帧中,FF = 1;位6 (RTR)表示帧的类型,RTR=0表示数据帧,RTR=1表示远程帧;DLC表示数据帧时的实际数据长度。字节2 5为报文识别码,高29位有效。字节6 13是数据帧的实际数据,在远程帧中无效。2 . 3 . 3 can总线位仲裁的技术特征只要总线空闲,任何单元都可以开始发送
19、消息。为了实时处理数据,需要快速传输数据,这就要求数据的物理传输信道具有很高的速度。当几个站需要同时发送数据时,要求快速分配总线。如果两个或两个以上的单元同时开始传输消息,就会出现总线访问冲突。这种冲突可以通过使用标识符的位形式仲裁来解决。CAN总线以报文为单位传输数据,报文的优先级与11位标识符组合,二进制数最小的标识符优先级最高。这个优先级一旦在系统设计中确立,就不能更改。总线读取中的冲突可以通过位仲裁来解决。2.4本章概述首先,CAN控制器工作在多主模式,网络中的所有节点都可以根据总线访问优先级(取决于报文标识符)以无损结构的逐位仲裁方式竞争向总线发送数据。另外,CAN协议取消了站地址编
20、码,而是对通信数据进行编码,使得不同的节点可以同时接收相同的数据。这些特点使得CAN总线组成的网络中节点之间的数据通信实时性强,并且容易形成冗余结构,从而提高了系统的可靠性和灵活性。其次,CAN总线通过CAN控制器接口芯片TJA1050的两个输出端CANH和CANL连接到物理总线上,CANH端的状态只能是高电平或浮空状态,而CANL端的状态只能是低电平或浮空状态。而且完善的CAN通信协议可以通过CAN控制器芯片及其接口芯片来实现,大大降低了系统开发的难度,缩短了开发周期。另外,与其他现场总线相比,CAN总线是一种国际标准的现场总线,具有通信速率高、易于实现、性价比高等特点。这些也是CAN总线被
21、应用于众多领域并具有强大市场竞争力的重要原因。CAN(控制器局域网)是控制器局域网,属于工业现场总线领域。与通用通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能和独特的设计,CAN总线越来越受到人们的关注。广泛应用于汽车领域。世界上一些著名的汽车制造商,如奔驰、宝马、保时捷、劳斯莱斯等,都采用了CAN总线来实现汽车部门的控制系统与测试和执行机构之间的数据通信。同时,由于CAN总线本身的特点,其应用也不再局限于汽车工业,而是发展到了自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农业机械、机器人、数控机床、医疗仪器、传感器等领域。CAN已经成为国际标准
22、,并被公认为几种最有前途的现场总线之一。第三章是系统的硬件电路设计。3.1智能仪表系统的总体硬件组成本文设计的智能仪表系统主要完成直接现场模拟信号的采样、计算、传输和显示,将数据和参数传输到监控计算机进行实时监控和管理,并在监控计算机中进行PID调节。智能节点接收调整后的参数,即控制被控对象。系统的整个工作过程是:传感器从现场采集数据,通过中央处理器进行转换,然后送到数码管进行显示,再通过CAN总线将数据送到监控计算机进行显示和分析,PID调整后的数据传送到相应的节点控制被控对象。同时,当其他节点有数据请求时,可以通过CAN总线将数据发送给其他智能节点。根据系统功能、经济性和灵活性的设计要求,
23、本设计选用STC89C52作为中央处理器。STC89C52完成传感器数据采集、数码管显示和数据传输的控制。使用独立的CAN控制器SJAl000结合CAN总线收发器TJA1050,SJAl000是一个独立的CAN控制器,在硬件和软件上与之前的PCA82C200兼容,具有一系列适合各种应用的高级功能。TJA1050负责与CAN物理层连接,接收和发送数据。解决了CAN总线虽然可连接设备多,传输距离远,抗干扰能力强,但不能直接连接到计算机的问题。在智能节点中,微处理器由两个单片机组成,通过串口相互通信。一个芯片主要负责数据采集和显示,另一个芯片负责SJAl000的初始化,通过控制SJAl000实现数据
24、的接收和发送等通信任务。用两个单片机实现智能节点的功能,为系统的模块化开发提供了方便。3.2 CAN通信模块的硬件设计在本次设计中,选择了独立的CAN控制器,因为独立的CAN控制器使用灵活,可以与各种类型的单片机和微型计算机的各种标准总线相结合。而且目前在国内市场上很容易买到,性价比高。SJAl000是一款独立的CAN控制器,主要用于一般工业环境下的移动目标和区域网络控制。3.2.1 SJAl000具有以下基本特性:引脚和电气参数与PCA82C200独立CAN控制器兼容。PCA82C200模式(即默认的基本扫描模式)。有一个64字节的扩展接收缓冲器FIFO。支持CAN 2。OA和CAN 2。O
25、B协议。支持11位和29位识别码。通信比特率可达1Mbps。PeliCAN模式的扩展功能:带读/写访问的错误计数寄存器;可编程误差误差极限寄存器;最后一个错误代码寄存器;对于每个CAN总线错误中断;具有特定位表示的仲裁丢失中断;单次传输(无重传);仅监听模式类型(无确认,无激活的错误标志);支持热插拔(软件检测比特率);验收过滤器扩展(4字节验收码,4字节屏蔽);接收自己的消息(自收请求);24MHz时钟频率;可以与不同的微处理器接口;可编程CAN输出驱动器配置;温度适应性大(40 +125)。CAN的核心控制块主要控制CAN帧的接收和发送。SJAl000的发送缓冲区可以存储完整的消息(扩展或
26、标准)。当主控制器开始传输时,逻辑管理接口会强制CAN核心控制模块读取发送缓冲器中的CAN消息。收到消息后,CAN内核控制模块将连续位转换为标准数据,并将其存储在接收滤波器中。可编程滤波器SJAl000可以决定主控制器接收哪个消息。存储在接收过滤器中的所有接收信息都存储在接收队列中。根据操作模式,可以保存最大长度为64字节的信息。这使得用户在指定系统中断服务和中断优先级时更加灵活,因为数据溢出的可能性已经降低。CAN总线收发器TJA1050通常使用SJAl000独立CAN总线控制器就可以完成CAN总线的通信任务,但缺点是其驱动能力不够,需要增加一个TJA1050总线驱动芯片来弥补这一缺陷,使系
27、统达到用户满意的水平。TJA1050是CAN控制器和物理总线之间的接口。它最初是为汽车中的高速应用(高达1Mbps)而设计的。该设备可以向总线提供差分发送和接收功能。TJA1050的主要特性如下:完全兼容IS01 1898标准;高速率(高达1 Mbps);具有汽车环境下抗瞬时干扰和保护总线的能力;采用斜率控制降低射频干扰;过温保护;母线和电源与地之间的短路保护;低电流待机模式;未通电的节点不会干扰总线;总线至少可以连接10个节点。引脚8(Rs)允许您选择三种不同的工作模式:高速、斜率控制和待机。在高速操作模式下,发射器的输出晶体管可以尽快开启和关闭。在这种模式下,不需要采取任何措施来限制上升和
28、下降斜率。对于较低的速度和较短的总线长度,可以使用非屏蔽双绞线或平行线作为总线。为了减少射频干扰,应该限制上升和下降斜率。上升和下降斜率可由通过Rs引脚接地的电阻控制,斜率与Rs引脚上的电流输出成正比。3.2.3微控制器STC89C52单片机STC89C52是一款低压、高性能CMOS8位微控制器,内置8K字节可重写程序存储器(PENROM)。和512字节访问数据存储器(RAM)。该器件采用STC公司的高密度、不易丢失的存储器技术生产,与MCS-51单片机兼容。STC89C52单片机具有8位CPU和flash存储单元,功能强大,可应用于控制领域。Pin描述VCC:电源电压GND:地面P0口:P0
29、端口是一组开漏的8位双向I/O端口,即地址/数据总线多路复用端口。作为输出端口,每个引脚可以驱动八个TTL电路。将“1”写入端口P0时,每个引脚都可以用作高阻抗输入端。P0端口还可以在访问外部数据存储器或程序存储器时切换地址和数据总线复用,此时激活器件的上拉电阻。P0端口在flash编程期间接收指令,在程序验证期间输出指令,这需要电阻连接。P1港:P1是一个8位双向I/O端口,带有部分上拉电阻,P1的输出缓冲级可以驱动四个TTL电路。向端口写“1”,通过器件的电阻将端口拉高电平,此时可以作为输入端口。由于电阻的原因,当引脚被外部信号拉低时,它将输出电流。在编程和程序验证期间,P1端口接收低8位
30、地址。P2:P2是一个带上拉电阻的8位双向I/O端口,P2的输出缓冲级可以驱动4个TTL电路。将“1”写入端口,并通过器件的电阻将端口拉至高电平。此时,它可以用作输入端口。由于电阻的原因,当引脚被外部信号拉低时,它将输出电流。当访问具有16位地址的外部程序存储器或外部数据存储器时,P2端口发送高8位地址的数据。当访问具有8位地址的外部数据存储器时,P2端口线的容量在整个操作期间保持不变。在闪烁或验证期间,P2端口接收高位地址和其他控制信号。P3:P3端口是一组带电阻的8位双向I/O端口,其输出缓冲器可以驱动4个TTL电路。当“1”被写入P3端口时,当它们被电阻拉高电平,可以作为输入端时,被外界
31、拉低的P3端口将利用电阻输出电流。P3不仅是一个通用的I/O端口,还是它的第二个功能,如下表所示:端口引脚第二功能P3.0接收数据P3.1数据发送P3.2INT0P3.3INT1P3.4T0P3.5一种网络的名称(传输率可达1.54mbps)P3.6华氏反应(Wassermann reaction)P3.7路P3还接收一些用于闪存编程和程序验证的控制信号。RST:复位输入。当振荡器工作时,RET引脚的高电平超过两个机器周期将复位微控制器。啤酒/:当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE也能以时钟振荡频率的1/16输出一个固定的正脉
32、冲信号,因此它可以用来输出时钟或用于计时目的。注意:当访问外部数据存储器时,只要ALE脉冲被跳过,该引脚也用于在对闪存进行编程时输入编程脉冲。如有必要,可以在特殊寄存器区的8EH单元的D0位置禁止ALE操作。在此位置后,仅应用一个MOVX和MOVC指令ALE。另外,这个引脚会被稍微拉高,所以MCU执行外部程序时ALE要设为无效。PSEN:程序存储许可输出是外部程序存储器的读选通信号。当AT89C51从外部程序存储器中读取指令时,每个机器周期PSEN有效两次,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两个有效的PSEN信号不会出现。东亚/VPP:允许外部访问。为了使CPU只访问外部程序
33、存储器,EA端必须保持低电平。注意,如果加密位LBI被编程,EA状态将在复位时间被锁存。如果EA端子处于高电平,CPU将执行程序存储器中的指令。当闪存被编程时,+12V编程许可电压VPP被施加到该引脚。当然,这必须是该设备使用12V编程电压VPP。XTAL1:振荡器反相放大器和时钟发生器的输入。XTAL2:振荡器反相放大器的输出。数字温度传感器DS18B20DSI8B20是DALLAS公司最新的单线数字温度传感器,小巧经济。它是世界上第一个支持“一线总线”接口的温度传感器。单总线独特而经济的特点使得用户可以方便地组建传感器网络,这为测量系统的构建引入了一个新的概念。它的测量温度范围从-55到+
34、125。现场温度以“一线总线”的数字化方式直接传输,大大提高了系统的抗干扰性能。适用于恶劣环境下的现场测温,如环境控制、设备或过程控制、测温消费电子等。与上一代产品不同的是,新产品支持3 5.5 V的电压范围,使得系统设计更加灵活方便。新一代产品更便宜、更小巧。DSI8B20可以编程实现9 12位的分辨率,精度为0.5。可以选择更小的封装方式和更宽的电压范围。分辨率设置和用户设置的报警温度存储在EPROM中,断电后仍会保存。DS18B20的性能是新一代产品中最好的,性价比也很出色。继早期的“一线总线”产品之后,DS18B20开辟了温度传感器技术的新概念。本设计中,CAN总线数据通信的温度采集由
35、DSI8B20完成。将DSI8B20的GND引脚接地,VDD引脚接高电平,单总线DQ引脚接单片机的外部中断引脚。具体采集电路如图所示。温度采集电路3.2.5八段数码管LED(光编辑二极管)是发光二极管的缩写。LED数码管有8个LED,分别标有A、B、C、D、E、F、G、dp,其中dp为小数点,中间为公共端(COM)。市面上的数码管有两种:共阳极和共阴极。共阳极数码管是指将所有led的阳极连接在一起形成共阳极(COM)的数码管。施加共阳极数码管的共阳极COM时,应接+5V。当某一场LED的阴极处于低电平时,对应的场就会亮起;当某个场的阴极处于高电平时,对应的场不会亮。共阴极数码管是指将所有led
36、的阴极连接在一起形成共阴极(COM)的数码管。当应用共阴极数码管的共阴极时,应连接到接地GND。某一场LED阳极高时对应场亮,某一场阳极低时对应场不亮。如下示意图所示:674HC59574HC595是一个开漏输出的COMS移位寄存器。其输出端口为可控三态输出端,也可用于串行输出控制下一级级联芯片。特点:(1)高速移位时钟频率Fmax25Mhz(2)标准串行(SPI)接口(3)COMS串行输出,可用于级联多个设备。74HC595电路图如下图所示:3.3本章概述从图中可以看出,该电路主要由微控制器89C52、独立CAN通信控制器SJAl000、CAN总线收发器TJA1050和数码管显示器四部分组成
37、。微处理器89C52负责SJAl000的初始化,通过控制SJAl000实现数据接收和发送等通信任务。在电路SJAl000中,AD0AD7连接到89C52的端口P0,CS连接到89C52的P2.0。当P 2.0处于低电平时,可以选择SJA I 000作为CPU的片外内存地址,CPU可以通过这些地址对SJA I000进行相应的读写操作。SJAl000的Pads、WR、ALE接89C52的对应引脚,J、r接89C52的INTO,也可以通过中断访问SJAl000。第四章CAN数据通信接口模块的软件设计4.1 CAN总线数据通信程序通信模块程序主要包括三部分:初始化子程序、发送子程序和接收子程序。初始化
38、程序主要是通过CAN控制器控制段的寄存器写入控制字,从而决定CAN控制器的工作模式。进入初始化程序有三种方式:一是上电复位,二是硬件复位;第三,软件复位,即在运行过程中,向CAN控制器发送复位请求,复位请求位置1。节点的主要功能模块是根据接收到的控制命令报文的数据域信息帧码做不同的处理,比如初始化节点,接收和发送来自CAN总线的报文,数字化输出控制命令。CAN总线收发器主程序:#include #include #include #包含无符号字符代码numtab16=0 x24,0 x6F,0 xE0,0 x62,0 x2B,0 x32,0 x30,0 x67,0 x20,0 x22,0 x2
39、1,0 x38,0 xB4,0 x68,0 xB0,0 x B1 ;void delay ms(unsigned int t);/*Function: main()/函数名描述:/功能功能、性能等描述。Calls: delayms()/此函数调用的函数列表调用方:/调用此函数的函数列表已访问的表:/已访问的表(此项仅用于数据库操作所涉及的程序)updated:/modified表(此项仅用于数据库操作中涉及的程序)输入:/输入参数描述,包括每个参数的工作。/使用and值解释与参数的关系。Output: /输出参数的描述。Return: /函数返回值的描述其他:/其他说明*/void main(
40、)无符号字符I;WDT _控制= 0 x00/关闭看门狗DISP _港口= numtab15;/显示F,表示发送戴莱姆斯(200);test can();while(1)DISP _港口= numtab0;/显示0戴莱姆斯(50);DISP _港口= numtab0;/显示1戴莱姆斯(50);for(I = 0;i 16i+)DISP _港口= numtabI;/循环显示0F戴莱姆斯(50);/*函数:delayms()/函数名描述:延时功能/功能功能、性能等描述。Calls: /此函数调用的函数列表调用方:/调用此函数的函数列表已访问的表:/已访问的表(此项仅用于数据库操作所涉及的程序)up
41、dated:/modified表(此项仅用于数据库操作中涉及的程序)输入:t/输入参数描述,包括每个参数的工作情况。/使用and值解释与参数的关系。Output: /输出参数的描述。Return: /函数返回值的描述其他:/其他说明*/void延迟符号(无符号整数t)无符号int i,j;for(I = 0;I t;i+)for(j = 0;j 0;我-) DQ = 0;/给出脉冲信号dat = 1;DQ = 1;/给出脉冲信号if(DQ)dat | = 0 x80delay _ 18b 20(10);return(dat);Voids 1820WR (Uchar WDATA)/*写入数据*/
42、uchar I = 0;for(I = 8;I 0;我-)DQ = 0;DQ = wdata & 0 x 01;delay _ 18b 20(10);DQ = 1;wdata = 1;Uchar read_temp()/*读取温度值并转换*/乌恰甲、乙、石、葛;ds 1820 rst();ds 1820 wr(0 x cc);/*跳过读取序列号*/ds 1820 wr(0 x 44);/*开始温度转换*/ds 1820 rst();ds 1820 wr(0 x cc);/*跳过读取序列号*/ds 1820 wr(0 x be);/*读取温度*/a = ds 1820 rd();b = ds 1
43、820 rd();杜文= b;杜文 = 8;杜文=杜文| a;杜文=杜文*(0.625);/温度值扩展10倍,精确到小数点后1位。石=杜文% 1000/100;ge =杜文% 100/10;4.3 74HC595驱动数码管显示程序74HC595具有8位移位寄存器、存储器和三态输出功能。移位寄存器和存储器是独立的时钟。数据在SCHcp的上升沿输入,并在STcp的上升沿进入存储器寄存器。如果两个时钟连接在一起,移位寄存器总是比存储寄存器早一个脉冲。移位寄存器具有串行移位输入(Ds)、串行输出(Q7)和异步低电平复位。存储器寄存器有一个带三种状态的并行8位总线输出。当OE使能(低电平)时,存储器寄存
44、器的数据输出到总线。74HC595驱动数码管显示程序;#include#include #定义uint无符号整数#定义uchar无符号字符sbit xsdat=p00;/数据sbit xsclk=p01;/时钟sbit gw=p02;int count = 0;code uchar TAB=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x 71 ;uint l=0,h=0,tt=0,d = 0;Void delay(uint z) /延迟函数 uint x,
45、y;for(x = z;x 0;x -)for(y = 110;y 0;y-);静态void wr _ 595 (uchar数据num 2)/写入uchar count1for(count 1 = 0;count 1 = 7;count1+)如果(num2&0 x80)=0 x80) /*最高位为1,则发送1*/xsd at = 1;/*输出数据的最高位*/其他xsd at = 0;num 2 = 1;/*右移*/xs clk = 0;/*生成上边缘*/xs clk = 1;无效显示(无效)WR _ 595(TAB1);/显示10小时数码管的位,如果显示反了,调整位选择。WR _ 595(TA
46、B2);/显示位小时数码管的位。GW = 0;_ nop _();_ nop _();GW = 1;/*上升沿锁存数据*/void main()while(1) disp();延迟(1);结论本文在阐述和研究自动控制仪表的变化和CAN现场总线协议规则的基础上,完成了基于CAN协议的CAN通信,以及CAN通信的硬件和软件设计。SJAl000 CAN控制器成功应用于CAN通信,实现了现场信号采集和CAN总线上数字信号传输的功能。在硬件和软件设计中,采取了一系列抗干扰措施,使该系统能够适应恶劣的工作环境。与传统仪表相比,基于CAN协议的现场总线仪表在功能上有了飞跃,即实现了双向数字通信功能,可靠性高
47、,稳定性好,抗干扰能力强,通信速率高。它具有高、维护成本低、开放性和实时性等特点,广泛应用于自动控制领域。基于CAN协议的CAN通信检测仪表组成的CAN现场总线控制系统在容错处理、数据交换速度和可靠性方面是传统仪表系统无法比拟的,它克服了其他通信方式的一些不可弥补的缺陷:如网络中只有一个主节点,不能形成多主结构系统;数据传输速率低,环境干扰多,使得系统更加复杂,可靠性低。CAN现场总线技术以其可靠性高、稳定性好、抗干扰能力强、通信速率高、维护成本低等优点越来越受到人们的关注,被公认为最有前途的现场总线之一。近年来,现场总线标准及其技术日益成为国外自动化仪表领域关注的焦点。现场总线将给传统的控制
48、系统结构带来革命性的变化,迫使仪表厂升级产品。工作在工业控制领域的科技人员面临着全数字自动化仪表产品和符合现场总线协议的开放式自动控制系统的研发机遇。基于CAN总线的智能仪表的开发是一项复杂的任务,迄今为止所做的工作作为其中的一部分,后续工作将在此基础上进行。首先,要增强仪器的适应性。性功能,简化器械使用。我们使用的EPROM只存储一些设定参数,并没有实现上位机对仪器功能程序的下载。难点在于仪器本身的监控软件对外部程序的加载。其次,通信协议的标准化和CAN高层通信协议的制定比较简单,需要根据现场实际情况进一步完善。相信随着工作的进展,CAN仪表一定会在生产实践中发挥应有的作用。随着工业控制中自
49、动化程度的不断提高和生产范围的不断扩大,传统的独立该仪器不能满足目前分散化、网络化和智能化控制系统的要求,一种基于现场总线的新型智能仪表应运而生。现场总线是自动化领域的计算。CAN总线作为目前最有前途的现场总线之一,具有良好的实时性和可靠性。高性价比的优势逐渐成为自动化领域的热点,并得到了广泛的应用。普遍适用。针对以上情况,本文设计并实现了一种基于CAN总线的智能仪器,其中主要工作和成果如下:1)介绍了当前智能仪器的基本组成和特点,比较了国外的发展情况。分析了CAN总线的优势,介绍了CAN总线的概念,特点和发送消息协议进行了详细描述,并结合各方面的优势,建议采用利用CAN总线设计智能仪表系统:
50、2)根据智能仪器的基本功能和本文的设计要求,提出了智能仪器系统。设计了以市场占有率较大的单片机89C52为核心处理器的总体结构框图。给出了具有CAN-USB转换功能的智能节点和主节点的硬件电路,阐述了温度采集、数字显示、监控计算机与数据传输接口的通信等设计,并针对影响系统稳定性的问题提出了抗干扰措施。参考1杨宪辉,现场总线技术及其应用,清华大学,1999.6:2王金标,现场总线控制系统。微机信息,1996年6:3吴宽明,CAN总线原理及应用系统设计,航空航天大学出版杜,2002年3月;4项杰等,现场总线控制系统的现状与发展,电力系统自动化时代,2003 P9-PIO:5t 6963 c控制器图
51、形液晶显示模块用户手册合集,精密电子显示技术2004;6CANbus v 2.0版,周立功单片机开发;7饶云涛,邹,雍云,CAN现场总线原理及应用技术,航空航天大学,2003年6月:8罗雪梅,CAN总线控制系统及接口电路的开发与研究,工大硕士论文,2002;9程晓林,现场总线控制网络模型与网络集成,测控技术,2000.10p15-P17:10晏殊。安平,C从总线系统的实现,计算机应用研究,1998.2 P23-P25:11飞利浦应用笔记SjAl000独立CAN控制器,1997.12;12飞利浦应用笔记PCA82C250/25l CAN收发器,1996年,10:13华,洪青,辛宁,MCS-51系
52、列单片机实用接口技术,航空航天大学,2002:附录设计/*版权所有(C),2011-2015,技术。有限公司文件名:main.c作者:洪秉林版本:v10日期:2011-10-28描述:/模块描述版本:/版本信息功能列表:/主要功能及其功能1.-历史:/历史修改记录 大卫96/10/12 1.0建造这个模型硬件连接硬件连接P2数字led =0 disp =1 offP13 P14 P17 P10 P11 P16 P12 P15英国石油公司CSCCAN P20INTCAN INT1 P33RS无连接RSTCAN P34麦芽酒麦芽酒WR P36研发P37*/#include #include #in
53、clude #include #包含无符号字符代码numtab17=0 x24,0 x6F,0 xE0,0 x62,0 x2B,0 x32,0 x30,0 x67,0 x20,0 x22,0 x21,0 x38,0 xB4,0 x68,0 xB0,0 xB1,0 x 21 ;/P1 = numtab3;/显示3/无符号char码numtab16=0 xf7,0 xef,0 xdf,0 xfe,0 xfd,0 xfb,0 xbf,0 x7f,0 x80,0 x90,0 x88,0 x83,0 xC6,0 xA1,0 x86,0 x8e ;/P1 = numtab3;/显示3void delay
54、ms(unsigned int t);/*Function: main()/函数名描述:/功能功能、性能等描述。Calls: delayms()/此函数调用的函数列表调用方:/调用此函数的函数列表已访问的表:/已访问的表(此项仅用于数据库操作所涉及的程序)updated:/modified表(此项仅用于数据库操作中涉及的程序)输入:/输入参数描述,包括每个参数的工作。/使用and值解释与参数的关系。Output: /输出参数的描述。Return: /函数返回值的描述其他:/其他说明*/void main()无符号字符I;WDT _控制= 0 x00/关闭看门狗DISP _港口= numtab1
55、6;/显示R表示接收UART inital();戴莱姆斯(200);/IO _ Init();/int 1 _ Init();/ca nital();/CAN _ first _ send();test can();while(1)/Send();DISP _港口= numtab0;/显示0戴莱姆斯(50);DISP _港口= numtab0;/显示1戴莱姆斯(50);for(I = 0;i 16i+)DISP _港口= numtabI;/循环显示0F戴莱姆斯(50);/*函数:delayms()/函数名描述:延时功能/功能功能、性能等描述。Calls: /此函数调用的函数列表调用方:/调用此
56、函数的函数列表已访问的表:/已访问的表(此项仅用于数据库操作所涉及的程序)updated:/modified表(此项仅用于数据库操作中涉及的程序)输入:t/输入参数描述,包括每个参数的工作情况。/使用and值解释与参数的关系。Output: /输出参数的描述。Return: /函数返回值的描述其他:/其他说明*/void延迟符号(无符号整数t)无符号int i,j;for(I = 0;I t;i+)for(j = 0;j 1000j+);/*版权所有(C),2011-2015,技术。有限公司文件名:main.c作者:洪秉林版本:v10日期:2011-10-28描述:/模块描述版本:/版本信息功
57、能列表:/主要功能及其功能1.-历史:/历史修改记录 大卫96/10/12 1.0建造这个模型硬件连接硬件连接AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7P10 P11 P12 P13 P14 P15 P16 P17CSCCAN P20INTCAN INT1 P33RS无连接RSTCAN P34麦芽啤酒WR P36研发P37/CAN地址*/#include #include #include #include #包含/void test can();#define REG_CAN_CDR 31#define REG_CAN_MOD 0#define REG_CAN_BTR0
58、6#define REG_CAN_BTR1 7#define REG_CAN_OCR 8#定义加拿大IER 4区#define REG_CAN_CMR 1#定义REG_CAN_SR 2#define REG_CAN_IR 3#定义RBSR 16#定义RBSR1 17#定义RBSR2 18#定义RBSR3 19#定义RBSR4 20#定义RBSR5 21#定义RBSR6 22#定义RBSR7 23#定义RBSR8 24#定义RBSR9 25#定义RBSR10 26#定义RBSR11 27#定义RBSR12 28#定义ALC 11 /11 /仲裁损失捕获寄存器#定义ECC 12 /12 /错误捕获
59、寄存器sbit rst can =p34;/=1复位#define bar_addr 0 x8000 /由于STC51有一个扩展AUX-RAM,如果地址是0 x00,就会和芯片的地址冲突,导致读写不正确。无符号char xdata * SJA _基_地址= bar _地址;typedef结构参数无符号字符CanAddr;结构测径仪测径仪1;无符号字符Read_SJA1000(无符号字符地址)无符号字符缓冲区;buf = *(SJA _基地_地址+地址);return(Buf);void Write_SJA1000(无符号字符地址,无符号字符数据)*(SJA _基地_地址+地址)=数据;void
60、 delayus(无符号int t);void IO_Init()P0 = 0XFF/P2 = 0 x ff;P3 = 0 x ff;P4 = 0 x ff;P0M0 = 0X00P0M1 = 0X00P2M0 = 0X00P2M1 = 0X00P3M0 = 0X00P3M1 = 0X00EX1 = 1;IT1 = 0;/CAN总线接收中断。/IT0 = 1;/外部中断0负沿触发/EX0 = 1;/打开外部中断0EA = 1;/打开总中断无符号字符RXD _标志= 0;无符号字符RX _ buffer15;无效CAN_RXD(无效)中断2/接收数据函数,在中断服务程序中调用无符号字符缓冲区;E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度配套服务用房租赁合同租赁面积变更协议4篇
- 二零二五年度附条件工程分包合同范本23篇
- 二零二五年度环保工程挖掘机操作人员劳动合同范本
- 二零二五年度城市综合体安全生产文明施工管理协议3篇
- 2024新教材高中化学 第3章 简单的有机化合物 第3节 饮食中的有机化合物 第3课时 糖类、油脂和蛋白质说课稿 鲁科版第二册
- 2025年度林业重点工程林地除草综合服务合同2篇
- 2023七年级数学下册 第4章 相交线与平行线4.3 平行线的性质说课稿 (新版)湘教版
- 2025至2030年中国耐腐机械密封数据监测研究报告
- 8 杯套(说课稿)苏教版二年级下册综合实践活动001
- 二零二五年度私人吊车租赁与设备租赁合同
- 2025年供应链管理培训课件
- 2025中智集团招聘高频重点提升(共500题)附带答案详解
- 《保利公司简介》课件
- 中药硬膏热贴敷治疗
- 《携程旅行营销环境及营销策略研究》10000字(论文)
- 餐饮行业优化食品供应链管理计划
- cnc加工岗前培训
- 2024夏季广东广州期货交易所招聘高频难、易错点500题模拟试题附带答案详解
- 浙江省2024年高考化学模拟试题(含答案)2
- 2024新人教七年级英语上册 Unit 2 Were Family!(大单元教学设计)
- (部编版)统编版小学语文教材目录(一至六年级上册下册齐全)
评论
0/150
提交评论