日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀] 1引言  TMS320VC5421?1、2?(以下簡稱VC5421)是TI公司推出的一款雙核定點(diǎn)DSP芯片,它擁有兩個DSP子系統(tǒng),每個子系統(tǒng)都有一個DSP核,并且均有獨(dú)立的數(shù)據(jù)和程序

1引言

TMS320VC5421?1、2?(以下簡稱VC5421)是TI公司推出的一款雙核定點(diǎn)DSP芯片,它擁有兩個DSP子系統(tǒng),每個子系統(tǒng)都有一個DSP核,并且均有獨(dú)立的數(shù)據(jù)和程序存儲空間,可以進(jìn)行兩核之間的通信,并且兩個子系統(tǒng)共享一套片外總線。此外,每個子系統(tǒng)各自擁有2k 16bit字的片內(nèi)ROM,并存儲有Bootloader程序。當(dāng)DSP芯片上電或復(fù)位時,兩個DSP核可分別啟動自身獨(dú)立的Bootloader程序,以實(shí)現(xiàn)用戶程序的上電自舉。雙核DSP自啟動和單核DSP自啟動的實(shí)現(xiàn)方法有較大的差別,這一點(diǎn)在DSP系統(tǒng)設(shè)計中需要特別注意。本文對雙核DSP芯片VC5421的引導(dǎo)模式進(jìn)行了深入的分析和研究,給出了使用16位并行引導(dǎo)模式進(jìn)行雙核DSP引導(dǎo)的實(shí)現(xiàn)方案。2 TMS320VC5421的Boot模式VC5421可提供16位并行引導(dǎo)、8位并行引導(dǎo)和串行EEPROM引導(dǎo)等三種Boot模式來實(shí)現(xiàn)用戶程序的上電自舉。其中16位并行引導(dǎo)模式是通過片外存儲器接口(EMIF)以DMA方式將代碼從16-bit字寬的片外數(shù)據(jù)存儲器搬移到片內(nèi)程序存儲空間;8位并行引導(dǎo)模式則是通過片外存儲器接口(EMIF)以DMA方式將代碼從8-bit字寬的片外數(shù)據(jù)存儲器搬移到片內(nèi)的程序存儲空間;而串行EEPROM引導(dǎo)模式主要是通過多通道緩沖串口2(McBSP 2)從主設(shè)備中搬移代碼并實(shí)現(xiàn)上電自舉。和54系列中其它芯片不同的是,VC5421片內(nèi)ROM中的Bootloader程序并不支持HPI、并行I/O和標(biāo)準(zhǔn)串口模式的自啟動方式。在其所支持的三種boot模式中,16位并行引導(dǎo)模式是最常用的。本文對這種模式進(jìn)行了深入分析,給出了使用該模式進(jìn)行雙核DSP程序引導(dǎo)的方案,并通過實(shí)驗(yàn)驗(yàn)證了該方案的正確性。2.1 并行引導(dǎo)模式的選擇VC5421的兩個DSP核在DSP芯片上電或復(fù)位時,到底以哪種模式實(shí)現(xiàn)上電自舉,主要由兩個核的公共引腳XIO和各自的GPIO0/ROMEN、GPIO1引腳決定。當(dāng)XIO為0(低電平)時,將不從ROM引導(dǎo),也就是說,將不使用VC5421片內(nèi)ROM中的Bootloader程序?qū)崿F(xiàn)上電引導(dǎo),而是用HPI模式實(shí)現(xiàn)上電自舉;當(dāng)XIO為1(高電平),GPIO0/ROMEN為0時,將使用片外存儲器中用戶自己編寫的Bootloader程序?qū)崿F(xiàn)上電自舉;當(dāng)XIO為1? GPIO/ROMEN為1? GPIO1為0或1時,將分別使用并行或者串行引導(dǎo)模式實(shí)現(xiàn)上電自舉。因此,在實(shí)施相應(yīng)的上電自舉前,必須將引腳狀態(tài)設(shè)置正確,以保證Bootloader程序按預(yù)定的模式執(zhí)行。Bootloader模式的選擇流程見圖1。當(dāng)Bootloader程序檢測到并行引導(dǎo)模式時,程序?qū)⒁裕模停练绞綇钠鈹?shù)據(jù)存儲區(qū)的0000h單元取出模式選擇字(BSW)來進(jìn)一步?jīng)Q定是8位還是16位的并行引導(dǎo)模式。10AAh意味著選擇了16位并行引導(dǎo)模式,而如果選擇8位并行引導(dǎo)模式,取出的兩個字節(jié)將是08h和AAh。之后,程序?qū)凑眨拢铮铮舯磉M(jìn)行加載。圖2是并行引導(dǎo)模式的選擇流程。2.2 16位并行引導(dǎo)模式的Boot表Bootloader程序要搬移的代碼必須組織成一定的格式,這就是Boot表。16位并行引導(dǎo)模式的Boot表如表1所列。表1 16位并行導(dǎo)模式Boot表此外,需要注意的是,由于在多數(shù)程序中都有跳轉(zhuǎn)指令或循環(huán)指令,所以,Boot表中的程序入口地址必須和程序的cmd文件中分配的地址保持一致,也就是說,當(dāng)在CCS中進(jìn)行調(diào)試時,如果程序Load到5000h,Boot表中的程序入口地址就應(yīng)該是5000h。2.3 Boot表的生成Boot表可由hex500格式轉(zhuǎn)換工具生成,也可以自己編寫一個文件格式轉(zhuǎn)換程序來把.out文件轉(zhuǎn)換成所需的文件格式。本設(shè)計通過編寫一個C++程序來將.out文件轉(zhuǎn)換成.hex文件,然后再在文件的開始處增加相應(yīng)的標(biāo)志位和寄存器設(shè)置字,從而形成完整的Boot表。3 VC5421片外總線沖突的解決方案由于VC5421是雙核DSP,每個核有各自的存儲空間和Bootloader程序,但兩核共享一套片外總線和一個XIO引腳。這樣,當(dāng)兩核的復(fù)位引腳A_RS和B_RS同時收到復(fù)位低電平信號時,將同時申請片外總線的控制權(quán)。這就造成了申請片外總線的沖突。而且Bootloader程序總是檢查該核有沒有片外總線的控制權(quán),如果沒有,將循環(huán)檢查直到取得片外總線的控制權(quán)。為了避免這種情況的發(fā)生,應(yīng)該以合理的順序給兩個核上電。由于VC5421中A核帶有用來控制時鐘頻率的鎖相環(huán)電路,所以應(yīng)該先對A核進(jìn)行復(fù)位,再啟動A核,然后利用A核的用戶程序來控制B核的復(fù)位,以實(shí)現(xiàn)兩個核的啟動。根據(jù)系統(tǒng)需要,本設(shè)計使用Altera公司的CPLD芯片來產(chǎn)生各種控制信號。其電路連接示意圖如圖3所示。A核的復(fù)位信號A_RS由CPLD芯片直接給出,并在系統(tǒng)上電或復(fù)位的同時對A核進(jìn)行復(fù)位。而B核的復(fù)位信號B_RS則通過CPLD映射到DSP的I/O空間0000h地址單元的第6位:B核復(fù)位控制位(在系統(tǒng)復(fù)位后值為0)如圖4所示。在A核啟動后,通過用戶程序?qū)懀拢撸遥游豢蔀椋潞颂峁?fù)位信號。4 VC5421的并行引導(dǎo)自啟動操作
4.1 用戶程序的搬移兩個DSP核要完成各自的功能,執(zhí)行的用戶程序是不盡相同的,而且A核的用戶程序還要控制B核的復(fù)位,因此兩個DSP核的Boot表內(nèi)容是不同的。由DMA方式內(nèi)部存儲器圖可知,程序空間的第0頁和第1頁屬于A核,第2頁和第3頁屬于B核。因此,需要注意的是,當(dāng)Bootloader程序搬移用戶程序時,A核的用戶程序要被搬移到內(nèi)部程序空間的第0頁上,而B核的用戶程序則要被搬移到第2頁上。于是B核Boot表中的程序入口XPC和目的XPC應(yīng)被設(shè)置成0002h。4.2 Boot表的放置本系統(tǒng)用4Mbit(256k×16)FLASH器件SST39VF400A作為片外數(shù)據(jù)存儲器。頁選信號由DSP通過CPLD給出,并且映射到DSP中I/O空間的0000h地址單元的低5位(系統(tǒng)復(fù)位后5位均為0,即第0頁)。如圖4所示。另外,此地址單元的第5位(CFG位)是控制FLASH映射的配置位。當(dāng)CFG為0時,FLASH被映射到DMA片外數(shù)據(jù)空間的0000h,此時,Bootloader程序可以以DMA方式從FLASH中搬移數(shù)據(jù)并進(jìn)行自啟動;當(dāng)CFG為1時,FLASH被映射到CPU片外數(shù)據(jù)空間的8000h,在這種情況下,可以通過程序向FLASH中燒寫數(shù)據(jù)。因此,這一位在系統(tǒng)上電或復(fù)位后將被設(shè)置成0,以使A核能夠順利啟動。由于兩個DSP核的Boot表內(nèi)容不同,故應(yīng)視Boot表的大小,將兩個Boot表放到FLASH的不同頁上,以便對兩個核分別實(shí)行引導(dǎo)。本設(shè)計將A核的Boot表放到第0頁,將B核的Boot表放到第1頁。4.3 外總線控制權(quán)的釋放如圖5所示,在GPIO控制寄存器(地址3Ch)中,XIO_GRANT位為1代表相應(yīng)的DSP核取得了片外總線的控制權(quán);而在還沒有取得控制權(quán)(XIO_GRANT位為0)但在申請片外總線的控制權(quán)時,相應(yīng)的XIO_REQ位應(yīng)置為1;CORE_SEL位用于表示程序在哪個核上運(yùn)行,當(dāng)在CPU A上運(yùn)行時,讀A核的GPIO控制寄存器的CORE_SEL位將返回到“0”,而當(dāng)同一個程序在CPU B上運(yùn)行時,讀B核的GPIO控制寄存器的CORE_SEL位將返回到“1”。有關(guān)GPIO控制寄存器的其它相關(guān)位,設(shè)計時可查閱有關(guān)的參考文獻(xiàn)1。4.4 FLASH的燒寫筆者根據(jù)SST39VF400A的資料編寫了一個DSP程序,該程序可同時將A核的Boot表燒寫到FLASH的第0頁,而將B核的Boot表燒寫到第1頁。在系統(tǒng)上電或復(fù)位后,A核首先運(yùn)行它的Boot-loader程序(此時FLASH的第0頁映射到DMA片外數(shù)據(jù)空間的0000h地址單元),A核啟動后執(zhí)行用戶程序。用戶程序首先將頁選設(shè)置成第1頁,這樣,FLASH的第一頁將被映射到DMA片外數(shù)據(jù)空間的0000h;然后,A核釋放片外總線控制權(quán),并給B核發(fā)出復(fù)位信號,此時由于只有B核復(fù)位,且A核已釋放片外總線的控制權(quán),因此,B核將申請到片外總線控制權(quán),同時執(zhí)行Bootloader程序的啟動以完成整個DSP引導(dǎo)。完整的啟動過程流程圖如圖6所示,下面是A核的啟動測試程序代碼:*mmregs*titlc ″testLEDA″*global begin*text?.............begin? stm #0x000,0x0061 ;設(shè)置頁選信號portw ox0061,00hcall waitandm #0xffcf,3ch ;釋放片外總線call wait ; 控制權(quán)stm #0x0041?0x0061 ;給B核復(fù)位信號portw 0x0061,00hcall waitstm #0x0001,0x0061portw 0x0061,00hflash: rsbs 1,xf ;發(fā)光二極管亮call waitssbx 1,xf ;發(fā)光二極管滅call waitb flash;----Subroutine to wait for some time----wait: stm #80,ar6loop0: stm #30000,ar7-loop1: nopbanz loop1,*ar7-banz loop0,*ar6-ret5 實(shí)驗(yàn)驗(yàn)證本設(shè)計中,在DSP的A_XF和B_XF腳上連接兩個發(fā)光二極管,同時使被加載的用戶程序通過循環(huán)來設(shè)置/清除這兩個引腳以使兩個發(fā)光二極管以不同的頻率閃爍,以此來驗(yàn)證用戶程序是否成功加載。系統(tǒng)上電后,兩個發(fā)光二極管先后以不同的頻率開始閃爍,說明DSP的A核、B核均成功地實(shí)現(xiàn)了上電自舉。

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉