1、目录1 绪论11.1 选题的目的和意义11.2基于现场总线的液位检测技术综述22 CAN总线性能研究32.1 CAN总线的简介32.2 CAN总线的原理及性能特点43 液位检测节点的总体结构设计63.3 CAN总线节点63.4总体结构框图设计64 液位检测节点的硬件设计84.1微处理器的选择和设计84.2 A/D转换器的选择和设计104.3 D/A转换器的选择和设计124.4 CAN总线的控制器的选择和设计134.5 CAN总线的收发器的选择和设计155 液位检测节点的软件设计185.1液位检测节点的总体设计流程185.2 节点的控制算法195.3 节点的初始化子程序205.4 节点的发送子程
2、序215.5 节点的接收子程序22Y22结论23致谢24参考文献25附录A26附录B39附录C401 绪论1.1 选题的目的和意义在工业生产过程中,液位往往是很重要的控制参数,常常需要测量容器中液体的液位。液位测量的目的主要是通过液位测量来确定容器里的原料、半成品或产品的数量,以保证生产过程各环节物料平衡以及为进行经济核算提供可靠的依据。随着各行业的快速发展,液位测量已应用到越来越多的领域,传统的液位测量手段已经无法满足对其精确性的要求,所以基于现场总线的液位检测,这种智能化测量方向已经成为一种新的手段被广泛的应用。 现场总线 CAN作为一种工业网络通讯技术,以其独特的设计思想、优良的实时传输
3、性能和极高的可靠性,越来越受到人们的重视。本设计就是开发一种基于CAN总线的液位检测节点。CAN总线,实现液位检测系统与工业数字化信息平台的信息共享,具有良好的发展前景。主要针对液位数据采集和传输。以单片机为核心,以CAN协议总线作为数据传输手段,数据采集模块将采集到的数据转换输送到单片机内进行处理,再由单片机通过CAN通讯模块将液位信息数据经CAN总线传输给中心机房的上位机处理,形成基于现场总线的液位检测节点。1.2基于现场总线的液位检测技术综述 自20世纪 80 年代开始, 由于微电子计算机、光纤、超声波等高科技的迅猛发展, 在液位自动检测领域出现了种类多样的测量手段, 并且其功能越来越完
4、善,各项性能指标越来越易于适应工业生产的要求,趋于自动化、智能化。 国内外在液位检测方面采用的技术和产品很多,传统的液位计按其采用的测量技术及使用方法分类已多达十余种。由于现场总线设备的智能化、数字化,与模拟信号相比,它从根本上提高了测量与控制的准确度,减少了传送误差。现场仪表内部功能加强,减少了信号的往返传输,提高了系统的工作可靠性。它的设备标准化和功能模块化,因而还具有设计简单,易于重构等优点。 基于现场总线的液位检测技术也因其优点特性而被广泛应用于工业生产过程中。发展现场总线技术已成为工业自动化领域广为关注的焦点课题,国际上现场总线的研究、开发,使测控系统冲破了长期封闭系统的禁锢,走上开
5、放发展的征程,这对中国现场总线控制系统的发展是个极好的机会,也是一次严峻的挑战。21XXXXXX 学院本科毕业设计(论文) 2 CAN总线性能研究2 CAN总线性能研究2.1 CAN总线的简介CAN是控制器局域网络(Controller Area Network, CAN)的简称,最初是德国Bosch公司在20世纪80年代初为解决现代汽车内部大量的控制测试仪器与传感器、执行机构之间的数据交换而开发的一种串行数据通信协议,主要用于各种过程(设备)检测及控制。由于CAN总线本身的突出特点,其应用领域目前已不再局限于汽车行业,而向过程工业、机械工业、机器人、数控机床、医疗器械及传感器等领域发展。也因
6、其高性能、高可靠性及独特的设计,CAN总线越来越受到人们的重视,国际上已经有很多大公司的产品采用这一技术。CAN已经形成国际标准(IS011898),并已成为工业数据通信的主流技术之一。 CAN总线是一种有效支持分布式控制或定时控制的串行通讯网络。它以半双工的方式工作、一个节点发送信息、多个节点接收信息,实现了全分布式多机系统,提高了数据在网络中传输的可靠性。CAN总线的信息存取利用了广播式的存取工作方式,信息可以在任何时候由任何节点发送到空闲的总线上。每个节点的CAN总线接口必须接收总线上出现的所有信息。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来
7、说,无论数据是否是发给自己的,都对其进行接收。因此各节点都设置有一个接收寄存器。该寄存器接收信息,然后根据信息标文符决定是否读取信息。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。CAN协议采用短帧数据结构,数据块长度不超过8个字节,传输时间短,受干扰的几率低,保证了通信的实时性。 CAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。这种优先级一旦在系统设计时被确立后就不能再被更改。总线读取中的冲突可通过位仲裁解决。 CAN总线控制网络一般由CAN总线,传感器、控制器和执行器等通过串行数据线连
8、接起来。它不仅仅是将电缆按树形结构连接起来,其通信协议相当于ISO/OSI参考模型中的数据链路层,网络可根据协议探测和纠正数据传输过程中因电磁干扰而产生的数据错误。CAN网络的配制比较容易,允许任何站之间直接进行通信,而无需将所有数据全部汇总到主计算机后再行处理。 2.2 CAN总线的原理及性能特点CAN协议是建立在国际标准组织的开放系统互联的七层参考模型基础上的。出于对实时性和降低成本等因素考虑,CAN协议的网络系统结构通常只采用了其中最关键的两层:物理层和数据链路层。CAN总线的特点和优点:(1)多主控制CAN是一种串行数据通信协议。通信介质可以是双绞线、同轴电缆或光纤,常用的是第一种。C
9、AN网络上任意节点均可在任意时刻主动地向网络上其它节点发送信息,且不分主从,通信方式灵活。在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的节点可获得发送权(CSMA/CA)。多个节点同时开始发送时,发送高优先级D消息的节点可获得发送权。CAN网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最多可在134s内得到传输。(2)消息的发送在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(D)决定优先级。CAN采用非破坏性总线仲裁技术,当两个及以上的单元同时开始发送
10、消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可不受影响地继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。从而大大节省了总线冲突仲裁时间。(3)系统的柔软性与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。CAN协议废除了传统的站地址编码,而代之以对通信数据块进行编码。(4)通信速度根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信
11、速度。CAN总线上任意两节点之间的通信距离与其位速率有关。CAN的直接通信距离最远可达10KM(5kbit/s),通信速率最高可达1Mbit/s(40M)。 (5)错误检测及处理 位错误:站单元在发送位的同时也对总线进行监视,如果所发送的位值与所监视的位值不相符时,则在此位时间里检出一个位错误。 填充错误:如果在使用为填充法进行编码的信息中,出现第6个连续相同的位电平。 CRC错误:接收站计算得出的结果与接收到的CRC序列不同。 格式错:当一个固定形式的位场含有1个或多个非法位时,检测到一个形式错误。应答错误:如果在ACK间隙期间所监视的位不为显性,则发送器就会检测到一个错误。CAN协议采用C
12、RC检验并提供相应错误处理功能,保证了数据通信的可靠性。所有的节点都可以检测错误(错误检测功能)。检测出错误的节点会立即同时通知其他所有节点(错误通知功能)。正在发送消息的节点一旦检测出错误,会强制结束当前的发送。强制结束发送的节点会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。(6)故障封闭CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的节点从总线上隔离出去。(7)连接CAN总线是可同时连接多个节点的总线。可连接的节点总数理论上是没有限制的。但实际上可连
13、接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。节点数主要取决于总线驱动电路,目前可达110个。xxxxxxx学院本科毕业设计(论文) 3 液位检测节点的总体结构设计3 液位检测节点的总体结构设计3.3 CAN总线节点 节点是网络上信息的接收和发送站,CAN总线上的网络节点可多达110个。一个CAN总线节点模块的基本功能有两大部分:通信和输入输出I/O管理。CAN总线系统中有2种类型的节点,不带微处理器的非智能节点和带微处理器的智能节点。智能节点的每个节点模块都有自己的CPU和CAN接口电路,以便可以按照CAN协议通信。加入代
14、码后还可实现更复杂的智能控制,将系统功能尽可能地分散到各个节点。因此本次设计采用智能节点的设计,内容是其中一个基于现场总线液位检测的节点。CAN 总线通信系统主要由 CAN 节点以及将这些节点连在一起的通信媒体组成。因此系统采用可进行简单连接的双绞线或屏蔽线等作总线,把多个节点连接成网络,并按公开,规范的通信协议,在现场节点之间实现数据传输和信息交换。系统结构框图如图3.1所示。 CAN总线接口 智 能 节 点 其 他 设 备 CAN总线接口 智 能 节 点 其 他 设 备 CAN总线接口 智 能 节 点 其 他 设 备 CANH CANL 图3.1 CAN总线的控制系统结构图 3.4总体结构
15、框图设计液位检测节点主要由 数据采集模块 和CAN通讯模块 两大部分组成,其结构框图如图3.2所示。在化工生产中,由于有些产品或物料粘度大、易凝固或具有腐蚀性,在许多装置上都采用了双法兰差压变送器测量液位。双法兰差压变送器是为了避免被测介质直接于变送器的隔离膜片接触而采用的变送器。它是将变送器的测量膜室用不锈钢毛细管连通到数米到数十米不等处的一个或两个(压力或差压)做成法兰形式的测量膜盒中,中间充满传导介质(硅油),使用时将法兰连接到设备,即可进行测量,适用于各种复杂环境测量。 基于现场总线的液位检测节点 数据采集模块 CAN通讯模块A/D转换器D/A转换器 单 片 机CAN总线控制器CAN总
16、线收发器双法兰差压变送器 气开式 调节阀 CAN总线 图3.2基于现场总线的液位检测节点结构框图 差压变送器的基本原理:是将一个空间用敏感元件(多用膜盒,分割成两个腔室,分别向两个腔室引入压力时,过程压力通过两侧或者一侧的隔离膜片,灌充液作用在敏感元件内的测量膜片上,测量膜片与两测绝缘体上的电容极板各组成一个电容器,在无压力通入或者两侧压力均等时,测量膜片处于中间位置,两个电容器的电容量相等,当两侧压力不一致时,致使测量膜片产生位移,其位移量和压力差成正比,这种位移量转变为电容极板上形成的差动电容。由电子线路把差动电容转换成420mA DC的二线制电流信号输出。数据采集模块:主要由微控制器、A
17、/D转换器和D/A转换器组成,主要完成模拟信号输入到数字信号的转换,即将采集来自安装在现场的双法兰差压力变送器的420mA的电流信号转化为数字信号后送入单片机,在单片机中经过运算处理后,将运算处理所得的数据信号通过通讯模块经现场总线传递给中心机房的上位机,并同时接收上位机的命令,处理形成控制信号,控制信号再经D/A转换器返送至现场气开式调节阀,通过调节气开式调节阀的开度实现对提馏塔液位的控制。CAN通讯模块:主要由微控制器、CAN总线控制器和CAN总线收发器组成, 主要完成单片机与CAN现场总线之间的数据传输。它负责从数据采集模块所得到的数据传输到CAN总线上,由中心机房的上位机进行处理。同时
18、经CAN现场总线接收来自中心机房上位机的命令和控制参数,并传递给单片机处理运算。本次设计节点主要作用是检测采集,即是采集液位信息,传输给上位机处理。xxxxxxx学院本科毕业设计(论文) 4 液位检测节点的硬件设计 4 液位检测节点的硬件设计通过对现有元器件进行分析和对所掌握知识的了解,本次设计对所有元器件进行了选择,并对数据采集模块和CAN通讯模块进行了硬件设计。主要是针对微处理器、A/D转换器、D/A转换器、CAN总线控制器和CAN总线收发器的硬件选择和设计。4.1微处理器的选择和设计 本次设计核心控制由单片机完成,这里采用ATMEL公司生产的AT89S51单片机。AT89S51是一个低功
19、耗,高性能CMOS 8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。4.1.1 AT89S51的性能特点 AT89S51全面兼容89C51,而且AT89S51有片内FLASH存储器,擦写周期在1000次以上,可反复编程,编程电压仅为45V。 采用静态时钟方式,可以极大地降低系统功耗。最高工作频率是33MHZ。支持ISP(In-system programmable),可进行在线编程,不增加单片机的额外引脚,也不需在
20、目标板上添加器件,使生产及维护更方便。片内看门狗电路使整个电路能够适应现场环境差、外界干扰大的情况,使应用系统更加可靠。4.1.2 AT89S51的管脚说明AT89S51的引脚图如图4.1所示 VCC:供电电压。GND:接地。P0口:P0口是一个8位漏极开路型双向 I/O口。在访问外部存储器时,它是分时传送的低字节地址和数据总线。PO口能驱动8个TTL门电流。P1口:P1口是一个带有内部上拉电阻的8位准双向 I/O口。它能驱动(吸收或输出电流)4个TTL门电流。 图4.1 AT89S51的引脚图 P2口:P2是一个带有内部上拉电阻的8位准双向I/O口。在访问外部存储器时,它输出高8位地址。P2
21、口可以驱动(吸收或输出电流)四个TTL门电流。P3是一个带有内部提升电阻的8位准双向 I/O口。能驱动(吸收或输出电流)4个TTL门电流。P3口还有第二功能如表4.1所示 表4.1 P3口的第二功能 端口引脚 功能特征 P3.0 串行输入口(RXD) P3.1 串行输出口(TXD) P3.2 外部中断0(INT0) P3.3 外部中断1(INT1) P3.4 定时/计数器0的外部输入口(T0) P3.5 定时/计数器1的外部输入口(T1) P3.6 外部数据存储器写选通(WR) P3.7 外部数据存储器读选通(RD) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间
22、。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。PSEN:输出外部程序存储器的读选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。 EA/VPP:当EA保持低电平时,则在此期间只访问外部程序存储器,不管是否有内部程序存储器。当EA端保持高电平时,此时访问内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器
23、的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。4.1.3 单片机的复位及时钟电路设计单片机控制模块主要由单片机、晶振电路和复位电路组成。 时钟电路: 时钟是单片机的心脏,各部分都以时钟频率为基准,有条不紊的一拍一拍的工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。利用AT89S51单片机内部一个高增益的反相放大器,把一个晶振体和两个电容器组成自激励振荡电路,接于XTAL1和XTAL2之间。这样振荡器发出的脉冲直接送入内部时钟电路,振荡频率为12MHz,电容器为30pF电容。 复位电路: 单片机在启动或断电后,程序需要从头开始执行,机器内
24、全部寄存器、I/O接口等都必须重新复位。复位方式有自动复位和手动复位两种。在AT89S51的ALE及PSEN两引脚输出高电平,RST引脚高电平到时,单片机复位。RST端的高电平直接由上电瞬间产生为上电复位,即自动复位;若通过按动按钮产生高电平复位,则称为手动复位。若运行过程中,需要程序从头执行,只需按动按钮即可。按下并联开关,则直接把+5V高电平加到了RST端,从而使其复位,这称为手动复位。显然,该电路既可上电复位又可手动复位。4.2 A/D转换器的选择和设计来自于双法兰差压变送器的模拟信号经过A/D转换后才能进入单片机。A/D转换就是将连续的模拟电压转换成相对应的数字量,输入的电压与输出的数
25、字量有严格的对应关系。在本次设计中采集模拟信号是使用的转换器是ADC0804,它是典型的八位逐次逼近型A/D转换器。最多可以允许8位模拟量的输入,借助三位的地址锁存器与译码电路,多路模拟开关可以选择此八路模拟量中的一个,所有的模拟量转换共用一个A/D转换器。4.2.1 ADC0804的引脚说明和电路连接 ADC0804引脚图如图4.2所示。图4.2 ADC0804的引脚图 CS: 芯片选择信号。 RD:外部读取转换结果的控制输出信号WR:用来启动转换的控制输入,相当于ADC的转换开始(CS=0时)。CLK IN,CLK R: 时钟输入或接振荡元件。INTR: 中断请求信号输出,低电平动作。 V
26、IN(+) VIN(-): 差动模拟电压输入。AGND,DGND: 模拟信号以及数字信号的接地。 VREF: 辅助参考电压。DB0DB7: 8位的数字输出。 VCC: 电源供应以及作为电路的参考电压。ADC0804与主控制器的连接图详见附录电路原理图。 4.3 D/A转换器的选择和设计来自于CAN总线上的信号经过单片机变成数字信号。输出的数字信号只有经过D/A转换才能实现模拟量的输出。本次设计采用DAC0832,DAC0832是一种常用的8位数字/模拟转换芯片。DAC0832最具有特色是输入为双缓冲结构,数字信号在进入D/A转换前,需经过两个独立控制的8位锁存器传送。其优点是D/A转换的同时,
27、DAC寄存器中保留现有的数据,而在输入寄存器中可送入新的数据。系统中多个D/A转换器内容可用一公共的选通信号选通输出。4.3.1 DAC0832功能说明及电路连接 DAC0832共有20条引脚,双列直插式封装。引脚图如图4.3所示。 图4.3 DAC0832的引脚图DI7DI0:转换数据输入。CS:片选信号(输入),低电平有效。ILE:数据锁存允许信号(输入),高电平有效。WR1:第1写信号(输入),低电平有效。上述两个信号控制输入寄存器是数据直通方式还是数据锁存方式;当ILE=1和WR1=0时,为输入寄存器直通方式;当ILE=1和WR1=1时,为输入寄存器锁存方式。WR2:第2写信号(输入)
28、,低电平有效。XFER:数据传送控制信号(输入),低电平有效。上述两个信号控制DAC寄存器是数据直通方式还是数据锁存方式;当WR2=0和XFER=0时,为DAC寄存器直通方式;当 WR2=1和XFER=0时,为DAC寄存器锁存方式。Iout1:电流输出1。Iout2:电流输出2。DAC转换器的特性之一是:Iout1+Iout2=常数。 DAC0832是电流输出,为了取得电压输出,需在电流输出端接运算放大器, RFB即为运算放大器的反馈电阻端。Vref:基准电压,其电压可正可负,范围-10V+10V。DGND:模拟地,摸拟信号和基准电源的参考地。AGND:数字地,两种地线在基准电源处共地比较好。
29、DAC0832与主控制器AT89S51的电路连接图详见附录电路原理图。4.4 CAN总线的控制器的选择和设计单片机将采集的液位数据运算处理之后,还要将数据通过CAN总线通信接口以符合CAN协议的数据形式发送到总线上供中心机房的上位机处理。完成这一功能要利用CAN总线控制器,这也是本系统最重要的部分之一。本设计中CAN总线控制器芯片采用了PHLIPS公司1997年推出的独立式CAN协议控制器SJA1000。它集成了CAN的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。4.4.1 SJA1000的性能特点 SJA1000是PHILIP
30、S公司早期CAN控制器PCA82C200的替代品,功能更强,具有如下特点:完全兼容PCA82C200及其工作模式,即BASIC CAN模式。位速率可达1Mbit/s。24MHz的时钟频率。支持与不同微处理器的接口。可编程的CAN输出驱动配置。增强了温度范围(-40+125)。4.4.2 SJA1000的结构及引脚功能SJA1000主要由CAN核心模块、接口管理逻辑、发送缓冲区、接收FIFO、验收滤波器等几部分组成。图4.4为SJA1000的引脚图所示。SJA1000的CAN核心模块负责CAN信息帧的收发和CAN协议的实现;接口管理逻辑负责与微处理器的接口,该单元中的每个寄存器都可由微处理器通过
31、SJA1000 的地址/数据总线访问;发送缓冲区可存储一个长度为13B的信息帧。微处理器可将待发送的标识符和数据直接送入发送缓冲区,然后通过对命令寄存器CMR中的发送请求位TR置位,启动CAN核心模块自行将发送缓冲区中的数据读出,并按CAN协议装配成完整的CAN信息帧,通过收发器发往总线。由总线接收的信息经验收滤波器过滤,无差错的信息帧被送入接收FIFO缓冲区。同时将状态标志SR.0置位,表明接收缓冲区中已有成功接收的信息帧。微处理器可依据SR.0的状态,判断是否将FIFO中的数据读入微处理器进行相应处理。 图4.4 SJA1000的引脚图 AD0AD7: 地址/数据总线。 ALE/AS: 输
32、入信号INTEL模式,MOTOROLA模式。 CS: 片选输入,低电平允许访问SJA1000。 RD: 微控制器的RD信号(I)或使能信号(M)。 WR: 微控制器写入信号(I)或读写信号(M)。 CLKOUT: 微控制器的时钟输出信号。 X1,X2: 振荡器输入输出端。 MODE: 模式选择输入(1=Intel模式,0=Motorola模式)。 TX0,TX1: 输出驱动器0,驱动器1到物理总线输出端。 RX0,RX1: 由物理总线到SJA1000输入比较器的输入端。 INT: 终端输出端。 RST: 复位端,低电平有效。 VDD3: 输出驱动器5V电源。 VDD2: 输入比较器5V电源。
33、VDD1: 逻辑电路5V电源。 VSS1: 逻辑电路地。 VSS2: 输入比较器地。 VSS3: 输出驱动器地。 SJA1000读写时序与单片机AT89S51对外部存储器间的读写时序相同,在电路连接上只需将SJA1000的AD7AD0与AT89S51的P0口连接,ALE, WR,RD与AT89S51的对应引脚连接,而CS连到P2.6口线上,具体电路连接详见附录电路原理图。4.5 CAN总线的收发器的选择和设计CAN 收发器是一个物理层的器件,它是CAN总线控制器和物理总线之间的接口,器件可以提供对总线的差动发送能力和差动接收能力。本设计选用PHILIPS公司的产品TJA1050。TJA1050
34、为高性能、高速CAN收发器,使用它可以增大通讯距离,提高系统瞬间抗干扰能力,改良系统的抗电磁干扰及电磁辐射性能,保护总线,降低射频干扰,实现热防护等。引脚图如图3.5所示。4.5.1 TJA1050的性能特点及引脚说明TJA1050 有一个电流限制电路,保护发送器的输出级,使由正或负电源电压意外造成的短路不会对 TJA1050 造成损坏。 TJA1050 有一个温度保护电路,当与发送器的连接点的温度超过大约165时,会断开与发送器的连接。 引脚CANH和CANL配合使用能降低电磁辐射。通过引脚 S可以选择两种工作模式:高速模式或静音模式。 高速模式就是普通的工作模式,将引脚S接地可以进入这种模
35、式。如果引脚S没有连接,高速模式就是默认的的工作模式。如图4.5是TJA1050的引脚图。表4.2为TJA1050的引脚说明。 TJA1050TXD SGND CANHVcc CANLRXD Vref 1 8 2 7 3 6 4 5 图4.5 TJA1050的引脚图 表4.2 TJA1050的引脚说明 符号 引脚 功能 TXD 1 发送数据输入 GND 2 接地 VCC 3 电源 RXD 4 接收数据输入 Vref 5 参考电压 CANH 6 高电平CAN总线 CANL 7 低电平CAN总线 S 8 静音或高速模式 为了增强CAN总线节点的抗干扰能力,SJA1000的TX0、RX0通过高速光耦
36、6N137后,与TJA1050相连,而且光耦部分电路所采用的两个电源VCC和VDD必须完全隔离TJA1050与CAN总线的接口部分也采用了一定的安全和抗干扰措施。TJA1050的CANH和CANL引脚各自通过一个5的电阻与CAN总线相连,电阻可起到一定的限流作 用,保护TJA1050免受过流的冲击。CANH和CANL 与地之间并联了两个30P的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。在两根CAN总线接人端与地之间分别反接了一个快速保护二极管TVS,当CAN总线出现较高的总线电压时,可起到一定的过压保护作用。具体的电路连接详见附录电路原理图。xxxxxxx学院本科毕业设计(
37、论文) 5 液位检测节点的软件设计 5 液位检测节点的软件设计本设计由于涉及到的功能多而复杂,大部分模块均要求实时工作,相互配合密切,对软件设计提出了很高要求,因此软件设计就成为本设计能否成功实现的重点,也是难点。整个程序采用模块化结构,各部分子模块分工明确,具有代码效率高、维护方便,占用存储空间少等特点。5.1液位检测节点的总体设计流程 液位检测节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。节点软件设计思想为:系统上电后,首先对微处理器AT89S51进行硬件复位,复位后,AT89S51对自身与CAN通讯模块进行初始化,主要对CAN主控制器进行初始化。如图5.1为液位检
38、测节点的总体程序流程图。启动D/A转换器经进行液位控制 PID调节外部中断? 接收总线上的报文总线空闲? 结 束开 始初始化程序启动A/D转换器进行数据处理 向总线发送数据 Y N Y N 图5.1 液位检测节点的总体程序流程图5.2 节点的控制算法 对于提馏塔液位的控制本文是通过采用PID调节实现的数字PID控制在生产过程中是一种最普遍采用的控制方法,它根据给定值r(t)与实际输出值c(t)才构成控制偏差为 式(5.1) 将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控制对象进行控制其控制规律为 式(5.2)本文采用的是增量式PID控制算法,即输出只是控制量的增量。其
39、控制规律为 式(5.3)其原理图如图5.2所示 PID控制D/A转换器 调节阀提镏塔A/D转换器 双法兰差压变送器给定值 偏差值 被控量 反 馈 值 图5.2 液位PID控制原理图 可以看出,由于一般计算机控制系统采用恒定的采样周期 ,一旦确定了增益系数 ,,只要使用前后3次测量值的偏差,即可求出控制增量计算机输出的控制增量对应的是本次阀门开度的增量5.3 节点的初始化子程序 置方式寄存器复位 设置时钟分频器 设置总线定时器0 设置总线定时器1 设置验收码寄存器设置验收码屏蔽寄存器 设置输出控制寄存器 清除方式寄存器复位 返 回 图5.3 SJA1000的初始化流程图 由于SJA1000内部无
40、微处理器,故其初始化仍要通过AT89S51对其进行编程实现。初始化程序流程如图5.3所示。SJA1000的初始化应在复位模式下进行,就是要将工作方式置为复位模式,之后要设置定时寄存器、验收屏蔽寄存器(AMR)和验收代码寄存器(ACR)、波特率参数和中断允许寄存器(IER)等。对于一个系统中的所有节点,这两个定时寄存器的内容必须相同,否则将无法进行通信。初始化设置完成后,将复位请求位置“0”,SJA1000就可以进入工作状态,执行正常的通信任务。5.4 节点的发送子程序发送子程序负责节点报文的发送,发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入SJA1000发送缓存区中,并将SJA1000的命令寄存器发送请求标志位(TR)置位。SJA1000会自动启动发送过程。 但是,在往SJA1000发送缓存区送报文之前,必须先对发送缓冲器是否释放进行判断,只有当发送缓冲器标志(TBS)为“1”时,发送缓冲器才被释放,可将新报文写入发送缓存,否则,在发送缓冲器被锁定时,新报文是不能被写入发送缓冲器的。发送程序分数据帧和发送远程帧两种。远程帧无数据场。发送程序一般编写成子程序的形式。 如图5.4节点的发送子程序流程图 。开 始读状态寄存器正在接受信息?上次发送结束?发送被锁定?置发送缓存首址传送发送标识符传送8个字节发送数据置发送命令返 回
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922