一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>DSP>雙核DSP片并行引導(dǎo)方案解析

雙核DSP片并行引導(dǎo)方案解析

2017-10-20 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

 ?。币?/p>

  TMS320VC54211、2(以下簡稱VC5421)是TI公司推出的一款雙核定點(diǎn)DSP芯片,它擁有兩個(gè)DSP子系統(tǒng),每個(gè)子系統(tǒng)都有一個(gè)DSP核,并且均有獨(dú)立的數(shù)據(jù)和程序存儲(chǔ)空間,可以進(jìn)行兩核之間的通信,并且兩個(gè)子系統(tǒng)共享一套片外總線。

  此外,每個(gè)子系統(tǒng)各自擁有2k 16bit字的片內(nèi)ROM,并存儲(chǔ)有Bootloader程序。當(dāng)DSP芯片上電或復(fù)位時(shí),兩個(gè)DSP核可分別啟動(dòng)自身獨(dú)立的Bootloader程序,以實(shí)現(xiàn)用戶程序的上電自舉。

  雙核DSP自啟動(dòng)和單核DSP自啟動(dòng)的實(shí)現(xiàn)方法有較大的差別,這一點(diǎn)在DSP系統(tǒng)設(shè)計(jì)中需要特別注意。本文對(duì)雙核DSP芯片VC5421的引導(dǎo)模式進(jìn)行了深入的分析和研究,給出了使用16位并行引導(dǎo)模式進(jìn)行雙核DSP引導(dǎo)的實(shí)現(xiàn)方案。

 ?。?TMS320VC5421的Boot模式

 ?。郑茫担矗玻笨商峁保段徊⑿幸龑?dǎo)、8位并行引導(dǎo)和串行EEPROM引導(dǎo)等三種Boot模式來實(shí)現(xiàn)用戶程序的上電自舉。

  其中16位并行引導(dǎo)模式是通過片外存儲(chǔ)器接口(EMIF)以DMA方式將代碼從16-bit字寬的片外數(shù)據(jù)存儲(chǔ)器搬移到片內(nèi)程序存儲(chǔ)空間;

  8位并行引導(dǎo)模式則是通過片外存儲(chǔ)器接口(EMIF)以DMA方式將代碼從8-bit字寬的片外數(shù)據(jù)存儲(chǔ)器搬移到片內(nèi)的程序存儲(chǔ)空間;

  而串行EEPROM引導(dǎo)模式主要是通過多通道緩沖串口2(McBSP 2)從主設(shè)備中搬移代碼并實(shí)現(xiàn)上電自舉。

  和54系列中其它芯片不同的是,VC5421片內(nèi)ROM中的Bootloader程序并不支持HPI、并行I/O和標(biāo)準(zhǔn)串口模式的自啟動(dòng)方式。在其所支持的三種boot模式中,16位并行引導(dǎo)模式是最常用的。本文對(duì)這種模式進(jìn)行了深入分析,給出了使用該模式進(jìn)行雙核DSP程序引導(dǎo)的方案,并通過實(shí)驗(yàn)驗(yàn)證了該方案的正確性。

  2.1 并行引導(dǎo)模式的選擇

 ?。郑茫担矗玻钡膬蓚€(gè)DSP核在DSP芯片上電或復(fù)位時(shí),到底以哪種模式實(shí)現(xiàn)上電自舉,主要由兩個(gè)核的公共引腳XIO和各自的GPIO0/ROMEN、GPIO1引腳決定。當(dāng)XIO為0(低電平)時(shí),將不從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時(shí),將使用片外存儲(chǔ)器中用戶自己編寫的Bootloader程序?qū)崿F(xiàn)上電自舉;當(dāng)XIO為1 GPIO/ROMEN為1 GPIO1為0或1時(shí),將分別使用并行或者串行引導(dǎo)模式實(shí)現(xiàn)上電自舉。因此,在實(shí)施相應(yīng)的上電自舉前,必須將引腳狀態(tài)設(shè)置正確,以保證Bootloader程序按預(yù)定的模式執(zhí)行。Bootloader模式的選擇流程見圖1。

  雙核DSP片并行引導(dǎo)方案解析

  當(dāng)Bootloader程序檢測到并行引導(dǎo)模式時(shí),程序?qū)⒁裕模停练绞綇钠鈹?shù)據(jù)存儲(chǔ)區(qū)的0000h單元取出模式選擇字(BSW)來進(jìn)一步?jīng)Q定是8位還是16位的并行引導(dǎo)模式。10AAh意味著選擇了16位并行引導(dǎo)模式,而如果選擇8位并行引導(dǎo)模式,取出的兩個(gè)字節(jié)將是08h和AAh。之后,程序?qū)凑眨拢铮铮舯磉M(jìn)行加載。圖2是并行引導(dǎo)模式的選擇流程。

 ?。玻?16位并行引導(dǎo)模式的Boot表

  Bootloader程序要搬移的代碼必須組織成一定的格式,這就是Boot表。16位并行引導(dǎo)模式的Boot表如表1所列。

  表1 16位并行導(dǎo)模式Boot表

  雙核DSP片并行引導(dǎo)方案解析

  此外,需要注意的是,由于在多數(shù)程序中都有跳轉(zhuǎn)指令或循環(huán)指令,所以,Boot表中的程序入口地址必須和程序的cmd文件中分配的地址保持一致,也就是說,當(dāng)在CCS中進(jìn)行調(diào)試時(shí),如果程序Load到5000h,Boot表中的程序入口地址就應(yīng)該是5000h。

  2.3 Boot表的生成

 ?。拢铮铮舯砜捎桑瑁澹担埃案袷睫D(zhuǎn)換工具生成,也可以自己編寫一個(gè)文件格式轉(zhuǎn)換程序來把.out文件轉(zhuǎn)換成所需的文件格式。本設(shè)計(jì)通過編寫一個(gè)C++程序來將.out文件轉(zhuǎn)換成.hex文件,然后再在文件的開始處增加相應(yīng)的標(biāo)志位和寄存器設(shè)置字,從而形成完整的Boot表。

 ?。?VC5421片外總線沖突的解決方案

  由于VC5421是雙核DSP,每個(gè)核有各自的存儲(chǔ)空間和Bootloader程序,但兩核共享一套片外總線和一個(gè)XIO引腳。這樣,當(dāng)兩核的復(fù)位引腳A_RS和B_RS同時(shí)收到復(fù)位低電平信號(hào)時(shí),將同時(shí)申請(qǐng)片外總線的控制權(quán)。這就造成了申請(qǐng)片外總線的沖突。而且Bootloader程序總是檢查該核有沒有片外總線的控制權(quán),如果沒有,將循環(huán)檢查直到取得片外總線的控制權(quán)。為了避免這種情況的發(fā)生,應(yīng)該以合理的順序給兩個(gè)核上電。

  由于VC5421中A核帶有用來控制時(shí)鐘頻率的鎖相環(huán)電路,所以應(yīng)該先對(duì)A核進(jìn)行復(fù)位,再啟動(dòng)A核,然后利用A核的用戶程序來控制B核的復(fù)位,以實(shí)現(xiàn)兩個(gè)核的啟動(dòng)。

  根據(jù)系統(tǒng)需要,本設(shè)計(jì)使用Altera公司的CPLD芯片來產(chǎn)生各種控制信號(hào)。其電路連接示意圖如圖3所示。A核的復(fù)位信號(hào)A_RS由CPLD芯片直接給出,并在系統(tǒng)上電或復(fù)位的同時(shí)對(duì)A核進(jìn)行復(fù)位。而B核的復(fù)位信號(hào)B_RS則通過CPLD映射到DSP的I/O空間0000h地址單元的第6位:B核復(fù)位控制位(在系統(tǒng)復(fù)位后值為0)如圖4所示。在A核啟動(dòng)后,通過用戶程序?qū)懀拢撸遥游豢蔀椋潞颂峁?fù)位信號(hào)。

  4 VC5421的并行引導(dǎo)自啟動(dòng)操作

 ?。矗?用戶程序的搬移

  兩個(gè)DSP核要完成各自的功能,執(zhí)行的用戶程序是不盡相同的,而且A核的用戶程序還要控制B核的復(fù)位,因此兩個(gè)DSP核的Boot表內(nèi)容是不同的。由DMA方式內(nèi)部存儲(chǔ)器圖可知,程序空間的第0頁和第1頁屬于A核,第2頁和第3頁屬于B核。因此,需要注意的是,當(dāng)Bootloader程序搬移用戶程序時(shí),A核的用戶程序要被搬移到內(nèi)部程序空間的第0頁上,而B核的用戶程序則要被搬移到第2頁上。于是B核Boot表中的程序入口XPC和目的XPC應(yīng)被設(shè)置成0002h。

 ?。矗?Boot表的放置

  本系統(tǒng)用4Mbit(256k×16)FLASH器件SST39VF400A作為片外數(shù)據(jù)存儲(chǔ)器。頁選信號(hào)由DSP通過CPLD給出,并且映射到DSP中I/O空間的0000h地址單元的低5位(系統(tǒng)復(fù)位后5位均為0,即第0頁)。如圖4所示。另外,此地址單元的第5位(CFG位)是控制FLASH映射的配置位。當(dāng)CFG為0時(shí),FLASH被映射到DMA片外數(shù)據(jù)空間的0000h,此時(shí),Bootloader程序可以以DMA方式從FLASH中搬移數(shù)據(jù)并進(jìn)行自啟動(dòng);當(dāng)CFG為1時(shí),FLASH被映射到CPU片外數(shù)據(jù)空間的8000h,在這種情況下,可以通過程序向FLASH中燒寫數(shù)據(jù)。因此,這一位在系統(tǒng)上電或復(fù)位后將被設(shè)置成0,以使A核能夠順利啟動(dòng)。

  由于兩個(gè)DSP核的Boot表內(nèi)容不同,故應(yīng)視Boot表的大小,將兩個(gè)Boot表放到FLASH的不同頁上,以便對(duì)兩個(gè)核分別實(shí)行引導(dǎo)。本設(shè)計(jì)將A核的Boot表放到第0頁,將B核的Boot表放到第1頁。

 ?。矗?外總線控制權(quán)的釋放

  如圖5所示,在GPIO控制寄存器(地址3Ch)中,XIO_GRANT位為1代表相應(yīng)的DSP核取得了片外總線的控制權(quán);而在還沒有取得控制權(quán)(XIO_GRANT位為0)但在申請(qǐng)片外總線的控制權(quán)時(shí),相應(yīng)的XIO_REQ位應(yīng)置為1;CORE_SEL位用于表示程序在哪個(gè)核上運(yùn)行,當(dāng)在CPU A上運(yùn)行時(shí),讀A核的GPIO控制寄存器的CORE_SEL位將返回到“0”,而當(dāng)同一個(gè)程序在CPU B上運(yùn)行時(shí),讀B核的GPIO控制寄存器的CORE_SEL位將返回到“1”。有關(guān)GPIO控制寄存器的其它相關(guān)位,設(shè)計(jì)時(shí)可查閱有關(guān)的參考文獻(xiàn)1。

 ?。矗?FLASH的燒寫

  筆者根據(jù)SST39VF400A的資料編寫了一個(gè)DSP程序,該程序可同時(shí)將A核的Boot表燒寫到FLASH的第0頁,而將B核的Boot表燒寫到第1頁。

  在系統(tǒng)上電或復(fù)位后,A核首先運(yùn)行它的Boot-loader程序(此時(shí)FLASH的第0頁映射到DMA片外數(shù)據(jù)空間的0000h地址單元),A核啟動(dòng)后執(zhí)行用戶程序。用戶程序首先將頁選設(shè)置成第1頁,這樣,FLASH的第一頁將被映射到DMA片外數(shù)據(jù)空間的0000h;然后,A核釋放片外總線控制權(quán),并給B核發(fā)出復(fù)位信號(hào),此時(shí)由于只有B核復(fù)位,且A核已釋放片外總線的控制權(quán),因此,B核將申請(qǐng)到片外總線控制權(quán),同時(shí)執(zhí)行Bootloader程序的啟動(dòng)以完成整個(gè)DSP引導(dǎo)。完整的啟動(dòng)過程流程圖如圖6所示,下面是A核的啟動(dòng)測試程序代碼:

 

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1489次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  3次下載  |  免費(fèi)
  15. 8基于單片機(jī)的紅外風(fēng)扇遙控
  16. 0.23 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)