ADSP——美國模擬器件公司(ADI : Analog Device Instrument)生產的數字信號處理芯片(DSP:Digital Singal Processor),代表系列有 ADSP Sharc 211xx (低端領域),ADSP TigerSharc 101,201(高端領域),ADSP Blackfin 系列(消費電子領域)。
ADSP與另外一個著名的德州儀器(TI: Texas Instrument)生產的芯片特點相比較,具有浮點運算強,SIMD(單指令多數據)編程的優(yōu)勢, 比較新的Blackfin系列比同一級別TI產品功耗低。缺點是ADSP不如TI的C語言編譯優(yōu)化好.TI已經普及了C語言的編程,而AD芯片的性能發(fā)揮比較依賴程序員的編程水平.ADSP的Linkport數據傳輸能力強是一大特色,但是使用起來不夠穩(wěn)定,調試難度大。
ADI提供的Visual DSP ++2.0, 3.0, 4.0, 4.5 編程環(huán)境,可以支持軟件人員開發(fā)調試。下面是電子發(fā)燒友網編輯推薦的幾個關于ADSP系列芯片的一些典型應用。
一、一種基于ADSP-2188M的多傳感器數據采集系統(tǒng)
摘 要: 在移動智能體的研制中,能夠實時地探測周圍環(huán)境信息的傳感器系統(tǒng)是至關重要的。本文介紹了一種以DSP-ADSP-2188M為核心的傳感器數據采集系統(tǒng)的軟、硬件設計和工作原理,以及與上位機通信的設計和實現過程。該系統(tǒng)可以應用于移動機器人、智能輪椅、自動制導車輛等移動智能系統(tǒng)中。
引言
在自主移動機器人系統(tǒng)、智能輪椅、自動制導車輛等智能移動系統(tǒng)中,需要實時地采集未知和不確定環(huán)境中的信息,以完成避障、環(huán)境地圖繪制、導航、定位等運作,然后進行路徑規(guī)劃等任務。這些任務必須依靠能實時感知環(huán)境信息的傳感器系統(tǒng)來完成。為了在復雜環(huán)境中獲取有效的信息,這些系統(tǒng)往往安裝有種類各異的傳感器。目前,常用的有視覺、激光、紅外、超聲等傳感器。激光傳感器價格昂貴,而且在室內的結構化環(huán)境中存在鏡面反射的問題。同時,超聲波傳感器以其性價比高,硬件實現簡單等優(yōu)點,被廣泛地應用到感知系統(tǒng)中。同時,超聲傳感器也面臨鏡面反射的問題,方向性上也有欠缺。所以,在眾多傳感器采集系統(tǒng)中還實現了紅外傳感器和相位敏感器件(PSD)的數據采集。
隨著微電子技術和計算機集成芯片制造技術的不斷發(fā)展和成熟,數字信號處理芯片(DSP)由于其快速的計算能力,不僅廣泛應用于通信與視頻信號處理,也逐漸應用在各種高級的控制系統(tǒng)中。AD公司的ADSP-21xx系列提供了低成本、低功耗、高性能的處理能力和解決方案。其中的ADSP-2188M指令執(zhí)行速度高達75MIPS,加上獨立的算術邏輯單元,擁有強大的數字信號處理能力。此外,大容量的RAM被集成到該芯片內,以形成真正的單芯片控制器,可以極大地簡化外圍電路設計,降低系統(tǒng)成本和系統(tǒng)復雜度,也大大提高了數據的存儲處理能力。我們設計的多傳感器數據采集系統(tǒng)以ADSP-2188M為核心控制器。本文著重介紹該系統(tǒng)的軟、硬件設計和工作原理,并給出實驗結果。
圖1? 多傳感器數據采集系統(tǒng)方框圖
?
圖2? 超聲波接收電路
圖3 系統(tǒng)軟件流程圖
系統(tǒng)的硬件設計
整個多傳感器數據采集系統(tǒng)的結構如圖1所示。從圖中可以看出,系統(tǒng)由DSP主控制器、超聲波環(huán)境探測電路、紅外傳感器數據采集電路、PSD數據采集電路和通信模塊等部分組成。系統(tǒng)的核心為ADSP 2188M,主要完成對各種傳感器的控制,信號的發(fā)射與接收,信息的融合及與上位PC主機進行通訊等功能。由于系統(tǒng)對傳感器的信息已經進行了集中的預處理,與PC上位機進行通信的數據量將得到很大的降低,RS232串口通信方式已經能夠滿足系統(tǒng)在實時性方面的要求。
超聲波環(huán)境探測電路
超聲波探測電路主要由16路超聲波發(fā)生電路和超聲波接收電路等模塊組成。移動智能系統(tǒng)在運動過程中需要實時地了解環(huán)境信息,常常根據實際需要將超聲傳感器均勻地布置在系統(tǒng)四周,從而構成環(huán)境探測系統(tǒng)。超聲測距的原理較簡單,一般采用渡越時間法,即:
D=Ct / 2 (1)
其中D為移動機器人與被測障礙物之間的距離,C為聲波在介質中的傳輸速率,t為渡越時間,聲波在空氣中傳輸速率為:
(2)
其中,T為絕對溫度。在不要求測距精度很高的情況下,一般可以認為C為常數。測量超聲波從發(fā)射到返回的時間間隔t,然后根據式(1)計算距離。
超聲波發(fā)射部分主要由激勵信號發(fā)生電路,緩沖升壓放大和超聲波換能器等環(huán)節(jié)構成。超聲波發(fā)射過程是:首先由DSP控制多路模擬開關ADG438F,選擇性地啟動16路發(fā)射電路中的4路。然后由ADSP2188M的一個I/O口產生脈寬為25μs的40kHz的調制脈沖波,通過緩沖放大器7406,再經變壓器升壓放大電路產生幅度達60V的瞬間高能激勵信號,同時激發(fā)4路超聲換能器產生超聲波信號。ADG438F的最大開啟時間為250ns,不會影響系統(tǒng)的實時性。
超聲波的接收與發(fā)射必須協(xié)調一致工作,才能保證信號準確靈敏的接收。接收部分主要由接收換能器、放大濾波、整形觸發(fā)輸出等環(huán)節(jié)組成,如圖2所示。由于超聲波在傳播中,其能量會隨傳輸距離的增大而減小,從遠距離障礙物反射的回波信號一般比較弱(為mv級),所以需要經過多級信號放大處理。本系統(tǒng)采用了三級放大處理,將信號放大約150萬倍,然后經整形電路輸出。4路超聲傳感器接收電路將經過整形以后的信號作為中斷申請信號,通過多路模擬開關再接入ADSP-2188M的外部中斷引腳,觸發(fā)DSP的外部中斷。
實驗測得該超聲傳感器的靈敏范圍大約為30度,測距范圍為0.30~3m,重復測距精度在1%以內。
紅外傳感器數據采集電路
紅外傳感器數據采集模塊主要由8路紅外傳感器、光電隔離電路和電子開關組成。紅外傳感器的探測距離一般比較短,通常被用作近距離障礙目標的識別,可以在一定程度上彌補超聲傳感器盲區(qū)特性的不足。其輸出為0或1的開關量。紅外傳感器一般在靜態(tài)時工作電流為25mA左右,而在動態(tài)工作時可達60mA。因而,紅外傳感器陣列的使用將會對系統(tǒng)的供電系統(tǒng)帶來很大的負擔。為此,在紅外傳感器數據采集模塊中引入三極管的電子開關,控制紅外傳感器的供電電源,當需要采集紅外傳感器信息時,才接通紅外傳感器的電源。經過實驗測定,該電子開關的反應速度達到5.6μs,對系統(tǒng)的實時性幾乎沒有影響。
8路紅外傳感器的數據通過光電耦合電路直接連接到ADSP2188M的高8位數據線上,實現并行采集。
PSD數據采集電路
PSD數據采集電路由4個PSD傳感器組成,用于目標距離的檢測。它的工作原理就是通過測量發(fā)射和反射紅外光之間的相位差來測量反射物體的距離,被測物體的顏色也不會影響其測距精度。PSD可以彌補超聲傳感器方向性差,測量響應時間較長等缺點。我們使用的是Sharp公司的GP2Y0A02YK紅外測距器件。該器件能夠把相位差的變化轉化為輸出電壓的變化,可以連續(xù)的讀出距離。測量范圍為20~150cm,輸出電壓范圍0~2.7V。
系統(tǒng)的軟件描述
系統(tǒng)軟件主要由主循環(huán)模塊、超聲回波中斷接收模塊、通訊模塊等組成。具體流程圖如圖3所示。
隙鍆獾氖奔淅醋槌擅で?郵?。燕]幣院缶涂梢鑰?敉獠恐卸希?⒀?返卻?超聲回波信號。最后,不管有沒有接收到回波,應該進行適當的延時,避免在室內工作環(huán)境下超聲波的余波效應。
實驗結果
首先,我們對多傳感器數據采集系統(tǒng)中的超聲傳感器和PSD的測距性能進行了測試:讓該系統(tǒng)的不同傳感器對同一個目標進行測距,超聲傳感器的實際結果如表1所示。試驗證明兩種傳感器的重復測量精度均在1%之內,兩者之間的誤差也不超過2%,精度完全能夠滿足一般移動智能系統(tǒng)的要求。
同時,為了驗證整個多傳感器數據采集系統(tǒng)的實時性,我們計算了系統(tǒng)的主循環(huán)模塊在最差條件下(即所有的超聲傳感器都沒有探測到回波信號),所用的時間約為35.33ms。也就是說,系統(tǒng)數據的更新頻率能夠達到30Hz左右,證明系統(tǒng)有良好的實時性。
結語
本文研究了一種高性能、低成本、低功耗多傳感器數據采集系統(tǒng)的硬、軟件實現和工作原理。系統(tǒng)以高性能的數字信號處理器ADSP2188M為核心處理器,集中實現多個紅外、超聲和PSD傳感器數據的采集和傳輸。實驗驗證了硬件系統(tǒng)的可靠性、實時性和算法的有效性。
二、基于ADSP-21160的液晶驅動電路設計及系統(tǒng)軟件實現
薄膜晶體管液晶顯示器(TFT-LCD)具有重量輕、平板化、低功耗、無輻射、顯示品質優(yōu)良等特點,其應用領域正在逐步擴大,已經從音像制品、筆記本電腦等顯示器發(fā)展到臺式計算機、工程工作站(EWS)用監(jiān)視器。對液晶顯示器的要求也正在向高分辨率、高彩色化發(fā)展。
由于CRT顯示器和液晶屏具有不同的顯示特性,兩者的顯示信號參數也不同,因此在計算機(或MCU)和液晶屏之間設計液晶顯示器的驅動電路是必需的,其主要功能是通過調制輸出到LCD電極上的電位信號、峰值、頻率等參數來建立交流驅動電場。
本文實現了將VGA接口信號轉換到模擬液晶屏上顯示的驅動電路,采用ADI公司的高性能DSP芯片ADSP-21160來實現驅動電路的主要功能。
硬件電路設計
AD9883A 是高性能的三通道視頻ADC可以同時實現對RGB三色信號的實時采樣。系統(tǒng)采用32位浮點芯片ADSP-21160來處理數據,能實 時完成伽瑪校正、時基校正、圖像優(yōu)化等處理,且滿足了系統(tǒng)的各項性能需求。ADSP-21160有6個獨立的高速8位并行鏈路口,分別連接ADSP- 21160前端的模數轉換芯片AD9883A和后端的數模轉換芯片ADV7125。ADSP-21160具有超級哈佛結構,支持單指令多操作數 (SIMD)模式,采用高效的匯編語言編程能實現對視頻信號的實時處理,不會因為處理數據時間長而出現延遲。
系統(tǒng)硬件原理框圖如圖1所示。系統(tǒng)采用不同的鏈路口完成輸入和輸出,可以避免采用總線可能產生的通道沖突。模擬視頻信號由AD9883A完成模數轉 換。AD9883A是個三通道的ADC,因此系統(tǒng)可以完成單色的視頻信號處理,也可以完成彩色的視頻信號處理。采樣所得視頻數字信號經鏈路口輸入到 ADSP-21160,完成處理后由不同的鏈路口輸出到ADV7125,完成數模轉換。ADV7125是三通道的DAC,同樣也可以用于處理彩色信號。輸 出視頻信號到灰度電壓產生電路,得到驅動液晶屏所需要的驅動電壓。ADSP-21160還有通用可編程I/O標志腳,可用于接受外部控制信號,給系統(tǒng)及其 模塊發(fā)送控制信息,以使整個系統(tǒng)穩(wěn)定有序地工作。例如,ADSP-21160為灰度電壓產生電路和液晶屏提供必要的控制信號。另外,系統(tǒng)還設置了一些 LED燈,用于直觀的指示系統(tǒng)硬件及DSP內部程序各模塊的工作狀態(tài)。
圖1 系統(tǒng)硬件原理框圖
本設計采用從閃存引導的方式加載DSP的程序文件,閃存具有很高的性價比,體積小,功耗低。由于本系統(tǒng)中的閃存既要存儲DSP程序,又要保存對應于 不同的伽瑪值的查找表數據以及部分預設的顯示數據,故選擇ST公司的容量較大的M29W641DL,既能保存程序代碼,又能保存必要的數據信息。
圖2為DSP與閃存的接口電路。因為采用8位閃存引導方式,所以ADSP-21160地址線應使用A20~A0,數據線為D39~32,讀、寫和片選信號分別接到閃存相應引腳上。
圖2 DSP和Flash的接口電路
系統(tǒng)功能及實現
本設計采用ADSP-21160完成伽瑪校正、時基校正、時鐘發(fā)生器、圖像優(yōu)化和控制信號的產生等功能。
伽瑪校正原理
在 LCD中,驅動IC/LSI的DAC圖像數據信號線性變化,而液晶的電光特性 是非線性,所以要調節(jié)對液晶所加的外加電壓,使其滿足液晶顯示亮度的線性,即伽瑪(γ)校正。γ校正是一個實現圖像能夠盡可能真 實地反映原物體或原圖像視覺信息的重要過程。利用查找表來補償液晶電光特性的γ校正方法能使液晶顯示系統(tǒng)具有理想的傳輸函數。未校正時液晶顯 示系統(tǒng)的輸入輸出曲線呈S形。伽瑪表的作用就是通過對ADC進來的信號進行反S形的非線性變換,最終使液晶顯示系統(tǒng)的輸入輸出曲線滿足實際要求。
LCD的γ校正圖形如圖3所示,左圖是LCD的電光特性曲線圖,右圖是LCD亮度特性曲線和電壓的模數轉換圖。
圖3 LCD的γ校正示意圖
伽瑪校正的實現
本文采用較科學的γ校正處理技術,對數字三基色視頻信號分別進行數字γ校正(也可以對模擬三基色視頻信號分別進行γ校正)。在完成γ校正的同時,并不損失灰度層次,使全彩色顯示屏圖像更鮮艷,更逼真,更清晰。
某 單色光γ調整過程如圖4所示,其他二色與此相同。以單色光γ調整為例:ADSP-21160 首先根據外部提供的一組控制信號,進行第一次查表,得到γ調整系數(γ值)。然后根據該γ值和輸入的顯示數據進行第 二次查表,得到經校正后的顯示數據。第一次查表的γ值是通過外部的控制信號輸入到控制模塊進行第一次查表得到的。8位顯示數據信號可查表數字 0~255種灰度級顯示數據(γ校正后)。
圖4 單色光γ調整的過程
圖像優(yōu)化
為了提高圖像質量,ADSP-21160內部還設計了圖像效果優(yōu)化及特技模塊,許多 在模擬處理中無法進行的工作可以在數字處理中進行,例如,二維數字濾波、輪廓校正、細節(jié)補償頻率微調、準確的彩色矩陣(線性矩陣電路)、黑斑校正、g校 正、孔闌校正、增益調整、黑電平控制及雜散光補償、對比度調節(jié)等,這些處理都提高了圖像質量。
數字特技是對視頻信號本身進行尺寸、位置變 化和亮、色信號變化的數字化處理,它能使圖像變成各種形狀,在屏幕上任意放縮、旋轉等,這些是模擬特技無法實現的。還可以設計濾波器來濾除一些干擾信號和 噪聲信號等,使圖像的清晰度更高,更好地再現原始圖像。所有的信號和數據都是存儲在DSP內部,由它內部產生的時鐘模塊和控制模塊實現的。
時基校正及系統(tǒng)控制
由于ADSP-21160內部各個模塊的功能和處理時間不同,各模塊之間 存在一定延時,故需要進行數字時基校正,使存儲器最終輸出的數據能嚴格對齊,而不會出現信息的重疊或不連續(xù)。數字時基校正主要用于校正視頻信號中的行、場 同步信號的時基誤差。首先,將被校正的信號以它的時基信號為基準寫入存儲器,然后,以TFT-LCD的時基信號為基準讀出,即可得到時基誤差較小的視頻信 號。同時它還附加了其他功能,可以對視頻信號的色度、亮度、飽和度進行調節(jié),同時對行、場相位、負載波相位進行調節(jié),并具有時鐘臺標的功能。
控 制模塊主要負責控制時序驅動邏輯電路以管理和操作各功能模塊,如顯示數據存儲器的管理和操作,負責將顯示數據和指令參數傳輸到位,負責將參數寄存器的內容 轉換成相應的顯示功能邏輯。內部的信號發(fā)生器產生控制信號及地址,根據水平和垂直顯示及消隱計數器的值產生控制信號。此外,它還可以接收外部控制信號,以 實現人機交互,從而使該電路的功能更加強大,更加靈活。
此外,ADSP21160的內部還設計了I2C總線控制模塊,模擬I2C總線的工作,為外部的具有I2C接口的器件提供SCLK(串行時鐘信號)和SDA(雙向串行數據信號)。模擬I2C工作狀態(tài)如圖5和圖6所示。
圖5 串行端口讀/寫時序
圖6串行接口-典型的字節(jié)傳送
系統(tǒng)軟件實現
在軟件設計如圖7所示,采用Matlab軟件計算出校正值,并以查找表的文件形式存儲,供時序的調用。系統(tǒng)上電開始,首先要完成ADSP- 21160的一系列寄存器的設置,以使DSP能正確有效地工作。當ADSP-21160接收到有效的視頻信號以后,根據外部控制信息確定γ 值。為適應不同TFT-LCD屏對視頻信號的顯示,系統(tǒng)可以通過調整γ值,以調節(jié)顯示效果到最佳。再如圖4所示,對先前預存的文件進行查表, 得到所需的矯正后的值,然后暫存等待下一步處理。系統(tǒng)還可以根據視頻信號特點和用戶需要完成一些圖像的優(yōu)化和特技,如二維數字濾波、輪廓校正、增益調整、 對比度調節(jié)等。這些操作可由用戶需求選擇性使用。利用ADSP-21160還可以實現圖像翻轉、停滯等特技。最后進行數字時基校正,主要用于校正視頻信號 中的行、場同步信號的時基誤差,使存儲器最終輸出的數據能嚴格對齊,而不會出現信息的重疊或不連續(xù)。除了以上所述的主要功能以外,ADSP-21160還 根據時序控制信號,為灰度電壓產生電路和TFT-LCD屏提供必要的控制信號。另外,ADSP-21160還能設置驅動通用I/O腳配置的LED燈,顯示 系統(tǒng)工作狀態(tài)。
圖7 軟件流程圖
結束語
本文介紹了基于ADSP-21160的液晶驅動電路設計。該驅動電路能完成伽馬校正、圖像優(yōu)化及時基校正等功能,并能提供具有足夠驅動能力的時序和 邏輯控制信號,能驅動大部分的TFT-LCD。用ADSP-21160設計驅動電路實時性好、通用性強、速度快且高效;而且還能在ADSP-21160中 嵌入其他功能模塊控制,增強系統(tǒng)的功能。這樣不僅充分利用了ADSP-21160資源,又節(jié)省了外部資源,簡化了硬件電路的設計。作者將SONY的 LCX029CPT顯示屏應用在本文所設計的驅動電路上,顯示出質量很高的圖像,因此該設計滿足驅動液晶顯示器的要求。
三、基于CY7C68013A和FPGA的ADSP-TS101擴展USB接口設計
ADI公司的DSP器件(ADSP-TS101)具有浮點實時處理能力強、并行性好等優(yōu)點,從而廣泛被彈載信號處理系統(tǒng)選用。其作為彈載主處理器,在導彈的系統(tǒng)試驗中,需要利用上位機對其中的大數據量的軟件變量進行實時監(jiān)控和記錄,這就需要一個上行傳輸給上位機的高速通信接口,數據上行的數據率需要大于6 MB/s。同時這個通信接口還需具有雙向特性,通過數據下行可實現在線程序加載與燒寫。這樣的通信接口,還需具備設備連接簡單、通用性強等特性,并能實現遠程(大于3m)數據傳輸。
ADSP-TS101自身的外總線接口和鏈路口(Linkport接口),雖速度很快,但連接復雜,難以長線傳輸,并不具備上述需求特征??梢酝ㄟ^在DSP的Linkport總線接口上增加FPGA實現的適配電路,擴展USB 2.0接口,實現上述應用需求。下文將介紹具體的實現方案。
1 系統(tǒng)總體方案
系統(tǒng)實現的總體方案如圖1所示。
在本方案中,USB接口芯片選用Cypress公司的CY7C68013A。該芯片是Cypress公司FX2系列USB 2.0集成微控制器之一。集成了USB 2.0收發(fā)器、SIE、增強8051微控制器和GPIF,是一種優(yōu)秀的高速USB外設控制器。內置的8051微控制器獨立于USB數據通道,由SIE實現大部分USB 1.1和USB 2.0協(xié)議;USB FIFO和外部從FIFO映射到相同的8個512 B RAM模塊,實現內部傳輸和外部傳輸的無縫連接,可以較低的代價獲得較高的帶寬;8.5 KB內部RAM空間,可運行較為復雜的固件,實現軟件對硬件的配置。GPIF是由用戶可編程有限狀態(tài)機驅動的柔性8/16位并行口,可編程GPIF向量組成一個GPIF波形,匹配受控接口的時序。
ADSP-TS101作為彈載主DSP芯片,含4個鏈路口,每個鏈路口可在時鐘雙沿以8位進行雙向數據傳輸,速率高達250 MB/s。通過該接口,DSP每個處理幀將預觀測的變量結果以DMA的方式打包向上位機發(fā)送。
FPGA實現ADSP-TS101的Linkport接口與CY7C68013A之間的雙向數據緩沖和接口協(xié)議轉換。考慮到CY7C68013A中的 FIFO容量較DSP的一個處理幀預發(fā)送或接收的數據量較小,故在FPGA中設置上行和下行各一個大容量FIFO,用于數據緩沖,以減少對DSP中并行流水運行的程序的打擾。這里,由于DSP鏈路口的瞬時數據率遠高于USB芯片的傳輸速率(理論上限為60 MB/s),故FIFO的DSP端口的數據傳輸為:一個處理幀只操作一次,而USB芯片端則分成多次操作。
限于篇幅,下文將重點對傳輸數據率要求高、設計難度大的上行通道的設計進行詳細描述。
FPGA需要模擬Linkport口的接口時序,其與DSP的硬件連接關系圖如圖2所示。
Link協(xié)議通過8位并行數據總線完成雙向數據傳輸,與數據總線配合的還有相應的時鐘信號線LxCLKIN,LxCLKOUT。
2.1 Linkport口的傳輸協(xié)議
Linkport口傳輸數據時,每8個周期傳送一個4字組(16 B),在時鐘的上升沿和下降沿均傳送一個字節(jié)。在傳送過程中,發(fā)送端將檢測接收端的LxCLKOUT信號,僅當接收端將它的LxCLKOUT置為高時,即接收端處于接收方式,且有空閑的緩沖時,發(fā)送端才可以啟動下一個傳送過程。
傳送啟動過程如圖3所示,發(fā)送端驅動信號LxCLKOUT為低電平,以此向接收端發(fā)出令牌請求,發(fā)出令牌請求后,發(fā)送端等待6個周期,并驗證LxCLKIN是否依舊為高,若是則啟動傳送過程。傳送過程啟動一個周期以后,接收端將發(fā)送端的LxCLKIN驅動為低,以此作為連接測試。若接收完當前4字組后接收端無法再接收另外的4字組,則接收端保持LxCLKIN為低。這種情況下,緩沖空閑后LxCLKIN信號被禁止。若緩沖為空,則接收端將置LxCLKIN為高電平。
作為同步信號,LxCLKOUT信號由發(fā)送端驅動。數據在LxCLKOUT的上升沿和下降沿處鎖存到接收緩沖中,發(fā)送和接收緩沖都是128b寬。 LxCLKIN信號由接收端驅動,發(fā)往發(fā)送端,它通常用作“等待”指示信號,但LxCLKIN信號也可以用作連接測試信號,保證接收端能正確地接收當前傳送數據。
當LxCLKIN信號用于等待指示信號時,接收端驅動LxCLKIN信號為低電平。若LxCLKIN信號保持低電平狀態(tài),則發(fā)送端可以[完成當前的4字組傳送,但無法啟動下一個垂字組傳送。若還有其余的數據需要傳送,發(fā)送端需將LxCLKOUT置低,并等待接收端將 LxCLKIN驅動為高電平。如果在第12個時鐘沿到來之前LxCLKIN變?yōu)楦唠娖?,則緊跟著傳送的將是新的4字組。
2.2 FPGA內的Linkport口邏輯設計
由于Link協(xié)議采用雙時鐘沿傳輸數據,而同步FPGA系統(tǒng)中,一般只采用單一時鐘的上升沿完成操作,因此需要將FPGA系統(tǒng)工作頻率SCLK設定為Link時鐘的2倍。然后將該時鐘的兩分頻輸出作為LxCLKOUT信號,有效數據則在SCLK的上升沿更新。
FPGA中的Linkport口接口模塊電路與ADSP-TS101的Linkport口完全兼容,且采用了雙向雙倍數據傳輸DDR技術,能實現雙向雙倍的數據傳輸。FPGA中的Link口接口模塊電路如圖4所示。
圖5是FPGA內實現DSP數據上行的Linkport口接收時序仿真圖(基于Modelsim仿真軟件)。
Link口協(xié)議的一大特點就是在收發(fā)數據時可以選擇是否需要校驗位VERE比特,VERE的啟用或關閉可以通過ADSP-TS101中的寄存器來設置,也可以通過FPGA模塊中的Verein信號置高或置低來設置。該設計在FPGA中設置VERE信號的啟用或關閉。當VERE啟用后,FPGA模塊中的輸出信號Rx_Vere_Bad用于表征最后接收的128 b數據是否正確。由于使用VERE有兩個好處,一是能保證數據的完整性;二是能減小在兩個時鐘不嚴格一致的系統(tǒng)中傳輸數據時產生數據重疊的可能性。因而在設計中采用了帶數據校驗的傳輸方式。
3.1 傳輸方式的確定
CY7C68013A芯片具有GPIF模式和從屬FIFO(Slave FIFO)模式兩種接口工作模式。在本設計中,USB數據傳輸存儲模塊負責完成存儲算法產生的大量數據的高速傳輸,由于不涉及到對外部電路的控制,所以不選用GPIF模式,而選擇Slave FIFO模式進行連接。在數據傳輸時,用Slave FIFO接口模式,批量傳輸,自動輸入(AUTOIN)方式,使用EP6端口作為上行輸入緩沖區(qū)。CY7C68013A的,Slave FIFO接口模式如圖6所示。
?
3.2 EZ-USB FX2時序設計
在本設計的FPGA中,設計了如圖6的外部主控制器的功能邏輯。由于DSP端Linkport口數據傳輸速率很高,而在USB端的速率可能無法跟 Linkport口的數據率相匹配,故在FPGA中開辟一個2KB的FIFO,經由Linkport上傳的數據首先傳送到FIFO中,之后再經由USB口上傳至主機。為了保證數據傳輸的完整性,設計USB的數據傳輸速率為DSP Link口的1/8。在此,對FPGA邏輯應用Modelsim軟件進行了仿真,仿真結果如圖7所示。
圖7中,在LxCLKIN時鐘的上升沿和下降沿將DSP_Data中的數據寫入到FPGA的FIFO中,然后再把FIFO中的數據從數據線 USB_Data中輸出給EZ-USB FX2的FD數據線,最后經由USB傳送給主機。圖中USB_Data的數據率明顯只有DSP_Data數據率的1/8,是符合設計要求的。
在上傳傳輸時,采用異步自動輸入方式。EZ-USB FX2芯片FIFO異步寫時序如圖8所示。根據此時序,在本設計中,FPGA輸出的USB_Data信號提供給USB的FD數據線,FPGA輸出的 USB_SLWR提供給USB的SLWR,USB端便能在SLWR的下降沿把數據線FD中的數據寫入到FX2芯片FIFO中,并由USB傳送給主機。
4 結語
本文重點對DSP擴展USB接口的數據上行通道的硬件設計進行了詳細論述。本系統(tǒng)經測試驗證,通過該擴展USB接口,配合定制的上位機軟件,DSP數據上傳PC機的速率平均達到8 MB/s以上,連接可靠穩(wěn)定,滿足對DSP變量實時監(jiān)測的數據率需求,同時可通過此接口完成程序的加載與燒寫功能。僅需一臺帶USB接口的PC機,就能完成彈載DSP系統(tǒng)的實時測試與在線程序加載,簡捷、通用、方便,具有顯著的工程實用價值。
四、基于SigmaDSP的車載音響噪音降低方案
?
ADAU1401是一款完整的單芯片音頻系統(tǒng),包括完全可編程的28/56位音頻DSP、模數轉換器(ADC)、數模轉換器(DAC)及類似微控制器的控制接口。信號處理包括均衡、低音增強、多頻段動態(tài)處理、延遲補償、揚聲器補償和立體聲聲場加寬。這種處理技術可與高端演播室設備的效果相媲美,能夠彌補由于揚聲器、功放和聽音環(huán)境的實際限制所引起的失真,從而明顯改善音質。
借助方便易用的SigmaStudio開發(fā)工具,用戶可以使用不同的功能模塊以圖形化的方式配置信號處理流程, 例如雙二階濾波器、動態(tài)處理器、電平控制和GPIO接口控制等模塊。
噪底
與便攜式設備不同,車載音響系統(tǒng)配有高功率放大器,每個功放能夠提供高達40 W-50 W功率,每輛汽車至少有四個揚聲器。由于功率較大, 噪底很容易被放大,使得人耳在安靜的環(huán)境下就能感受到。例如,假設揚聲器靈敏度約為90 dB/W,則4 Ω揚聲器中的1 mV rms噪聲可以產生大約24 dB的聲壓級(SPL),這一水平噪音人耳在安靜環(huán)境下就能夠感受到??赡艿脑肼曉从泻芏啵?如圖1所示,主要噪聲源包括電源噪聲(VG)、濾波器/緩沖器噪聲(VF)以及電源接地布局不當引起的噪聲VE。VO是來自處理器的音頻信號,VIN是揚聲器功率放大器的音頻輸入信號。
圖1. 車載音響系統(tǒng)的噪聲源示例
電源開關期間的爆音:車載音頻功率放大器一般采用12 V單電源供電,而DSP則需要使用低壓電源(例如3.3 V),濾波器/緩沖器可能采用雙電源供電(例如±9 V)。在以不同的電源電壓工作的各部分電路之間,必須使用耦合電容來提供信號隔離。在電源開/關期間,電容以極快的速度充電/放電,產生的電壓跳變沿著信號鏈傳播,最終導致?lián)P聲器發(fā)出爆音。圖2顯示了這一過程。
圖2. 揚聲器產生爆音的原理
雖然知道噪底和爆音的來源,而且也努力采用良好的電路設計和布局布線技術,以及選擇噪聲更低的優(yōu)良器件來降低信號源處的噪聲,但在設計過程中仍然可能出現許多不確定性。汽車多媒體系統(tǒng)的設計人員必須處理許多復雜問題,因此必須具備高水平的模擬/混合信號設計技能。即便如此,原型產品的性能仍有可能與原來的預期不符。例如,1 mV rms的噪聲水平會帶來巨大挑戰(zhàn)。至于爆音,現有解決方案使用MCU來控制電源開關期間功率放大器的操作順序,但當MCU距離功率放大器較遠時,布局布線和電磁干擾(EMI)會構成潛在問題。
功耗
隨著車載電子設備越來越多,功耗問題變得日趨嚴重。例如,如果音頻功率放大器的靜態(tài)電流達到200 mA,則采用12 V電源時,靜態(tài)功耗就高達2.4 W。如果有一種方法能檢測到沒有輸入信號或信號足夠小,進而關閉功率放大器,那么在已開機但不需要揚聲器發(fā)出聲音的時候,就可以節(jié)省不少功耗。
將車載音響系統(tǒng)的噪聲和功耗降至最低
利用SigmaDSP技術,就可以提供這樣一種方法, 可以減小系統(tǒng)噪聲和功耗,同時不增加硬件成本。圖3是一個4揚聲器車載音響系統(tǒng)的框圖,其中ADAU1401 SigmaDSP處理器用作音頻后處理器。除了采樣、轉換、音頻信號數字處理和生成額外的揚聲器通道以外,SigmaDSP處理器還具有通用輸入/輸出 (GPIO)引腳可用于外部控制。微控制器(MCU)通過I2C接口與SigmaDSP處理器進行通信,模擬輸出驅動一個采用精密運算放大器 ADA4075-2的低通濾波器/緩沖器級。
圖3. 四揚聲器車載音響系統(tǒng)
SigmaDSP處理器與功率放大器之間的紅色信號線控制功率放大器的靜音/待機引腳。在正常默認工作模式下,開集GPIO1引腳通過10 kΩ上拉電阻設置為高電平(圖中未標注)。ADAU1401具有均方根信號檢測功能,可確定是否存在輸入信號。當沒有輸入信號時,GPIO1變?yōu)榈碗娖?,功率放大器置于靜音/待機模式,因而揚聲器沒有噪聲輸出,同時功放的待機功耗也很低。當檢測到高于預定閾值(例如–45 dB)的輸入信號時,GPIO1變?yōu)楦唠娖?,功率放大器正常工作。這時雖然噪底仍然存在,但由于信號的高信噪比(SNR)將其屏蔽,使它不易被人耳感知到。
電源開關期間,SigmaDSP處理器(而不是MCU)通過響應MCU的命令直接控制功率放大器的靜音/待機。例如,在電源接通期間,來自MCU的控制信號通過I2C接口設置SigmaDSP處理器的GPIO1,使之保持低電平(靜音),直到預定的電容充電過程完成,然后MCU將 GPIO1設置為高電平,由此消除啟動瞬變所引起的爆音。關閉電源時,GPIO立即變?yōu)榈碗娖?,使功率放大器處于靜音/待機狀態(tài),從而消除電源切斷時產生的爆音。將功率放大器置于SigmaDSP處理器而不是MCU的直接控制之下的原因是SigmaDSP處理器通常距離功率放大器更近,因此布局布線和 EMI控制也更容易實現。
如上所述,利用SigmaStudio軟件算法可以測量輸入信號的均方根電平。使用SigmaStudio圖形開發(fā)工具,很容易設置均方根檢測模塊,并用它來控制GPIO狀態(tài),如圖4的范例所示。
?
圖4. SigmaStudio均方根檢測、GPIO控制和壓限器電路圖
均方根檢測功能利用均方根算法單元和邏輯單元實現。信號閾值必須具有遲滯功能,用以消除靜音功能響應小變化而產生的震顫。例如RMS1閾值設置為–45 dB,RMS2閾值設置為–69 dB。當輸入信號高于–45 dB時,GPIO1為高電平。當輸入信號低于–69 dB時,GPIO1為低電平。當輸入信號位于這兩個閾值之間時,GPIO1輸出信號保持先前所處的狀態(tài)(參見圖5)。
圖4還顯示了用以進一步降低輸出噪聲的壓限器功能。例如,當輸入信號低于–75 dB時,揚聲器系統(tǒng)的輸出信號將會衰減到–100 dB,從而也降低了系統(tǒng)噪底。
圖5. RMS閾值設置以及輸入與輸出之間的關系
總結
噪聲和功耗是車載音響系統(tǒng)設計面臨的巨大挑戰(zhàn)。ADI公司的SigmaDSP處理器已廣泛應用于車載音響系統(tǒng)的數字音頻后處理,若利用其均方根檢測和 GPIO控制功能來顯著降低噪聲和功耗,則能進一步發(fā)揮更大作用。SigmaStudio圖形化開發(fā)工具支持以圖形方式設置各種功能,而不需要編寫代碼,令設計工作倍加簡單。此外,由于功率放大器模塊通常離SigmaDSP處理器比離MCU更近,因此用SigmaDSP處理器來控制靜音功能,可以簡化布局布線工作并提高EMI抗擾度。
五、基于CPCI總線的多片ADSP-TS201引導設計
?
數字信號處理器DSP是一種具有特殊結構的微處理器,它專門為實現數字信號處理的各種算法而設計,因而在硬件結構上具有特殊性。TS201是ADI公司TigerSHARC系列中集成了定點和浮點計算功能的高速DSP。該處理器廣泛應用于視頻、通信市場和國防軍事裝備中,適合于大數據量實時處理的應用領域。
TigerSHARC系列DSP引導程序的加載方法非常靈活,可根據實際系統(tǒng)的需求靈活選用。某雷達信號處理機采用6U板形,CPCI總線采用歐洲卡尺寸標準,通過CPCI總線與主機進行數據通信。針對該信號處理機硬件系統(tǒng),本文提出一種引導方案,該方案采用CPCI總線向板卡傳輸引導代碼,進而依靠FPGA通過鏈路口引導DSP自啟動。
1 ADSP-TS201引導模式
DSP的引導就是在DSP系統(tǒng)復位的情況下從DSP外部存儲器裝載算法程序代碼的過程。TS201支持兩種引導模式:主引導(Master Boot)模式和從引導(S|ave Boot)模式。
在主引導模式下,TS201作為主動方,用外部口輸出地址,讀引導方式選擇()等控制信號,從EPROM或FLASH中加載代碼。在從引導模式下,TS201作為被動方,不向外部輸出控制信號,外部主機或其他設備向TS201的主機或鏈路口傳送要加載的代碼,TS201僅啟動若干DMA通道,并執(zhí)行第一個DMA所接收的加載核。
另外,FS201還可以選擇一種“非引導”模式,或利用TS201的(仿真器)USB-ICE加載程序,這種方式可直接將程序加載到TS201內部的RAM或外部的RAM中,DSP直接從RAM中運行程序,常用于DSP的調試過程。
通過對TS201的引腳的設置,可將DSP的引導過程設置成主引導模式或從引導模式。在DSP復位期間,如果引腳為低電平,則選擇主引導模式,DSP從外部EPROM或FLASH中加載程序;若引腳為高電平,則進入從引導模式,DSP為空閑狀態(tài),等待主機或鏈路口加載程序。兩種引導模式都有相同的加載過程,具體步驟如下:
(1)TS201自動啟動一個DMA,自動把256個字(32位)傳送到內部存儲器的地址0x00~0xFF。
(2)TS201執(zhí)行上述256個字的指令(加載核),加載核啟動其他DMA,把后續(xù)指令和數據加載到內部和/或外部存儲器中。
(3)加載核自我覆蓋,執(zhí)行DSP算法程序。
本系統(tǒng)引導方案采用從引導模式,通過CPCI總線將代碼從主機傳至FPGA中,再利用FPGA經過鏈路口啟動DSP。
2 某雷達信號處理機的引導設計方案
基于某雷達信號處理機硬件處理平臺,采用如圖1所示的多DSP引導設計方案。
4片DSP的算法程序代碼(.LDR文件)通過上位機軟件傳輸到FPGA中,FPGA通過與DSPA的鏈路口給DSPA加載程序。DSPA加載成功后,分別引導DSPB,DSPC,DSPD啟動。
采用這種方式加載DSP的優(yōu)點:調試DSP時可以不使用JTAG仿真器;同時當DSP自啟動時,可以不采用FLASH或E2PROM存放程序代碼,對于DSP程序的大小沒有限制,也節(jié)約了電路板的空間及其硬件設計復雜度。
采用這種方式加載DSP的難點:CPCI總線與FPGA數據傳輸無誤及FPGA與TS201鏈路口通信,這兩個難點在實際工程中都已經解決。CPCI總線與FPGA接口可以采用PLX9656芯片完成數據傳輸,所以這種加載模式的設計是可行的。
2.1 自動引導程序設計思路
為了設計加載(自動引導)程序,首先必須了解ADSP-TS201的軟件設計流程,其流程圖如圖2所示。
其中,鏈接描述文件(.LDF)定義了整個系統(tǒng)的存儲器配置和程序中數據及代碼的具體存放位置。加載核文件(.DEX)是指加載引導核程序,其功能是將用戶工程所編譯成功的可執(zhí)行文件(.DXE)合成一個鏈路口加載方式的輸出文件(.LDR)。該加載輸出文件用來定義加載過程中TS201的內部和外部存儲器如何被初始化。
在VisualDSP++安裝目錄的ldr子目錄下,ADI公司提供了標準加載核文件和相應的源程序(.ASM)和鏈接描述文件。一般可直接使用提供的標準加載核文件或對其相應的源程序進行簡單修改,重新編譯鏈接生成的加載核文件。加載文件是由引導加載器 (elfloader)將可執(zhí)行文件進行一定的格式變化,并在起始位置附加上加載核文件生成的。
由于TS201有三種引導方式(不考慮非引導模式),ADI公司相應地提供了三種不同的加載和文件,分另0為:TS201_prom.dxe,TS201_li- nk.dxe,TS201_host.dxe。三個程序的核心思想和功能完全一致,只是由于使用的加載端口和方式不同,在具體代碼實現上稍有差異。由于本系統(tǒng)采用鏈路口啟動,同時對于DSPA,DSPB,DSPC,DSPD都采用不同的鏈路口啟動,因此采用鏈路口加載核文件,需要對加載核文件稍作修改,滿足不用鏈路口啟動的需求。
2.2 本信號處理機的復位引導設計流程
如圖1所示,4片DSP要運行的程序最終通過上位機讀取后,通過CPCI總線傳至FPGA,4片DSP為鏈路口引導模式。DSP復位后,DSPA從FPGA加載程序,DSPA加載完成后,再分別通過鏈路口加載DSPB,DSPC,DSPD。加載完成后,4片DSP正常執(zhí)行各自的程序。
結合以上各部分的分析,可以看出要實現該信號處理機中4片DSP的正確引導,所需的工作由以下幾步組成:
(1)由DSPB要執(zhí)行的程序(DSPB.dxe),結合鏈路口的加載核程序生成DSPB的加載文件(DSPB_bin.ldr)。需要注意的是,該鏈路口加載核程序不能直接使用提供的標準鏈路口加載程序,必須將提供的鏈路口加載核文件(TS201_link.asm)中的LINK常數改為 1(#define LINK 1),即DSPB由鏈路口1引導。
(2)與(1)類似,生成DSPC的加載文件 (DSPC_bin.ldr),只是需要把鏈路口加載核文件(TS201_link.asm)中的LINK常數改為2(#define LINK 2),即DSPC由鏈路口2引導。同樣DSPD由鏈路口2加載,同樣生成DSPD的加載文件(DSPD_bin.ldr)。
(3)由于 DSPA要通過鏈路口來對DSPB,DSPC,DSPD進行程序引導,所以在進行DSPA編程時,需要在程序的最開始添加給后面所有ADSPTS2 01的引導程序。而每片ADSP-TS201的程序都由引導碼和用戶程序構成,所以在DSPA給其余DSP傳輸程序時將傳輸完整.1dr文件的數據。
DSPA程序流程圖如圖3所示。
(1)DSPA關閉所有中斷,所有鏈路口和所有DMA通道,進行初始化;
(2)開啟鏈路口3,2,1,0,設置鏈路口3接收中斷,鏈路口2,1,O發(fā)送中斷;
(3)設置鏈路口3通過DMA模式接收128 b數據;
(4)判斷目前加載的DSP,設置相應的鏈路口,發(fā)送接收到的128 b數據;
(5)判斷DSPB,DSPC,DSPD是否加載完成,否則繼續(xù)通過鏈路口3接收數據,直到DSP都加載完成;
(6)加載完成后,DSPA運行自身DSP程序。
3 系統(tǒng)測試結果
上述引導設計在某雷達信號處理機中得到驗證,通過上位機軟件,能靈活地加載引導代碼,使得調試更加便捷。測試上位機軟件如圖4所示。
修改雷達系統(tǒng)的數字信號處理算法,成功地將算法代碼加載到信號處理機中,從而驗證引導設計方案正確可行。
4 結語
本文以某雷達信號處理機為平臺,設計實現了基于CPCI總線的鏈路口多DSP引導方案,介紹了軟件設計流程及引導方案思想,最后成功驗證了本引導方案的正確性和可行性。本引導方案不使用FLASH或E2PROM存放代碼,使多DSP的軟件編寫更加靈活,調試更加方便,同時使得硬件電路設計更加簡潔。
?
評論
查看更多