您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 基于CAN总线的数据采集系统
1基于CAN总线的数据采集系统前言(一)背景随着汽车工业的发展,20世纪80年代中期,率先由Bosch公司研发出新一代的汽车总线即控制器局域网(ControllerAreaNetwork,简称:CAN总线或CAN-bus),CAN总线具有布线简单、典型的总线型结构、可最大限度的节约布线与维护成本、稳定可靠、实时、抗干扰能力强、传输距离远等特点,这些都决定了CAN总线必定是一种成功的总线。一经推出不仅在汽车行业得到广泛的推广与应用,在诸如航天、电力、石化、冶金、纺织、造纸等领域也得到广泛应用。在自动化仪表、工业生产现场、数控机床等系统中也越来越多的使用了CAN总线,CAN总线在未来的发展中依然充满活力,有着巨大的发展空间。由于CAN总线本身只定义ISO/OSI模型中的第一层(物理层)和第二层(数据链路层),通常情况下CAN总线网络都是独立的网络,所以没有网络层。在实际使用中,用户还需要自己定义应用层的协议,因此在CAN总线的发展过程中出现了各种版本的CAN应用层协议,现阶段最流行的CAN应用层协议主要有CANopen、DeviceNet和J1939等协议。而本设计采用的协议时CANopen。(二)概述控制器局部网(CAN-CONTROLLERAREANETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。控制器局部网将在我国迅速普及推广。随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将5C技术--COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION(通信技术)、CRT(显示技术)和CHANGE(转换技术)紧密结合的产物。它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。典型的分散式控制系统由现场设备、接口与计算设备以及通信设备组成。现场总线2(FIELDBUS)能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。现场总线的研究与应用已成为工业数据总线领域的热点。尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格比将吸引众多工业控制系统采用。同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。控制器局部网CAN(CONTROLLERAERANETWORK)正是在这种背景下应运而生的。由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年9月PHILIPSSEMICONDUCTORS制订并发布了CAN技术规范(VERSION2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,能提供11位地址;而2.0B给出了标准的和扩展的两种报文格式,提供29位地址。此后,1993年11月ISO正式颁布了道路交通运载工具--数字信息交换--高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。3一、总体方案设计(一)方案论证方案一:单片机AT89C51属标准型,芯片价格低廉,引脚与80C51完全兼容。片上外围资源丰富,片内具有41d3的FlashROM程序存贮空间,这不仅给程序修改带来极大方便,而且避免了外部ROM扩展,降低了节点成本和线路复杂性,提高了电路可靠性。另外AT89C51具有在片程序和ROM两级保密系统,可防止程序被非法剽窃。SJA1000是PHILIP公司推出的功能很强的CAN控制器,其内部结构见图2。片内含信息缓冲、位流处理、位定时逻辑、接收滤波、错误管理逻辑等电路,并配置有丰富的功能寄存器。可完成数据成帧、总线填充、错误检测、总线仲裁及错误界定处理等CAiN规范。方案二:采用Luminary公司基于ARM®CortexTM-M3的控制器LM3S5749。LuminaryMicroStellarisTM系列的微控制器是首款基于ARM®CortexTM-M3的控制器,它将高性能的32位计算引入到对价格敏感的嵌入式微控制器应用中。这些堪称先锋的器件拥有与8位和16位器件相同的价格,却能为用户提供32位器件的性能,而且,所有器件都是小型封装形式提供。LuminaryMicro提供一套完整的解决方案以便快速进入市场,包括用户开发板、白皮书和应用手册,以及强大的支持、销售和分销商网络。所以,我们这里就采用M3来实现CAN总线的数据采集。(二)系统框图如图1:MCULM3S5749温度采集电源按键电路显示电路串口时钟电路存储电路报警电路模拟控制电路CANbus接口图1系统框图二、硬件电路的设计外围电路包括:电源电路、温度采集、时钟电路、存储电路、报警电路、模拟控制4电路、按键电路、显示电路以及串口等电路。下面将依次对各个模块进行说明。(一)电源电路电源变压器是将交流电网220V的电压变为所需要的电压值。交流电经过二极管整流之后,方向单一了,但是电流强度大小还是处在不断地变化之中。这种脉动直流一般是不能直接用来给集成电路供电的,而要通过整流电路将交流电变成脉动的直流电压。由于此脉动的直流电压还含有较大的纹波,必须通过滤波电路加以滤除,从而得到平滑的直流电压。滤波的任务,就是把整流器输出电压中的波动成分尽可能地减小,改造成接近稳恒的直流电。但这样的电压还随电网电压波动,一般有10%左右的波动,负载和温度的变化而变化,因而在整流、滤波电路之后,还需要接稳压电路。稳压电路的作用是当电网电压波动,负载和温度变化时,维持输出直流电压稳定。220V交流电通过9V变压器变为9V的交流电,9V交流电通过四个二极管的全桥整流后变为9V直流电,然后经过电解电容(470μF)进行一级滤波,以去除直流电里面的杂波,防止干扰。9V直流电出来后再经过三端稳压器LM7805稳压成为稳定的5V电源,其中7805的Vin脚是输入脚,接9V直流电源正极,GND是接地脚,接9V直流电源负极,Vout为输出脚,它和接地脚的电压就是+5V了。5V电源出来再经过电解电容的二级滤波,使5V电源更加稳定可靠。同时在5V稳压电源加上一个10K的电阻和一个红色发光二极管,当上电后,红色发光二极管点亮,表示电源工作正常。此时一个稳定输出5V的电源已经设计好,对于本设计它完全能够满足单片机及集成块所需电源的要求。电源原理图如图2所示:图2电源原理图(二)复位电路所示为复位电路原理图,复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序,并使其它功能单元处于一个确定的初始状态。本复位电路采用的是按键复位,它是通过复位端经电阻与VCC电源接通而实现的,它兼具上电复位功能。因本系统的晶振的频率为12MHz,所以,复位信号持续时间应当5超过2μS才能完成复位操作。图3复位电路(三)CAN总线通讯电路图4CAN总线通讯接口(四)按键电路图5.4所示为键盘原理图,本系统采用的是独立式键盘结构,每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。它软件是采用查询式结构,首先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不6稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms。按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应的功能会反复执行,好象连续执行,在这里我们采用软件延时250ms,当按键没释放则执行下一条对应程序。利用连击功能,能实现快速调时操作。单片及应用系统中,键盘扫描只是CPU的工作内容之一。CPU忙于各项任务时,如何兼顾键盘的输入,取决于键盘的工作方式。考虑仪表系统中CPU任务的份量,来确定键盘的工作方式。键盘的工作方式选取的原则是:既要保证能及时响应按键的操作,又不过多的占用CPU的工作时间。键盘的工作方式有:查询方式(编程扫描,定时扫描方式)、中断扫描方式。矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上节省I/O口。按键电路如图16图5按键电路(五)JTAG下载电路JTAG是英文“JointTestActionGroup(联合测试行为组织)”的词头字母的简写,该组织成立于1985年,是由几家主要的电子制造商发起制订的PCB和IC测试标准。JTAG建议于1990年被IEEE批准为IEEE1149.1-1990测试访问端口和边界扫描结构标准。该标准规定了进行边界扫描所需要的硬件和软件。自从1990年批准后,IEEE分别于1993年和1995年对该标准作了补充,形成了现在使用的IEEE1149.1a-1993和IEEE1149.1b-1994。JTAG主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。7图6JTAG电路(六)LM3S6965介绍如图18所示为LM3S6965芯片的引脚图8图7AT89S52引脚图LuminaryMicro公司Stellaris®所提供一系列的微控制器是首款基于ARM®Cortex™-M3的控制器,它们为对成本尤其敏感的嵌入式微控制器应用方案带来了高性能的32位运算能力。这些具备领先技术的芯片使用户能够以传统的8位和16位器件的价位来享受32位的性能,而且所有型号都是以小占位面积的封装形式提供。该Stellaris®系列芯片能够提供高效的性能、广泛的集成功能以及按照要求定位的选择,适用于各种关注成本并明确要求具有的过程控制以及连接能力的应用方案。该Stellaris®LM3S1000系列使用更大的片上存储器、增强型电源管理和扩展I/O以及控制功能来扩展Stellaris®家族。该Stellaris®LM3S2000系列是针对控制器局域网(CAN)应用方案而设计的一组芯片,它在Stellaris系列芯片的基础上扩展了BoschCAN网络技术——短距离工业网络里的黄金标准。该Stellaris®LM3S2000系列芯片还标志着先进的Cortex-M3内核和CAN能力的首次结合运用。该Stellaris®LM3S6000系列芯片结合了10/100以太网媒体访问控制(MAC)以及物理层(PHY),标志着ARMCortex-M3MCU已经具备集成连接能力,还是唯一集成了10/100以太网MAC和PHY物理层的ARM架构MCU。该Stellaris®LM3S8000系列结合了Bosch控制器局域网技术和10/100以太网媒体访问控制(MAC)以及物理(PHY)层。该LM3S5749微控制器是针对工业应用方案而设计的,包括远程监控、电子贩售机、测试和测量设备、网络设备和交换机、工厂自动化、HVAC和建筑控制、游戏设备、运动控制、医疗器械、以及火警安防。至于那些对功耗有特别要求的应用方案,LM3S5749微控制器还具有一个电池备用的休眠模块,从而有效的使LM3S5749芯片在未被激活的时候进入低功耗状态。一个上电/掉电序列发生器、连续的时间计数器(RTC)、一对匹配寄存器、一个到系统总线的APB接口以及专用的非易失性存储器、休眠模块等功能组件使LM3S5749微控制器极其适合用在电池的应用中。除此之外,该LM3S5749微控制器的优势还在于能够方便的
本文标题:基于CAN总线的数据采集系统
链接地址:https://www.777doc.com/doc-2568827 .html