ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:170.19KB ,
资源ID:6902273      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6902273.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CAN总线节点设计文档格式.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

CAN总线节点设计文档格式.docx

1、仲裁场(ARBITRATIONFIELD),包含11个报文标识位和1个RTR位。报文标识位的高7位不能全为“1”,RTR位用以区分数据帧和远程帧,数据帧为“0”,远程帧为“1”,这12位提供报文的优先权。总线通过这12位进行总线仲裁,数越小,优先权越高。控制场(CONTROLFIELD),包含2位备用位和4位数据长度码。数据场(DATAFIELD)。循环冗余CRC校验场(CRCFIELD),包含15位CRC序列和1位界定符(隐性位“1”)。应答场(ACKFIELD),包含应答间隙和应答界定符各1位,应答间隙为隐性位。CAN总线上所有收到正确报文的CAN控制器将隐性位改为显性位,发送者借此确认它

2、已发送完一条完整和正确的消息。若报文有误,或被仲裁退出(由于优先级较低),发送者将会重发报文。帧结束(EOF),包含7个隐性位。远程帧用于请求与其有相同标识符的数据帧,它与数据帧的区别在于RTR位、数据场。(2)、CAN节点状态CAN总线上的每个节点总处于错误主动(ERRORACTIVE)、错误被动(ERRORPASSIVE)和脱离总线(BUSOFF)其中的一种状态。CAN协议定义了5种错误类型,并由CAN控制器的发送错误寄存器(REC)和接收错误寄存器(TEC)分别对错误进行计数。CAN节点的状态便由这两个错误寄存器决定。当两个寄存器的值都小于126时,节点处于错误主动状态,此时节点遇到错误

3、发送主动错误帧;当其中一个错误寄存器的值大于126时,节点处于错误被动状态,此时节点遇到错误发送被动错误帧;当发送寄存器的值大于255时,节点处于BUSOFF状态,此时节点对总线无影响。(3)、CAN节点监听总线机制CAN控制器不停地接收总线上的数据,由此完成对总线的监听。当它发送报文时,接收的数据会被放入接收缓存,并与发送的数据进行比较。若发送的报文标识符是“1”,接收的是“0”(总线完成“线与”的功能),则该节点停止发送,等总线空闲后,重新发送报文。这样来完成总线仲裁。一节点发送完一份报文后,可在该节点的接收缓存找到该报文。该报文会被随后接收的数据覆盖。CAN节点监听到其他节点发送的错误帧

4、后,会根据自身的状态发送相应的错误帧。故总线上的错误帧是由所有CAN节点发送的错误帧叠加而成。CAN通过它来完成局部错误全局化。CAN卓越的特性,性能的可靠和独特的设计,特别适合工业过程互控设备互联。因此,越来越受工业界重视,并已被公认为是最有前途的现场总线之一。现场总线控制系统FCS将分散在各个工业现场的智能仪表通过数字现场总线连为一体,并与控制室中的控制器和监视器一起就构成现场总线控制系统FCS(Fieldbus Control System)。在FCS中,有现场智能仪表完成数据采集、数据处理、控制运算和数据输出等功能。现场智能仪表采集到的数据通过现场总线传到控制室中的控制设备上,控制设备

5、监视各个现场仪表的运行状态,持有各智能仪表上传的数据,同时完成少量现场智能仪表无法完成的高级控制功能。现场总线中的智能仪表因其可在测量数据的基础上完成对工业过程的控制,是控制系统的危险进一步分散。从而体现了“控制分散,危险分散”的设计思想。现场总线智能节点把连在现场总线上的智能仪表称为现场总线智能节点。现场总线智能节点是FCS的现场自动化设备,是构成FCS的基础。目前现场总线智能节点的特点是采用先进的单片机技术和微电子技术,具有体积小、功耗底、可靠性高的特点,并具有标准化的现场总线接口。二、现场总线智能节点总体方案设计 CAN-bus智能节点既有CPU、内存、接口和通信等数字信号处理,还有非电

6、量信号监测变换和放大的模拟信号处理。由于必须安装在生产现场和生产装置上,而且工作环境十分恶劣,对于易燃易爆场所,必须提供总线供电的本质安全,这就要求微处理器体积小、功能全、性能好、可靠性高、耗电少。另外,现场通信网络分布于生产现场,网络节点具有互换性和互操作性,并有节点构成虚拟控制路,这就要求采用先进的网络技术和分布式数据库系统。本课题研制的智能节点将现场总线技术和智能仪表技术相结合,具有以下主要功能:(1)、每5秒钟采集一次温度、值,并在整点时刻记下温度值,数据保存一个月。温度传感器(如热电耦)感知被测对象温度,温度信号在仪表中经过处理变成电信号,电信号再经A/D转换器将其变为数字量,然后送

7、入CPU中进行后续处理。通过在仪表存储器中预置不同的测温元件的热电特性,可由测得的电信号直接得到被测介质温度。(2)、测量数据越限报警:根据被测温度正常范围设定温度报警限,当被测数据越过报警限时,智能节点自动给出报警信息,该信息一方面在智能节点本地显示,另一方面传送给上位机。(3)、故障诊断:智能节点发生故障时,在仪表显示面板上给出故障信息,并把信息传送给上位机。上位机种不仅显示故障类限,还显示故障原因和故障处理意见的详细信息。(4)、自标定:通过在A/D转换器输入端中加零电压及满量程电压。对仪表的零点和满量程自动进行标定。自标定的思路是:当施加某一电压时,在仪表输出端应给出对应于该电压的输出

8、温度值。若输入电压和该电压对应的温度值不吻合,就要自动调整仪表有关系数,直至二者一致。这种标定主要是针对仪表电子线路部分的,目的是减小系统误差,提高系统精度。(5)、掉电保护:智能仪表用非易失性存储器NVRAM作为设定参数和有关测量数据的存储空间,NVRAM自带锂电池,数据不会因为瞬间掉电而丢失,一旦重新上电,仪表可从存储器中读出保存数据,保证仪表正常工作。(6)、控制器的执行算法模块主要采用了增量型PID控制算法和模块控制算法,PID控制的参数可预先设定。程序开始运行后,被控量的偏差较大,此时将采用增量型PID控制算法根据被测量偏差e,偏差变化量e在实时响应曲线中所处的不同阶段自动调节比例,

9、积分,微分系数,实现系数的自寻优,使被控量尽快回到设定值附近;然后,当偏差处于某一预定范围时,将采用模糊控制算法减少控制量对被控量微小变化产生过于灵敏的动作,防止被控量在设定值附近产生振荡现象,实现PID控制算法和模糊控制算法的理想结合。三、智能节点的软硬件介绍智能节点设计 图1 智能节点的原理框图智能节点以Intel公司16位单片机80C196KC为核心,80C196单片机由于采用了寄存器寄存器结构,消除了常规累加器结构所产生的瓶颈效应,提高了操作速度和数据吞吐能力,使最小系统效率高、速度快。同时,该单片机还具有8通道的10位A/D转换器,具有极高的性能价格比。80C196KC片内RAM为4

10、88字节,他们都可以作为通用寄存器来访问,这使得程序的每一个模块都可以有自己的专用寄存器使用,增强了模块的独立性和抗干扰性。采用CMOS工艺,其功耗小。采用8K的EEPROM2816存放程序,8K的RAM6264存放数据,具有掉电保护功能,采用一片可编程并行接口芯片8255来控制显示和键盘。复位电路采用了一片MAX706,具有低电平复位输出,集强大功能(上电复位、欠电压复位、“看门狗”等)和微小封装(SOT23-5)于一身。CAN接口电路中采用了PHILIPS公司生产的CAN总线控制器82C200(STA1000)和CAN接口芯片82C250。电源方案采用体积小、重量轻的AC-DC模块,交流输

11、入范围105265V,输出两组电源,分别为Vcc、GND(+5V/250mA)和+5V、GND(+5V/150mA),较简单地完成了电源方案设计。2、智能节点硬件电路设计目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如82C200、SJA1000及INTEL82526/82527等;另一类是带有在片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。根据当前市场开发工具和课题的实际需要,系统全部智能节点均以INTEL16位单片机80C196KC为核心,选用SJA1000作为CAN控制器,并使用了CAN控制器接口芯片82C250。CAN器件与微控制器的连

12、接如图2所示。SJA1000:独立式CAN控制器,具有64字节的FIFO作为接收缓存。6N137:高速光隔,最高速度10MB/S,用于保护CAN控制器。硬件电路中使用82C250的目的是为了增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),实现热防护等。82C250:CAN总线收发器,是CAN控制器与CAN总线的接口器件,对CAN总线差分式发送。其RS引脚用于选择82C250的工作模式:高速、斜率控制、等待。RS脚接地,82C250处于高速。RS脚串接一个电阻后再接地,用于控制上升和下降斜率,从而减小射频干扰。RS脚接高电平,82C250处于等待,此时发送器关闭,接收器

13、处于低电流工作,可以对CAN总线上的显性位做出反应,通知CPU。CPU需通过切换RS引脚上的电平来重置82C250工作模式。若82C250处于CAN总线的网络终端,总线接口部分需加一个120的匹配电阻。 图2 CAN总线接口电路原理图从图中可以看出,硬件电路的设计并不是太困难,但是有几点应引起注意,否则会事倍功半,甚至功亏一篑。(1)总线两端那两个120的电阻,对匹配总线阻抗起着相当重要的作用。忽略掉它们,会使数据通信的抗干扰性和可靠性大大降低,甚至无法通信。(2)82C250第8脚与地之间的电阻RS称为斜率电阻,它的取值决定了系统处于高速工作方式还是斜率控制方式。把该引脚直接与地相连,系统将

14、处于高速工作方式。在这种方式下,为避免射频干扰,建议使用屏蔽电缆作总线;而在波特率较低、总线较短时,一般采用斜率控制方式,上升和下降的斜率取决于RS的阻值。实验数据表明,15K200K为RS较理想的取值范围。在这一种方式下,可以使用平行线或双绞线作总线。(3)SJA1000的TX1脚悬空,RX1引脚的电位必须维持在约0.5Vcc上,否则将不能形成CAN协议所要求的电平逻辑。如果系统传输距离近,环境干扰小,可以不用电流隔离,这样可直接把82C250的VREF端(约为0.5Vcc)与RX1脚相连,从而简化电路。(4)在系统中,SJA1000的片选信号一般由地址总线经译码获得,并由此决定出CAN控制

15、器各寄存器的地址。(5)当中断允许时,一旦有中断发生,SJA1000的16脚INT就会被激活,出现一个由高电平到低电平的跃变,而80C196KC的外部中断(P0 7脚)却需要从低到高的电平变化来激活,因此这之间必须加一个反相器。3、智能节点软件设计上位机功能:时间的显示和调整、显示并存储下位机采集的数据。上位机的时间由时钟芯片DS1302提供。美国Dallas公司推出的串行接口实时时钟芯片DS1302可对时钟芯片备份电池进行涓流充电。由于该芯片具有体积小、功耗低、接口容易、占用CPU的I/O口线少等主要特点,故该芯片可作为实时时钟,广泛应用于智能化仪器仪表种。DS1302内部具有实时时钟、日历

16、和用户可用的RAM。通过一个简单的串行接口与微机通讯,可根据月份和闰年的情况自动调整月份的结束日期。时钟可由用户决定是以24小时制式或12小时制式工作。对芯片的所有写入或读出操作都是由命令字节为引导的。单字节读操作每次需16个时钟,地址字节在前8个时钟周期的上升沿输入,而数据字节在后8个时钟周期的下降沿输出。据此编制出了如下的单字节读、写子程序:DS_READ: PUSH CX ORB PORT1,#04H ANDB PORT1,#0FDH ANDB PORT1,#0FBH SCALL DS_WSUB SCALL DS_RSUB POP CX RETDS_WRITE: LDB AL,AHDS_

17、WSUB: LDB CL,#08HWLOOP: SHRB AL,#01H JC WSET ANDB PORT1,#0FEH SJMP WCTNUWSET: ORB PORT1,#01HWCTNU: ORB PORT1,#02H NOP DJNZ CL,WLOOPDS_RSUB:RLOOP: JBC PORT1,0,RCTNU ORB AL,#80HRCTNU: DJNZ CL,RLOOP下位机功能:定时采集数据并显示、将数据传给上位机。 鉴于篇幅,下面仅给出下位机主程序和时间中断子程序框图(图3、图4) N Y 图3 下位机主程序框图 图4 时间中断子程序框图对于初次涉足CAN总线系统设计的人

18、员来说,其软件设计要比硬件设计难一些,特别是CAN总线系统的初始化设计,一开始总感觉无从下手,而这一部分设计不好,系统将不可能正常工作。因此初始化设计是一个难点,又是一个重点。假设SJA1000的首地址为6000H,用汇编语言编制的初始化程序如下:INCLUDE“RE96 ASM”CREQU6000H;控制寄存器CMR EQU6001H;命令寄存器SREQU6002H;状态寄存器IREQU6003H;中断寄存器ACR EQU6004H;验收码寄存器AMR EQU6005H;验收屏蔽寄存器BTR0EQU6006H;总线定时寄存器0BTR1EQU6007H;总线定时寄存器1OCR EQU6008H

19、;输出控制寄存器INIT:DILDBCL,#1BHSTBCL,CR ;开放接收、出错、超载中断,并LDBCL,#01H ;置位复位请求,以开始初始化。STBCL,ACRLDBCL,#0FEHSTBCL,AMR;验收滤波LDBCL,#00HSTBCL,BTR0LDBCL,#14HSTBCL,BTR1;确定波特率,SJ,位周期宽LDBCL,#0AAH ;度,采样点位置及采样次数STBCL,OCR ;选择输出方式,建立输出驱动器LDBCL,#1AH;的配置。STBCL,CR;初始化结束,SJA1000返回其EI;正常运行状态从上面的初始化程序不难看出,对CAN控制器进行初始化,实际上就是对ACR、A

20、MR、BTR0、BTR1、OCR这些寄存器进行访问。在这里需要明确的是,只有当控制寄存器CR中的复位请求位为高时,访问才被允许,否则既写不进去,也读不出正确的内容。对CR进行第一次写操作,要设定将要开放的中断类型,并置位复位请求,允许初始化开始。对ACR、AMR进行写操作,要界定对什么样的报文予以接收,因此有时称它们为验收滤波器。当满足以下两个条件之一,并存在空的接收缓存器(RBF)时,完整报文可被正确接收。条件之一:ACR与报文标识符的高8位在AMR为“0”的那些位(即相关位)上对应相等。条件之二:AMR=0FFH,即ACR的所有位均为不相关(或屏蔽)位。这两个寄存器也是编排标识符的基本依据

21、。对BTR0进行操作,可决定波特率预分频器(BRP)和同步跳转宽度(SJ)的数值;对BTR1进行写操作,可决定位周期的宽度,采样点的位置及在每个采样点进行采样的次数。这两个寄存器的内容,可唯一确定波特率及同步跳转宽度。例如:程序中BTR0=00H,BTR1=14H,晶振频率为16MHZ时,采样时钟周期TSCL等于两倍的振荡器时钟周期。波特率刚好为1MBPS,同步跳转宽度为一个TSCL。两个寄存器各位功能和相关计算公式见参考文献。但有一点还应引起注意,就是一个系统中的所有节点BTR0和BTR1的内容都应相同,否则将无法进行通信。对OCR进行写操作,可确定CAN控制器的输出方式,并建立起CAN总线

22、要求的电平逻辑所需输出驱动器的配置。对CR进行第二次操作主要是清复位请求位,使SJA1000返回正常运行状态。成功地初始化SJA1000后,系统就可以应用它来传输报文。数据传输的程序不难编写,但有些细节处理不好,系统工作起来还是经常发生问题。作者通过反复调试已把通信部分的程序做成了模块,在实际系统中的应用表明它经受住了考验,运行的相当好。鉴于篇幅,下面仅给出节点请求数据和发送数据子程序框图(图5、图6)及中断服务程序框图(图7)。按照这些框图编制的子程序已用于实际系统,效果良好。 正在接收 Y 正在接收 Y N N TBF锁定 N TBF锁定 N Y TBF释放 Y TBF释放 发送未完成 图

23、5 请求数据数据子程序框图 图6 发送数据子程序框图在节点主程序中,可以根据实际需要,通过调用上面的两个子程序向其它节点发送远程帧来申请数据,也可以直接向需要数据的节点发送数据帧及数据,但在系统软件设计时应该特别注意无论何时CAN总线不应被永久性地100%加载。 出错中断 超载中断 接收中断Y 图7 中断服务程序框图元器件清单:单片机80C196KC3 程序存储器28C64B3复位芯片MAX7063 并行接口8255时钟芯片DS13021 数据存储器DS12251CAN总线控制器SJA10003 高速光隔6N1376CAN控制器接口芯片82C250参考资料:1 汪建 .MCS-96系列单片机原

24、理及应用技术. 华中理工大学出版社2 孙涵芳 .Intel 16 位单片机. 北京航空航天大学出版社3 邬宽明 .CAN总线原理和应用系统设计. 北京航空航天大学出版社4 周凤余 肖海荣 .CAN总线系统智能节点设计与实现. 微机算计信息 . 1999年第15卷第6期5 李继锋 付强 .基于CAN总线的分布式温度检测网络设计. 微机算计信息 . 1999年第15卷第6期6 王明顺 吴省 .可涓流充电的串行实时时钟芯片DS1302及应用设计. 电子技术应用 . 1996(10)7 CANbus brings new thinking to the control of an injection

25、moulding machine Anon Source: British Plastics and Rubber Nov 1998 MCM Publishing p 13-16 0307-6164 In English8 The real time verification when replacing DH plus with DeviceNet for tire conveyor system Park, O.; Park, S.; Park, C. Source: IEEE International Symposium on Industrial Electronics v 1 Ju

26、n 12-16 2001 2001 Sponsored by: IEEE p 160-165 In English9 CANbus and microcontroller use in the BaBar detector at SLAC Anthony, P.L.; Crawley, H.B.; Fischer, P.-A.; McKay, R.L.; Meyer, W.T. Author Affiliation: Stanford Linear Accelerator Cent Source: IEEE Transactions on Nuclear Science 47 2 I Jun 14-Jun 18 1999 2000 IEEE p 166-169 0018-9499 In English10 CANbus-based safety-critical distributed aeroengine control systems architecture demonstrator Thompson, H.A.; Benitez-Perez, H.; Lee, D.; Ramos-Hernandez, D.N.; Fl

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2