您的位置 首页 资料

根据DSP与LabVIEW的轿车行进姿势参数收集体系规划

设计了一种基于TMS320F2812与LabVIEW的汽车行驶姿态参数采集系统。利用ADIS16355AMLZ三轴陀螺仪灵敏度高、集成度高、测量精度高等特点,系统采用DSP对汽车行驶姿态进行实时数据采

跟着现代科学技能的开展,人们愈加重视轿车驾驭的安全问题,不断将各种先进技能运用到轿车上,以进步轿车的安全性,如防抱死制动体系,ESP(电子安稳性操控)体系。轿车行进姿势参数收集作为轿车安全体系动力学研讨的根底,对其有重要影响。本规划经过ADIS16355传感器及DSP TMS320F2812构成数据收集体系,收集轿车内行进过程中纵向加速度、侧向加速度以及Z轴角速度,并经过串口传送到上位机,以LabVIEW作为软件渠道对收集数据进行处理及剖析。

ADIS16355是ADI公司出产的一款数字输出、6自由度微惯性丈量体系。其经过SPI(Serial Peripheral Interface)串行接口输出X、Y、Z三轴方向的角速度及加速度,中心传感器丈量部件选用iMEMS?誖运动信号处理技能,丈量精度高。DSP作为运算、操控处理器以其高速、高精度的功用广泛运用于数据收集体系范畴。本体系选用的TMS320F2812芯片的CPU是32位的定点内核,包含SPI串行外设,很简洁地建立了与ADIS16355的硬件电路。别的上位机选用NI公司开发的LabVIEW虚拟仪器渠道,其选用强壮的图形化编程(G言语)言语,面向测验工程师而非专业程序员,编程十分简洁,研制周期短,人机交互界面直观友爱[1],具有各种常用的总线节点和丰厚的软件包及驱动程序,能简捷地完结DSP与PC机之间的串口通讯;一起LabVIEW还具有强壮的数据处理及剖析功用,能对收集的数据进行处理和剖析。

1 体系硬件规划

体系硬件框图如图1所示,硬件电路的首要芯片包含TMS320F2812、ADIS16355、MAX2323。

1.1 TMS320F2812与ADIS16355硬件接口模块

 TMS320F2812是TI公司研制的高功用、多功用、高性价比的DSP芯片。该芯片最高可在主频150 MHz下作业,带有18 K×16 bit 零等候周期片上ARAM和128 K×16 bit片上Flash(存取时间36 ns),片内集成了很多的外设,包含双通道串行通讯接口SCIA/SCIB、串行外设接口SPI、看门狗守时器Watchdog、通用输入/输出引脚GPIO等[2]。TMS320F2812作为本数据收集体系的操控中心,直接操控ADIS16355的作业状况及数据收集,并将ADIS16355数据经过串口传入PC机进行处理。

TMS320F2812与传感器经过SPI接口进行通讯,其电路如图2所示。SPI是一个可编程的高速同步串行输入/输出接口,供给了一个高速同步串行总线,可用于CPU与外围设备或其他操控器之间的通讯。该接口供给了四个外部引脚:串行时钟引脚(SPISCLK)、主设备输入/从机输出引脚(SPISOMI)、从输入/主输出引脚(SPISIMO)及从发送使能引脚(SPISTE)[2],可依据需求运用其间的2~4条信号线。SPI以主从方法作业, SPISCLK串行时钟由主设备操控,从设备不能操控该信号。在主设备的时钟脉冲下,数据从高位到低位顺次传输,速率可到达几兆至几十兆位每秒。

 本体系中TMS320F2812作为主设备,供给SPI串行时钟,担任向ADIS16355写入操控指令,ADIS16355作为从设备向TMS320F2812传送收集到的数字信号。

ADIS16355经过装备相关寄存器能够完结其可编程的特性。ADIS16355共有32个16 bit寄存器,每个寄存器有凹凸两地址,其间任何一个都能够用来拜访该寄存器,编写地址规模是0x00H~0x3FH[3]。外部CPU对ADIS16355的操作操控便是对其相关寄存器的读写,图3为ADIS16355的读寄存器操作SPI时序图。

从图3能够看出,ADIS16355的一次SPI传输包含16 bit数据,第1位为SPI传输的读写状况标明符,0为读,1为写,第2位没有特别含义,紧接着的6 bit是方针寄存器的地址,最终8 bit在写操作时为即将写入寄存器的指令,若是读操作则为无效位。完结一次完好的读操作需求2次16 bit SPI通讯,本次DIN读取的寄存器地址需求鄙人一个DOUT信号线上得到寄存器内容,并输入至TMS320F2812。

1.2 串口通讯模块

TMS320F2812内部含有两个SCI异步串口,该SCI模块支撑CPU与其他异步外设之间运用标准非归零码(NRZ)进行数字通讯。其接纳器和发送器均为双缓冲方式,支撑16级接纳和发送FIFO,发送和接纳具有自己独立的使能和中止,能够作业在半双工或全双工通讯方式[4]。经过运用16 bit波特率挑选寄存器,能够设置多达65 000种通讯速度。

本模块选用RS232串行接口标准,在电气特性上,选用负逻辑RS232电平,而TMS320F2812的信号输入输出为TTL电平,因而本规划经过契合RS232标准的驱动芯片MAX3232来完结TTL与RS232之间的电平转化。

2 体系软件规划

2.1 DSP软件规划

TMS320F2812以CCS(Code Composer Studio)作为集成开发环境,既能够用汇编进行开发,也支撑C言语,本体系选用的是C言语。体系软件规划由主程序和若干子程序构成。子程序包含SPI接口子程序、中止守时子程序、串口子程序等,数据收集程序流程图如图4所示。

 在本数据收集体系规划中,TMS320F2812的时钟频率为100 MHz,因为ADIS16355的SPI时钟频率规模为10 kHz~2 MHz, 因而设定TMS320F2812的SPI波特率为1 MB/s;用守时器T0发动ADIS16355进行数据收集,中止周期设置为100 ms;串口通讯设置的波特率为115 200B/s,有用位8 bit,中止位1 bit,无奇偶校验。下面是SPI初始化、串口初始化和守时程序。

void InitSpi(void){
SpiaRegs.SPICCR.all = 0x4F;
//进入初始状况,数据在上升沿输出,自测制止
SpiaRegs.SPICTL.all = 0x0E; //自动方式,制止SPI中止
Spia.Regs.SPIBRR=0x18; //波特率1 MHz
Spia.Regs.SPICCR.all=SpiaRegs.SPICCR.all|0x0080;
SpiaRegs.SPIPRI.bit.FREE = 1 ;}
void InitSci(){
SciaRegs.SCICCR.all =0x0007;
//通讯操控寄存器,1个中止位,无奇偶校验,自测验禁
止,闲暇线方式,字符长度8 bit
SciaRegs.SCICTL1.all =0x0003;
SciaRegs.SCICTL2.all =0x0003;
SciaRegs.SCICTL2.bit.TXINTENA =1;
SciaRegs.SCICTL2.bit.RXBKINTENA =1;
//制止接纳过错中止,制止休眠,使能发送接纳
SciaRegs.SCIHBAUD = 0x0000;
SciaRegs.SCILBAUD = 0x001a; //波特率设置115 200
SciaRegs.SC%&&&&&%TL1.all =0x0023;}
EALLOW;
PieVectTable.TINT0 = ISRTimer0;
EDIS;
ConfigCpuTimer(CpuTimer0,100,100000);
//设置中止守时100 ms
StartCpuTimer0();
IER |= M_INT1;
PieCtrl.PIEIER1.bit.INTx7=1; //开中止
Interrupt void ISRTimer0 (void) {
CpuTimer0.InterruptCount++;
read_ADI_register(0x0004); //读取X轴加速度
PieCtrl.PIEACK.all=PIEACK_GROUP1; }

2.2 依据虚拟仪器LabVIEW的规划

2.2.1 VISA概述

LabVIEW是运用图形化编程言语,功用强壮而又灵敏的仪器运用和剖析软件体系,首要用于仪器操控、数据收集、数据剖析等范畴,习惯多种操作体系。LabVIEW中供给各种总线的驱动程序,能够用来编写各种总线方式的仪器驱动程序。VISA库即I/O接口软件库及其标准的总称,是LabVIEW的仪器驱动库之一。VISA是在LabVIEW开发渠道上操控VXI、GPIB、RS232、PXI、PCI以及其他品种仪器的单接口程序库,是对其他总线驱动函数进行的一个共同封装的高层API[5],自身不具备编程才能,能够依据运用的仪器类型,调用恰当的底层驱动程序来操控仪器。串行通讯运用的VISA库中的API函数如图5所示,途径为:Functions>>Instrument I/O>>VISA Advanced>>Interface Specific>>Serial。

(1)VISA装备串口

该节点首要用于串口初始
化,首要端口阐明如下:
VISA resource name:VISA资源称号,本文是指串标语。
baud rate:波特率;默认值是9 600 b/s。
data bits:一帧信息中的位数,在LabVIEW中答应5~8 bit数据,默认值为8 bit。
stop bits:一帧信息中的中止位的位数,可为1位,1位半,或2位。
parity:奇偶校验设置。可为无校验、奇校验或偶校验。

(2)VISA读取

该节点为串口通讯子VI,是本体系运用的首要节点,从串口中读出指定数量的字节,并将数据回来至读取缓冲区,然后使用LabVIEW强壮的数据处理功用对数据进行剖析和处理。首要端口阐明如下:
VISA resource name:VISA资源称号。
byte count:指定读取数据的字节数。

(3)VISA封闭

该节点用于将翻开的VISA资源封闭。

2.2.2 串口调试软件

串口调试规划首要包含串口初始化、读写数据、数据显现并保存等部分,程序规划流程图如图6示。

 经过VISA库能够方便地对串口进行与下位机相同的装备,一起结合其他库中的函数能够完结串口发送、接纳、显现以及存储部分的编写。

在数据发送和接纳模块中,因为LabVIEW的串行通讯中数据都是以字符串(Normal)的方式组成的,所以假如串口发送或接纳的数据是十六进制数值,需在发送或接纳之前进行相应的转化。LabVIEW供给了十六进制数值与ASCII字符串之间的转化模块。在DSP中一次接连发送两个8 bit十六进制数,构成一个16 bit传感器收集数据,因而需求经过字符串至字节数组转化节点将其转化为字节数组,再连接起来。VISA读取节点接纳到的数据在处理过程中,需求一些数据格局类型的转化,如:字符数组转化为十六进制函数。数值经过处理后,再以了解的十进制方式进行波形显现和Excel格局保存。LabVIEW程序规划前面板如图7所示。

3 试验成果

本数据收集体系对轿车行进时的纵向加速度、侧向加速度以及Z轴角速度各收集了5组数据,每组1 000个点。上位机经过LabVIEW接纳数据并进行必定的处理,然后显现,保存在Excel文档中。图7所示的波形为其间一组纵向加速度的波形,加速度参数的单位为g,角速度参数的单位为(°)/s。依据加速度公式:a=(vt-v0)/t;vt-v0=2 as;能够计算出轿车行进时的纵向加速度,与本规划收集的数据在传感器差错规模内共同。经过对纵向加速度的剖析可知,此数据收集体系能到达规划要求。

该数据收集体系经过以AIDS16355传感器和TMS320F2812作为数据收集模块,并在PC机上选用LabVIEW虚拟仪器渠道,方便地完结了对串口的读写、对数据的显现与存储。试验证明,依据DSP与LabVIEW的轿车行进姿势参数收集体系作业安稳,操作简略,收集速度快,数据精度高,为完结轿车安全体系的动力学研讨供给了牢靠的数据。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/191686.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部