TMS320VC5402 DSP的并行I/O引導裝載方法研究
發布時間:2007/9/10 0:00:00 訪問次數:565
摘 要 介紹TMS320VC5402 DSP芯片的性能,著重分析它的片內ROM結構及并行I/O引導裝載程序,并給出利用8031單片機實現8位并行I/O引導裝載的方法。實踐證明,該方法具有很大的靈活性和實用性。
關鍵詞 數字信號處理器(DSP) 引導裝載 單片機
TMS320VC5402(以下簡稱C5402)是德州儀器公司(TI)1999年10月推出的性價比極高(目標價格僅為5美元)的定點數字信號處理器(DSP)。C5402主要特點如下[1]:
·操作速率達100MIPS;
·具有先進的多總線結構,三條16位數據存儲器總線和一條程序存儲器總線;
·40位算術邏輯單元(ALU),包括一個40位桶形移位器和兩個40位累加器;
·一個17×17乘法器和一個40位專用加法器,允許16位帶/不帶符號的乘法;
·整合維特比加速器,用于提高維特比編譯碼的速度;
·單周期正規化及指數譯碼;
·8個輔助寄存器及一個軟件棧,允許使用業界最先進的定點DSP C語言編譯器;
·數據/程序尋址空間1M×16bit,內置4K×16bit ROM和16K×16bit RAM;
·內置可編程等待狀態發生器、鎖相環(PLL)時鐘產生器、兩個多通道緩沖串行口、一個8位并行與外部處理器通信的HPI口、2個16位定時器以及6通道DMA控制器;
·低功耗,工作電源有3V和1.8V(內核),特別適合電池供電設備。
由此可見,與TMS32054X系列的其它芯片相比,C5402以其獨有的高性能、低功耗和低價格特性,使得一推出就受到業內用戶的歡迎。但它的內部結構和片內掩模的引導裝載(Bootloader)程序與C54X系列的其它DSP處理器[2]有較大的差異,而它的應用對象又大多是要求能脫機運行,如機頂盒(STB)、個人數字助理(PDA)和數字無線通信等內嵌式系統。為此,本文立足我們的實踐經驗,簡單介紹C5402 Bootloader程序分析和實現方法,并較為詳細地介紹并行I/O Bootloader方法。
1 幾種引導裝載方法
C5402片內掩模的Bootloader用于在上電復位時把用戶程序從外部引導到高速RAM中,以保證其全速運行。C5402提供了如下四種Bootloader方法:8位或16位并行EPROM方法、8位或16位并行I/O方法、8位或16位串行口方法和處理器通信口(主端口)HPI方法。
上電復位后,C5402檢測其MP/MC引腳,如果MP/MC=“0”則進入Bootloader程序。進入Bootloader后,如有INT2請求中斷,則進入HPI引導方式,否則則讀入端口地址為0FFFFH的I/O端的引導方式選擇字(Boot Routine Selection,BRS)。當BRS=XXXX00時,進入I/O或串行口引導方式如BRS=XXXX1000時,進入8位I/O引導方式BRS=XXXX1100時,進入16位I/O引導方式,否則則進入串行口引導方式。當BRS=XXXX01時,進入8位EPROM引導方式,BRS=XXXX10時,進入16位EPROM引導方式。
2 C5402片內ROM結構及并行I/O引導裝載程序分析
C5402提供了4K×16bit 的掩模ROM,其具體內容見表1。C5402上電復位后,如果MP/MC=“0”則從F800h地址開始運行Bootloader程序。在進入8位并行I/O引導程序以前,C5402與外部I/O要進行一系列的通信聯絡,其程序框圖如圖1所示。
以下是8位并行I/O引導程序片段下:
行號 源程序 注 解
(標號) ..
END ;讀入用戶代碼結束
;并轉執行用戶程序
1 CALL (21) ;調用讀數據子程序
2 STL B,61h ;B的內容→61H單元
3 CALL (21) ;調用讀數據子程序
4 STL B,61h ;B的內容→62H單元
5 CALL (21) ;調用讀數據子程序
6 BC (END), BEQ ;B=0時結束
7 SUB #01h,0,B,B ;B-1→B
8 STLM B,BRC;B→BRC
摘 要 介紹TMS320VC5402 DSP芯片的性能,著重分析它的片內ROM結構及并行I/O引導裝載程序,并給出利用8031單片機實現8位并行I/O引導裝載的方法。實踐證明,該方法具有很大的靈活性和實用性。
關鍵詞 數字信號處理器(DSP) 引導裝載 單片機
TMS320VC5402(以下簡稱C5402)是德州儀器公司(TI)1999年10月推出的性價比極高(目標價格僅為5美元)的定點數字信號處理器(DSP)。C5402主要特點如下[1]:
·操作速率達100MIPS;
·具有先進的多總線結構,三條16位數據存儲器總線和一條程序存儲器總線;
·40位算術邏輯單元(ALU),包括一個40位桶形移位器和兩個40位累加器;
·一個17×17乘法器和一個40位專用加法器,允許16位帶/不帶符號的乘法;
·整合維特比加速器,用于提高維特比編譯碼的速度;
·單周期正規化及指數譯碼;
·8個輔助寄存器及一個軟件棧,允許使用業界最先進的定點DSP C語言編譯器;
·數據/程序尋址空間1M×16bit,內置4K×16bit ROM和16K×16bit RAM;
·內置可編程等待狀態發生器、鎖相環(PLL)時鐘產生器、兩個多通道緩沖串行口、一個8位并行與外部處理器通信的HPI口、2個16位定時器以及6通道DMA控制器;
·低功耗,工作電源有3V和1.8V(內核),特別適合電池供電設備。
由此可見,與TMS32054X系列的其它芯片相比,C5402以其獨有的高性能、低功耗和低價格特性,使得一推出就受到業內用戶的歡迎。但它的內部結構和片內掩模的引導裝載(Bootloader)程序與C54X系列的其它DSP處理器[2]有較大的差異,而它的應用對象又大多是要求能脫機運行,如機頂盒(STB)、個人數字助理(PDA)和數字無線通信等內嵌式系統。為此,本文立足我們的實踐經驗,簡單介紹C5402 Bootloader程序分析和實現方法,并較為詳細地介紹并行I/O Bootloader方法。
1 幾種引導裝載方法
C5402片內掩模的Bootloader用于在上電復位時把用戶程序從外部引導到高速RAM中,以保證其全速運行。C5402提供了如下四種Bootloader方法:8位或16位并行EPROM方法、8位或16位并行I/O方法、8位或16位串行口方法和處理器通信口(主端口)HPI方法。
上電復位后,C5402檢測其MP/MC引腳,如果MP/MC=“0”則進入Bootloader程序。進入Bootloader后,如有INT2請求中斷,則進入HPI引導方式,否則則讀入端口地址為0FFFFH的I/O端的引導方式選擇字(Boot Routine Selection,BRS)。當BRS=XXXX00時,進入I/O或串行口引導方式如BRS=XXXX1000時,進入8位I/O引導方式BRS=XXXX1100時,進入16位I/O引導方式,否則則進入串行口引導方式。當BRS=XXXX01時,進入8位EPROM引導方式,BRS=XXXX10時,進入16位EPROM引導方式。
2 C5402片內ROM結構及并行I/O引導裝載程序分析
C5402提供了4K×16bit 的掩模ROM,其具體內容見表1。C5402上電復位后,如果MP/MC=“0”則從F800h地址開始運行Bootloader程序。在進入8位并行I/O引導程序以前,C5402與外部I/O要進行一系列的通信聯絡,其程序框圖如圖1所示。
以下是8位并行I/O引導程序片段下:
行號 源程序 注 解
(標號) ..
END ;讀入用戶代碼結束
;并轉執行用戶程序
1 CALL (21) ;調用讀數據子程序
2 STL B,61h ;B的內容→61H單元
3 CALL (21) ;調用讀數據子程序
4 STL B,61h ;B的內容→62H單元
5 CALL (21) ;調用讀數據子程序
6 BC (END), BEQ ;B=0時結束
7 SUB #01h,0,B,B ;B-1→B
8 STLM B,BRC;B→BRC