基于CAN总线的16路高精度数据采集节点的设计.docx
《基于CAN总线的16路高精度数据采集节点的设计.docx》由会员分享,可在线阅读,更多相关《基于CAN总线的16路高精度数据采集节点的设计.docx(22页珍藏版)》请在冰豆网上搜索。
基于CAN总线的16路高精度数据采集节点的设计
辽宁工业大学
工业控制网络课程设计(论文)
题目:
基于CAN总线的16路高精度数据采集节点的设计
院(系):
电气工程学院
专业班级:
学号:
学生姓名:
指导教师:
(签字)
起止时间:
2014.12.29-2015.1.9
课程设计(论文)任务及评语
院(系):
电气工程学院教研室:
自动化
学号
学生姓名
专业班级
课程设计(论文)题目
基于CAN总线的16路高精度数据采集节点的设计
课程设计(论文)任务
课题完成的功能、设计任务及要求、技术参数
实现功能
基于CAN总线的16路高精度数据采集节点的设计,实现16路模拟量数据采集,并将结果通过CAN总线传送出去。
硬件设计包括CPU选型、CAN总线控制器、CAN总线收发器及16路模拟量采集接口电路等。
软件采用汇编语言或C语言,并调试与分析。
设计任务及要求
1、确定设计方案,画出方案框图。
2、数据采集节点硬件设计,包括元器件、传感器型号的选择。
3、画出数据采集节点的原理图。
4、绘出程序流程图,并编写CAN总线初始化、接收及发送程序。
5、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。
6、按学校规定的格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。
技术参数
1、CAN总线符合CAN2.0B规范;
2、自动匹配CAN网络通信速率;
3、CAN总线进行光电隔离设计;
4、数据采集精度为16位,4路0~100℃温度信号,4路0~25MPa压力信号,4路0~500mm范围位移信号,4路0~50kN力值信号。
进度计划
1、布置任务,查阅资料,确定系统设计方案(2天)
2、系统硬件设计及模块选择(3天)
3、系统软件设计及编写功能程序及调试(3天)
4、撰写、打印设计说明书(1天)
5、验收及答辩。
(1天)
指导教师评语及成绩
平时:
论文质量:
答辩:
总成绩:
指导教师签字:
年月日
注:
成绩:
平时20%论文质量60%答辩20%以百分制计算
摘要
数据采集是从一个或多个信号获取对象信息的过程。
随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。
本课程设计采用C8051F系列单片机,C8051F系列单片机基于简化的嵌入式控制系统结构,具有体积小、重量轻,具有很强的灵活性。
设计的系统由硬件和软件两部分构成,硬件部分主要完成数据采集,软件部分完成数据处理和显示。
数据采集采用AD0808模数转换芯片,具有很高的稳定性。
完成采样的数据后输入单片机内部进行处理。
软件部分用Keil软件编程,操作简单,具有良好的人机交互界面。
程序部分负责对整个系统控制和管理,采用了汇编语言进行了判别通道、数据采集处理、数据通信等程序设计,具有较好的可读性。
在计算机广泛应用的今天,数据采集在多个领域有着十分重要的应用。
它是计算机与外部物理世界连接的桥梁。
基于CAN总线的高精度数据采集系统,这种具备标准接口的智能化、网络化的高精度数据采集系统结构代表了当前仪器仪表的发展方向。
具有广阔的应用前景。
关键词:
CAN总线;数据采集;A/D转换;传感器
目录
第1章绪论1
第2章课程设计的方案2
2.1概述2
2.2系统组成总体结构2
第3章系统硬件设计3
3.1单片机最小系统3
3.2传感器的选型及信号调理电路4
3.3AD转换器6
3.4CAN通信接口电路7
3.4.1CAN总线控制器7
3.4.2CAN总线收发器7
3.4.3CAN节点硬件电路8
3.5系统总体电路9
第4章软件设计10
第5章课程设计总结12
参考文献13
附录14
第1章绪论
数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员进行操作,并且测试任务是由测试设备高速自动控制完成的。
由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。
随着互联网技术和IT技术的飞速发展,为适应未来技术发展的趋势,保障用户的投资,施耐德电气公司第一个推出了工业控制领域的开放的TCP/IP以太网ModbusTCP/IP,该技术采用IT行业广泛应用的技术TCP/IP,底层协议采用开放的Modbus,第一次真正地将工业数据采集与控制网络和IT网络融合为一体,使用户彻底摆脱了各种行业的工业数据采集与控制网络的束缚和限制,进入了工业控制领域的新境界。
基于TCP/IP协议,可以把数据采集与工控方案变得“透明”,使生产过程的数据采集与工厂的各种控制设备和计算机设备间实现透明传输数据。
同时使用户真正可以享受最新IT技术带来的各种好处,使企业的生产系统、ERP系统、MES系统透明实现了无缝的连接,也为制造业用户未来的电子商务应用提供了生产控制系统的基础。
串行总线数据采集系统向分布式系统结构和智能化方向发展,可靠性不断提高。
数据采集系统物理层通信,由于采用RS485、双绞线、电力载波、无线和光纤,所以其技术得到了不断发展和完善。
其在工业现场数据采集和控制等众多领域得到了广泛的应用。
,由于目前局域网技术的发展,一个工厂管理层局域网,车间层的局域网和底层的设备网已经可以有效地连接在一起,可以有效地把多台数据采集设备联在一起,以实现生产环节的在线实时数据采集与监控。
基于CAN总线的16路数据采集系统结合了高精度数据采集技术与先进的CAN现场总线技术。
实现多通道、分布式高精度数据采集。
除可用于地球物理中的现代地震勘探、直流电法、现代医学中的血液分析、心电信号处理以及环境检测与监测等专业领域,也可用于一般的工业测控对温度、湿度、压力和机械振动等模拟信号的采集。
这种具备标准接口的智能化、网络化的高精度数据采集系统结构代表了当前仪器仪表的发展方向。
具有广阔的应用前景。
第2章课程设计的方案
概述
CAN总线多为主方式工作,网络上任意一点可以在任意时刻主动的向网络上发送信息,而不分主从,但实际应用中经常把它设计成主从方式。
本设计采用分布式模块化体系统结构,主要由上位机、多个数据采集点、CAN总线网络组成。
上位机作为整个数据采集系统的主节点,用于接收系统运行中传感器传输的信息。
本设计中采用的分布式数据采集系统有利于增加或减少数据采集节点,对原有的CAN网络或节点不会产生影响。
系统组成总体结构
数据采集节点的关键技术在于传感器与CAN接口一体化。
分析微处理器是数据采集的核心,负责采集数据和CAN控制器的初始化,通过控制CAN控制器实现数据通信的接受和发送等通信功能。
本设计采用的单片机是C8051F314。
系统结构框图如图2.1所示。
图2.1系统结构框图
数据采集节点的硬件主要由微处理器、信号调整电路、传感器及CAN接口电路等。
传感器输出的模拟信号经信号调整电路后输送给微处理器,并通过A/D转化成数字信号,进行必要的数据处理。
微处理器根据上位机的命令将数据经CAN接口电路传输到CAN总线上或将采集到的信号储存在微处理器的储存器中,以满足某些特殊场合传感器数据部能及时传回的情况,方便时候分析和方波再现。
第3章系统硬件设计
单片机最小系统
单片机(Singlechipmicrocomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
本次采用C8051F314单片机。
C8051F314器件是完全集成的混合信号片上系统型MCU芯片,C8051F314除了具有标准8051的数字外设部件之外,内部还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。
两个增强型UART串口,便于模拟量和数字量的采集、控制和通信传输。
该单片机还集成有4KB内部数据RAM和64KBFlash以及外部64KB数据存储器接口(可编程为复用方式和非复用方式)、总线接口、电压比较器、温度传感器等部件,比常规51单片机有更多的定时计数器、中断、数字I/O接口。
片内还配置了标准的JTAG接口(IEEEll49.1)。
在上位机软件的支持下,通过串行的JTAC接口可直接对安装在最终应用系统上的单片机进行非侵入式、不占用片内资源、全速在线系统的调试,无需另配编程器及仿真器,是目前功能最强大、性能价格比最好的单片机之一。
下面列出了一些主要特性:
1.高速、流水线结构的8051兼容CIP-51内核(可达25MIPS)。
2.全速、非侵入式的在系统调试接口(片内)真正12位或10位、100ksps的ADC,带PGA和8通道模拟多路开关。
3.高精度可编程的内部振荡器。
4.16KB或8KB可在系统编程的FLASH存储器。
5.1280字节片内RAM。
6.硬件实现的SMBus/I2C、增强型UART和增强型SPI串行接口。
7.4个通用的16位定时器。
8.具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列。
9.片内上电复位、VDD监视器和温度传感器。
C8051F314是真正能独立工作的片上系统。
FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。
用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。
C8051F314最小系统如图3.1所示。
图3.1C8051F314单片机最小系统
C8051F314最小系统包括晶振电路、复位电路和电源电路。
复位电路:
在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。
由电容串联电阻构成,结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。
晶振电路:
晶振取32.768KHz,为单片机提供时钟。
电源电路:
为单片机供电。
传感器的选型及信号调理电路
测量0~100℃温度信号的传感器用AD590集成温度传感器,测量范围:
-50~150℃,该器件精度较高,全温度范围内,非线性误差仅为±0.3℃,可充当一个高阻抗、恒流调节器,调节系数为1μA/K,即该器件在273.15K(0℃)时输出273.15μA电流,温度每升高1℃电流增加1μA;反映温度的是电流信号,因此需要将电流转换成电压信号后进行信号放大和电平抬升。
AD590是集成温度传感器,输出为电流,相当于恒流源,若要对此进行放大需先转换为电压,可在其回路串入电阻,根据欧姆定律,电阻上电压的大小可反映电流的大小,也就是温度的高低。
AD590的信号调理电路图3.2所示。
图3.2温度信号调理电路
压力传感器选择TEYB,测量范围0~35MPa。
用一个恒压源或横流源激励电桥产生一个电信号。
这种信号通常很微弱,并且受到噪声、失调和增益误差的影向。
在对电桥的输出信号数字化处理之前,必须将其进行放大和失调处理以便和数模转换器的测量范围想拼配。
然后在滤除噪声。
要精确的从高工模电压检测出微弱的差分电压,放大器要有高的共模抑制比。
压力传感器的调理电路如图3.3所示。
图3.3压力信号调理电路
位移传感器选择TWR,测量范围0~700mm,输出4~20mA。
TWR系列位移传感器是一种非接触型传感器,其传感元件由螺线管线圈与磁芯构成,磁芯位置变化通过电子调节电路输出相应标准直流电压或电流。
传感器两端为万向节结构,适用于同心度需要调节的安装条件。
位移信号调理电路如图3.4所示。
图3.4位移信号调理电路
力传感器选择德国HBM1-U9B力传感器,测量范围为0-100KN。
专门用来设计测量范围较小的力。
其精度可达10,并且具有极高的测量不确定性。
它的调理电路与压力传感器的相同,在这里就不在说了。
AD转换器
AD转换器将模拟信号变成数字信号,便于单片机处理。
此次AD转换器选用ADC0808。
ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
采用双列直插式封装,如图3.5所示。
图3.5ADC0808原理图
ADC0808芯片有28条引脚,各引脚功能如下:
1~5和26~28(IN0~IN7):
8路模拟量输入端。
8、14、15和17~21:
8位数字量输出端。
22(ALE):
地址锁存允许信号,输入,高电平有效。
6(START):
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
7(EOC):
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
9(OE):
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
12(VREF(+))和16(VREF(-)):
参考电压输入端。
11(Vcc):
主电源输入端。
13(GND):
地。
23~25(ADDA、ADDB、ADDC):
3位地址输入线,用于选通8路模拟输入中的一路。
CAN通信接口电路
CAN总线控制器
本次课设CAN总线控制器采用MCP2515。
MCP2515是一款独立控制器局域网络(ControllerAreaNetwork,CAN)协议控制器,完全支持CAN2.0B技术规范。
该器件能发送和接收标准和扩展数据帧以及远程帧。
MCP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文,因此减少了主单片机(MCU)的开销。
MCP2515与MCU的连接是通过业界标准串行外设接口(SearialPeripheralInterface,SPI)来实现的。
其主要由三部分组成:
(1)CAN协议引擎(处理所有总线上的报文发送和接收)。
(2)用来为器件及其运行进行配置的控制逻辑和SRAM寄存器。
(3)SPI协议模块,用来实现SPI通信模式。
CAN总线收发器
MCP2551是一个可容错的高速CAN器件,可作为CAN协议控制器和物理总线接口。
MCP2551为CAN协议控制器提供差分收发能力,它完全符合ISO-11898标准,包括能满足24V电压要求。
它的工作速率高达1Mb/s。
典型情况下,CAN系统上的每个节点都必须有一个器件,把CAN控制器生成的数字信号转化成为适合总线传输(差分输出)的信号。
它也为CAN控制器和CAN总线上的高压尖峰信号之间加入了缓冲器。
CAN节点硬件电路
该节点采用的C8051F314作为主控制器,MCP2515作为CAN总线控制器,MCP2551作为CAN总线收发器。
图3.3是CAN节点的电路原理图,该电路由以下几个部分组成:
1.SPI接口
MCP2515的CS、SCK、SO、SI引脚作为SPI接口直接与C8051F314的SPI接口连接。
在SPI传输过程中C8051F314作为SPI主设备,MCP2515作为从设备。
2.复位电路
RESET引脚为MCP2515的复位引脚,设计中使用两个电阻R2、R3组成了低电平复位电路,提供复位信号。
3.时钟电路
电路中使用一个16MHz的晶振和两个22pF的瓷片电容构成了MCP2515的时钟振荡电路,为MCP2515提供工作时钟。
4.中断引脚
MCP2515的INT引脚与单片机的外部中断引脚CANINT相连,中断信号发生时可由单片机检测。
5.CAN接口电路
MCP2515的CAN接口TXCAN与RXCAN与CAN总线收发器MCP2551的TXD与RXD连接,MCP2551保证了CAN物理层的包收发,板子上的120欧终结电阻留出了接口,可以通过跳线选择是否连接。
在CAN节点的应用中,一个好的隔离对系统提升稳定性很有帮助,通常是用光耦进行隔离,本设计中采用的MCP2551高速CAN隔离收发器芯片符合ISO11898标准,同时附带的TVS管防可防总线过压,而且它兼容3.3V的设计使我们可以轻松的与MCP2515相连而不需要其他任何外围器件。
CAN节点电路原理图如图3.3所示。
图3.6CAN节点电路原理
系统总体电路
数据采集点的硬件主要由微处理器、信号调整电路、传感器及CAN接口电路等。
传感器输出的模拟信号经信号调整电路后输送给微处理器,并通过A/D转化成数字信号,进行必要的数据处理。
系统总体电路图如图3.7所示。
图3.7系统总体电路图
第4章软件设计
CAN总线主要是通过通信软件模块来实时有效的完成数据通信的任务,因此通信软件的设计是整个程序设计的关键。
MCP2515主要提供了状态查询以及中断两种数据操作模式,本设计中MCP2515主要采用中断模式进行CAN总线数据的接收和发送,整个软件系统分为三个主要的模块:
1.C8051F314单片机的初始化模块
在该模块中,首先要对看门狗和通用的I/O引脚进行一些初始的设置。
然后要通过对C8051F314内部的交叉编译开关设置,使能SPI引脚功能,最后要完成C8051F314SPI接口的传输速度、工作模式设置。
在本设计中要设置C8051F314的SPI接口为主器件工作模式,传输速度设置为1Mbps。
2.MCP2515初始化模块
该模块主要进行MCP2515的工作模式、CAN报文数据帧的格式、报文的处理方式以及内部的软件复位操作等。
在本设计中设置MCP2515为正常的工作模式,数据帧为标准的CAN数据帧,同时将报文的处理方式设置为中断方式。
3.中断的检测与处理模块
该模块是软件设计的核心,它主要要完成三个方面的工作:
(1)发送处理
在两种情况下会被执行,其一发送中断响应中,如果当前有发送任务,通过发送缓冲区记录标志确定空的发送缓冲区并向其中填发送帧,然后启动发送;其二,在接收中断响应中,在接收处理完成后,如果有发送任务且有发送缓冲区空,会处理发送任务。
在两处处理发送主要是考虑有多哥发送,接收缓冲区可用,提高通信效率。
(2)接收处理
需要根据ICOD的值来确定当前是哪个接收缓冲区的数据准备好,可以读取。
(3)错误处理
引起错误处理的原因很多,并且都产生错误中断,需要访问错误标志寄存器来确定具体的错误类型,并做出相应的处理。
整个程序的处理流程图如图4.1所示。
图4.1程序流程图
程序如附录所示。
第5章课程设计总结
随着计算机与数据终端的普及,数据采集在工业监控系统中得到了广泛的应用,在生产过程中,利用串行通信,人们可远离现场对计算机操作,能够方便的对现场数据进行采集、处理、储存、控制等功能。
本次设计以C8051F314单片机为核心,通过模数转换芯片将被测信号转化为数字信号,经单片机内部处理后通过收发器发送出去。
设计表明系统性能良好、更新速度合理。
通过该多路采集系统,由相同的模块电路和不同的开关地址选通不同的模块,实现对多路模拟信号的采集、转换化和传送。
由于系统对采集速度和采集精度不高,故分析结果数据存在一定误差,采集量也不大,且只能实现异步数据采集,所以还需要进一步改进。
数据采集系统是科学实验中重要的测量环节,通常由信号调理、A/D转换、数据储存、数据分析等模块组成。
此次设计过程中,在完成设计任务之外也让我更加深入的了解了数据采集系统的相关技术,从本次课程设计中我更加深刻地认识到理念来源于实际的含义。
在和同学以及老师的相关问题讨论中,我认识到自己的很多不足,但在这些不足中我又学到了很多知识,使我的综合应用能力有了很大提高。
参考文献
[1]彭伟.单片机C语言程序设计实训100例[M].北京:
电子工业出版社,2012:
46-48
[2]杨居义,杨晓琴,王益斌等.单片机课程设计指导[M].北京:
清华大学出版社,2013:
135-141
[3]元增民,张文希.单片机原理与应用基础[M].北京:
国防科技大学出版社,2011:
205-225
[4]王琳,商周,王学伟.数据采集系统的发展与应用[J],电子与仪表2014,464(41):
1-5
[5]薛琳.高速PCI数据采集卡的设计与实现[J],南京理工大学,2010,41(15):
7-12
[6]韩成浩,高小红.CAN总线技术及其应用[J].制造业自动化,2008,10
(2):
10-15
[7]魏丰,潘小虎,曾勇,丁洪林.光纤CAN总线集线器及其组网研究[J],仪器仪表学报,2012,20
(1):
5-8
[8]吴立松.CAN总线智能节点设计[J],哈尔滨理工大学,2007,7(5):
12-16
[9]蒋继承.基于CAN总线采集节点的设计[J],哈尔滨理工大学,2012,25
(1):
5-11
[10]唐金海.CAN总线分析及应用编程[J],内蒙古大学,2013,5(3):
13-33
[11]杨晶.CAN总线接口电路设计[J],办公自动化,2014,10(6):
7-15
[12]向科.CAN总线在智能仪表系统中的研究与应用[J],贵州大学,2012,5(6):
15-43
[13]侯明,杜毅.基于CAN总线的接口电路设计[J],通信技术,2013,10(8):
5-12
[14]王振宇,高山.CAN总线在监控系统中的应用[J],江苏航空,2013,15(10):
10-19
[15]朱茂忠,牟效明.MCP2515在ATmega16单片机CAN总线扩展中的应用[J],电子技术与软件工程,2014,56(5):
23-53
附录
LDBAL,#09H;初始化模式寄存器进入复位模式
STBAL,MODE;选择单滤波方式
LDBAL,#88H;时钟分频器
STBAL,CDR;选CAN模式
LDBAL,#00H
STBAL,ACR0;初始化接收代码寄存器
LDBAL,#60H
STBAL,ACR1
LDBAL,#00H
STBAL,AMR0;初始化接屏蔽寄存器
LDBAL,#3FH;只接收标识符为2,3的报文
STBAL,AMR1
LDBAL,#8FH
STBAL,IER;中断使能寄存器
LDBAL,#01H;总线定时寄存器0、1的设置
STBAL,BTR0;
LDBAL,#1CH;
STBAL,BTR1;
LDBAL,#0AAH
STBAL,OCR;输出控制器寄存器设置
LDBAL,#0H;接收缓存器起始地址设为0
STBAL,RBSA;
LDBAL,#01H;
ORBAL,MODE;
STBAL,MODE;返回工作模式
RET
LDBAL,SR
SRCVE:
JBSAL,4,SRCVE;正接收
STRSV:
JBCAL,3,STRSV;发送成功
STBF:
JBCAL,