摘 要:本文介绍了一种可控减振器智能通讯系统的组成。设计了用于数据采集的单片机部分,利用该模块可以自动采集表征可控减振器工作性能的数据。同时给出了上、下位机之间通讯的软、硬件设计方法,利用labview强大的仪器控制和灵活的编程能力,提供了基于串口的上、下位机的通讯程序。试验表明,该系统可以及时了解可控减振器的工作状况。 关键词:可控减振器;串口通讯;单片机;Labview 引言 随着现代汽车制造技术的发展,车辆的行驶速度越来越高,在不同的道路工况下行驶,使得车辆的行驶平顺性变化较大。为了改善车辆的行驶平顺性,现在比较高级的车辆都装上了可控减振器,能够根据车辆的行驶状况,自动调节可控减振器的阻尼参数,从而提高整车的行驶平顺性。 可控减振器是提高车辆行驶平顺性的核心部件,及时了解可控减振器的工作参数,可以有效的获取整车的运行状况。为此要求在线、动态地获取车辆可控减振器的各个工作参数,并将获得的数据传输到计算机,将数据进行简单的处理,帮助驾驶员判断是否需要根据行驶工况调节可控减振器的减振性能[1]。 本文根据某车辆可控减振器的工作原理和特点,设计了进行自动数据采集的单片机模块,可以自动获取可控减振器的工作参数,然后通过串口将数据传到计算机,将获取的数据进行显示和简单的处理,同时可以进行数据的存储。 1. 下位机的软、硬件设计 1.1下位机的硬件组成及工作原理 该系统的下位机主要功能是在线采集表征可控减振器工作性能的参数,利用单片机工作灵活、结构简单的特点,设计了该下位机模块。该下位机主要有采集触发、数据存储、数据输出转换模块组成。采集触发模块的核心是定时/计数器,利用该模块可以让下位机隔一定的时间间隔采集一次可控减振器的工作参数,从而实现下位机自动采样的功能;数据存储模块选用了AT24C256,AT24C256是一个两根地址总线的可擦写可编程只读存贮器(EEPROM),容量为256K字节(32K*8),该EEPROM结构紧凑,易于扩展,稳态电路的适密特触发,滤波输入,对噪声有很好的抑制作用,可以自动完成数据的采集与存贮[2]。该模块的管脚定义如图1: 图 1 AT24C256 管脚接口及定义 各管脚的功能说明如下: DEVICES/PAGES ADDRESS(A1,A0) 这两只引脚是模块的地址线,此外可以进行容量扩展。 SDA(SERIAL DATA) 该管脚为双向的串行数据传输引脚; SCL(SERIAL CLOCK) 管脚为高电平,数据进入EEPROM,管脚为低电平,数据读出EEPROM; WRITE PROTECT(WP) 写保护输入接口,当该引脚接到GND引脚时,允许所有的正常读写;当该引脚接到Vcc引脚时,所有的对该芯片的写操作被禁止;如果该引脚被悬空,内部自动将其连到GND,如果在写操作以前,将该引脚连到Vcc可以进行软件的写保护。 该EEPROM需要一个8-bit的设备地址(DEVICE ADDRESS),跟随在开始状态(START CONDITION)后,确定读或者写的状态,设备地址字节的前5位是固定的1,0序列,其设备地址格式如下: 利用A1,A0进行EEPROM的扩展,最后一位决定读写操作,高电平——读;低电平——写。如果上述地址的输入正确,EEPROM就会输出一个0(ZERO),只是一个确定字符,决定是否可以进行读或者写,否则回到等待状态。AT24C256的读写操作格式如图2: 图 2 AT24C256 写操作、读操作格式 MAX-485模块是一个(half-duplex)半双工模块,传输速度可以达到2.5Mbps,5V电源支持,允许较大的共模电压信号输入[3]。该模块主要是为了转换电平,将AT24C256的输出TTL电平和串口通讯的232电平或者485电平进行转换,适应串口的数据通讯。 1.2 单片机读写程序与通讯响应程序 AT24C256存储器的数据读写及其通讯响应程序全部根据AT24C256的读写格式,采用汇编语言编写。数据采集是自动进行的,读操作要求上位机发送命令字符DTxx(或者DEXX),下位机将采集到的记录数据送往串口供上位机读取。 2.串口通讯协议与通讯回路 2.1串口通讯协议 串口通讯是指通过计算机的串行口(COM)控制仪器进行数据的传输。优点是可以利用计算机的标准端口,不用购置额外的硬件通讯设备。串口通讯有不同的标准,常用的是电子工业协会(EIA)的标准,称为RS-232标准。该标准有两种不同的接口:25针、9针,其中9针的接口提供了两条数据传输线(TXD,RXD),5条通讯控制线(RTS,CTS,DSR,DCD,DTR)。这对一般的通讯控制已经足够了,因此大多数的通讯都采用了9针的通讯接口,该系统也采用了9针标准接口。在串行通讯中,每一个字符的传输都是打包的,称为一个数据帧,包括了数据开始位,数据,校验位,停止标志位[4]。该系统中串口通讯各个参数均按缺省设置。 RS-232与RS-485通讯接口如图3所示:其中,RS-232传输的是不平衡信号,接口上的数据电压是TXD(2th pin)相对于GND(5th pin)的相对电压(9-pin connector),而平衡差分信号传输采用两线传输,在两根线上形成相对电压,可以抗干扰,雷击等,并且允许较大的共模电压(Vcm), 32个收发模块可以同时连在一个多点网络上,扩展能力强。 图 3 RS-232与RS-485传输通讯接口 2.2 串口通讯回路 AT24C256自动按时间间隔采集、并将数据存储,下面的工作就是要把数据通过串口通讯回路,将数据传输到计算机的内存中,进行进一步的数据显示,数据分析等后续工作。串口通讯回路就是指的数据从AT24C256传送到计算机内存的传输通道,简单的示意如图4: 图 4 串口通讯示意图 3. 通讯软件设计 通讯软件的不仅为了完成通讯,并且应该考虑到系统的扩展,系统的扩展也不能影响现有系统的工作稳定性。为了完成上述软件的功能,我们选了测试领域比较流行的虚拟仪器编程软件——Labview. 3. 1 Labview [5] 强大、灵活的仪器控制功能是Labview区别于其他编程软件的主要特点。Labview程序具有层次化结构,这有利于仪器的功能扩展,当仪器的功能增加时,只要在主程序上增加功能子程序,就可以很容易的实现仪器的功能扩展。 此外利用Visa可以编制许多专用仪器的驱动程序。Visa是用于仪器编程的标准I/O函数库及其相关规范的总称。Visa对于编程者来讲,就是一个API函数接口,通过调用低层的函数完成仪器控制功能。无论接口如何,Visa都可以使用相同的操作与仪器通讯,因此利用Visa也可以满足以后系统功能的扩展,并且不会影响程序的总体结构。 图 5 通讯软件流程图 3. 2 通讯软件 该通讯软件的设计中,我们采用了上面叙述的Visa对计算机的串口进行操作,从而与智能控制系统的下位机进行通讯和控制。通讯软件的程序流程图如图5,通过该通讯软件,上位机给下位机发出符合设计要求的命令字符串,等待下位机响应后,就可以从下位机读取我们需要的表示可控减振器工作状况的性能参数了。该通讯软件的前面板如图6所示: 图 6 通讯软件前面板 程序前面板的上半部分是程序的功能选择控制部分,通过选择相应的单片机,要求的数据个数,以及正确的选择和设置串口参数,进行写/读操作就可以获取可控减振器的性能参数。 前面板的下半部分是获得可控减振器性能参数的数据显示部分,我们将获得的可控减振器的性能参数,利用数据图以不同的颜色曲线来区分不同的参数,能够将获得的数据完全显示。此外我们还采用了以图表的形式将数据在表格中进行显示。为了以后的数据处理或者是为了进行存档,在程序中有存贮环节,可以将数据进行存盘,通过电子表格工具或者记事本就可以打开,浏览数据。 4 结论 通过设计单片机,组成可控减振器的性能参数自动采集系统,结构简单,易于扩展,完全能够满足我们的设计意图。借助于简单的串口通讯,该下位机与计算机之间建立了可靠的通讯回路,加之有功能强大的通讯软件作辅助,该智能通讯测试系统通过调试和试验,和车辆可控减振器配合工作性能良好,现在已经作为可控减振器的控制部分在某型车辆上得到了应用。
|