基于can总线八路开关量输入模块设计大学毕设论文.docx
《基于can总线八路开关量输入模块设计大学毕设论文.docx》由会员分享,可在线阅读,更多相关《基于can总线八路开关量输入模块设计大学毕设论文.docx(72页珍藏版)》请在冰点文库上搜索。
基于can总线八路开关量输入模块设计大学毕设论文
唐山学院
毕业设计
设计题目:
基于CAN总线八路开关量输入模块设计
机电工程系
06测控技术与仪器
(1)班
系别:
_________________________
班级:
_________________________
姓 名:
______________________
指导教师:
______________________
2010年6月8日
基于CAN总线八路开关量输入模块设计
摘要
开关量属于数字信号的一种,现代工农业和生活商业场所需要处理大量的开关量信号,如楼宇智能安全监控,运转机械的轴温,轴振动监测,江河汛期水位的报警信号,电动机的开停等等。
本文在分析了CAN总线工艺和工作原理的基础上,设计了八路开关量输入模块系统,重点介绍了CAN总线智能节点程序硬件的的设计,使模块实现设计目的性能可靠。
开关量信号由单片机P2口输入,CAN总线系统智能节点电路主要由四部分构成:
微控制器89C51、独立CAN通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器6N137。
微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。
SJA1000的AD0~AD7连接到89C51的P0口。
CS连接到89C51的P1.6,P1.6为0的CPU片外存储器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读写操作。
SJA1000的RD、WR、ALE分别与89C51的对应引脚相连,INT接89C51的INT0。
89C51也可通过中断方式访问SJA1000。
本文所述的研究工作对CAN总线八路开关量输入模块的工作过程作了详细阐述,分析了CAN总线八路开关量输入模块工作原理,完成了系统硬件和软件的设计。
其中硬件设计主要包括主要电气元件的选型、元件之间的通讯连接等。
软件设计主要包括CAN初始化程序,CAN中断程序,数据收发程序等、电气接线图的绘制以及仿真画面的实现。
关键词:
CAN总线开关量信号微控制器AT89C51
CANbusbasedeight-waydigitalinputmoduledesign
Abstract
Binarydigitalsignalisakindofmodernindustryandagricultureandlivingplacesofbusinesstodealwithalargenumberofbinarysignals,suchasbuildingintelligentsafetymonitoring,operatingmachinery,axletemperature,shaftvibrationmonitoring,riverfloodwaterlevelofthealarmsignal,themotoropenStopandsoon.BasedontheanalysisoftheCAN-bustechnologyandtheworkingprinciple,thedesignoftheeight-waydigitalinputmodulesystem,focusingontheCANbusintelligentnodehardwaredesignprocess,sothatthemoduleisdesignedtoachievereliableperformance.
SwitchsignalinputportP2bytheMCU,CANbussystemintelligentnodecircuitmainlyconsistsoffourparts:
micro-controller89C51,independentCANcommunicationcontrollerSJA1000,CANbustransceiver82C250andhigh-speedoptocoupler6N137.89C51microprocessorisresponsiblefortheinitializationofSJA1000,SJA1000achievedbycontrollingthereceiveandtransmitdatasuchascommunicationtask.
SJA1000,AD0~AD7theP0porttoconnecttothe89C51.CSconnectedtothe89C51oftheP1.6,P1.6to0CPUchipmemoryaddressoptionalintheSJA1000,CPUSJA1000theseaddressescanperformtheappropriatereadandwriteoperations.SJA1000,RD,WR,ALEand89C51wereconnectedtothecorrespondingpin,INT89C51thentheINT0.89C51canalsobeinterruptedaccessSJA1000.
ResearchdescribedinthisarticleontheCANbuseight-wayswitchinputmoduleoftheworkingprocesswerediscussedindetail,analyzestheCANbuseight-waydigitalinputmoduleworks,thecompletionofthesystemhardwareandsoftwaredesign.Hardwaredesignwhichincludesthemainelectricalcomponentsoftheselection,thecommunicationconnectionsbetweencomponents.
SoftwaredesignincludesinitializationCAN,CANinterruptprocess,procedures,datatransceivers,electricalwiringdiagramoftherealizationandthesimulationscreen.
Keywords:
CANbusswitchsignalmicrocontrollerAT89C51
1绪论
1.1课题背景
在80年代中期,为了满足不同自动化领域的应用需求,出现了拥有不同技术特点的现场总线。
每一种现场总线都有自己的应用领域,并且都力图拓展其应用领域,以扩张其技术垄断范围。
但控制器局部网(CAN-CONTROLLERAREANETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。
控制器局部网将在我国迅速普及推广。
随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。
由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:
控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。
分散式工业控制系统就是为适应这种需要而发展起来的。
这类系统是以微型机为核心,将5C技术--COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION(通信技术)、CRT(显示技术)和CHANGE(转换技术)紧密结合的产物。
它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。
同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。
控制器局部网CAN(CONTROLLERAERANETWORK)正是在这种背景下应运而生的。
CAN(ControllerAreaNetwork)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局域网。
由于其卓越的性能,极高的可靠性,独特灵活的设计和低廉的价格,现已广泛应用于工业现场控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域。
CAN已被公认为几种最有前途的现场总线之一。
CAN总线规范已被ISO国际标准组织制订为国际标准。
CAN协议也是建立在国际标准组的开放系统互联参考模型基础上的,主要工作在数据链路层和物理层。
用户可在其基础上开发适合系统实际需要的应用层通信协议,但由于CAN总线极高的可靠性,从而使应用层通信协议得以大大简化。
1.2CAN总线技术概述
1.2.1CAN总线开关量输入模块技术背景及其技术优点
测控系统中常应用各种按键.继电器和无触点开关来大量处理开关量信号。
另外现代工业生产中多实现自动化生产,在集散控制系统中需要处理大量的开关信号,例如监测温度,轴震动,位移等各种报警信号。
现代楼宇中的各种安全监控报警等。
实现如此多而又不可忽略的开关量信号,一般需要用到现场总线,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高、传输距离远、传输速率快、有较强的抗电磁干扰能力,等诸多特点的一种已形成国际应用最广泛的标准现场总线。
这些也是目前CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。
1.2.2CAN总线智能节点技术原理
CAN总线系统智能节点电路主要由四部分构成:
微控制器89C51、独立CAN通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器6N137。
微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。
SJA1000的AD0~AD7连接到89C51的P0口。
CS连接到89C51的P1.6,P1.6为0的CPU片外存储器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读写操作。
SJA1000的RD、WR、ALE分别与89C51的对应引脚相连,INT接89C51的INT0。
89C51也可通过中断方式访问SJA1000。
为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连,这样就很好地实现了总线上各CAN节点间的电气隔离。
不过,应该特别说明的一点是光耦部分电路所采用的两个电源VCC和VDD必须完全隔离,否则采用光耦也就失去了意义。
电源的完全隔离可采用小功率电源隔离模块或带多5V隔离输出的开关电源模块实现。
这些部分虽然增益了节点的复杂程序,但是却提高了节点的稳定性和安全性。
82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施。
82CF250的CANH和CAHL引脚各自通过1个100Ω的电阻与CAN总线相连。
电阻可起到一定的限流作用,保护82C250免受过流的冲击。
CANH和CANL与地之间并联了2个30pF的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。
另外,在两根CAN总线接入端与地之间分别反接了1个保护二极管,当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。
82C250的Rs脚上接有一个斜率电阻,电阻大小可根据总线通信速度适当高调整,一般在16~140kΩ之间。
1.2.3现场总线的发展前景
近年来,现场总线标准及其技术已经逐渐成为全世界自动控制领域关注的一个焦点,是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。
甚至有人预言:
21世纪是现场总线的世纪。
这是因为:
现场总线标准将开辟过程控制的新纪元;
现场总线将对传统的控制系统结构带来根本性变革;
目前所做出的有关现场总线的决定将在未来的几十年中影响控制领域;
现场总线将在很大程度上改变现有的所有实现控制和维护的方法;
由此可以预见在不久的将来,现场总线将进入飞速发展期,其主要发展趋势为:
(1)FCS将会在一定的时期内成为主流控制系统。
FCS是在DCS的基础上发展起来的,FCS顺应了自动控制系统的发展潮流,它必将替代DCS,这已是业内人士的基本共识。
然而,任何新事物的产生与发展都是在对旧事物的扬弃中进行的,FCS与DCS的关系也不例外。
FCS代表潮流与发展方向,而DCS则代表传统与成熟,特别是在现阶段,FCS尚没有统一的国际标准,DCS则以其成熟的发展、完备的功能及广泛的应用而占据着一个尚不可完全替代的地位。
而且DCS也正在朝开放性、分散性和可互操作方向发展。
所以就目前现状看,工业控制处在DCS本身成熟和FCS发展的过程中,智能I/O是DCS向现场总线的一种过渡。
远程智能I/O以其可靠性高、分散性好,而具备了现场总线的某些性能。
所以,现场总线将影响今后几十年内自动控制技术的发展,并和DCS长期共存,且必将会在一定的时期之后取代DCS成为主流控制系统。
(2)现场总线技术与计算机通信技术的紧密结合。
随着商用计算机领域的局域通信逐步被以太网垄断,过程控制领域中上层的通信也逐步统一到以太网和快速以太网。
由于因特网的快速发展,人们通过因特网访问控制系统,进行远程诊断、维护和服务的愿望越来越强烈,因此TCP/IP协议也进入过程控制领域。
实际上我们现在就可以看到通过因特网访问现场仪表的事例。
例如MAZRK公司的数控机床的售后维护已有30%可以通过因特网实施,但所有这些仅限于故障诊断或维护等实时性要求很低的工作。
工业过程的现场总线控制不会被计算机通信技术取代,这是因为现场总线与一般计算机通信在功能、要求和结构上有所不同。
从功能上讲,计算机通信的基本功能是可靠地传递信息。
而现场总线的功能有:
一是经济、安全、可靠地传递信息;二是正确使用所传信息;三是及时处理所传信息。
从要求上讲,对计算机通信的主要性能要求是快;对现场总线不仅要求传输速度快,在过程控制领域还要求响应时间短,即实时性要求高,以及巡回时间短,过程控制系统希望最长巡回时间是预先可知的,并小于一定值。
从结构上讲,计算机通信系统的结构是网络状的,从一点到另外一点的通信路径可以是不固定的;而大部分现场总线的结构是线状的,虽然现场总线的拓扑结构可以是总线型、星型、环行、回路型等;但在大多数现场总线中,从一点到另外一点的通信路径是比较固定的。
因此这两种技术的结合可以取长补短,发挥优势,大大提高工控系统的性能。
1.3本文的主要工作
本文的主要工作包括:
(1)CAN总线结构的工艺分析和八路开关量的设计。
(2)电气元件的选型、元件之间的通讯连接。
(3)编写CAN总线程序。
(4)在现实基础上对单片机功能进行仿真。
2系统总体设计
该模块设计的是一种基于CAN的开关量采集模块,在设计开关量输入模块之前,需开关量处理和CAN总线工艺和工作原理,以便明确该模块各过程的具体接线要求,为开关量输入模块设计奠定坚实的基础。
本设计通过CAN总线实现了八路开关量的采集传输,克服了传统总线的缺点。
具有如下特点:
废除传统的站地址编码,代之以对通信数据块进行编码,
该系统包括开关量采集、CAN智能节点和软件程序设计三部分
2.1CAN总线智能节点原理
节点的硬件电路主要有ATMEL公司生产的8位单片机AT89C51和CAN控制器SJA1000两部分组成:
其中AT89C51单片机作为节点的智能处理器,PHILIPS公司的SJA1000作为节点的通信控制器,下面对主要器件的功能特点作一介绍。
单片机AT89C51属标准型,芯片价格低廉,引脚与80C51完全兼容。
片上外围资源丰富,片内具有41d3的FlashROM程序存贮空间,这不仅给程序修改带来极大方便,而且避免了外部ROM扩展,降低了节点成本和线路复杂性,提高了电路可靠性。
另外AT89C51具有在片程序和ROM两级保密系统,可防止程序被非法剽窃。
SJA1000是PHILIP公司推出的功能很强的CAN控制器,片内含信息缓冲、位流处理、位定时逻辑、接收滤波、错误管理逻辑等电路,并配置有丰富的功能寄存器。
可完成数据成帧、总线填充、错误检测、总线仲裁及错误界定处理等CANi规范。
具有BasicCAN和PeliCAN两种工作模式
82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施。
82C250的CANH和CANL引脚各自通过一个电阻与CAN总线相连,电阻可起到一定的限流作用,保护82C250免受过流的冲击。
2.2系统结构
CAN通信接口
图1系统结构框图图
开关量输入子模块利用继电器输入,转变为与单片机匹配的电压信号,开关量输出模块的功能是通过模块来输入开关量以实现控制或显示,例如用来驱动发光二极管显示某种状态,通过PWM控制电机,继电器的通断具体操作是将现场的开关量信号传来的数据通过CAN智能节点传输到CAN总线上。
3硬件设计
构造基于CAN总线八路开关量输入模块分为两部分:
(1)八路开关量的输入子模块
从现场发送来的开关量信号经过光电藕使现场设备与CAN智能节点隔离,并起到防干扰,匹配电平的功能,然后通过继电器驱动,输入到单片机P2口,这项工作相对容易,主要注意电路接口电平匹配,以及一些保护隔离电路的选型。
(2)CAN总线智能节点设计
CAN总线技术已比较成熟,智能节点设计已经规范化,主要包括主处理器,CAN总线控制器与CAN总线收发器,主处理器作为CAN智能节点的核心一般选用51系列单片机,CAN总线控制器种类比较单一,用于处理八路开关量信息一般可选用比较简单的芯片,CAN总线收发器是与之配套的82C250。
基于以上的考虑,我们的硬件设计主要是对各种产品、模块的选择。
3.1CAN总线智能节点设计
3.1.1单片机的定义与特点
单片机也被称为微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
2.在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管
芯片
理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
6.在各种大型电器中的模块化应用
某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。
如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
如:
音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。
在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。
7.单片机在汽车设备领域中的应用
单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
3.1.2本设计采用的AT89C51单片机简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
1.主要特性:
·与MCS-51兼容
·4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P