基于MSP430的全箭模态试验信号通路控制器的研制
2020-09-02龚靖傑张玉玺王家乐张梦妍
邓 哲,龚靖傑,张玉玺,王家乐,张梦妍
(北京强度环境研究所,北京 100076)
0 引言
在火箭的研制过程中,建立准确的数据分析模型来进行全箭的结构动力学分析是非常重要的一个环节[1]。这个数学模型的正确与否,需要通过进行模态试验测量模态参数来进行充分验证。在进行模态试验时,获取被测结构激励和响应的时域信号是模态试验的重要一步,其测量主要包括传感器的选取及配置,激振器的选取和布置等环节[2-5]。在实际测量中尽管通过优化结构以使模态试验测量时尽可能减少传感器的数量,在进行全箭模态试验时,仍需要安装大量测点,安装多台激振器来获取火箭结构准确的模态参数。如在一次火箭模态试验时,需要安装多达20个激振器,测点数量达到260个左右同步测量水平,同时被测结构的响应信号需要通过采集设备将数据传输到上位机进行显示[6-9]。一般应用于模块实验的激励测量模块最多支持8通道输出,即一台激励测量模块最多连接8个激振器,仅用1台激励测量模块不能满足试验的要求,如增加2台或多台激励模块和相应设备虽然能满足试验需求,但是存在以下两大问题:1)与激振器、传感器配套使用的数据采集和控制设备的造价都较昂贵,增加激励测量模块和采集设备将造成试验成本成倍增加;2)在试验过程中,需要在激励模块、传感器和数据采集控制设备之间连接大量的信号线,并明确对映关系。激振器、传感器分布在火箭的各个部位,这就对明确他们之间的通道对应关系造成了很大的困难。不仅如此在经过多次操作后,多根信号线相互缠绕,这就导致在连接通道线路时对应关系出错的问题时有发生,甚至导致设备故障。为解决上述问题,设计并实现了一种信号通道控制器,该控制器具有32路输入通道和32路输出通道,用户可以通过触摸式液晶屏进行32*32通道的任意连接配置和在线通道切换,如图1所示,在进行模态试验时,仅需在试验开始前将试验系统控制设备的输出端连接到信号通路控制器的输入端,将传感器和激振器信号线连接到信号通道控制器的输出端,试验人员通过信号通道控制器的触摸式液晶屏对输入、输出信号通道进行配置,就可以实现实验系统多路信号和传感器信号线通道的任意连接和在线切换,无需再次调整连接线路,并且可以实现多条通路的在线同步控制。在节约试验成本和时间的同时,提高了试验过程的可靠性。
图1 模态试验系统图
1 信号通道控制器结构
信号通道控制器控制系统由以下几个部分构成:1)采用触摸式液晶屏作为用户输入接口,用户通过触摸式液晶屏对通道进行配置和查看配置结果;2)采用超低功耗嵌入式微控制器MSP430FR5969作为控制器对整个系统进行控制[10],该控制器时钟频率高达 16 MHz,工作模式下功耗仅有约100 μA/MHz[11];3)采用8片AD75019 16*16阵列模拟开关来实现32*32路通道差分信号的任意切换,每一片AD75019的输出信号,在时钟有效的情况下,可以根据控制器GPIO输出的256位比特流配置实现16*16路的任意导通;4)触摸式液晶屏和嵌入式微控制器之间采用串口进行通信,通信速率115 200 b/s,其结构如图2所示。
图2 控制系统结构图
1.1 用户输入液晶屏界面设计
采用触摸式液晶屏作为用户的信息输入接口,同时作为系统的上位机控制设备。用户可以在液晶屏的输入通路选项框中,将试验系统输出端连接到信号通道控制器中的通道号进行输入配置,输入通道可以为输出通路1~32连接任意通路,不需要的通路可不进行输入配置,输入完成后点击确定按钮,配置数据将通过串口下发到控制器中,控制器对串口命令进行组包解析和响应,实现信号输入输出通道的在线配置和切换。由于对于任意一个输出通道不允许多条输入通道同时输出,允许同一输入通道从多条输出通道输出,因此在液晶屏显示时,固定输出通道,用户仅能对输入通道进行配置。
液晶屏和微控制处理器之间采用命令应答通信方式,通过串口传递数据包进行通信,通道号由用户手动收入,用户输入的通道号采用ASII码形式保存,通道号小于10的通道采用1个字节ASII码表示,通道号大于10的通道采用2个字节的ASII码表示,每个通道号前用通道开始字0×20标识,控制器通过查询通道开始字0×20来识别一个通道号,数据按照字节格式存储,高字节在前,低字节在后。上位机用户输入的32路通道数据通过数据包的方式下发到控制器端,整个数据包以0×4D作为数据包的结束字。
1.2 控制系统软件设计
嵌入式微控制器根据用户在液晶屏输入的配置信息对通道进行配置,通道配置过程如图3所示,系统上电后首先初始化时钟为16 Mhz。将未使用到的GPIO初始化为输入状态,降低系统功耗。关闭串口中断,配置串口并使能串口接收中断。上述初始化完成后,将所有通道配置信息清空,将指示指针等清空,进入等待串口接收中断到来状态。用户在触摸式液晶屏上进行通道配置,点击完成后,液晶屏软件将用户的配置信息生成通道配置信息数据包,通过串口下发的嵌入式微控制器,此时嵌入式微控制器将收到串口接收中断,收到串口数据接收中断后,进入串口数据接收状态。每收到次串口中断,进行一次数据接收操作,微控制器在接收串口数据同时,对串口数据进行存储并检查是否为结束字,若不是结束字则继续等待串口接收中断的到来并进行数据接收操作。如果判断当前数据为结束字,表明接收到了一包完整的通道配置信息数据包,随后停止串口数据接收操作,将接收到的数据存储到数组DATA中并生成数据接收完毕标志,通知主控程序数据接收完成,系统进入DATA数据解析状态。系统对DATA数组进行逐个检查去掉通道开始字,并将收到的ASII码数据进行解析合成出通道配置信息,根据配置信息生成控制矩阵,根据通道矩阵控制算法将矩阵数据生成比特流逐行下发对阵列模拟开关进行控制,从而完成通道配置,实现通道的在线切换配置。进行多条通道的数据传输时,通道间会有信号间的串扰出现,频率越快,串扰越严重,为了减弱相邻通道间在传输信号时发生串扰,增加一路信号为地,并将该路连接到金属壳体,在进行通道配置时,将未使用到的通道通过配置,和这条通道连接,使得未使用的通道连接到地线,降低了通道间传输的串扰,提高了信号传输的可靠性。
图3 配置过程流程图
2 通道矩阵控制算法
信号通道控制器核心控制算法能够根据液晶屏的用户输入信息计算出输出32对应用户设置的输入32通道对应关系。每个输出通道用户可随机配置32个任意输入通道,因此32个输出通道和32条输入通道的配置组合为32*32=1 024种。这就需要通道矩阵控制算法能够在用户设置完成后,快速地对配置关系进行计算并控制矩阵芯片开关进行相应的操作来实现用户配置通道的连通。在一次试验过程中,试验人员可能需要多次对输入输出连接通道进行调整,这就需要设备能够进行在线,实时的通道配置,因此设计了矩阵转换配置方法,将32条输出通道作为转换矩阵的列,32条输入通道作为转换矩阵的行,行列交叉的点为通道矩阵控制开关,交叉点值为1时,表示通道连通,交叉点为0时,表示通道不连通。
输入输出通道配置包括以下几个步骤:1)通道关系配置信息解析;2)配置信息矩阵转换控制;3)控制矩阵数值输出。通道关系配置信息解析过程如下:用户在液晶屏将输入输出通道对应关系设置完成后,配置数据通过串口下发到控制器串口,控制器收到串口中断后,进行数据接收操作,将数据存储DATA数组中,接收完成后对收到的数据包进行解析,计算出相应的通道序号并按照输出通道顺序排列出用户配置的输入通道的序列。
对DATA数组进行解析获取配置信息过程如图4所示,首先将DATA数组、DATA数组指针pickdata、DATAC数组、data_rec数组、data_rec数组指针getdata和数据位数计数器CNT清零,随后检查指针pickdata对应的DATA数组中的数据是否为开始字或者包尾结束字,每查询一个数据后指针pickdata执行一次加1操作。如果是开始字0×20则去掉通道头,与0×20相邻的非开始字数据为通道配置信息ASII数据,检测DATA[pickdata+1]以及DATA[pickdata+2]数据是否为0x20,如果不是则将通道配置信息ASII数据转换成整型数据存储到DATAC[CNT]中,CNT加1。如果CNT的值为2,说明通道号大于10,需要DATAC[CNT]数组中的数据进行合成,得到最终的通道配置数据datamath ,datamath = datat[0]*10+datat[1]。如果CNT值为1,则datamath= datat[0],将datamath的值存储到data_rec数组中。data_rec数组即为输出和输入通道的对应关系数组,data_rec数组对应的指针getdata加1。如果数据DATA[pickdata+1]值为0×20,则表明第1输出通道没有配置输入通道,则将该通道连接到第32通道从而使未连接的通道连接到地上,此时data_rec数组值为32,data_rec数组指针getdata加1。依次类推,直到DATA[pickdata]的值为结束字0×4d,停止查询操作,得到输入输出数组对应关系数组data_rec。如果DATA[0]不是0×20则说明接收到的数据有错误,控制器将错误信息通过串口回传到液晶屏,同时使得液晶屏上的灯进行闪烁提示系统故障,此时用户需要进行故障排查并将液晶屏数据进行从新下发。
图4 配置信息解析流程图
配置信息矩阵转换控制过程即根据data_rec数组的数值生成对AD75019的控制矩阵,每一片AD75019的控制比特流为16*16矩阵,4片AD75019对应4个控制矩阵,4片AD75019控制32*32的输入通道和输出通道之间的导通和通道切换,行列交叉的点为通道矩阵控制开关,交叉点值为1时,表示通道连通,交叉点为0时,表示通道不连通,如图5所示。
图5 配置信息矩阵转换控制过程图
矩阵行列数值计算公式如下所示,用X[n,m]表示16*16控制矩阵,n为控制矩阵的行,m为控制矩阵的列,矩阵行列的初始值为0。获得data_rec数组后,通过对data_rec数组进行查询来获得控制矩阵的数值,首先初始化X矩阵为0,设置data_rec查询指针i=0,并根据data_rec计算结果在矩阵的相应位置填写1,未填写的位置值为0,当查询指针i值为31时,即完成了对data_rec数组的全部遍历,停止查询,随后将矩阵X[n,m]数值的在每一个时钟周期逐行下发到控制器的GPIO上,对开关矩阵进行控制,使得连通的输入输出通道对应的开关矩阵打开,相反则闭合,从而实现对输出输入通道的在线配置和切换。
控制矩阵1计算公式:
X[16-i,17-data_rec(i)]=1,
0 控制矩阵2计算公式: X[32-i,17-data_rec(i)]= 1, 0 控制矩阵3计算公式: X[16-i,32-data_rec(i)]= 1, data_rec(i)>16,0≤i<16, 控制矩阵4计算公式: X[32-i,32-data_rec(i)]= 1, data_rec(i)>16,i≥16 其中i为通道号,data_rec(i)为对应的通道号。 假设用户对32输出通道都进行了配置,且配置为2位字节通道号,每个通道号前均设置的开始字0×20,则用户配置信息包的长度为(1+2)*32=96字节,液晶屏和微控制器间通信速率为38 400 bps,传输96字节数据的耗时为20 ms。微控制器采用16 Mhz时钟频率,微控制器在收到并存储完串口数据后,对串口数据解析,对数据进行遍历查找并合并数据过程需要96个时钟周期将数据存储到data_rec数组中,对控制矩阵X进行初始化需要32个时钟周期,对data_rec数组进行遍历并将计算结果存储到X矩阵中,需要32个时钟周期。将矩阵X数据下发需要256*4个时钟周期,微控制器执行完成输出和输入通道的配置需要时长约为1 184个时钟周期,约为75 μs,考虑到开关矩阵开合到稳定的过程大约为3 ms,因此用户配置完成输入输出通道到微控制器计算并执行完成需要约24 ms时间,满足试验在线快速响应切换的需求。 将多路信号控制器应用于全箭模态实验中,微控制器采用16 Mhz时钟频率,液晶屏和微控制器间通信速率为38 400 bps,传输的信号为1 Hz控制信号,在实验过程中,实验人员设置信号传输通道,系统自动将未使用通道连接到地平面,同时进行激振器控制通道的在线切换,并通过采集设备对输入和输出端信号进行采集,实测切换时长约为50 ms,信号能够保持原幅值输出,相位误差小于1 ms,临近未使用的通道串扰幅值少于0.2 V,满足实验的需求,节约了实验时间,提高了整个实验环节的可靠性,输入输出信号对比如图6所示。 图6 输入输出信号对比图 设计实现了一种信号通道控制器,并对软、硬件设计以及矩阵控制算法进行了介绍,该信号通道控制器可以实现多达32路通道与32路通道的信号的任意连接和智能在线切换。配置连接的通道信号线间导通,未配置连接的通道之间成高阻抗状态。试验人员仅需将测量通道连接在输出端,将模态试验系统测量模块通道连接在输入端,就可以通过控制器液晶屏进行通道配置,实现输入、输出通道的任意连接和在线通道切换。将该信号通道控制器应用到全箭模态试验中,试验表明,该控制器满足实验的需求,节约了实验时间,提高了整个实验环节的可靠性。3 试验结果分析
4 结束语