SPMC65单片机在CAN总线智能节点中的应用

发布者:blazings最新更新时间:2011-10-20 关键字:SPMC65  CAN总线  智能节点 手机看文章 扫描二维码
随时随地手机看文章
1 Can总线概述
  CAN, 全称为“Controller Area Network”,是国际上应用最广泛的现场总线之一。20世纪80年代初,德国Bosch公司为了解决现代汽车中众多的控制与测试仪表之间的数据交换问题,开发出    CAN总线。CAN总线能有效支持分布式控制或实时控制的串行通信网络,具有抗干扰性强和使用可靠等优点,最初主要应用汽车工业,现在广泛应用于汽车工业、航空工业和工业控制等自动化领域,如分布式环境监测系统、温室环境监控系统、变电站变监测系统等。
  CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对数据的成帧处理,用户可在其基础上开发适应系统实际需要的应用层通信协议。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块编码,采用这种方法可使网络内节点个数在理论上不受限制,还可使不同的节点同时收到相同的数据。
  CAN总线提供高速数据传送,  在短距离(40m)条件下具有高速(1Mbit/s)数据传输能力,而在最大距离10000m时具有低速(5kbits/s)传输能力,极适合在高速的工业自控应用上,CAN总线可在同一网络上连接多种不同功能的传感器(如位置,温度或压力等)。
  CAN总线的其他特点如下:
  (1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信;
  (2)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps;
  (3)数据段长度最多为8个字节,可满足通常工业领域中控制命令,工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性;
  (4)CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
  CAN可以以多主方式工作,网络上任意节点均可以在任意时刻主动地向总线上其它节点发送信息,实现点对点、一点对多点及全局广播几种方式发送接收数据;CAN采用非破坏性总线仲裁技术,当两个节点同时向总线上发送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,节省了总线冲突仲裁时间。
  图1-1为一个CAN总线应用系统,主要有主机和各节点组成,主机和节点之间通过CAN收发器及CAN控制器相连,单个节点包括一个单片机控制器、一个CAN收发器和一个CAN控制器。其中一个典型的应用是:主机接收各节点发送的现场数据,如现场温度、电流或压力等参数,主机经过综合计算、判断作出相应的控制命令,这些命令将通过CAN总线传送至各节点。各节点由单片机作为控制器,它用于采集现场的各项参数,并执行主机发送的各项命令,这些命令将最终传送至各执行机构,如阀门、电机或泵等。

图1-1 CAN总线应用系统
  本文将介绍基于凌阳8位通用型工控单片机的CAN总线智能节点的设计。本文将阐述智能节点中的主控器SPMC65P2404A在本方案中的应用特点,及主控器与CAN总线控制器之间的通信。
 
2 芯片特性简介
  SPMC65P2404A是凌阳推出的8位工业控制单片机,最高工作频率为8MHz,工作电压3.0V~5.0V,有192字节的RAM和4K字节的OTP ROM,具备23个可编程IO口,内置上/下拉电阻,8通道10位A/D转换器(100KHz),SPMC65P2404其他特性包括:
  ◆凌阳科技8位单片机
    ☉182条指令
    ☉11种寻址模式
    ☉支持位操作(Set,Clear,Inverse,Test)
  ◆2个8位可编程定时器/计数器(可自动预置初始计数值)
    ☉普通的定时/计数器
    ☉具有8位捕获功能
    ☉具有8位比较功能
  ◆2个16位可编程定时器/计数器(可自动预置初始计数值)
    ☉普通的定时/计数器
    ☉具有8或16位捕获功能
    ☉具有16位比较功能
    ☉12位PWM输出
  ◆中断方式
    ☉支持IRQ和NMI中断
    ☉4种外部中断
    ☉12种内部中断
  ◆具有SPI总线:最高通信速率为2Mbps
  ◆5种复位功能:上电复位、低电压复位、看门狗复位、外部复位及错误地址复位
  ◆支持3种时钟电路:晶体振荡器、RC振荡、外部信号
  ◆2种低功耗模式:Halt模式和Stop模式 
  ◆一个蜂鸣器驱动输出口

3 智能节点硬件设计
  在工业控制中,通常需要进行电压、电流、温度等信号的实时采集、可靠传输和实时显示,实现了PC端对CAN智能节点的有效控制。为了达到工业控制上这些控制要求,CAN总线上的节点通常需要有微控器作为节点的主控器。主控器完成现场各项参数的采集、响应相关的外部事件、接受外部按键命令、产生驱动信号、显示相关参数及与CAN总线控制器通信。图3-1为SPMC65P2404A作为节点控制器,各个部件的连接示意图。

图 3-1 智能节点示意图
※ 数据采集部件:
  在工业控制现场,通常会有各类传感器,如电流互感器、温度传感器、压力传感器等,将现场的电流、温度及压力等参数转化为模拟电信号,这些模拟信号输入MCU中的A/D转换器,最终得到可传输的数字信号。SPMC65P2404A具有8通道10位精度的A/D转换器,并可以选择内部或外部参考电压,能够满足多通道、高精度的模数转换。
※ 现场人机交互部件:
  人机交互部件可以实现工作人员在现场对某个节点进行操作控制,人机交互部件包括键盘、红外遥控器、LED或LCD显示。比如,显示模块可以实时显示现场参数,工作人员操作键盘或遥控器上的某些按键,可以启动电机或电阀门等执行机构,使系统达到预设定的效果。
SPMC65P2404A具有多组捕获功能,使用捕获功能,可以很方便的实现红外信号解码。
※ 快速响应外部突发事件:
  在工业控制现场,突发事件保护机制非常重要。对现场的突发事件实行快速响应,并做出保护动作将使控制现场更安全。在节点设计中,可以使用MCU快速响应外部中断,在MCU的中断程序中,切断驱动信号的输出。SPMC65P2404A能够响应4个外部中断,并且每个外部中断可以设定为非屏蔽中断或屏蔽中断。
※ 产生执行机构的驱动信号:
  工业控制现场会有多种执行机构,如电机、电阀门等,正对各种每种执行机构,MCU会输出相应的驱动信号,以控制这些机构。SPMC65P2404A具有2路12位的PWM输出能力,有2路比较输出功能,同时,每个I/O口都具备驱动LED的能力。利用SPMC65P2404A的这些功能,并配合相应的驱动电路,就可以有效控制电机、电阀门等。
※ 节点通信连接:
  在智能节点的设计中,需要使用CAN控制器及CAN收发器,作为主控器与CAN总线之间的连接媒介。本智能节点使用MCP2510作为CAN控制器和PCA82C250作为CAN收发器。它们之间的连接是:MCU主控器通过SPI总线与CAN控制器通信,CAN控制器通过光电隔离器件与CAN收发器连接。SPMC65P2404A内部集成SPI总线,SPI总线支持全双工同步传输,具有主、从两种模式,最高通信速率为2Mbps。CAN控制器MCP2510也具备SPI总线。
 
4   智能节点软件设计
  智能节点程序包括主程序和中断程序两部分,主程序处理常规的数据采集及控制操作,中断程序则处理异常事件及红外信号解码。
  主程序包括系统初始化、按键扫描、红外信号处理、显示处理、电流信号采集、温度数据采集、压力信号采集、与CAN控制器通信、驱动信号产生等模块。程序流程图如图4-1所示:

图 4-1 主程序流程图
  主流程采用分时结构,在每个不同的时间片进行不同的工作。对主程序的循环时间实行定时,使得主程序每1ms循环一次。

关键字:SPMC65  CAN总线  智能节点 引用地址:SPMC65单片机在CAN总线智能节点中的应用

上一篇:基于SPMC75F2313A的直流伺服驱动器
下一篇:SPMC65P2408A单片机在报警主机中的应用

推荐阅读最新更新时间:2024-03-16 12:44

贝加莱产品在自动门控制系统中的应用
    在我们的日常生活中经常要跨越自动门。在极大程度上,我们只注意到它们不工作时的情况。瑞士的自动门制造商卡巴•吉尔根与伯切尔过程控制自动化专家一起给予这个问题专门的注意,使得在香港和台湾高雄地下铁路巨大的人流不再往回走。贝加莱(B&R)提供的灵活的自动化也起着重要的作用。     越来越多的地铁站台用自动门与轨道系统隔开。这样增加了安全性和舒适感,也节约了大量的能量,特别是对于那些由于高温需要对地铁系统冷却的地区。香港和台湾的高雄就是这样的情况。        每天在火车到达后门便自动打开,而在出发前门自动关闭。如果这些门中有一扇发生了故障,这就会大大影响乘客的安全,也影响这个地铁系统的运行。瑞士许瓦真堡的卡巴•吉尔根
[嵌入式]
基于CAN总线的分布式电池管理系统
   1  前言   随着高科技及其产业的迅速发展,大存储容量的电池组能源系统已经越来越被人们所重视,在很多领域中都得到广泛地应用,如在汽车产业发展的新方向、新热点——电动汽车及混合动力车的研究及产业化中,将作为车载能源的主要供给者。   蓄电池组是由一定数量的单体电池串联组成的,它可以进行百次至千次的充放电;在使用中必须注意其各个单体电池的各种特性、电池温度、电池的剩余电量及总电流等参数,因为这些参数直接影响电池的使用寿命,必须做到优化运行和有效监控,防止电池出现过充、过放及温度过高等问题,从而延长电池的使用寿命和降低成本,特别是提高电池的可靠性。可以把给电池组配套的电子、控制及数字技术称为数字“电池电子技术”。同样在汽
[嵌入式]
在LPC2131微控制器外部实现CAN总线通信设计
Philips公司的LPC213l是基于ARM7TDMI-S的高性能32位RISC微控制器。它具有ARM处理器的所有优点——低功耗、高性能和较为丰富的片上资源,但LPC2131内部没有集成CAN控制器,而无法利用CAN总线来进行通信。为了使得LPC2131能够利用CAN总线进行通信,可以通过外部扩展来实现其功能。目前,比较普通的方法是在LPC2131的外部采用CAN控制器设计CAN总线接口。LPC2131与CAN控制器的接口电路如图1所示。 这种方法中,LPC2131是通过GPIO口与CAN控制器SJA1000相连实现数据交互的。LPC2131通过寄存器IOSET/IOCLR来设定I/O口的高/低状态,虽然可以同时置位/拉低
[单片机]
在LPC2131微控制器外部实现<font color='red'>CAN总线</font>通信设计
CAN总线介绍
一、概述 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1 国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量数据的高速通信”的需要, 1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后, CAN 通过 ISO11898 及 ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。 现在, CAN 的高性能和
[嵌入式]
基于K线/CAN总线的KWP2000协议分析及其协议栈的开发与测试
 1 前言 在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,各大汽车公司几乎都制订了相关的标准和协议。其中,欧洲汽车领域广泛使用的一种车载诊断协议标准是KWP2000(Keyword Protocol 2000),该协议实现了一套完整的车载诊断服务,并且满足E-OBD(European On Board Diagnose)标准。KWP2000最初是基于K线的诊断协议,由于K线物理层和数据链路层在网络管理和通讯速率上的局限性,使得K线无法满足日趋复杂的车载诊断网络的需求。而CAN网络(Controller Area Network)由于其非破坏性的网络仲裁机制、较高的通讯速率(可达1M bps)和灵活可靠的通讯方式,在车
[嵌入式]
增加CAN总线节点数量的几个方法
常规CAN收发器支持的节点数最多为110个,但实际使用时需要合理的布局组网, 选用合适的收发器、线缆、匹配好终端等才能保证网络中的各个节点之间可靠通信。 一、影响CAN总线节点数的因素 影响总线节点数的因素有多种,本文我们从满足接收节点的差分电压幅值方面来讨论,只有满足了这个前提条件,我们才能考虑总线的其他因素如寄生电容、寄生电感对信号的影响。 1、发送节点的CAN接口负载 为何考虑CAN接口负载? CAN接口负载即为CANH、CANL之间的有效电阻值大小,该电阻会影响发送节点输出的差分电压的幅值,组网后网络中各个节点的负载电阻 RL接近,如图 1我们测试了CTM1051M小体积CAN隔离模块在不同负载下的输出差分电压幅
[网络通信]
增加<font color='red'>CAN总线</font><font color='red'>节点</font>数量的几个方法
示波器CAN总线数据解码方法
采用示波器侦测串口总线的通信是比较常用的一种解码技术。以Pico示波器为例,Pico示波器具有串行解码的功能,能够对CAN、FlexRay、 I2C、I2S、SPI、LIN或UART等串行总线进行解码。Pico示波器比较适合做串行解码,因为它们的深度存储器可以让软件采集较长时间、不间断的数据,尤其是6000系列能够在几秒内采集数千个数据帧存入到512M的样本存储器。下面将介绍如何用一个款Pico示波器进行CAN总线数据解码。 一、CAN总线解码概述 1、 CAN总线概念 数据通信时,物理线路上传输的信号是由一系列高低电平组成的,这些高低电平携带了我们所需要的信息,在数据接收端,我们需要将这些物理电平按照原始的编码规则进行解析,
[测试测量]
示波器<font color='red'>CAN总线</font>数据解码方法
基于CAN总线和DSP的起重机多功能安全监控系统
    摘要: 介绍了一种基于数字信号处理器ADSP2105和现场总线技术的起重机多功能安全监控系统。该系统由最小系统节点、智能节点和主节点等模块组成。各模块之间的通信利用控制器局域风(CAN)完成。该系统具有人机界面友好、保护功能完善、可靠性高等特点,并具有一定的自诊断功能。     关键词: 安全监控 数字信号处理器ADSP2105 控制器局域网(CAN) 起重机是工程建设中的必要设备之一,在施工中应用相当广泛。然而,起重机潜在的危险因素也较多,容易发生恶性事故。国家技术监督局先后专门制定和发布了《起重机设计规范》(GB3811-83)、《起重机械超载保护装置安全技术规范》(GB12602-90)、《起重机
[传感技术]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved