微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PIC18F258单片机的ANopen协议监控面板设计

基于PIC18F258单片机的ANopen协议监控面板设计

时间:11-19 来源:互联网 点击:
  虚拟仪器是电子测量技术与计算机技术深层次结合的产物,通过软、硬件的结合来实现传统仪器的各种功能,大大突破了传统仪器在数据处理、显示、传送、存储等方面的限制,使用户可以方便地对仪器进行维护、扩展和升级。用户通过友好的图形界面来操作虚拟仪器的面板就如同操作真实仪器一样方便。CAN协议只定义了物理层和数据链路层,本身并不完整,有些复杂的应用问题需要一个更高层次的协议——应用层协议来实现。CANopen协议就是将CAN网络中通信数据的组建和传输进行标准化,并给用户很大的自由度,允许用户随时添加自己所需要的新功能。

本文将虚拟仪器技术应用于CANopen协议开发,有利于实现分布式工业现场的实时监控、数据采集,改善现场总线网络通信系统的运行效率,提高实时性和信息处理能力。

1 CANopen协议概述

CANopen协议是由CiA协会针对CAN协议的不完整性而定义出来的一个更高层次的协议——应用层协议。不同CANopen设备间的通信都是通过交换通信对象完成的。

1.1 通信对象

通过CAN网络传输的CANopen通信对象可以通过服务和协议来描述。分类为:实时数据通过过程数据对象(PDO)协议传输;服务数据对象(SDO)协议用来对对象字典进行读写操作;特殊功能对象协议提供了特定应用,网络同步,时间戳和紧急报文传输;网络管理(NMT)协议提供了网络初始化,错误控制和设备状态控制服务;层设置服务(LSS)协议用来配置CAN总线通信参数和设备参数。

1.2 CANopen预定义连接集

为了减少简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN-ID)分配表。这些标识符在预操作状态下可用,通过动态分配还可修改他们。CANopen设备必须向它所支持的通信对象提供相应的标识符。缺省ID分配表是基于11位的CAN-ID,包含一个4位的功能码(Function Code)部分和一个7位的节点ID(Node-ID)部分。

Node-ID由系统集成商定义,范围是1~127(0不允许使用)。预定义的连接集定义了4个接收PDO(Receive-PDO),4个发送PDO(Transmit-PDO),1个SDO(占用2个CAN-ID),1个紧急对象和1个节点错误控制ID。也支持不需确认的NMT-Module-Control服务,SYNC和Time Stamp对象的广播。标识符的默认值如表1,表2所示。

2 CANopen监控面板工控现场应用框架

采用虚拟仪器软件LabVIEW进行CANopen协议监控面板的开发,完成CANopen数据的接收与发送,实现分布式工控现场总线网络的数据监测。LabVIEW是NI公司开发的虚拟仪器应用程序编程环境,是一种图形化编程语言,特别适合开发测控应用软件,其具有所有通用编程环境的标准,如数据结构、循环结构和事件处理。其内置各种专业工具软件包可满足工程应用开发。应用示意见图1,通过RS 232-CAN协议转换器实时监测现场总线上各节点的数据,完成控制任务。



3 RS 232-CAN协议转换器

虚拟仪器LabVIEW软件及PC机内部没有专门的CAN接口只有RS 232串行接口,因此使用单片机微控制器设计RS 232-CAN转换器,实现PC机接入现场总线网络,完成数据监听。在PC机上可用LabVIEW环境下的NI-VISA实现串口通信。图2为RS 232-CAN协议转换器硬件原理图,选用内嵌CAN总线控制器的Microchip公司PIC18F258单片机为核心处理芯片。

ADuM1100高速数字隔离器支持100 Mb/s数据传输速率并且可以采用3.0~5.5 V单电源供电,以一种新的更有效的传输数据的方法替代传统的光耦合器,从而保护了高电压和低电压电气环境之间的接口。MCP2551是一种可容错的高速CAN收发器,可作为CAN协议控制器和系统物理总线的接口。MAX232用于完成RS 232与TLL/CMOS的电平转换。RS 232接口用于连接PC机。当单片机内部CAN总线控制器收到CAN总线上的信号后通过USART接口传给PC机的RS 232接口,同样PC机把数据通过RS 232接口发给单片机,再发送到CAN总线上。单片机负责实现通信协议的转换,转换RS 232串口通信数据与CAN通信数据。

4 虚拟仪器上位机监控面板开发

LabVIEW程序开发主要包括三方面内容:CANopen监控面板主程序、数据发送模块和数据接收模块。其中,数据接收和发送模块作为子VI供监控面板主程序调用。

4.1 CANopen主控面板程序设计

主控面板的设计主要包括:CANopen报文的组建及打包发送,以及CANopen报文的接收显示。

4.1.1 CANopen报文打包

根据CANopen协议标识符分配表及主从节点设置定义了各报文的ID号,如图3所示,通过LabVIEW分支结构实现报文类型的选择,并按照CANopen协议数据帧格式要求定义了发送的数据内容,包括高低8位ID、数据长度、远程帧标志以及8 B数据

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top