基于CAN总线和CCll00芯片的嵌入式远程测控系统的设计

发布者:心有归属最新更新时间:2016-06-07 来源: elecfans关键字:CAN总线  CCll00芯片  远程测控系统 手机看文章 扫描二维码
随时随地手机看文章
  引言

  文中提出了一种基于无线测控的工业通信分布式网络模型,它将嵌入式技术、无线通信技术和自动控制技术有机地结合起来,采用两级组网方式,将有线与无线技术结合起来,并结合嵌入式硬件平台和无线通信模块,解决了数据采集系统和控制设备的数据传输问题。该系统实时性强、可靠性高、结构小巧、开发费用低廉,在现代工业测控系统已经发挥了经济效益。

  1、系统总体设计方案

  分布式网络模型实际方案如图1所示。

  


  图1 分布式网络模型实际方案

  该方案中,服务器采用嵌入式硬件平台,基于Linux操作系统,建立嵌入式Web服务器和分布式现场的测控应用程序。测控应用程序通过驱动CAN总线模块,以轮询方式实现嵌入式平台与终端节点之间的通信。数据采集器使用无线通信与各终端设备连接,通过无线传输方式负责对测控应用程序发出命令进行响应,启动无线通信过程,完成分布式现场的数据采集和控制动作执行。

  系统采用了分级组网的方式,由有线和无线通信两级网络组成。考虑到工业干扰比较严重,以及通信范围能有较大的冗余,嵌入式服务器与数据采集器之间使用有线网络,采用CAN总线传输。另外,系统使用了数据采集器作为中间媒介,将无线终端和ARM主控机连接在一起,解决了无线系统因受通信距离、空闯布局、外部干扰等因素的限制,致使无线通信的节点无法直接与主控机通信的问题。对附近的无线终端,数据采集器使用无线信道通信,对主控机,使用CAN连接,这样就较好地解决了应用环境对无线通信网络的不利影响。而且,更为重要的是,可根据实际需要使用你N个数据采集器分别挂在CAN总线上,采用N个频段传输,减少了无线通信中的冲突,增加了通信的可靠性。

  系统由客户端浏览器、嵌入式服务器平台、无线通信模块3部分组成。客户端浏览器是运行在桌面计算机中的通用浏览器应用程序;嵌入式服务器是以S3C2410A芯片为核心组建的网络服务平台;无线通信模块由数据采集器和终端节点2部分构成,是以CCll00无线通信芯片和8051F310单片机为核心构成的测控执行部件。其中嵌入式服务器平台是系统的核心部件,基于Linux操作系统,负责对现场设备进行测控数据的处理、存储、转发及与远程客户端浏览器的数据交互。

  通过公共网关接口CGI(Common Gateway Interface)实现嵌入式Web服务器和分布式现场的测控应用程序接口。CGI使编写的程序处理wwW上客户端送来的表单和数据,并对此做出响应,这样可使编写的程序和Web服务器间的接口标准化。

  嵌入式服务器正常工作要引入文件系统。Linux操作系统可以提供文件系统;同时利用Linux操作系统自身所带的TCP/IP协议栈,只要在应用层上利用操作系统提供的网络API编写服务器端程序即可,从而节省了开发时间。

  2、系统硬件设计

  对于一个嵌入式系统,硬件系统设计相当重要,一方面要考虑所选择的器件是否适合应用要求,硬件资源是否足够用来编程调试并保证系统性能优良;另一方面硬件资源要在满足系统需求前提下尽可能降低成本。考虑以上因素,服务器的硬件采用模块化设计,分为嵌入式服务器模块、CAN通信接口模块、无线测控模块3部分。

  2.1 嵌入式服务器模块设计

  该系统的嵌入式服务器平台的设计如图2所示。

  

 

  图2 嵌入式服务器设计方案

  基于S3C2410A扩展了CAN接口模块、sD卡等,CPU采用$3C2410A微处理器作为整个系统的控制核心。S3C2410A是基于ARM920内核开发的32位RISC微处理器,集成了丰富的外围功能模块,如以太网接121,便于低成本设计嵌入式应用系统。S3C2410A主要功能就是通过控制以太网接口芯片CS8900A及CAN通信接口芯片MCP2510的工作,实现CAN通信协议与以太网通信协议的转换,使远端用户借助浏览器经由Intemet对现场设备实施远程监控。

  2.2 CAN通信接口模块设计

  由于多数嵌入式处理器都不带CAN总线控制器,在嵌入式处理器的外部总线上扩展CAN总线接口芯片是通用的解决方案。设计采用了MCP2510芯片作为CAN总线的控制器,该芯片支持CAN2.0B标准。TJAl050作为CAN总线的收发器。

  MCP2510可在3-5.5 V范围内供电,因此能直接与3.3V I/0口的嵌入式处理器连接。系统结构简单,与处理器之间的SPI串行接口,减少了总线的物理连接,提高了系统的可靠性。

  S3C2410A带有SPI总线控制器,可直接与MCP2510连接。如图3所示。

  

 

  图3 嵌入式节CAN节电设计方案

  相关的资源有:在电路中使用了2410的一个扩展的L/O口作为片选信号,低电平有效;使用了2410的外部中断0作为中断引脚,低电平有效;16 MHz晶体作为输入时钟,MCP2510内部有振荡电路,用晶体可直接起振。

  中心模块端,可对C,8051F310采用模拟SPI口的方式与MCP2510连接。

  2.3 无线测控模块设计

  典型的无线结构包括一个无线发射器(包括数据源、调制器、RF源、RF功率放大器、天线、电源)和一个无线接收器BJ(包括数据接收电路、RF解调器、译码器、RF低噪声放大器、天线、电源)。发射器的数据通过无线发射出去,接收器天线接收后进行处理,得到经过校验的正确数据。

  系统中选用了CCll00射频芯片作为无线收发器,理由如下:

  (1) 该器件有着极为优秀的传输能力,空旷传输距离可以达到500m,加了PA的模块则可以达到1200m,完全满足了一般的工厂测控距离要求。

  (2) 2-FSK,GFSK和MSK支持,抗干扰能力极强,适用于工厂环境恶劣的生产车间。

  (3) CCll00是一种低成本、真正单片的UHF收发器,可以根据自己的需要配置MCU,使用灵活,且功耗很低,完全可以采用电池供电。

  (4) 它具有433/868/915 MHz3个波段载波频率,也可以容易地设置在300—348 MHz、400—464 MHz和800—928 MHz的其他频率上。

  该系统选用了C8051F310作为CCI 100的微控制器。它具有一个增强型外设接口(SPIO),具有访问一个全双工同步串行总线的能力,具有29个I/O端口、lO位逐次逼近型的ADC和一个25通道差分输入多路选择器,满足了作为数据采集的通常需求。

  CCll00模块与CPU是采用SPI口进行通信的,只需把CCll00的SPI口接到CPU的硬件SPI口上,另外,再将CCll00的GD00或GD02也接在CPU的任意引脚上。如果想要用中断处理收发数据或是想做无线唤醒的话,该引脚必须接在CPU的外部中断引脚上。如图4所示。

  

 

  图4 现场测控C8051F310与CC1100连接示意图

  微控制器除了完成基本的芯片初始化工作、数据的发送和接收之外,还需要根据需要在CCll00的引脚产生中断,并由所编写的中断管理程序进行状态检测以及切换,并执行相应的中断操作,使得无线通信可以在发射和接收以及待机之间切换。

  3、软件设计

  软件设计主要包括了CAN总线通信程序模块、无线通信部分等,其中驱动程序的设计是在LINUX下多任务操作系统下实现的,多任务系统中的CAN总线通信程序结构设计流程图。如图5所示。

  

 

  图5 多任务系统中的CAN总线通信程序结构

  CAN总线通信程序的设计可分为发送数据、接收数据和中断处理3个模块来实现。系统中CAN总线的数据发送和接收是两个不同的线程。在驱动程序中建立数据发送和接收缓冲区。中断处理程序只负责填充(或者读取)缓冲区中的数据,然后唤醒等待接收(或发送)数据的任务。数据的发送和接收都通过独立的缓冲区由中断来实现。操作系统的中断响应时间在软件上决定了CAN总线数据的最快收发速度。

  MCP2510的初始化,通过函数static int MCP—device—init(void)实现。可通过设置MCP2510中的CNFl、CNF2、CNF3 3个寄存器,实现不同时钟下CAN总线通信波特率的设置。

  对于无线通信模块,软件设计主要包括09051F310的初始化和CCI 100的初始化以及接收数据程序、发送数据程序,通过寄存器的配置实现其频率、通道、通信速率等的设置。函数void halRfWritePdSettings(RF SETHNGS木pRtSettings)即实现配置CCll00的寄存器的功能。发送数据通过函数void halRf-SendPacket(unsigned char譬txBuffer,unsigned char size)实现,接收数据通过函数unsigned char halRfBeceivePacket(unsigned char rxBuffer,unsigned char length)实现。在采集模块中为了做到低功耗还采用了随机定时唤醒功能,这样加上CCll00自带的CCA功能,可以最大限度地防止信息相撞,从而达到稳定可靠的通信状态。

  4、结束语

  基于CAN总线和无线技术的远程集中监控系统是数据采集、网络传输、计算机软件等多种技术的综合应用,适用于对远端现场环境进行实时监控,自动化管理,保障工业生产的安全稳定运行。而随着网络及通信技术的飞速发展,短距离无线通信以其特有的抗干扰能力强、可靠性高、安全性好、受地理条件限制较少、安装施工简便灵活等特点,在测控系统中的应用越来越广泛,如何根据实际需要选择合适的网络拓扑结构,开发自己的测控系统成为一个越来越广泛的课题。在该设计中采用的CCll00芯片有其局限性,只能实现星形组网,如果需要组建Mesh网络,可考虑把方案中的CCll00换成适用于ZIGBEE协议的CC2420芯片。

关键字:CAN总线  CCll00芯片  远程测控系统 引用地址:基于CAN总线和CCll00芯片的嵌入式远程测控系统的设计

上一篇:stm32的窗口看门狗的一点发现
下一篇:CAN/GPRS无线车载网关的设计与实现

推荐阅读最新更新时间:2024-03-16 14:56

STM32-(36):CAN总线(概述)
CAN 是 Controller Area Network 的缩写(以下称为 CAN) ,是ISO国际标准化的串行通信协议。 在当前的汽乍产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来 。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN 进行大量数据的高速通信”的需要,1986年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后, CAN 通过 ISO 1898及 ISO 11519进行了标准化,现在在欧洲已是汽车网络的标准协议。 现在, CAN 的高性能和可靠性己被认同,
[单片机]
STM32-(36):<font color='red'>CAN总线</font>(概述)
用LPC2119芯片CAN总线和DSl8B20设计的智能超声液位变送器
0 引言 现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、智能、双向、互连、多变量、多点、多站的通信网络。CAN(Controller Area Network,控制器局域网)是德国Bosch公司在80年代初为解决现代汽车中大量的控制与测试仪器之间的数据交换而提出的一种串行数据通信协议。CAN总线是国际上应用最广泛的现场总线之一,由于采用了许多新技术以及独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的性能,且可靠性、实时性和灵活性强。 近些年来,随着超声技术研究的不断深入,再加上其具有的高精度、无损、非接触等优点,超声的应用变得越来越普及。超声波液位测量有许多优点:检测元件可以不与被测介质接
[单片机]
用LPC2119<font color='red'>芯片</font><font color='red'>CAN总线</font>和DSl8B20设计的智能超声液位变送器
CAN总线协议学习笔记
1,基本概念: (1),报文:总线上的信息以不同格式的报文发送,但长度有限。当总线开放时,任何连接的单元均可开始发送一个新报文。 (2),信息路由:在CAN系统中,一个CAN节点不使用有关系统结构的任何信息,这里包含一些重要的概念:系统灵活性——节点可以在不要求所有节点及其应用层改变任何软件或硬件的情况下,被接于CAN网络。报文通信——一个报文的内容由其标示符ID命名,ID并不指出报文的目的,但描述数据的含义,以便网络中的所有节点有可能借助报文滤波决定该数据是否使它们激活。成组——由于采用了报文滤波,所有节点均可接受报文,并同时被相同的报文激活。数据相容性——在CAN网络中,可以确保报文同时被所有的节点或者没有节点接受,因此,系统
[嵌入式]
基于AVR单片机的船舶气象仪测试系统的设计与实现
船舶气象仪是船舶导航系统设备之一,可测量船舶所在位置海区的风速、风向、温度、湿度、气压等多项气象要素,可向船舶的导航系统传送实时的气象参数。船舶气象仪一旦出现故障,将会影响船舶操作人员对各种气象要素的估计和判断,甚至导致航行船舶失控、搁浅、触礁、倾覆等严重事故。为了保障船舶气象仪能够时刻处于良好的状态,需要先进的测试技术和便携式的测试设备对船舶气象仪的运行情况进行检测。但是,目前市面上还没有出现一套完整的测试系统来完成对现有船舶气象仪的检测任务,以满足船舶操作人员的使用和保障需求。针对目前船舶上普遍使用的气象仪器专门设计的船舶气象仪测试系统,能够很好地完成船舶气象仪的故障测试任务,缩短船舶气象仪的测试诊断时间,满足船舶气象仪的
[单片机]
基于AVR单片机的船舶气象仪测试系统的设计与实现
基于CDMA和CAN总线的车辆远程故障诊断系统
   1 引言   在美国制造和销售的所有的小汽车和轻型卡车从1996年1月1号起都必须装备有车载自动诊断系统(OBD-II)。然而OBD-II主要用于排放系统的诊断,车辆的其他各个子系统能被OBD-II诊断的比较少。虽然这些诊断码对诊断部分 故障是很有用的,但是这些信息还不足以有效的区分特定的故障部位。通过接入OBD-II接口的扫描工具能获得故障码,但是各个生产厂商提供的手持式扫描工 具与OBD-II通信的标准并不统一,欧洲和大部分亚洲国家使用ISO9141标准与OBD-II通信,而通用汽车的小汽车和轻型卡车则使用sae j1850 vpwm标准,福特公司采用sae j1850pwm标准。   这样就导致传统的汽车故障诊断有
[单片机]
基于CDMA和<font color='red'>CAN总线</font>的车辆<font color='red'>远程</font>故障诊断系统
技术文章—新能源汽车CAN总线如何进行错误处理?
摘要:本文介绍CAN总线关闭对新能源汽车的功能和安全性能产生的影响,并对此提出一些合理的建议。 2019年10月26日第三届中国(佛山)氢能源大会中展示了氢燃料电池城市客车,与目前的纯电动汽车和传统汽车相比,作为一种新的驱动形式出现。但是,新能源汽车整车网络的实现依旧离不开CAN总线通讯。 工程师们通过CAN总线读取车上的车速、转速等信号可以控制整车上众多的ECU单元。但是,你知道CAN总线关闭会对新能源汽车的功能带来哪些影响吗?本文来做详细分析。 一、为何CAN总线依旧能在新能源汽车中扮演重要角色? 从事汽车相关行业的小伙伴们,都知道CAN总线,它是当今汽车各电控单元之间通信的总线标准,现在几乎所有的汽车厂家都选
[汽车电子]
技术文章—新能源汽车<font color='red'>CAN总线</font>如何进行错误处理?
CAN总线在嵌入式平台中的应用
    随着集成电路和嵌入式电脑在汽车上的广泛应用,现代汽车上的电子控制器的数量越来越多,常见的有发动机的电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电动门窗装置、主动悬架等。电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。从布线角度分析,传统的电子气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成宠大的布线系统。因此,一种新的概念——汽车上电子控制器局域网络CAN,也就应运而生。为使不同厂家生产的零部件能在同一辆汽车上协调工作,必须制定标准。按照ISO有关标准,CAN的拓扑结构为总线式,因此称为CAN总线。CAN总线被设计作为汽车环境
[嵌入式]
一种基于CAN总线的DSP程序加载技术
摘要:为灵活方便地调试磁悬浮列车上众多基于DSP芯片的控制系统,介绍了一种基于CAN总线的DSP程序加载技术。该技术使对DSP芯片程序的加载可以脱离仿真器而直接受控于列车的主控机。该技术可靠性高、使用灵活方便,具有很强的实用性。 关键词:CAN总线 单片机 DSP HPI ISA 磁悬浮列车上有很多基于DSP芯片的模块和系统。目前, DSP芯片程序的加载与运行都主要依赖于仿真器,而DSP仿真器价格高、体积大,这使得磁悬浮列车系统的调试很不灵活方便;且这些基于DSP芯片的系统一旦脱离仿真器就只能运行事前载入的单一的程序,也使系统的灵活性受到了很大的限制。 本文研究了DSP芯片程序加载的基本原理,并根据这些原理,基于CAN总线,实现了
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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