摘要:为了树立杰出的CAN总线网络通讯人机界面,能够经过通讯协议的转化和数据的通明传输,使PC机经过USB接口接入CAN通讯网络,成为CAN总线网络的一个通讯节点,便利对CAN通讯网络的监控和办理。
1 技能布景
近年来,跟着工业场合自动化技能的不断更新,工业现场的数据收集、数据传输、设备操控现已成为电子工程师研讨的重要课题。为了树立杰出的CAN总线通讯人机界面,能够经过通讯协议的转化和数据的通明传输,使PC机经过USB接口接入CAN通讯网络,成为CAN总线网络的一个通讯节点,便利对CAN通讯网络的监控和办理。本文介绍了依据ARM Cortex3的USB—CAN通明传输的一般思路和软硬件规划办法。
1.1 CAN总线协议
CAN总线是一种现场总线协议,现在在国内现已得到了广泛的运用和深化的研讨。与其他工业现场总线比较,CAN总线具有通讯速率高、简略完结、且性价比高级许多长处,现在现已成为工业现场总线的一种重要规范,在工业现场受到了广泛的运用,展现出微弱的市场竞争力。
CAN总线协议具有完好的处理工业现场通讯的技能手段,其在技能运用中具有以下优势:
(1)各类数据帧的树立便利,功用清楚。
(2)同一网络内的节点数多,能够满意绝大多数工业现场通讯网络对节点数量的需求。
(3)老练的节点标识符机制及总线结构,可满意在各节点之间完结自在通讯。
(4)信号的传输为差分方法,布线结构简略,本钱低价。
(5)在确保传输速率的前提下具有较大的传输间隔。
(6)操控芯片彻底商品化,可靠性高。芯片内部集成了过错监测机制和办理模块,具有极强的抗干扰才能。
1.2 USB通讯协议
USB的全称为“通用串行总线”。是一个外部总线规范,用于规范PC机与外部设备的衔接和通讯。其最大的特色是支撑设备的即插即用和热插拔功用。USB版别阅历了多年的开展,现已开展为3.1版别,成为当时PC机中的规范扩展接口。
USB总线的终端分为主机和设备。设备经过枚举的方法与主机衔接。USB支撑四种根本的数据传输方法:操控传输,等时传输,中止传输及数据块传输。依据不同的用处,挑选不同的传输方法。依据工业场合CAN总线网络中数据目标的特色,本项目中的USB—CAN通明传输卡将选用中止的方法进行数据传输。
2 体系开发概述
2.1 本技能在CAN通讯网络中的运用
在CAN总线通讯网络中,各个通讯节点经过总线的方法相连,USB—CAN通明传输卡的一端接入CAN总线,别的一端衔接PC机。经过USB—CAN卡的透传功用,PC机在CAN通讯网络中彻底等同于一个一般的通讯节点,完结了对网络的监控和办理。
2.2 开发需求概述
本项目开发的上位机渠道是WINDOWS体系下的MDK开发编译环境。硬件渠道为具有很强低功耗和处理才能的ARM Cortex3内核LM3S5956微处理器。为便利通讯测验,上位机需求装置相关数据监测软件。
3 硬件规划
硬件结构框图如图1所示,首要分为微处理器、接口及电源三部分。
LM3S5956微处理器作为数据处理的核心部件,其功用便是将USB和CAN接口接纳到的数据进行直接转发,与其他处理器比较,该处理器内置CAN操控器和USB操控器,引脚较少,在确保低功耗的前提下具有较强的数据处理才能。
在接口方面,因为CAN总线物理层信号为差分的方法(CAN_H和CAN_L),所以需求添加CAN物理层芯片(CAN收发器)来进行电平转化,本项目所选用的CAN物理层芯片为TJA1040。USB总线为4芯,其间包含两路信号线(USB-DP和USBDM)、+5 V电源和GND。
USB—CAN通明传输卡的供电方法是本项目规划的关键环节,PC机的USB总线中有两路电源信号分别为+5 V和GND,一般能够供给的最大电流为500 mA,因为选用了低功耗微处理器和CAN收发器,500 mA的电流彻底能够满意USB—CAN通明传输卡的功耗需求,所以本项目经过从PC机的USB接口“取电”,达到了真实的“无源”方法,大大节省了USB-CAN通明传输卡的本钱和体积,运用愈加便利。因为LM3S5956微处理器选用3.3 V供电,所以只需求在电路规划中,添加一个5 V-3.3 V电源芯片即可。
因为选用了内置CAN操控器和USB操控器的低功耗ARM Cortex3微处理器和便利灵敏的USB供电方法,整个USB—CAN通明传输卡的硬件十分细巧,在环境杂乱的工业通讯场合,具有很高的实用性。
4 软件规划
4.1 CAN通讯相关
4.1.1 LM3S5956微处理器的CAN操控器
LM3S5956微处理器内置了CAN操控器模块,该模块支撑CAN 2.0 A/B协议。支撑包含具有11位标识符(规范帧)或29位标识符(扩展帧)的数据帧、长途帧、过错帧以及超载帧的报文传输。传输速率能够经过编程装备,CAN模块首要由3个部件组成:
(1)CAN协议操控器和报文处理器
(2)报文存储器
(3)CAN寄存器接口
协议操控器从CAN总线传输和接纳串行数据,并将数据传递到报文处理器。接着,报文处理器依据当时的滤波和报文目标存储器中的标识符,将该信息载入适宜的报文目标。报文处理器还担任依据CAN总线上的事情来发生中止。
报文目标存储器由32个相同的存储块组成,这些存储块保存了每个报文目标当时的装备信息、状况和实践数据。能够经过CAN报文目标寄存器接口来拜访报文目标存储器。
CAN报文目标寄存器接口供给了两个寄存器组来与报文目标通讯。因为不能直接拜访报文目标存储器,所以有必要运用这两个接口来读写各个报文目标。当多个目标包含需求处理的新信息时,这两个报文目标接口答应并行拜访CAN操控器报文目标。
为满意CAN2.0的根本通讯,需求进行驱动程序和用户运用程序两个层次的程序规划。驱动程序首要包含数据结构的界说和API函数的规划。需求界说的数据结构有时钟装备结构体和CAN音讯目标结构体。本项目中需求完结的API函数有:波特率装备函数、波特率装备信息获取函数、CAN操控器使能函数、CAN操控器封闭函数、CAN操控器初始化函数、CAN中止使能函数、CAN中止封闭函数、CAN中止标志铲除函数、CAN中止状况获取函数、报文目标铲除函数、读取报文目标函数、装备报文目标函数。运用程序首要包含CAN报文发送函数规划、CAN报文接纳装备函数、CAN中止服务函数规划。