CAN总线和单片机在BaBar探测器中的应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CAN总线和单片机在斯坦福直线加速器中心BaBar探测器中的应用摘要:BaBar合作机构是美国斯坦福直线加速器中心的一个部门,他们在一个项目中为了做数据分析,监测,控制,选择了局域控制器网络(CAN)现场总线,这样便于很多的设备协调工作。同时,在网络组建过程中他们选择了摩托罗拉的一款带有CAN总线接口的芯片MC68HC705X32微控制器作为标准智能设别的控制平台。该论文表明,在这个工程中监视控制设计方案是一个很成功的例子。该项目中每一个监视控制模块具有一个数字化的32路模拟差分信号和八位的双向输入输出口。1.简介BaBar探测器被斯坦福直线加速器中心所使用。PUP-II对撞机使用了相当多的加速了的中性介子来进行粒子碰撞,中性介子由a型夸克和b型夸克组成,该碰撞试验的目的是验证CP碰撞宇称不守恒,宇称不守恒定律是指在弱相互作用中,互为镜像的物质的运动不对称.由吴健雄用钴60验证。在试验中,很重要的一点是使设备有效的工作运行很长的一段时间,以便于用来获得足够多的高速粒子。在整个探测器工程中采用类似工厂模式生产大量的高速粒子,其中最严格的因素是要有操作的可靠性,当然这得由可靠的监控模块来保证。如果能在早期的检测中发现失控有错误的地方,可以防止花更多时间去解决因为硬件出错的问题。在BaBar探测器中监控系统的核心是实验物理和工业控制系统(EPICS)[3]。这套装置使用了VEM单板机来实现监控,该控制板提供了显示监控界面,并且通过TCP/IP网络协议向服务器提供数据,TCP/IP(TransmissionControlProtocol/InternetProtocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP是一个四层的分层体系结构。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。服务器能做监控,数据现实,报警操作等处理任务。BaBar探测器采用了CAN局域网络现场总线。这种现场总线是由汽车制造行业发展的,并且获得广泛的应用。通过CAN局域网络控制器可以方便廉价的实现多个设备模块。在这个工程应用中可靠性是被放在首位考虑。VME硬件设备是存在的,在探测器中采用了格林斯普林公司生产的板卡,还有CAN局域网络控制器,这里采用了电子方面的IP模块。很多的微型计算机都有CAN局域网络控制器接口存在,这也为用大量的带有这种接口的微型计算机组建一个大的CAN网络提供了条件。BaBar合作机构采用了摩托罗拉的MC68HC705X32微控制器,其中一个原因是这个控制器含有嵌入式的CAN网络接口。BaBar探测器分布在六个子探测系统和一个公共基础系统中,监视控制范围超过50000个节点,工程量庞大。大量的监视控制数据有温度,辐射等级,电源提供设备,湿度,气体系统,还有前端的电子系统。2.BaBar探测器CAN现场总线制定标准A.CAN总线的描述CAN局域网络控制器为被广泛应用,现在做为一个国际标准,符合国际ISO的II893:1993标准和II519:1994标准。CAN总线采用了菊花链的一种总线结构,在电子电器工程中菊花链代表一种配线方案,例如设备A和设备B用电缆相连,设备B再用电缆和设备C相连,设备C用电缆和设备D相连,在这种连接方法中不会形成网状的拓扑结构,只有相邻的设备之间才能直接通信,例如在上例中设备A是不能和设备C直接通信的,它们必须通过设备B来中转,这种方法同样不会形成环路。因为最后一个设备不会连向第一个设备。这种连线方法能够用来传输电力,数字信号和模拟信号。菊花链这种拓扑结构使得两根线传送信号信息变为可能。一根信号线作为底线标准,可用+5v的电源去驱动另外一根信号线,产生电流来获得信号。当然其它的物理设备也可以采用CAN总线结构来协调工作。BaBar机构采用了铜制的双绞线作为传送数据的信号线,双绞线(TwistedPair)是由两条相互绝缘的导线按照一定的规格互相缠绕(一般以顺时针缠绕)在一起而制成的一种通用配线,属于信息通信网络传输介质。双绞线过去主要是用来传输模拟信号的,但现在同样适用于数字信号的传输。CAN总线由两根信号线组成,其中一根信号线被称为CAN_H线,另外一根信号线被称为CAN_L线。CAN总线有多种工作方式,当CAN总线处于没有工作的状态时候,两个总线的电平都处在供电电源的中间范围,比如系统采用5V电源供电的时候,两根总线电平均在2.5V左右。CAN总线处于工作运行的模式,比如有数据传送的时候,它的两根信号线会有一根处于高电平,一根处于低电平,并且两根信号线至少高于或者是低于700mV。也就是说当CAN局域网络控制器总线处于工作状态,不论其处于主动的发送模式,或者是处于被动的接受模式,总有一根信号线处于低电平,另外一根信号线处于高电平。同时,当CAN总线中同时有功能模块处于发送和接收方式,主动发送模式将会显现出来,占据主导地位。发送模式工作的时候数据输出为0,则接收时候数据位1。因为CAN总线中CAN_H和CAN_L线独立的传送的数据,当其中一根线不能工作的时候,另外一根线也能正常工作,只是其中一个信号线不能正常工作的时候,这个系统工作处于一种低抗噪声干扰的状态。这里附上我个人的一点理解,CAN总线应该是一种差分工作的模式,电流型的传送机制,这样信号传送抗干扰能力应该很强。通常来说,CAN总线工作的时候是不需要特殊定义的标志符。但是,每一条传送的数据总是会携带一个信号标志符,这种编码机制携带有有限权限,并且可以提示那个模块可以对数据进行接收,哪些模块不进行接收。当多个CAN模块同时相连组成网络的时候,可能会同时读取一条发送信号,这样不知道那个模块该接收这条信息。于是通过一个信息ID号,即标志符,该接收标志处于较高优先级,来判别。CAN总线能被设置为具有11位ID号或者是29位ID号的工作方式。在BaBar探测器项目中,我们采用了11位工作方式。当CAN网络中的一个模块需要使用总线时,它首先会发送ID标志符,并同时监听信号线。在任何一个工作点,每一个模块总是处于接收数据的状态,这样来捕获总线上是否处于工作状态。如果总线处于工作状态,准备发送数据的模块会放弃总线使用。CAN总线有一种仲裁机制,这样来保证总线总是处于正常的工作方式。在总线信号发送完毕以前,单个模块总是在等待,并且中断发送。总的来说,CAN网络中,没有哪一个模块处于主从关系,这些模块都是平等的。B.CAN总线在BaBar探测器中的应用BaBar探测器作为一个大型的系统,为了稳定采用了很严格的采用了CAN总线的两条标准协议。首先,当我们使用EPICS和VME总线接口收集数据的时候,我们采用了主/从机工作模式作为最基本的结构。其次,我们为总线上每一个工作模块都赋予了特定的ID标志符。这种结构表明,只有在ID号相同的时候,每一个模块才能正确接收信息。BaBar探测器采用了CAN通信标准协议中的如下两条:ID号第10位:优先级标志位。它的存在允许用户能使传递信息处于更高优先级的。如果需要,在实际中运用的时候一般都不予以赋值。ID号第9位:方向位。当该位为0的时候,现场总线的数据传送是从EPICS设备传至子模块。当该位为1时,子模块将传送数据到EPICS设备。ID号第8-4位(5位):现场总线的地址码。通常,采用11个数字定义的ID号网络允许最高32个子模块加入到网络中。但是为了可靠性高,我们每一个网络中最多接入了27个子模块,保留了5个子模块接口,留有一定的余量。ID号第3-0位(4位):命令领域。和前面优先级位加起来使能32个命令符。其中有个为BaBar探测器保留用,还留有24个位用户自己使用。采用这种严格的方式,运用BaBar探测器中的目标板,我们就能开发出自己所需要的监控板卡了。这些工具的使用我们在第四节将会进行描述。C.微控制器的描述每一个标准的模块都有一个摩托罗拉公司生产微控制器MC68HC705X32。该微控制器具有一个CAN通信接口,四个八位的双向输入输出I/O数据端口,有一个内部集成的看门狗电路,该电路能够实现复位功能,还有电可编程序只读存储器,电可擦只读存储器,随机存取存储器。其中,电可擦只读存储器主要是用来保存非易失性的数据,比如节点号和CAN的寄存器参数设定值。一个优秀的电路允许所有具有CAN通信能力和微控制器模块的BaBar探测器模块都有一个相同的接口。一个很重要的因素是制作一个光耦合隔离的电路,使得CAN总线的地线能够脱离单个模块的地线。这样做有助于地回路的隔离,否则地回路的干肉可能会影响检测和控制。如图1,显示了这个接口原理图电路。PCAX2C250是一个总线接口驱动芯片,HCPL710是光学隔离装置。图1CAN总线隔离接口3.智能监控系统A.总体描述各种各样的监测板已经开发,以满足BaBar探测器的需要。六个子探测器模块都至少开发了一个接口电路去满足特殊的要求,有的电路板甚至连接了几个不同的子系统。由于BaBar探测器中运用了大量的电路板,这里我们将在下面的段落中来描述这些具有通用性的电路板。在整个工程应用中,我们用了超过100多个的电路板去布置六个子系统。B.通用意义的电路板设计通用型的电路板被用来检测系统的电压,电流,温度,电路块如图2所示。图2电路块设计多达32路的模拟信号被送入到模块中,这些信号被一个12位精度的AD来量化,模拟信号的输入幅度为0V至4V,转换精度约1mV。系统采用模拟开关来切换这些模拟信号。微控制器连续采用连续扫描的方式读如AD转换器的值。当微控制器接到CAN总线的信息,这是会按照要求传送接到的数据。另外,微控制器的八位输入输出IO口PORTC连接了10个设备,包括继电器,报警设置,读取参数位置等。当我们使用这个接口进行参数设置的时候应该注意,因为微控制器没有保护数据的缓冲器,还应该避免引入额外的地回路。该控制板上带有一个DC-DC电源,提供正负9V的工作电压,为模拟系统提供电源,还有为温度测量单元提供基本电压,这个将在接下来的段落中进行描述。C.通用意义的电路板描述电路模块大小为长120mm和宽100mm。CAN信号传递采用菊花链的方式,用DB-9F接口进行连接。32路模拟信号的输入采用2x32的DIN接口。单口C连接了10个针式接口。电源输入是用两根针进行连接的,也许是一个低成本的方案。初始的时候,电路板采用的是一个正5V的电源供电,但是最后改动,加入了一个常规的器件使我们能简单的将正12V的电源将至正5V。最后这个方案被淘汰了,因为这样做需要很长的电缆线进行连接。前面安装好的LED灯用来显示系统工装状况,当LED灯为稳定的路灯亮时表示系统电源开启,为琥珀色的闪烁表示为CAN总线上有信号发送或者是板子上受到信号。系统信号输入采用被动式的输入方式。电路能够将电流信号转换为电压信号。它能在一定程度上拓宽输入电压范围通过调整电压缩小比例。传感器和转换器能将电流信号转换成电压的形式输出。电路系统有两个电阻,两个跳线,还有一个滤波器来降低高频噪声的干扰。系统采用AD592温度转换器,将温度转换为模拟信号输出,系统采用一个9V的基准信号。AD592是一种电流输出的传感器,我们在电流输出端口接一个10K欧姆的电阻,就能将它转换为电压信号,精度为10mV每开尔文。整个系统还有很多的通信方式,比如我们可以采用RS232或者是RS485的通信方式,这里我们可以采用VME控制板卡来选择。4.软件设计A.微控制器的软件设计微控制器的软件设计都有很多相同的地方,我们采用了标准的代码。在一个标准的软件设计中,多用户通常使用简单的指令。我们通常使用控制器做的任务有CAN通信,读写动态存储器,电科擦除存储器,还有读取电路板状态等。B.用户单片机软件设计软件进行设计的时候根据CAN总线保留的八个特别的命令

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功