當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]當前,數(shù)字信號處理器(DSP)芯片以其強大的運算能力在通信、電子、圖像處理等各個領(lǐng)域得到了廣泛的應用。使用DSP的系統(tǒng)可以按處理器使用的數(shù)目分為單處理器系統(tǒng)和多處理器系統(tǒng)。單DSP的系統(tǒng)盡管結(jié)構(gòu)簡單。

當前,數(shù)字信號處理器(DSP)芯片以其強大的運算能力在通信、電子、圖像處理等各個領(lǐng)域得到了廣泛的應用。使用DSP的系統(tǒng)可以按處理器使用的數(shù)目分為單處理器系統(tǒng)和多處理器系統(tǒng)。單DSP的系統(tǒng)盡管結(jié)構(gòu)簡單,但系統(tǒng)的功能將不可避免地有所限制。由于DSP的控制功能不是非常強大,在應用中往往不得不把DSP作為目標系統(tǒng)專門負責復雜的運算,而另外使用一個主機(PC機或是單片機)對整個系統(tǒng)的運行實行控制。所以,在使用DSP的多處理器系統(tǒng)中,主機(單片機、PC機、另一個DSP芯片)與目標系統(tǒng) DSP的數(shù)據(jù)交換就成為應用系統(tǒng)設計中必須考慮的重要問題。

1 主機接口的傳統(tǒng)解決方案

解決主機與目標系統(tǒng)的數(shù)據(jù)交換是一個非常復雜的問題。傳統(tǒng)的方式是采用 DMA(Direct Memory Access)或全局存儲器(Global Memory)完成多機系統(tǒng)中的數(shù)據(jù)共享。在DMA方式下,讀寫共享內(nèi)存必須要求其它處理器處于停止工作的狀態(tài),所以DMA共享存儲器的方式往往不為人所用。全局存儲器是多個處理器共享的存儲器。在使用全局存儲器的應用系統(tǒng)中,DSP的地址空間被分成局部塊(Local Section)和全局塊(Global Section)。局部塊用于完成處理器自己的工作,而全局塊則用來完成與其它處理器的通信工作。在TMS320C5X器件中,使用全局存儲器分配寄存器GReg完成對全局內(nèi)存的管理工作。GReg指定部分DSP內(nèi)存為全局內(nèi)存。比如,TMS320C5x器件能夠分配全局數(shù)據(jù)內(nèi)存空間,并通過BR(Bus Request)和 hcs控制信號實現(xiàn)與該內(nèi)存的通信。當需要尋址全局內(nèi)存空間時,BR和hcs信號變低電平。于是外部邏輯進行全局內(nèi)存控制權(quán)的裁決,裁決的結(jié)果將通過選通信號通知某個TMS320C5x 從而使該DSP現(xiàn)在就擁有對全局內(nèi)存的控制權(quán)。顯然,使用全局內(nèi)存的方式來完成多DSP的共享數(shù)據(jù)通信是非常方便的。但是,應用系統(tǒng)往往由單片機作為主機,DSP作為目標系統(tǒng)構(gòu)成。由于當前使用最多的單片機往往是8位機,使用16位機的共享內(nèi)存完成主機與DSP的數(shù)據(jù)交換不是處理太復雜就是資源利用不充分。為了解決DSP與低檔 8位主機的數(shù)據(jù)交換問題,TI公司在TMS320C54x系列中使用了HPI接口。HPI將以往一些需片外實現(xiàn)的功能集成在片內(nèi),簡化了與主機的連接,同時主機可以達到很高的訪問速度。該HPI端口在TI TMS320C6x系列的器件中也得到了保持,且功能有所增強。

TI TMS320C6x系列的器件中也得到了保持,且功能有所增強。

2 TMS320VC5402的HPI

TMS320VC5402是TI公司的54X系列定點DSP,具有低功耗、高性能的特點。

CPU 增強的多總線結(jié)構(gòu),三條獨立的16bit數(shù)據(jù)存儲器總線和一條程序存儲器總線;40bit運算邏輯單元(ALU),包括一個40bit的桶形移位器和兩個獨立的40bit累加器,17bit×17bit并行乘法器?連接一個40bit的專用加法器,可用來進行非流水單周期乘/加(MAC)運算;比較、選擇和存儲單元(CSSU)用于Viterbi運算器的加/比較選擇?指數(shù)編碼器在一個周期里計算一個40bit累加器的指數(shù)值?兩個地址發(fā)生器中有八個輔助寄存器和兩個輔助寄存器運算單元(ARAUs)?數(shù)據(jù)總線具有總線保持特性。

存儲器 擴展地址模式可最大尋址到1M×16bit外部程序空間,4K×16bit片上ROM,16K×16bit雙訪問片上RAM。

指令集 支持單指令循環(huán)和塊循環(huán),存儲塊移動指令提供了高效的程序和數(shù)據(jù)存儲器管理,支持32bit長字操作數(shù)指令,支持兩個或三個操作數(shù)讀指令,支持并行存儲和并行加載的算術(shù)指令、條件存儲指令和中斷快速返回,支持定點DSP C語言編譯器。

片上硬件資源 軟件可編程等待狀態(tài)發(fā)生器和可編程存儲單元轉(zhuǎn)換,連接內(nèi)部振蕩器或外部時鐘源的鎖相環(huán)(PLL)時鐘發(fā)生器,兩個多通道緩沖串口(McBSPs),增強型8bit并行主機接口(HPI8),兩個16bit定時器,6通道直接存儲器訪問(DMA)控制器。

電源 低功耗,工作電源有3.3V和1.8V(內(nèi)核),用節(jié)電模式的IDLE1、IDLE2及IDLE3指令做功率控制,可禁止CLKOUT信號。

速度 在3.3V供電(1.8V核心電壓)下單周期定點指令的執(zhí)行周期為10ns(100MIPS)。

仿真 符合IEEE1149.1邊界掃描邏輯標準的片內(nèi)掃描仿真邏輯接口。

TMS320C54x系列DSP芯片中的HPI,能夠順序傳送或隨機傳送數(shù)據(jù),產(chǎn)生HOST中斷和C54x中斷,接口靈活,并可通過DMA總線訪問片內(nèi)RAM。當TMS320 C54X與主機(或主設備)交換信息時,HPI是主機的一個外圍設備。HPI有8根數(shù)據(jù)線HD(0~7),在TMS320C54x與HOST傳送數(shù)據(jù)時,HPI能自動將外部接口傳來的連續(xù)數(shù)據(jù)組合成16位數(shù)后傳送給DSP。如果HOST和DSP競爭同一個地址,則HOST優(yōu)先,DSP等待一個HPI周期。

TMS320C54x系列發(fā)展到TMS320VC5402的時候,其HPI已經(jīng)得到了增強,被稱為HPI-8。和TMS320C54x系列前幾款芯片中的標準HPI相比,HPI-8在幾個方面有所不同,見表1。


表1 HPI-8和標準HPI的主要差別

增強型HPI(HPI-8) 標準HPI
可訪問所有片內(nèi)RAM空間 可訪問所有片內(nèi)2K的RAM空間
HOST訪問總是與TMS32054x時鐘同步 HOST-Only模式下HOST訪問與TMS320C54x時鐘同步
HOST和TMS320C54x都可訪問片內(nèi)RAM HOST-Only模式,HOST具有獨占的訪問權(quán)

HPI-8的使用是通過對HPIA、HPIC和HPID三個寄存器賦值實現(xiàn)的。HPIA是地址寄存器,HPIC是控制寄存器,而HPID是數(shù)據(jù)寄存器。簡單地說,HOST通過外部引腳HCNTL0和HCNTL1選中不同的寄存器,則當前發(fā)送的8位數(shù)據(jù)就送到該寄存器。在使用上,由于HPIC是16位寄存器,而HPI-8是8位的數(shù)據(jù)寬度,所以在HOST向HPIC寫數(shù)據(jù)時,需要發(fā)送兩個一樣的8位數(shù)據(jù)。而地址寄存器HPIA選擇后,直接向它寫數(shù)據(jù)就可以了,但是要注意MSB和LSB的順序。另外,HPIA具有自動增長的功能,在每寫入一個數(shù)據(jù)前和每寫入一個數(shù)據(jù)后,HPIA會自動加1。這樣,如果使能了該功能,只需設定一次HPIA即可實現(xiàn)連續(xù)數(shù)據(jù)塊的寫入和讀出。數(shù)據(jù)寄存器HPID,嚴格說應該叫做數(shù)據(jù)緩沖寄存器,因為最終數(shù)據(jù)是要寫到片內(nèi)RAM的。只是在實現(xiàn)上,數(shù)據(jù)首先從HOST發(fā)到HPID中,然后根據(jù)HPIA指定的地址,HPID中的數(shù)據(jù)再寫到片內(nèi)RAM的地址中。不過對用戶而言,該過程是透明的。

3 使用HPI對DSP進行自舉

HPI是作為多機數(shù)據(jù)交換而出現(xiàn)的,但是由于其功能特性,又產(chǎn)生了一種新的應用--使用HPI對DSP進行自舉。實際上,TMS320VC5x系列DSP在片內(nèi)固化的Bootloader程序中對HPI自舉提供了全面的支持。筆者在VOIP系統(tǒng)的開發(fā)中,實現(xiàn)了使用HPI對DSP TMS320VC5402的自舉,從而省掉了DSP的EPROM,使DSP只使用SRAM,提高了處理速度,并使HOST CPU具有更大的控制權(quán),很適合多處理器系統(tǒng)。對于計算機插卡式的DSP系統(tǒng),程序可以從PC機的硬盤上獲取,從而減小了插卡版面空間占用,提高了處理速度。

在實現(xiàn)上,需要解決以下幾個問題。

3.1 DSP片內(nèi)固化的Bootloader程序?qū)PI自舉的支持

自舉從本質(zhì)上說就是在DSP啟動后通過某種方式獲取運行代碼并開始運行,這個過程是在固化在DSP片內(nèi)的Bootloader程序輔助下完成的。在DSP上電以后,Bootloader程序按照一定的順序依次檢驗何種自舉方式可用,自舉方式包括HPI方式、Serial EEPROM方式、標準Serial Port方式、Parallel方式和I/O方式。

Bootloader查詢HPI方式是否可用是這樣進行的:在啟動以后,DSP片內(nèi)0x7f地址的值被置為0,Bootloader不斷檢驗0x7f地址處是否出現(xiàn)了可用的程序指針的跳轉(zhuǎn)地址。當其發(fā)現(xiàn)該地址內(nèi)的值不為0時,即判定為DSP已由外部HOST CPU進行了HPI自舉程序加載,并按照該值跳轉(zhuǎn)PC指針,開始運行,從而完成HPI方式自舉。

3.2 突破4K的空間限制

由于HPI-8的特性,HOST能夠訪問所有的片內(nèi)RAM空間,對于TMS320VC5402來說,其片內(nèi)RAM地址空間從0000H到3fffH,一共4K。這已經(jīng)大大超過了標準HPI的2K的大小,但是對于大多數(shù)DSP應用程序來說,片內(nèi)RAM除了放置程序代碼以外,很可能還需要留出一部分供數(shù)據(jù)空間使用。實際上,大部分代碼都可能放置在片外的程序空間,而這部分空間并不是HOST通過HPI-8所能夠訪問得到的。所以需要使用某種技術(shù)突破4K的片內(nèi)RAM空間限制。由于DSP程序本身是能夠訪問到所有DSP程序、數(shù)據(jù)空間的,所以HOST可以首先放置一個體積不大于4K的程序到DSP內(nèi),再由該程序和HOST協(xié)作完成超出片內(nèi)RAM的代碼的放置工作。

一般將上述的首先放入DSP的程序稱為kernel程序,其功能比較簡單,本身不超過4K,可以由HOST全部放入到TMS320VC5402的片內(nèi)RAM中,并被啟動。

基于此種思路的流程圖如圖1所示。

3.3 程序代碼的定位

編程序的時侯使用符號作為地址,經(jīng)編譯、鏈接后,符號所表示的相對地址已經(jīng)轉(zhuǎn)化為絕對地址。要使程序能夠正常運行,需要將程序代碼寫到指定的位置--絕對地址。在 HOST→Kernel→DSP應用的HPI自舉方式中,HOST和Kernel需先后完成Kernel代碼和DSP應用程序代碼的定位工作。

因此,在HOST CPU的外存儲器中,至少需要保存DSP程序代碼和相應的地址信息。這些數(shù)據(jù)在由自舉程序?qū)懙紻SP后,被拼接成正確的可執(zhí)行代碼、已初始化數(shù)據(jù)等,并被正確定位。一般來說,HOST CPU的外存儲器中的DSP自舉數(shù)據(jù)是HEX格式的。雖然HEX格式有很多種,但任何一種包含有地址等信息的16進制HEX格式文件都是適用的。

常見的HEX格式有ASCII、Intel、TI-Tagged等格式,如圖2所示。

在各種HEX格式中,Intel格式相對來說比較適宜,因為在Intel格式的HEX文件中,代碼被分為每行一個塊,這種分塊的最大長度固定,因此在DSP內(nèi)預留的緩沖區(qū)的大小容易計算。Intel格式的HEX文件的格式為:BYTE1作為每塊的起始標志,總是":";BYTE2-3表示該塊中有效數(shù)據(jù)的長度,最長為32個BYTE。這種有效數(shù)據(jù)可能是程序代碼,也可能是擴展地址信息;BYTE4-7表示該塊內(nèi)代碼的起始地址;BYTE8-9是類型,00表示程序代碼,01表示結(jié)束,04表示擴展地址信息;BYTE10之后是代碼,直到最后兩個BYTE,表示校驗位。校驗位的值是該塊中先前數(shù)據(jù)值和的補碼。

根據(jù)選定的HEX格式,CPU首先按照該格式的定義對Kernel的HEX數(shù)據(jù)進行解釋,獲取各種信息后,CPU將其在TMS320VC5402片內(nèi)RAM中組成可執(zhí)行DSP程序。然后在CPU和kernel的共同作用下,對DSP應用程序的HEX數(shù)據(jù)進行解釋,最后完成其在DSP中的拼接、定位并啟動DSP應用程序--跳轉(zhuǎn)到DSP應用程序的起始地址。

4 系統(tǒng)軟硬件設計與實現(xiàn)

4.1 系統(tǒng)框圖

在筆者開發(fā)的VOIP系統(tǒng)中,使用了HPI對DSP (TMS320VC5402)進行自舉的功能。其中相應部分的框圖如圖3所示。

對于PC機插卡的系統(tǒng),該框圖更可以省略掉HPI以右的部分,而直接使用PC機的CPU和硬盤作為相應的控制和只讀存儲器件。這樣,僅需要為DSP配備RAM即可使其正常運行。

4.2 Kernel程序設計

按照前面所說,kernel程序的作用是用于突破TMS320VC5402 4K片內(nèi)RAM空間限制的中間程序,其功能無非就是按照和HOST CPU的某種約定,獲取DSP程序代碼和相應地址信息,在DSP所能夠訪問到的存儲器空間(片內(nèi)和片外)生成DSP程序代碼。由于 Kernel的功能比較少,故其可以做得非常小。其中關(guān)鍵的生成DSP程序代碼部分的代碼如下:
...
.bss addr 1 ;?程序代碼目的地址
.bss length 1 ;程序代碼長度
.bss codedata 20 ;接收程序代碼緩沖區(qū)
...
.text
START?
...
MOVE?
STM #addr AR4 ?獲取程序代碼目的地址
LD AR4 A
STM #codedata AR3 獲取程序代碼
MVDM #length AR5 獲取程序代碼長度
NOP
MAR +AR5 #-1 
RPT AR5 定位
WRITA AR3+
...
ENDLOAD?
B app_start ?啟動
...

4.3 運行流程

按照前述的系統(tǒng)構(gòu)成,首先將PC機上調(diào)試好的Kernel程序和DSP應用程序(一般為COFF格式)轉(zhuǎn)換成HEX文件,并通過串口將這些文件存放到CPU的Flash中,在存放過程中應將HEX文件原樣保存,以保留其中所有的信息。在系統(tǒng)啟動后,CPU從Flash中獲取Kernel的HEX數(shù)據(jù),通過HPI將其在TMS320VC5402中組合出Kernel運行程序并啟動。然后,CPU從其Flash中獲取DSP應用程序的HEX數(shù)據(jù),通過HPI將其分塊放入TMS320VC5402,并和已經(jīng)開始運行的Kernel程序最終完成DSP引用程序的正確定位工作。最后啟動DSP應用程序。

在實踐中發(fā)現(xiàn),雖然HPI的設計初衷是為了和低速8位機接口進行數(shù)據(jù)交換,但是HPI本身的工作速度非常高。通過HPI方式加載一段不小于130K的DSP應用程序代碼所需要的時間不超過3秒鐘。

TI系列DSP提供了如此豐富的應用方式,無疑給DSP系統(tǒng)開發(fā)者帶來了極大的方便。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉