基于DSP與LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)設計_第1頁
基于DSP與LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)設計_第2頁
基于DSP與LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)設計_第3頁
基于DSP與LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)設計_第4頁
基于DSP與LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)設計_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于DSP與LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)設計作者:電子技術(shù) 文章來源:電子技術(shù)應用 點擊數(shù): 119 更新時間:2011-3-26 熊 玉1, 韓峻峰2, 潘盛輝3, 陳樂珠1 來源:電子技術(shù)應用2011年第1期摘 要:設計了一種基于TMS320F2812與LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)。利用ADIS16355AMLZ三軸陀螺儀靈敏度高、集成度高、測量精度高等特點,系統(tǒng)采用DSP對汽車行駛姿態(tài)進行實時數(shù)據(jù)采集,并通過SPI接口實現(xiàn)兩者之間的通信,上位機采用LabVIEW作為開發(fā)平臺,通過串口實現(xiàn)DSP與上位機的通信。關(guān)鍵詞: TMS320F2812; ADIS16355A

2、MLZ; LabVIEW; 數(shù)據(jù)采集隨著現(xiàn)代科學技術(shù)的發(fā)展,人們更加注重汽車駕駛的安全問題,不斷將各種先進技術(shù)應用到汽車上,以提高汽車的安全性,如防抱死制動系統(tǒng),ESP(電子穩(wěn)定性控制系統(tǒng)。汽車行駛姿態(tài)參數(shù)采集作為汽車安全系統(tǒng)動力學研究的基礎,對其有重要影響。本設計通過ADIS16355傳感器及DSP TMS320F2812構(gòu)成數(shù)據(jù)采集系統(tǒng),采集汽車在行駛過程中縱向加速度、側(cè)向加速度以及Z軸角速度,并通過串口傳送到上位機,以LabVIEW作為軟件平臺對采集數(shù)據(jù)進行處理及分析。ADIS16355是ADI公司生產(chǎn)的一款數(shù)字輸出、6自由度微慣性測量系統(tǒng)。其通過SPI(Serial Periphera

3、l Interface串行接口輸出X、Y、Z三軸方向的角速度及加速度,核心傳感器測量部件采用iMEMS?誖運動信號處理技術(shù),測量精度高。DSP作為運算、控制處理器以其高速、高精度的性能廣泛應用于數(shù)據(jù)采集系統(tǒng)領(lǐng)域。本系統(tǒng)采用的TMS320F2812芯片的CPU是32位的定點內(nèi)核,包含SPI串行外設,很簡便地建立了與ADIS16355的硬件電路。另外上位機采用NI公司開發(fā)的LabVIEW虛擬儀器平臺,其采用強大的圖形化編程(G語言語言,面向測試工程師而非專業(yè)程序員,編程非常簡便,研發(fā)周期短,人機交互界面直觀友好1,具有各種常用的總線節(jié)點和豐富的軟件包及驅(qū)動程序,能簡捷地實現(xiàn)DSP與PC機之間的串口

4、通信;同時LabVIEW還具有強大的數(shù)據(jù)處理及分析功能,能對采集的數(shù)據(jù)進行處理和分析。1 系統(tǒng)硬件設計系統(tǒng)硬件框圖如圖1所示,硬件電路的主要芯片包括TMS320F2812、ADIS16355、MAX2323。1.1 TMS320F2812與ADIS16355硬件接口模塊TMS320F2812是TI公司研發(fā)的高性能、多功能、高性價比的DSP芯片。該芯片最高可在主頻150 MHz下工作,帶有18 K×16 bit 零等待周期片上ARAM和128 K×16 bit片上Flash(存取時間36 ns,片內(nèi)集成了大量的外設,包括雙通道串行通信接口SCIA/SCIB、串行外設接口SPI

5、、看門狗定時器Watchdog、通用輸入/輸出引腳GPIO等2。TMS320F2812作為本數(shù)據(jù)采集系統(tǒng)的控制核心,直接控制ADIS16355的工作狀態(tài)及數(shù)據(jù)采集,并將ADIS16355數(shù)據(jù)通過串口傳入PC機進行處理。TMS320F2812與傳感器通過SPI接口進行通信,其電路如圖2所示。SPI是一個可編程的高速同步串行輸入/輸出接口,提供了一個高速同步串行總線,可用于CPU與外圍設備或其他控制器之間的通信。該接口提供了四個外部引腳:串行時鐘引腳(SPISCLK)、主設備輸入/從機輸出引腳(SPISOMI)、從輸入/主輸出引腳(SPISIMO)及從發(fā)送使能引腳(SPISTE)2,可根據(jù)需要使用

6、其中的24條信號線。SPI以主從方式工作, SPISCLK串行時鐘由主設備控制,從設備不能控制該信號。在主設備的時鐘脈沖下,數(shù)據(jù)從高位到低位依次傳輸,速率可達到幾兆至幾十兆位每秒。本系統(tǒng)中TMS320F2812作為主設備,提供SPI串行時鐘,負責向ADIS16355寫入控制命令,ADIS16355作為從設備向TMS320F2812傳送采集到的數(shù)字信號。ADIS16355通過配置相關(guān)寄存器可以實現(xiàn)其可編程的特性。ADIS16355共有32個16 bit寄存器,每個寄存器有高低兩地址,其中任何一個都可以用來訪問該寄存器,編寫地址范圍是0x00H0x3FH3。外部CPU對ADIS16355的操作控制

7、就是對其相關(guān)寄存器的讀寫,圖3為ADIS16355的讀寄存器操作SPI時序圖。從圖3可以看出,ADIS16355的一次SPI傳輸包括16 bit數(shù)據(jù),第1位為SPI傳輸?shù)淖x寫狀態(tài)標示符,0為讀,1為寫,第2位沒有特殊意義,緊接著的6 bit是目標寄存器的地址,最后8 bit在寫操作時為將要寫入寄存器的命令,若是讀操作則為無效位。完成一次完整的讀操作需要2次16 bit SPI通信,本次DIN讀取的寄存器地址需要在下一個DOUT信號線上得到寄存器內(nèi)容,并輸入至TMS320F2812。1.2 串口通信模塊TMS320F2812內(nèi)部含有兩個SCI異步串口,該SCI模塊支持CPU與其他異步外設之間使用

8、標準非歸零碼(NRZ進行數(shù)字通信。其接收器和發(fā)送器均為雙緩沖模式,支持16級接收和發(fā)送FIFO,發(fā)送和接收具有自己獨立的使能和中斷,可以工作在半雙工或全雙工通信模式4。通過使用16 bit波特率選擇寄存器,可以設置多達65 000種通信速度。本模塊采用RS232串行接口標準,在電氣特性上,采用負邏輯RS232電平,而TMS320F2812的信號輸入輸出為TTL電平,因此本設計通過符合RS232標準的驅(qū)動芯片MAX3232來實現(xiàn)TTL與RS232之間的電平轉(zhuǎn)換。2 系統(tǒng)軟件設計2.1 DSP軟件設計TMS320F2812以CCS(Code Composer Studio)作為集成開發(fā)環(huán)境,既可以

9、用匯編進行開發(fā),也支持C語言,本系統(tǒng)采用的是C語言。系統(tǒng)軟件設計由主程序和若干子程序構(gòu)成。子程序包括SPI接口子程序、中斷定時子程序、串口子程序等,數(shù)據(jù)采集程序流程圖如圖4所示。在本數(shù)據(jù)采集系統(tǒng)設計中,TMS320F2812的時鐘頻率為100 MHz,由于ADIS16355的SPI時鐘頻率范圍為10 kHz2 MHz, 因此設定TMS320F2812的SPI波特率為1 MB/s;用定時器T0啟動ADIS16355進行數(shù)據(jù)采集,中斷周期設置為100 ms;串口通信設置的波特率為115 200B/s,有效位8 bit,停止位1 bit,無奇偶校驗。下面是SPI初始化、串口初始化和定時程序。void

10、 InitSpi(voidSpiaRegs.SPICCR.all = 0x4F;/進入初始狀態(tài),數(shù)據(jù)在上升沿輸出,自測禁止SpiaRegs.SPICTL.all = 0x0E; /主動模式,禁止SPI中斷Spia.Regs.SPIBRR=0x18; /波特率1 MHzSpia.Regs.SPICCR.all=SpiaRegs.SPICCR.all|0x0080;SpiaRegs.SPIPRI.bit.FREE = 1 ;void InitSci(SciaRegs.SCICCR.all =0x0007;/通信控制寄存器,1個停止位,無奇偶校驗,自測試禁止,空閑線模式,字符長度8 bitSciaR

11、egs.SCICTL1.all =0x0003;SciaRegs.SCICTL2.all =0x0003;SciaRegs.SCICTL2.bit.TXINTENA =1;SciaRegs.SCICTL2.bit.RXBKINTENA =1;/禁止接收錯誤中斷,禁止休眠,使能發(fā)送接收SciaRegs.SCIHBAUD = 0x0000;SciaRegs.SCILBAUD = 0x001a; /波特率設置115 200SciaRegs.SCICTL1.all =0x0023;EALLOW;PieVectTable.TINT0 = &ISRTimer0;EDIS;ConfigCpuTime

12、r(&CpuTimer0,100,100000;/設置中斷定時100 msStartCpuTimer0(;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是使用圖形化編程語言,功能強大而又靈活的儀器應用和分析軟件系統(tǒng),

13、主要用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析等領(lǐng)域,適應多種操作系統(tǒng)。LabVIEW中提供各種總線的驅(qū)動程序,可以用來編寫各種總線形式的儀器驅(qū)動程序。VISA庫即I/O接口軟件庫及其規(guī)范的總稱,是LabVIEW的儀器驅(qū)動庫之一。VISA是在LabVIEW開發(fā)平臺上控制VXI、GPIB、RS232、PXI、PCI以及其他種類儀器的單接口程序庫,是對其他總線驅(qū)動函數(shù)進行的一個統(tǒng)一封裝的高層API5,本身不具備編程能力,可以根據(jù)使用的儀器類型,調(diào)用適當?shù)牡讓域?qū)動程序來控制儀器。串行通信使用的VISA庫中的API函數(shù)如圖5所示,路徑為:Functions>>Instrument I/O>&g

14、t;VISA Advanced>>Interface Specific>>Serial。(1VISA配置串口該節(jié)點主要用于串口初始化,主要端口說明如下:VISA resource name:VISA資源名稱,本文是指串口號。baud rate:波特率;默認值是9 600 b/s。data bits:一幀信息中的位數(shù),在LabVIEW中允許58 bit數(shù)據(jù),默認值為8 bit。stop bits:一幀信息中的停止位的位數(shù),可為1位,1位半,或2位。parity:奇偶校驗設置。可為無校驗、奇校驗或偶校驗。(2VISA讀取該節(jié)點為串口通信子VI,是本系統(tǒng)使用的主要節(jié)點,從串口

15、中讀出指定數(shù)量的字節(jié),并將數(shù)據(jù)返回至讀取緩沖區(qū),然后利用LabVIEW強大的數(shù)據(jù)處理功能對數(shù)據(jù)進行分析和處理。主要端口說明如下:VISA resource name:VISA資源名稱。byte count:指定讀取數(shù)據(jù)的字節(jié)數(shù)。(3VISA關(guān)閉該節(jié)點用于將打開的VISA資源關(guān)閉。2.2.2 串口調(diào)試軟件串口調(diào)試設計主要包括串口初始化、讀寫數(shù)據(jù)、數(shù)據(jù)顯示并保存等部分,程序設計流程圖如圖6示。通過VISA庫可以方便地對串口進行與下位機相同的配置,同時結(jié)合其他庫中的函數(shù)可以實現(xiàn)串口發(fā)送、接收、顯示以及存儲部分的編寫。在數(shù)據(jù)發(fā)送和接收模塊中,由于LabVIEW的串行通信中數(shù)據(jù)都是以字符串(Normal

16、)的形式組成的,所以如果串口發(fā)送或接收的數(shù)據(jù)是十六進制數(shù)值,需在發(fā)送或接收之前進行相應的轉(zhuǎn)換。LabVIEW提供了十六進制數(shù)值與ASCII字符串之間的轉(zhuǎn)換模塊。在DSP中一次連續(xù)發(fā)送兩個8 bit十六進制數(shù),構(gòu)成一個16 bit傳感器采集數(shù)據(jù),因此需要通過字符串至字節(jié)數(shù)組轉(zhuǎn)換節(jié)點將其轉(zhuǎn)換為字節(jié)數(shù)組,再連接起來。VISA讀取節(jié)點接收到的數(shù)據(jù)在處理過程中,需要一些數(shù)據(jù)格式類型的轉(zhuǎn)換,如:字符數(shù)組轉(zhuǎn)換為十六進制函數(shù)。數(shù)值經(jīng)過處理后,再以熟悉的十進制形式進行波形顯示和Excel格式保存。LabVIEW程序設計前面板如圖7所示。3 實驗結(jié)果本數(shù)據(jù)采集系統(tǒng)對汽車行駛時的縱向加速度、側(cè)向加速度以及Z軸角速度

17、各采集了5組數(shù)據(jù),每組1 000個點。上位機通過LabVIEW接收數(shù)據(jù)并進行一定的處理,然后顯示,保存在Excel文檔中。圖7所示的波形為其中一組縱向加速度的波形,加速度參數(shù)的單位為g,角速度參數(shù)的單位為(°/s。根據(jù)加速度公式:a=(vt-v0/t;vt-v0=2 as;可以計算出汽車行駛時的縱向加速度,與本設計采集的數(shù)據(jù)在傳感器誤差范圍內(nèi)一致。通過對縱向加速度的分析可知,此數(shù)據(jù)采集系統(tǒng)能達到設計要求。該數(shù)據(jù)采集系統(tǒng)通過以AIDS16355傳感器和TMS320F2812作為數(shù)據(jù)采集模塊,并在PC機上采用LabVIEW虛擬儀器平臺,方便地實現(xiàn)了對串口的讀寫、對數(shù)據(jù)的顯示與存儲。實驗證明,基于DSP與LabVIEW的汽車行駛姿態(tài)參數(shù)采集系統(tǒng)工作穩(wěn)定,操作簡單,采集速度快,數(shù)據(jù)精度

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論