一种基于CAN总线技术的数据采集系统设计的制作方法

文档序号:17759915发布日期:2019-05-24 21:35阅读:259来源:国知局
一种基于CAN总线技术的数据采集系统设计的制作方法

本发明专利涉及电子设计技术领域,尤其涉及一种基于can总线技术的数据采集系统设计。



背景技术:

海洋环境中,由于测量现场离岸较远,环境恶劣,必须将测量装置与计算机系统分开,构成远程数据采集系统。远程数据采集系统的数据传输方式一般有两种:频率量传输和串行通信。频率量抗干扰能力强,便于远距离传送,但这种远程的频率测量一般仅适用于几十赫兹以下的较低频率范围。在串行通信中,rs-232通信标准数据传输速率慢(通常异步通信速率限制在19.2kbps以下),传送距离短(一般电缆长度为15m),不适于用作远程数据采集系统;rs-449、rs-422及rs-423等通信标准,实时性不强;rs-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;且当系统出现多节点同时向总线发送数据时,会导致总线呈现短路,从而损坏某些节点的现象。

can(controllerareanetwork)总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。can总线通信接口中集成了can协议的物理层和数据链路层功能,可完成对通信数据的成帧处理。can协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点是使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据。数据段长度为8个字节,不会占用总线时间过长,从而保证了通信的实时性。can协议采用crc检验并可提供相应的错误处理功能,保证了数据通信的可靠性。

发明专利内容

本发明专利涉及一种基于can总线技术的数据采集系统设计,本发明提出一种基于can总线结构的远程数据采集系统方法,将can总线技术应用于工业现场控制中,设计了硬件电路和软件,并得到实际应用。

本发明可在复杂的海洋中实现对8路传感器信号的实时采集与传送,具有结构简单、性能可靠、传输距离远、价格低廉等优点。

附图说明

图1:远程水下数据采集系统的结构框图。

图2:单片机系统的结构框图。

图3:单片机主程序流程图。

图4:主机程序流程图。

具体实施方式

为了使本发明专利的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明专利进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明专利,并不用于限定本发明专利。

本发明专利涉及一种基于can总线技术的数据采集系统设计,本发明提出一种基于can总线结构的远程数据采集系统方法,将can总线技术应用于工业现场控制中,设计了硬件电路和软件,并得到实际应用,本发明可在复杂的海洋中实现对8路传感器信号的实时采集与传送,具有结构简单、性能可靠、传输距离远、价格低廉等优点。

进一步的,远程数据采集系统要求传感器与测量装置位于测量现场,计算机系统在岸上或船上,它们之间距离经常在几百米,有时甚至达到几公里。因此,连接导线少,维护费用低就显得尤为重要。本文中测量系统针对磁场(3分量)、电场(3分量)、倾角参数(2分量),用can来构建远程水下数据采集系统,采用3个测量节点,分别对上述8路传感器信号实现实时采集与传送。远程水下数据采集系统的结构框图如图1所示。

进一步的,can(controllerareanetwork)总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。can总线通信接口中集成了can协议的物理层和数据链路层功能,可完成对通信数据的成帧处理。

进一步的,远程数据采集系统主要由两部分组成:岸上接收处理部分和水下测量装置。为了延长电池的使用时间,从岸上来控制水下测量体部分电池电源的通断。数据采集系统使用的是四芯纵向密封海水电缆,两路传输数据,另两路控制电池电源。

进一步的,本发明的传感器采用磁场三分量测量模块,电场三分量测量模块,倾角2分量测量模块。信号处理电路中将各信号进行放大和滤波,放大采用两片lm148四运放,滤波器是由运算放大器构成的两个有源低通滤波二阶节的级联。单片机系统将电场三分量信号、磁场三分量信号和两个姿态角信号共8路信号轮流选通送入a/d进行转换,a/d转换选用b-b公司生产的16位芯片ads7805,其输入电压范围为±10v,输出16位和8位可选,这里使用16位并行输出,其控制信号由单片机的口线p1.0、p1.1和p1.2产生,单片机系统的结构框图如图2所示。单片机采用philips的是有再片can功能的微控制器p87c592,晶振频率为16mhz,p0口和p2口用作数据线和地址线,p4口和p5口用作16位模数转换器的高8位和低8位并行数据线。p1.6、p1.7用于can总线,p1.2、p1.3和p1.4控制八选一多路转换器max308的通道。pc82c250为can总线收发器,是can控制器和物理总线间的接口,提供对总线的驱动发送能力、对can控制器的差动发送能力和对can控制器的差动接收能力。它有很强的抗瞬间干扰和保护总线的能力;有3种不同的工作方式即高速、斜率控制和待机。总线上的某节点掉电不会影响总线,在40m内实现高速应用可达1mbps。主机接收端使用pcl-841,pcl-841可直接插在计算机的isa扩展槽内,计算机为pcl-41分配内存地址,并将其作为标准内存进行读写,内存地址可通过跳线设置为c800h至ef00h中40个基地址中的任一个。是内置can控制器的can总线通信卡,它提供总线仲裁和错误检测并自动重发送功能,从而避免了数据丢失,保证了系统的可靠性。

进一步的,本发明的软件设计包含两部分即单片机程序和主机控制和数据处理程序。单片机程序主要包括节点初始化程序、报文发送程序、报文接收程序以及can总线出错处理程序等。单片机主程序流程图如图3所示,程序用c51语言编写。can控制器对于cpu来说是以确保双方独立工作的寄存器映像外围设备出现的,微控制器和cpu之间状态、控制和命令的交换都是通过在复位模式或工作模式下对这些寄存器的读写来完成的。初始化can内部寄存器时注意使得各节点的位速率必须一致,而且接、发双方必须同步。发送一帧数据采用高速dma,它允许在最多2个周期内,在can控制器和主ram之间传送一个完整的报文(最多10个字节)。cpu功能的极大增强是由于高速传送是在后台完成的。一次成功的dma传送后dma位被复位。dma传送期间,cpu可以处理下一条指令,然而,不允许对数据存贮器、canadr、candat、cancon或cansta的访问。置dma位后,各个中断均被禁止,直至传送结束。复位状态期间(复位请求位为高)不能进行dma传送。为提高通信的实时性,报文的接收采用中断接收方式,这样也可保证接收缓存器不会出现数据溢出现象。

进一步的,本发明的主机程序包括测量和控制子程序、通信子程序、数据处理子程序等。数据测量和控制子程序用来控制下位机进行测量,通信子程序根据通信协议发送控制命令并接收测量数据,数据处理子程序实现对数据的预处理和存储。主机程序用c语言编写。主机程序流程如图4所示。

以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1