CAN总线智能传感器节点设计_第1页
CAN总线智能传感器节点设计_第2页
CAN总线智能传感器节点设计_第3页
CAN总线智能传感器节点设计_第4页
CAN总线智能传感器节点设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于82527的CAN总线智能传感器节点设计摘要:介绍一种以8051微操纵器和82527独立CAN总线操纵器为核心组成的CAN总线智能传感器节点的设计方法,并给出其硬件原理图和初始化程序。要害词:CAN总线82527单片机数据采集智能节点引言CAN〔ControllerAreaNetwork,操纵局域网〕属于工业现场总线,是德国Bosch公司20世纪80年代初作为解决现代汽车中众多的操纵与测试仪器间的数据交换而开发的一种通信协议。1993年11月,ISO正式公布了高速通信操纵局域网〔CAN〕的国际标准〔ISO11898〕。CAN总线系统中现场数据的采集由传感器完成,目前,带有CAN总线接口的传感器种类还不多,价格也较贵。本文给出一种由8051单片机和82527独立CAN总线操纵器为核心构成的智能节点电路,在一般传感器根底上形成可接收8路模拟量输进和智能传感器节点。

1独立CAN总线操纵器82527介绍82527是Intel公司生产的独立CAN总线操纵器,可通过并行总线与Intel和Motrorola的操纵器接口;支持CAN规程2.0B标准,具有接收和发送功能并可完成报文滤波。82527采纳CHMOS5V工艺制造,44足PLCC封装,使用温度为-44~+125℃,其引足的排列和定义参见参考文献[1]。〔1〕82527的时钟信号82527的运行由2种时钟操纵:系统时钟SCLK和存放器时钟MCLK。SCLK由外部晶振获得,MCLK对SCLK分频获得。CAN总线的位定时依据SCLK的频率,而MCLK为存放器操作提供时钟。SCLK频率能够等于外部晶振XTAL,也能够是其频率的1/2;MCLK的频率能够等于SCLK或是其频率的1/2。系统复位后的默认设置是SCLK=XTAL/2,MCLK=SCLK/2。〔2〕82527的工作模式82527有5种工作模式:Intel方式8位分时复用模式;Intel方式16位分时复用模式;串行接口模式;非Intel方式8位分时复用模式;8位非分时复用模式。本文应用Intel方式8位分时复用模式,如今82527的30和44足接地。〔3〕82527的存放器结构[2]82527的存放器地址为00~FFH.下面依据需要对存放器给予介绍。①操纵存放器〔00H〕:765432100CCE00EIESIEIEINITCCE——改变配置答应位,高电平有效。该位有效时答应CPU对配置存放器1FH、2FH、3FH、4FH、9FH、AFH写操作。EIE——错误中断答应位,高电平有效。该位一般置1,当总线上产生异常数量的错误时中断CPU。SIE——状态改变中断答应位,高电平有效。该位一般置0。IE——中断答应位,高电平有效。INIT——软件初始化答应位,高电平有效。该位有效时,CAN停止收发报文,TX0和TX1为隐性电平1。在硬件复位和总线关闭时该位被置位。②CPU接口存放器〔02H〕:76543210RSTSTDSCDMCPWDSLEEPMUX0CENRSTST——硬件复位状态位。该位由82527写进,为1时硬件复位激活,不答应对82527访咨询;为0时答应对82527访咨询。DSC——SCLK分频位。该位为1,SCLK=XTAL/2;为0,SCLK=XTAL。DMC——MCLK分频位。该位为1,MCLK=SCLK/2;为0,MCLK=SCLK。PWD——掉电模式使能位,高电平有效。SLEEP——睡眠模式使能位,高电平有效。MUX——低速物理层复用标志位。该位为1,ISO低速物理层激活,PIN24=VCC/2,PIN11=INT#〔#表示取反〕;该位为0,PIN24=INT#,PIN11=P2.6。CEN——时钟输出答应位,高电平有效。③标准全局屏蔽存放器〔06~07H〕。该存放器用于具有标准标识符的报文,或XTD置0的报文存放器。该方式称为报文接收滤波。当某位为1时,报文标识符的相应位必须匹配;为0时,不必匹配。④扩展全局屏蔽存放器〔08~0BH〕。该存放器用于扩展报文格式,或XTD置1的报文存放器,其作用与③相同。765432100COBYPOL0DCT10DCR1DCR0⑤总线配置存放器〔2FH〕:COBY——旁路输进对比器标志位,高电平有效。POL——极性标志位。为1,假如旁路输进对比器,RX0的输进逻辑1为显性,逻辑0为隐性;为0,那么反之。DCT1——TX1输出切断操纵位。为1,TX1输出不被驱动,该模式用于1根总线的情况,2根差分导线短路;为0,TX1输出被驱动。DCR1——RX1输进切断操纵位。为1,RX1与输进对比器的反相端断开,接至VCC/2;为0,RX1接至输进对比器反相端。DCR0——RX0输进切断操纵位。作用与DCR1相同,如今RX0接至对比器同相端。76543210SJWBRP⑥位定时存放器0〔3FH〕;SJW——同步跳转宽度位场,编程值1~3。BRP——波特率分频位场,编程值0~63。76543210SPLTSEG2TSEG1⑦位定时存放器1〔4FH〕:SPL——采样模式标志位。1表示每位采样3次;0表示每位采样1次。TSEG1——时刻段1位场,编程值2~15。TSEG1——时刻段2位场,编程值1~7。波特率=XTAL/[(DSC+1)*(BRP+1)*〔3+TSEG1+TSEG2〕]⑧报文存放器〔把每个存放器的第1字节地址作为基址BASE〕。76543210BASE+0MSGVALTXIERXIEINTPNDBASE+1RMTPNDTXRQSTMSGLST/CPUUPDNEWDAT

操纵存放器0,1〔BASE+0,BASET+1〕MSGVAL——报文存放器有效标志位,高电平有效。10置位,01复位。TXIE——发送中断答应标志位,高电平有效。10置位,01复位。RXIE——接收中断答应标志位,高电平有效,10置位,01复位。INTPND——中断申请标志位,高电平有效。10置位,01复位。RMTPND——远程帧申请标志位,高电平有效。10置位,01复位。TXRQST——请求发送标志位,高电平有效。10置位,01复位。MSGLST——报文丧失标志位,只用于接收报文存放器。10表示未读报文被新报文覆盖,01表示未覆盖。CPUUPD——CPU更新标志位,只用于发送报文存放器。10报文不被发送,01报文可发送。NEWDAT——新数据标志位。10表示向存放器写进了新数据,01表示无新数据写进。

仲裁存放器0,1,2,3〔BASE+2-BASE+5〕存储报文标识符。76543210DLCDIRXTD保留

报文配置存放器〔BASE+6〕DLC——数据长度编码,编程值0~8。DIR——方向标志位。1发送,0接收。XTD——标准/扩展标识符标志位。1扩展标识符,0标准标识符。

数据存放器〔BASE+7-BASE+14〕82527存储报文时,8个数据字节均被写进,未用到的字节数据是随机的。2硬件电路设计智能节点的电路如图1所示〔图中6264略往〕。在硬件设计中,由ADC0809完成对8路模拟置的转换,与8051的信息交换采纳查询方式,地址BFF8~BFFFH,其时钟可由ALE二分频获得;82527完成与CAN总线的信息交换。本设计中,旁路了输进对比器,与8051的信息交换采纳中断方式,地址7F00~7FFFH,能够用82527的P1口和P2口对开关量采集或对继电器进行操纵。82C250提供82527和物理总线间的接口,提高接收和发送能力。可依据需要扩展程序存储器。3软件设计本设计软件采纳MCS-51汇编语言编写,程序框图如图2所示。82527的初始化程序如下:INT:MOVDPTR,#0FF02HMOVA,#00HMOVX@DPTR,A;SCLK=XTAL;MCLK=SCLK,CLKOUT无效MOVDPTR,#0FF00HMOVA,#41HMOVX@DPTR,A;置位CCE,INITMOVDPTR,#0FF2FHMOVA,#48HMOVX@DPTR,A;旁路输进对比器设置1位隐性,0为显性,RX1无效MOVDPTR,#0FF3FH;MOVA,#43H;MOVX@DPTR,A;SJW=2,BRP=3MOVDPTR,#0FF4FHMOVA,#0EAHMOVX@DPTR,A;SPL=1,TSEG1=7,TSEG2=6如今波特率为100KbpsMOVDPTR,#0FF00H;MOVA,#01HMOVX@DPTR,A;禁止对配置存放器的访咨询MOVDPTR,#0FF10H;MOVA,#55H;MOVX@DPTR,A;INCDPTR;MOVX@DPTR,A;···MOVDPTR,#0FFF0H;MOVA,#55H;MOVX@DPTR,AINCDPTR;MOVX@DPTR,A;报文存放器操纵位初始化MOVR0,#06H;MOVDPTR,#0FF06H;MOVA,#0FFH;L1:MOVX@DPTR,A;报文标识符需全部匹配INCDPTRDJNZR0,L1;MOVDPTR,#0FF16H;MOVA,#8CH;报文存放器1可发送8个字节扩展报文MOVX@DPTR,A;MOVDPTR,#0FF26H;MOVA,#84H;MOVX@DPTR,A;报文存放器2可接收8个字节扩展报文MOVDPTR,#0FF00H;MOVA,#00H;MOVX@DPTR,A;初始化结束RETLonworks现场总线由美国Echelon公司于1993年推出,由于其开放的网络操作系统、标准的网络通信协议、丰富的介质接口模板、支持多种介质之间相互通信等特点,在工业操纵领域得到了广泛响应。目前已有多种支持Lonworks技术的芯片,Echelon公司的神经元芯片NeuronC31是一种集3个8位CPU及网络通信协议〔LonTalk协议〕为一体的芯片。采纳该芯片构成的智能节点在Lonworks现场总线操纵网络中起着举足轻重的作用,它能使现场设备之间相互通信,快速地交换信息,以满足系统实时监控的要求。但由于3150神经元芯片只提供11个通用I/O口,不能满足采集量和操纵量要求较多的现场设备的要求,因此研究和开发基于神经元芯片的多点I/O的智能节点,是一项有意义的工作。

1NeuronC3150神经元芯片的特点NeuronC芯片既是Lonworks技术的核心也是智能节点的核心,目前由Toshiba和Motorola两家公司生产,要紧包括NeuronC3150和NeuronC3120两种系列。3150芯片中包括E2PROM和RAM存储器,同3120芯片区不在于它无内部ROM,但具有访咨询外部存储器的接口,寻址空间可达64Kbyte。从这一点来讲,3150比3120在节点开发上具有更好的灵活性。3150芯片内部带有3个8位微处理器:一个用于链路层的操纵,另一个用于网络层的操纵,第三个用于执行用户的应用程序。该芯片还包含11个I/O口和完整的LonTalk通信协议,它同时具有通信和操纵功能。2基于神经元芯片智能节点的开发方法基于神经元芯片开发的智能节点具有结构简单、本钞票低等优势,其开发方法可分为两种:〔1〕基于操纵模块的硬件设计方法。采纳这一方法的优势是可缩短产品的开发周期,因为操纵模块通常都集成了神经元芯片、Flash程序存储器、收发器以及RAM等,用户只需设计自己的应用电路即可完成节点开发。〔2〕基于收发器的硬件电路设计方法。采纳这一方法能够落低节点本钞票,提高节点的市场竞争力,然而这一方法需要在考虑应用电路设计的同时考虑神经元芯片与Flash存储器及RAM的接口电路,这关于电路板的设计加工及生产工艺的要求都较高。

3智能节点的电路设计节点采纳主、背板结构。主板上集成有操纵电路、通信电路和其他附加电路,其结构图如图1。背板设计为两种多点I/O模块〔包括多点数字I/O模块和多点模拟I/O模块〕。主、背板之间采纳统一标准的20针接口。采纳主、背板结构设计法,使得此智能节点的应用领域更为广泛,习惯性、通用性和功能都大大增强,关于节点应用程序的开发也更为灵活。3.1主板电路设计操纵电路操纵电路要紧由神经元芯片,主背板接口电路和片外存储器等组成。各元器件功能如下:〔1〕神经元芯片采纳Toshiba公司生产的3150芯片,它要紧用于提供对节点的操纵、实施与Lon网的通信、支持对现场信息的输进输出等应用效劳。〔2〕片外存储器采纳Atmel公司生产的AT29C256〔FLASH存储器〕。AT29C256共有32K字节的地址空间,其中低16K字节空间用来存放神经元芯片的固件〔包括LonTalk协议等〕。高16字节空间作为节点应用程序的存储区。采纳ISSI公司生产的IS61C256作为神经元芯片的外部RAM.。〔3〕主、背板接口电路用于主板与多点I/O模块的电气连接。通信电路通信电路的核心——收发器是智能节点与Lon网之间的接口。目前,Echelon公司和其他开发商均提供了用于多种通信介质的收发器模块。本智能节点采纳Echelon公司生产的适用于双绞线传输介质的FTT-10A收发器模块。附加电路附加电路要紧包括晶振电路、复位电路和Service电路等。晶振电路为3150神经元芯片提供工作时钟。复位电路用于在智能节点上电时产生复位操作。另外,节点还将一个低压中断设备与3150的Reset管足相连,构成对神经元芯片的低压保卫设计,提高节点的可靠性和稳定性。Service电路是专为下载应用程序的电路,Service指示灯对诊断神经元芯片固件状态有指示作用。3.2I/O扩展电路设计3150神经元芯片包含11个通用口,用户可依据不同的需求进行灵活配置,以便于同外部设备进行接口。关于输进和输出〔I/O〕数量需求较大的外围设备,11个I/O口显然不能满足。尽管能够依靠增加节点数量来满足外围要求,然而如此做不仅本钞票价格高而且增加了安装的工作量,维护也不方便。因此,通过增加外围电路实现I/O扩展,成为多点I/O智能节点开发的重要局部。I/O扩展设计包括多点模拟模块设计和多点数字模块设计。

多点模块模块设计多点模拟模块主电路图如图2。TLC2543是支持SPI串行总线的11路模拟通道的12位逐次逼近型模/数转换器。CS〔Pin15〕片选信号端接IO0;DATAINPUT〔Pin17〕为串行数据输进,其中四位串行地址用来选择下一个被转换的模拟通道或测试电压存放器;DATAOUTPUT〔Pin16〕输出模/数转换的结果;CLK是维持模/数转换正常工作的时钟。值得注重的是,时钟信号频率较高,任何一点干扰都可能妨碍模块的正常工作。在CLK上串联或并联一支电阻能够起到明显的抗干扰效果,保证模/数模块的稳定。〔本模块中,CLK接IO8,DATAINPUT接IO9,DATAOUTPUT接IO10〕。TLC2543还有一个特点:IO9输进数据的同时,IO10输出的是上一次模/数转换的值,因此在编写NeuronC源程序时要注重模/数转换的时序。选通两支旁路电路:一支47μFμFμF电容,用以往除高频干扰。多点数字模块设计多点数字模块要紧包括:输进局部、输出局部、双向I/O三局部。通过扩展,模块具16路数字输进通道、15路数字输出通道和3路双向I/O通道。〔1〕输进局部采纳两片8选1数据选择器74LS151级联,并将NeuronC3150的IO0~IO3定义为NibbleOutput方式,即半字节输出方式;IO4定义为BitInput方式,即位输进方式。IO0~IO3作为16路输进通道的地址选通信号,与74LS151的地址输进端〔E、A、B、C管足〕相连。IO4作为数字信号进口,与74LS151的输出端连接。〔具体电路如图3〕下面的NeuronC源程序可完成对16路数字通道的定时扫描,定时时刻为1s:IO_4inputbitio_tmp;//定义位输进IOStimerrepeatingt_circle=1;//定义并初始化定时器When(timer_expires(t_circle)){inti;bitI_num,temp[15];//定义循环变量通道状态数组初始化通道号for(i=0;i<16;i++){io_out(io

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论