微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 基于DSP与LabVIEW的汽车行驶姿态参数采集系统设计

基于DSP与LabVIEW的汽车行驶姿态参数采集系统设计

时间:03-03 来源:电子技术应用 点击:

随着现代科学技术的发展,人们更加注重汽车驾驶的安全问题,不断将各种先进技术应用到汽车上,以提高汽车的安全性,如防抱死制动系统,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所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top