《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于DSP的激光雷達數(shù)據(jù)智能接口卡設計
基于DSP的激光雷達數(shù)據(jù)智能接口卡設計
摘要: 為滿足激光雷達和PC機的高速數(shù)據(jù)傳輸,現(xiàn)有的解決方案的實時性得不到保障,而且都不具備任何數(shù)據(jù)處理功能,,而障礙物檢測功能應集成到底層硬件平臺上實現(xiàn),萬一PC發(fā)生死機,,車輛仍能自動避撞,保證了車輛系統(tǒng)的安全性和可靠性。因此,,需要開發(fā)一套新的接口卡來實現(xiàn)這些功能,。
Abstract:
Key words :


無人自動駕駛車輛是室外移動機器人的一種,車上控制系統(tǒng)對車輛進行自主控制,,實現(xiàn)無人駕駛,。我們的車輛研究使用SICK公司的LMS291激光雷達作為主要的障礙物檢測傳感器,并同時用于車輛的激光導航,。該激光雷達支持RS-232和RS-422串行通信,,由于RS-232通信的最大速率為20k bps,無法滿足車輛實時檢測障礙物的需要,。因此,,在智能車輛上,采用RS-422傳輸激光雷達數(shù)據(jù),,傳輸速率為500K bps,。

為滿足激光雷達和PC機的高速數(shù)據(jù)傳輸,現(xiàn)有的解決方案的實時性得不到保障,,而且都不具備任何數(shù)據(jù)處理功能,,而障礙物檢測功能應集成到底層硬件平臺上實現(xiàn),萬一PC發(fā)生死機,,車輛仍能自動避撞,,保證了車輛系統(tǒng)的安全性和可靠性。因此,,需要開發(fā)一套新的接口卡來實現(xiàn)這些功能,。

1 接口卡研制目標和總體方案

針對激光雷達在智能車輛上的應用要求,我們對接口卡的功能提出了如下目標:

(1)激光雷達數(shù)據(jù)采集功能,。通過RS-422與LMS291激光雷達進行通信,通信速率為500k bps,;可實時獲取激光雷達數(shù)據(jù),;可配置激光雷達參數(shù)。

(2)數(shù)據(jù)傳輸功能,。通過CAN總線將采集的激光雷達數(shù)據(jù)送往上位機PC,。

(3)障礙物檢測功能。通過系統(tǒng)對激光雷達數(shù)據(jù)的處理,,獲取障礙物檢測參數(shù),,通過I/O,直接發(fā)送緊急停車命令給底層控制器,,緊急剎車,。

根據(jù)系統(tǒng)要求,板上的CPU決定選用TI公司的TMS320LF2407A DSP芯片,它速度快,、功耗低,、易于開發(fā)、資源豐富,、有片上CAN控制器等,。LF2407A采用哈佛總線結構,具有16位高性能的CPU,,時鐘頻率為40MHZ并支持軟件改變鎖相環(huán)的頻率,,在智能控制和通信中得到廣泛應用。500)this.style.width=500;" border=0>

2 系統(tǒng)硬件設計

2.1 RS-422通信接口設計

RS-422A通信接口標準是EIA公布的“非平衡電壓數(shù)字接口電路的電氣特性“標準,,它采用非平衡發(fā)送器和差分接收器,,電平變化范圍為12V,通信速率最大10Mbit/s(120m通信距離內),,通信速率最小90Kbit/s(1200m通信距離),。

由于本系統(tǒng)要適應高速大流量數(shù)據(jù)通信,且要實現(xiàn)數(shù)據(jù)處理功能,。為了保證數(shù)據(jù)傳輸?shù)膶崟r性和可靠性,,我們選用TI 公司的UART產(chǎn)品TL16C752B。它是一個超前的解決方案,,提供了兩路相互獨立的異步收發(fā)器,,具有64字節(jié)的發(fā)送和接收FIFO 存儲器,這樣服務間隔時間就增加了,,使外部CPU 有多余時間處理其他的應用,,減少了整個UART 的中斷服務時間。

本系統(tǒng)將TL16C752B配置在LF2407A的I/O空間,,TL16C752B還提供了2個中斷請求信號分別用于通道A和B申請LF2407A中斷,,復用LF2407A的外部中斷XINT1.

 

2.2 CAN通信接口設計

CAN總線是德國BOSCH公司從80年代初為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,,通信介質可以是雙絞線,、同軸電纜或光導纖維。通信速率可達1MBPS,。CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,,可完成對通信數(shù)據(jù)的成幀處理,包括位填充,、數(shù)據(jù)塊編碼,、循環(huán)冗余檢驗、優(yōu)先級判別等項工作,。

本系統(tǒng)使用的DSP芯片已集成了片內CAN控制器,,收發(fā)器采用德州儀器公司生產(chǎn)的SN65HVD230 CAN總線收發(fā)器,,主要是與帶有CAN控制器的TMS320Lx240x系列DSP配套使用,該收發(fā)器具有差分收發(fā)能力,,最高速率可達1Mb/s,。SN65HVD230具有高速、斜率和等待3種不同的工作模式,。其工作模式控制可通過Rs控制引腳來實現(xiàn),。

 

3 系統(tǒng)軟件設計

 

軟件設計的第一步是初始化,包括系統(tǒng)初始化,、異步串口和CAN初始化等,。然后是主體部分即UART和CAN的通信以及數(shù)據(jù)處理等。主體部分程序主要由三大塊組成:激光雷達配置模塊,、UART和CAN通信模塊,、車體避撞模塊。

 

3.1 激光雷達配置模塊

 

PC與激光雷達之間通過固定的數(shù)據(jù)格式進行通信,,配置激光雷達的流程如下:

(1) 首先打開串口,,初始化, 等待激光雷達返回開機初始化的應答數(shù)據(jù)。

(2) 使用默認的密碼“SICK_LMS”,,改變操作模式為“安裝模式”, 并等待雷達應答數(shù)據(jù)的返回,。

(3) 配置激光雷達和UART串口的速率。先將激光雷達波特率改為500K,,等到返回修改成功的應答數(shù)據(jù)后,,再將UART串口的波特率也改為500K。

(4) 設置掃描寬度和角度分辨率,,掃描寬度180度,,角度分辨率為0.5度。

(5) 請求激光雷達的配置數(shù)據(jù),,目的是獲得一些參數(shù)的值,,放到數(shù)組中,然后修改部分參數(shù)的值,,并用命令77h將參數(shù)寫到激光雷達中,。

(6) 切換到監(jiān)控模式,獲得激光雷達連續(xù)掃描數(shù)據(jù),。

此后雷達便開始以26.6毫秒的周期將測量數(shù)據(jù)以500Kbps的通信速率發(fā)送給接口卡,。

3.2 UART和CAN通信模塊

UART采用中斷方式接收激光雷達發(fā)送過來的數(shù)據(jù),,因為數(shù)據(jù)傳輸速率為500Kbps,,接收中斷非常頻繁,中斷程序過于復雜會延誤后續(xù)的數(shù)據(jù)處理,,所以整個中斷程序非常簡短,,不超過20條指令。當主程序檢測到UART接收到一楨數(shù)據(jù)后,就將數(shù)據(jù)寫入CAN郵箱4和5,,通過CAN發(fā)送給PC機,。同時,CAN通信采用中斷接收PC機發(fā)送過來的數(shù)據(jù),,再通過UART發(fā)送給激光雷達,。

3.3 車體避撞模塊

車輛在自動駕駛時需要實時檢測車前方一定范圍內的障礙物,一旦發(fā)現(xiàn)有障礙物就必須控制車輛緊急制動以免發(fā)生事故,,這個障礙物檢測是由安裝在車前部的激光雷達完成的,。

當UART接收到激光雷達一楨數(shù)據(jù)732個字節(jié)后,進行CRC校驗,,數(shù)據(jù)校驗無誤后,,去掉楨頭和楨尾,將距離數(shù)據(jù)的高位字節(jié)和低位字節(jié)合并,,然后存放在數(shù)組Laser_Range[361]里,。智能車輛的寬度為1.4米,我們設置了一個障礙物檢測區(qū)域,,是以激光雷達為中心的一個2×2米的方形區(qū)域,,只要在這個區(qū)域內有障礙物我們就認為車的前方有障礙物,需要緊急制動,。一楨激光雷達數(shù)據(jù)是361個距離值,,在判斷時將這361個數(shù)據(jù)分為三個部分,三個區(qū)域內的數(shù)據(jù)分別有各自的判斷條件,,條件如果成立則認為該區(qū)域內有障礙物,。當檢測完361個數(shù)據(jù)以后,如果沒發(fā)現(xiàn)障礙物則認為是安全的,,如果發(fā)現(xiàn)了障礙物則認為有危險,,這時直接通過I/O發(fā)送命令給底層控制器讓車輛緊急剎車。

4 試驗結果

本文對上述接口卡進行了試驗驗證,。試驗平臺為上海交通大學研制的無人自動駕駛車輛,,測距傳感器為LMS291激光雷達,安裝在車輛前方,。在車載筆記本電腦的VC++平臺上對CAN接口進行配置,,接收激光雷達在500kbps下發(fā)送的連續(xù)數(shù)據(jù),對每一個測量的距離數(shù)據(jù)用一個小圓圈表示,,在實驗室外的車道上進行了實際演示,,結果如下

 

隨著前方障礙物的變化,圖像會實時地跟著變化,。由于采集速率高,,激光雷達數(shù)據(jù)完全沒有丟失,。數(shù)據(jù)傳輸實時性也很好,筆記本電腦接收激光雷達一楨732個字節(jié)數(shù)據(jù)的時間為27.2毫秒,,比激光雷達實際的時間周期只延遲了0.6毫秒,,達到了車輛精確定位導航算法的要求。

5 結論

本文針對無人自動駕駛車輛的激光雷達避撞和導航的要求,,設計了基于DSP的激光雷達智能接口卡,,對PC機中獲得的數(shù)據(jù)進行檢驗的結果表明,數(shù)據(jù)傳輸?shù)膶崟r性和可靠性都很好,。而且根據(jù)車輛實際演示的效果來看,,避撞很可靠。

本文創(chuàng)新點:1. 本文設計的接口卡采用處理速度較高的DSP系統(tǒng)和外擴高速UART TL16C152B,,使得接口卡采集數(shù)據(jù)的速度能夠達到500Kbps,,目前市場上的接口卡一般都不能達到這一速度要求。2. 由于采用了高速的DSP系統(tǒng),,所以在數(shù)據(jù)采集傳輸?shù)耐瑫r,,還可以進行數(shù)據(jù)處理實現(xiàn)車輛的自動避撞。3. 本文的接口卡和上位機接口選擇了CAN總線傳輸,,使得數(shù)據(jù)傳輸?shù)膶崟r性很高,,試驗數(shù)據(jù)表明一楨732個字節(jié)的數(shù)據(jù)只延遲了0.6毫秒,滿足了筆記本電腦進行精確定位導航算法的要求,。此接口卡已成功應用在上海交通大學研制的無人自動駕駛車輛上,,取得了良好的效果。

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。