专题资料(2021-2022年)CAN总线设计.doc
《专题资料(2021-2022年)CAN总线设计.doc》由会员分享,可在线阅读,更多相关《专题资料(2021-2022年)CAN总线设计.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 微机应用课程设计报告题 目:基于单片机的16*16点阵系统设计专 业: 班 级: 姓 名: 学 号: 地 点: 时 间: 指导老师: 摘 要现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络,是一种双向串行多节点数字通信的系统。CAN总线也是现场总线的一种,它最初被应用于汽车的控制系统中,由于其卓越的性能,CAN总线的应用范围已不再局限于汽车工业中,而被广泛的用到自动控制、楼宇自动化、医疗设备等各个领域。本文主要介绍一种基于CAN总线的控制系统,通过对这一系统的制作流程来说明CAN总线的简单应用,文章主要
2、是对本控制系统的三个硬件模块进行介绍及模块中相关芯片的应用,同时本文也对软件的编写进行了说明。关键字:现场总线; CAN总线; 单片机; 控制系统 目 录 1 绪 论11.1 CAN总线的简单介绍11.2 CAN总线的优势11.2.1 网络各节点之间的数据通信实时性强21.2.2 缩短了开发周期21.2.3 已形成国际标准的现场总线21.2.4 最有前途的现场总线之一22 硬件电路设计32.1单片机模块32.1.1 STC89C52主要特性如下:42.1.2 STC89C52RC单片机的工作模式52.2 CAN总线控制器模块62.2.1 SJA1000简介62.2.2 PCA82C250简介9
3、2.3 通信模块和外围接口112.3.1 通信模块112.3.2 外围接口123 CAN总线控制系统软件设计133.1 初始化程序133.2 数据的接收和发送功能153.2.1 发送数据153.2.2 接收数据174 总结19参考文献20附录一21II微机应用课程设计 基于CAN总线的控制系统1 绪 论CAN总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,CAN总线的应用范围遍及从高速网络到低本钱的多线路网络,在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps,同时,它可以廉价地应用于交通运载工具电气系统中,例如,灯光聚束
4、电气窗口等等以代替所需要的硬件连接。CAN总线采用双绞线串行通讯方式,检错能力强,可在高噪声干扰环境中工作,CAN总线具有优先和仲裁功能,多个控制模块通过CAN控制器挂到CAN-BUS上,形成多主机局部网络,其可靠性和实时性远高于普通的通讯技术。 本文所论述的CAN总线控制系统是一个类似单片机最小开发系统一样的开发板,其主要分为三个部分:单片机模块,CAN总线控制模块,外围接口和通信模块。单片机模块主要是用单片机来控制整个系统,CAN总线控制模块主要是利用CAN总线控制器来实现和外围CAN总线的通信和交换信息,而外围接口和通信模块主要功能是为单片机下载程序和连接外围功能模块,主要是连接一些其他
5、功能模块来实现相关的功能,接口分为输入接口和输出接口,这样可使一个系统构成闭环控制系统,从而可有效的实现所需要的控制功能,完成以后可应用于各种领域,实现各种控制功能,例如说路灯控制,汽车上的一些通信,电机控制等。1.1 CAN总线的简单介绍CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机
6、械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。 CAN(controller area network)最初是由德国Bosch公司在80年代初期,为了解决汽车中众多的控制与测量设备之间的数据交换而开发的一种串行数据通信总线,属于现场总线的范畴,1993年成为国际标注(ISO11898:道路车辆的高速控制器局域岗数字交换系统标准)。CAN总线是一种有效支持分布式控制系统或实时控制的串行通信网络,是一个多主总线,总线上的各节点都有权随时向其他节点发送信息,总线冲突时通过总线仲裁方式决定
7、占用总线的节点,实现在电磁干扰环境下,远距离实时数据的可靠传输。 1.2 CAN总线的优势CAN是一种有效支持分布式控制或实时控制的串行通信网络。和目前许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:1.2.1 网络各节点之间的数据通信实时性强首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并
8、且容易构成冗余结构,提高系统的可靠性和系统的灵活性,而利用RS-485只能构成主从结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差。1.2.2 缩短了开发周期CAN总线通过CAN接收器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象,而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现显现在网络中
9、,因个别节点出现问题,使得总线出于“锁死”状态,而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些都是仅有电气协议的RS-485所无法比拟的。1.2.3 已形成国际标准的现场总线另外,于其他现场总线相比较,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线,这些也是目前CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。1.2.4 最有前途的现场总线之一CAN即控制器局域网络,属于工业现场总线的范畴,于一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良
10、好的性能及独特设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ、PORSCHE、ROLLS-ROYCE等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信,同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、过程控制、机械工业、农用机械、数控机床、医疗器械及传感器等领域发展,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一,其典型的应用协议有:SAEJ1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等
11、。21微机应用课程设计 基于CAN总线的控制系统2 硬件电路设计此控制系统主要有三个主要的模块组成,第一步分为单片机模块,第二部分为CAN总线控制器模块,第三部分为通信和外围接口,其主要分为输出和输入接口,使系统构成一个闭环系统,从而实现所需要的控制功能。系统功能结构图如图1示图1 系统结构示意图2.1 单片机模块图2为系统单片机模块的电路图图2 单片机模块电路图本系统单片机选择的是STC89C52,是双列直插式40引脚,其芯片引脚图如图2-4。STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器
12、周期可以任意选择。图3 STC89C52的芯片引脚图2.1.1 STC89C52主要特性如下: 1. 增强型 8051 单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。2. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)。3. 工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz。4. 用户应用程序空间为8K字节 。5. 片上集成512字节RAM。6. 通用I/O口(32个)复位后为,P1/P2/P3/P4是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O
13、口用时,需加上 拉电阻。 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。8.具有EEPROM功能。 9.具有看门狗功能。10.共3个16位定时器/计数器,即定时器T0、T1、T2。11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒。12.通用异步串行口(UART),还可用定时器软件实现多个UART。 13.工作温度范围:-40+85(工业级)/075(商业级)。 14. PDIP封装。 2.1.2 STC89C52R
14、C单片机的工作模式掉电模式:典型功耗0.1A,可由外部中断唤醒,中断返回后,继续执行原程序。空闲模式:典型功耗2mA典型功耗。 正常工作模式:典型功耗4mA7mA典型功耗。 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。 STC89C52RC引脚功能说明:VCC(40引脚):电源电压;VSS(20引脚):接地。 P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入每个引脚能驱动写入“1”时,可以作为高阻抗输入。 P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位
15、双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。 P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O 端口。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。 P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会 输出一个电流。 P3 端口(P3.0P3.7,1017 引脚) :P3 是一个带内部上拉电阻的 8 位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻
16、把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。 RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。 ALE/ROG(30引脚)地址锁存控制信号:(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚(ROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将
17、无效。 外部程序存储器选通信号(SEN)是外部程序存储器选SEN(29引脚):当 AT89C51RC从外部程序存储器执行外部代码时,SEN在每个机器周期被激活两次,而访问外部数据存储器时,SEN将不被激活。A/VPP(31引脚)访问外部程序存储器控制信号:为使能从0000H到FFFFH的外部程序存储器读取指令,A必须接 GND。注意加密方式1时,A将内部锁定位RESET。为了执行内部程序指令,A应该接VCC。在 Flash编程期间,A也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。2.2 CAN总线控
18、制器模块CAN总线控制部分的电路图如下所示:图4 CAN总线部分电路图2.2.1 SJA1000简介本系统选择的CAN控制芯片是SJA1000,它是Philips半导体公司PCA82C200 CAN 控制(BasicCAN)的替代产品,而且它增加了一种新的操作模式PeliCAN,这种模式支持具有很多新特性的CAN 2.0B协议。其引脚图及内部功能块图分别如图5和图6。管脚定义见表1。图5 SJA1000芯片引脚图图6 SJA1000芯片内部引脚图表1管脚定义符号引脚说明AD7-AD02,1,28-23多路地址、数据总线ALE/AS3ALE输入信号(Intel模式)AS输入信号(Motorola
19、模式)/CS4片选输入,低电平允许访问SJA1000(/RD)/E5微控制器的/RD信号(Intel模式)或E使能信号(Motorola模式)/WR6微控制器的/WR信号(Intel模式)或/RD(/WR)信号(Motorola模式)CLKOUT7SJA1000产生的提供给微控制器的时钟输出信号,时钟信号来源与内部振荡器且通过编程驱动;时钟控制器寄存器的时钟关闭位可禁止该引脚Vss18接地XTAL1 9输入到振荡器放大电路;外部振荡信号由此输入XTAL210振荡放大电路输出;使用外部振荡信号左开路输出MODE11模式选择输入1=Intel模式 0=Motorola模式VDD312输出驱动的5V
20、电压源TX013从CAN输出驱动器0输出到物理线路上TX114从CAN输出驱动器1输出到物理线路上Vss315输出驱动器接地/INT16中断输出,用于中断微控制器:/INT在内部中断寄存器各位都被置位时低电平有效;/INT是开漏输出,且与系统中的其他/INT是线或的;此引脚上的低电平可以把IC从睡眠模式中激活/RST17复位输入,用于复位CAN接口(地低电平有效);把/RST引脚通过电容 连到Vss,通过电阻连到VDD可自动上电复位VDD218输入比较器的5V电压源RX0RX119,20从物理的CAN总线输入到SJA1000的输入到SJA1000的输入比较器;支配(控制)电平将会唤醒SJA10
21、00的睡眠模式;如果RX1比RX0的电平高,就读支配(控制)电平,反之读弱势电平;如果时钟分频寄存器的CBP位被置位,就旁路CAN输入比较器以减少内部延时;这种情况下只有RX0是激活的,弱势电平被认为是高而支配电平被认为是低Vss221输入比较器的接地端VDD122逻辑电路的5V电压源SJA1000控制器中的各个控制块的功能主要有:1.接口管理逻辑(IML)接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。2.发送缓冲器(TXB)发送缓冲器是CPU和位流处理器BSP之间的接口,能够存储发送到CAN网络上的完整信息,缓冲器长13个字节,由CPU写入BSP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专题 资料 2021 2022 CAN 总线 设计
限制150内