資料介紹
1引言
TMS320VC54211、2(以下簡稱VC5421)是TI公司推出的一款雙核定點DSP芯片,它擁有兩個DSP子系統,每個子系統都有一個DSP核,并且均有獨立的數據和程序存儲空間,可以進行兩核之間的通信,并且兩個子系統共享一套片外總線。
此外,每個子系統各自擁有2k 16bit字的片內ROM,并存儲有Bootloader程序。當DSP芯片上電或復位時,兩個DSP核可分別啟動自身獨立的Bootloader程序,以實現用戶程序的上電自舉。
雙核DSP自啟動和單核DSP自啟動的實現方法有較大的差別,這一點在DSP系統設計中需要特別注意。本文對雙核DSP芯片VC5421的引導模式進行了深入的分析和研究,給出了使用16位并行引導模式進行雙核DSP引導的實現方案。
2 TMS320VC5421的Boot模式
VC5421可提供16位并行引導、8位并行引導和串行EEPROM引導等三種Boot模式來實現用戶程序的上電自舉。
其中16位并行引導模式是通過片外存儲器接口(EMIF)以DMA方式將代碼從16-bit字寬的片外數據存儲器搬移到片內程序存儲空間;
8位并行引導模式則是通過片外存儲器接口(EMIF)以DMA方式將代碼從8-bit字寬的片外數據存儲器搬移到片內的程序存儲空間;
而串行EEPROM引導模式主要是通過多通道緩沖串口2(McBSP 2)從主設備中搬移代碼并實現上電自舉。
和54系列中其它芯片不同的是,VC5421片內ROM中的Bootloader程序并不支持HPI、并行I/O和標準串口模式的自啟動方式。在其所支持的三種boot模式中,16位并行引導模式是最常用的。本文對這種模式進行了深入分析,給出了使用該模式進行雙核DSP程序引導的方案,并通過實驗驗證了該方案的正確性。
2.1 并行引導模式的選擇
VC5421的兩個DSP核在DSP芯片上電或復位時,到底以哪種模式實現上電自舉,主要由兩個核的公共引腳XIO和各自的GPIO0/ROMEN、GPIO1引腳決定。當XIO為0(低電平)時,將不從ROM引導,也就是說,將不使用VC5421片內ROM中的Bootloader程序實現上電引導,而是用HPI模式實現上電自舉;當XIO為1(高電平),GPIO0/ROMEN為0時,將使用片外存儲器中用戶自己編寫的Bootloader程序實現上電自舉;當XIO為1 GPIO/ROMEN為1 GPIO1為0或1時,將分別使用并行或者串行引導模式實現上電自舉。因此,在實施相應的上電自舉前,必須將引腳狀態設置正確,以保證Bootloader程序按預定的模式執行。Bootloader模式的選擇流程見圖1。
當Bootloader程序檢測到并行引導模式時,程序將以DMA方式從片外數據存儲區的0000h單元取出模式選擇字(BSW)來進一步決定是8位還是16位的并行引導模式。10AAh意味著選擇了16位并行引導模式,而如果選擇8位并行引導模式,取出的兩個字節將是08h和AAh。之后,程序將按照Boot表進行加載。圖2是并行引導模式的選擇流程。
2.2 16位并行引導模式的Boot表
Bootloader程序要搬移的代碼必須組織成一定的格式,這就是Boot表。16位并行引導模式的Boot表如表1所列。
表1 16位并行導模式Boot表
此外,需要注意的是,由于在多數程序中都有跳轉指令或循環指令,所以,Boot表中的程序入口地址必須和程序的cmd文件中分配的地址保持一致,也就是說,當在CCS中進行調試時,如果程序Load到5000h,Boot表中的程序入口地址就應該是5000h。
2.3 Boot表的生成
Boot表可由hex500格式轉換工具生成,也可以自己編寫一個文件格式轉換程序來把.out文件轉換成所需的文件格式。本設計通過編寫一個C++程序來將.out文件轉換成.hex文件,然后再在文件的開始處增加相應的標志位和寄存器設置字,從而形成完整的Boot表。
3 VC5421片外總線沖突的解決方案
由于VC5421是雙核DSP,每個核有各自的存儲空間和Bootloader程序,但兩核共享一套片外總線和一個XIO引腳。這樣,當兩核的復位引腳A_RS和B_RS同時收到復位低電平信號時,將同時申請片外總線的控制權。這就造成了申請片外總線的沖突。而且Bootloader程序總是檢查該核有沒有片外總線的控制權,如果沒有,將循環檢查直到取得片外總線的控制權。為了避免這種情況的發生,應該以合理的順序給兩個核上電。
由于VC5421中A核帶有用來控制時鐘頻率的鎖相環電路,所以應該先對A核進行復位,再啟動A核,然后利用A核的用戶程序來控制B核的復位,以實現兩個核的啟動。
根據系統需要,本設計使用Altera公司的CPLD芯片來產生各種控制信號。其電路連接示意圖如圖3所示。A核的復位信號A_RS由CPLD芯片直接給出,并在系統上電或復位的同時對A核進行復位。而B核的復位信號B_RS則通過CPLD映射到DSP的I/O空間0000h地址單元的第6位:B核復位控制位(在系統復位后值為0)如圖4所示。在A核啟動后,通過用戶程序寫B_RS位可為B核提供復位信號。
4 VC5421的并行引導自啟動操作
4.1 用戶程序的搬移
兩個DSP核要完成各自的功能,執行的用戶程序是不盡相同的,而且A核的用戶程序還要控制B核的復位,因此兩個DSP核的Boot表內容是不同的。由DMA方式內部存儲器圖可知,程序空間的第0頁和第1頁屬于A核,第2頁和第3頁屬于B核。因此,需要注意的是,當Bootloader程序搬移用戶程序時,A核的用戶程序要被搬移到內部程序空間的第0頁上,而B核的用戶程序則要被搬移到第2頁上。于是B核Boot表中的程序入口XPC和目的XPC應被設置成0002h。
4.2 Boot表的放置
本系統用4Mbit(256k×16)FLASH器件SST39VF400A作為片外數據存儲器。頁選信號由DSP通過CPLD給出,并且映射到DSP中I/O空間的0000h地址單元的低5位(系統復位后5位均為0,即第0頁)。如圖4所示。另外,此地址單元的第5位(CFG位)是控制FLASH映射的配置位。當CFG為0時,FLASH被映射到DMA片外數據空間的0000h,此時,Bootloader程序可以以DMA方式從FLASH中搬移數據并進行自啟動;當CFG為1時,FLASH被映射到CPU片外數據空間的8000h,在這種情況下,可以通過程序向FLASH中燒寫數據。因此,這一位在系統上電或復位后將被設置成0,以使A核能夠順利啟動。
由于兩個DSP核的Boot表內容不同,故應視Boot表的大小,將兩個Boot表放到FLASH的不同頁上,以便對兩個核分別實行引導。本設計將A核的Boot表放到第0頁,將B核的Boot表放到第1頁。
4.3 外總線控制權的釋放
如圖5所示,在GPIO控制寄存器(地址3Ch)中,XIO_GRANT位為1代表相應的DSP核取得了片外總線的控制權;而在還沒有取得控制權(XIO_GRANT位為0)但在申請片外總線的控制權時,相應的XIO_REQ位應置為1;CORE_SEL位用于表示程序在哪個核上運行,當在CPU A上運行時,讀A核的GPIO控制寄存器的CORE_SEL位將返回到“0”,而當同一個程序在CPU B上運行時,讀B核的GPIO控制寄存器的CORE_SEL位將返回到“1”。有關GPIO控制寄存器的其它相關位,設計時可查閱有關的參考文獻1。
4.4 FLASH的燒寫
筆者根據SST39VF400A的資料編寫了一個DSP程序,該程序可同時將A核的Boot表燒寫到FLASH的第0頁,而將B核的Boot表燒寫到第1頁。
在系統上電或復位后,A核首先運行它的Boot-loader程序(此時FLASH的第0頁映射到DMA片外數據空間的0000h地址單元),A核啟動后執行用戶程序。用戶程序首先將頁選設置成第1頁,這樣,FLASH的第一頁將被映射到DMA片外數據空間的0000h;然后,A核釋放片外總線控制權,并給B核發出復位信號,此時由于只有B核復位,且A核已釋放片外總線的控制權,因此,B核將申請到片外總線控制權,同時執行Bootloader程序的啟動以完成整個DSP引導。完整的啟動過程流程圖如圖6所示,下面是A核的啟動測試程序代碼:
- DSP+ZYNQ雙核通信案例開發手冊
- 基于ARM7和DSP雙核控制的逆變電源設計
- 內置MCU和DSP的雙核SOC芯片JMT1801ED數據手冊 21次下載
- 內置MCU和DSP的雙核SOC芯片JMT1808R數據手冊 24次下載
- 多DSP并行系統設計方案解析 0次下載
- 基于雙口RAM芯片實現DSP系統與ICCD并行接口的設計方案解析 2次下載
- TMS320VC5416DSP并行自舉方案的設計與實現 12次下載
- 基于DSP_ARM的雙核結構數字視頻監控系統設計 2次下載
- ARM與DSP雙核系統中的通信接口設計_趙學亮 7次下載
- 基于ARM7和DSP雙核控制的逆變電源設計 24次下載
- 閃爍存儲器DSP并行引導裝載方法 41次下載
- C5402 DSP芯片自舉引導方法的分析與研究 35次下載
- TMS320VC5402 DSP的并行I/O引導裝載方法研究 43次下載
- DSP并行引導方法在氫鐘自動調諧系統中的應用 21次下載
- 基于雙DSP的高壓無功補償裝置設計與實現
- RTOS實現雙核MCU消息通信 884次閱讀
- 先楫HPM6000系列MCU雙核的通信方式和資源分配 3113次閱讀
- Intel Arc顯卡可以雙卡并行嗎? 1392次閱讀
- 基于OMAP5910雙核處理器實現實時圖像處理系統的應用設計 2287次閱讀
- 基于片上可編程系統解決方案實現視頻編解碼IP核的設計 814次閱讀
- 基于Nios II系統實現LCD顯示控制IP核的設計 1278次閱讀
- 銳爾威視科技全志A20雙核 CloverBox方案板/開發板介紹 4055次閱讀
- STM32單片機控制藍牙的電路 1.6w次閱讀
- 基于TI TMS320F28M35H52C 的非對稱雙核 MCU 提高系統性能方案 2871次閱讀
- 什么是雙核、雙芯和超線程 處理器多核速度是不是越快? 6776次閱讀
- 基于XC2VP30的雙核處理器嵌入式系統的構建與實現 1589次閱讀
- 中穎單片機雙核(DSP和MCU)SH99F100基于工業控制中的應用 1870次閱讀
- 基于DSP/BIOS的多信號并行處理軟件架構設計 1685次閱讀
- 雙DSP柔性處理系統研究 1354次閱讀
- 鐵電存儲器FM18L08在DSP系統中的應用 1650次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多