




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。DSP存儲空間的分配問題-在DSP的開發過程中,開發者難免會遇到DSP芯片內部存儲器和片外擴展存儲器的配置等問題。本文以TMS320C54x系列DSP為例,討論DSP存儲空間的分配問題。存儲器空間C54x系列DSP存儲器分為三個獨立選擇的空間程序、數據和I/O,其中程序存儲器存放待執行的指令和執行中所用的系數(常數),可使用片內或片外的RAM、ROM或EPROM等來構成;數據存儲器存放指令執行中產生的數據,可使用片內或片外的RAM和ROM來構成。I/O存儲器存放與映象外圍接口相關的數據,也可以作為附加的
2、數據存儲空間使用。這三個空間的尋址范圍取決于DSP芯片地址線數目。例如,C54x系列DSP從C548開始,芯片有23根地址線,具有8M字節存儲空間尋址能力。C54x通過包含在處理器工作方式的狀態寄存器(PMST)中的3個狀態位,選擇片內存儲器作為程序空間或數據空間。這3個狀態位是:(1)MP/MC位。MP/MC=0,則片內ROM安排到程序空間;MP/MC=1,則片內ROM不安排到程序空間。(2)OVLY位。OVLY=1,則片內RAM安排到程序和數據空間;OVLY=0,則片內RAM只安排到數據存儲空間。(3)DROM位。當DROM=1,則部分片內ROM安排到數據空間;DROM=0,則片內ROM不
3、安排到數據空間。程序設計者可根據不同的需求,相應的配置這3個位,使系統的存儲空間滿足應用要求。同時,為了擴展C54x系列DSP的尋址空間,還增加了一個額外的存儲器映像寄存器程序計數器擴展寄存器XPC,以及6條尋址擴展程序空間的指令。以TMS320C5410為例,它的程序空間分成128頁面,每頁64K字。該64K字程序空間分為兩部分:一部分是公共的32K字,另一部分是各自獨立的32K字。公共存儲器為所有頁面共享,每個頁面獨立的32K字存儲器只能按指定的頁面號尋址,這個頁面號由XPC寄存器設定。C54x系列的程序空間、數據空間和I/O空間的配置方式圖略(詳見電子產品世界2003.1)。C5410片
4、內有64Kx16bit的RAM,16Kx16bit的ROM,其中64KRAM分為4x2K字的雙尋址RAM(DARAM)和7x8K字的單尋址RAM(SARAM)。編寫cmd文件TI公司新的匯編器和鏈接器創建的目標文件采用一種COFF(通用目標文件格式),該目標文件格式更利于模塊化編程,為管理代碼段和目標系統存儲器提供了強有力和靈活的編程方法。讀者可以通過編寫鏈接命令文件(.cmd文件)將鏈接信息放在一個文件中,以便在多次使用同樣的鏈接信息時調用。在命令文件中使用兩個十分有用的偽指令MEMORY和SECTIONS,來指定實際應用中的存儲器結構和進行地址的映射。Memory用來指定目標存儲器結構,S
5、ECTIONS用來控制段的構成與地址分配。需要說明的是:(1)COFF文件格式在用匯編語言或高級語言編程時使用基于代碼塊和數據塊的概念,而不是一條條命令或一個個數據。(2)代碼生成工具中,除編譯器和鏈接器外,TI還提供了可將C語言編譯為匯編語言程序的C編譯器。查看段的分配及使用情況在cmd文件中包括各種各樣的鏈接器選項,每種選項代表不同的含義。其中,使用-m選項可以創建一個擴展名為.map的鏈接器(存儲器)分配映射文件。其語法為-mfilename(文件名)鏈接器的map文件描述以下內容:*存儲器結構*輸入和輸出段的定位*在重新定位后外部符號的地址通過map文件可以查看各段的分配情況,包括段的
6、起始地址,使用的字節數等。配合cmd文件的使用,可確定各個段的使用情況,從而保證程序的正常運行和最小的空間使用。VisualLinker可視化鏈接器TI公司出品的DSP軟件開發環境CCS還提供了一種可視化生成存儲器配置文件的工具:VisualLinker可視化鏈接器。如果程序原來包含了一個鏈接器命令文件(.cmd文件),則當創建可視化鏈接文件的時候,原來cmd文件中的內存配置仍然會被使用。如果讀者想修改內存配置,雙擊.rcp文件就會在CCS中打開可視化鏈接器的圖形界面,調整每個內存模塊的大小,直到認為合適,然后只需要重新連編,程序即可生成新的輸出文件。重復上面的步驟,直到出現滿意的結果。結語不
7、同的DSP芯片內集成的存儲器大小各異,但其配置方式是類似的。讀者可通過查閱DSP芯片的數據手冊,了解芯片內部存儲空間大小。在實際的配置過程中,可根據開發程序的實際代碼,正確的劃分程序和數據空間中各段的大小,使其空間配置達到最優。存儲器空間C54x系列DSP存儲器分為三個獨立選擇的空間程序、數據和I/O,其中程序存儲器存放待執行的指令和執行中所用的系數(常數),可使用片內或片外的RAM、ROM或EPROM等來構成;數據存儲器存放指令執行中產生的數據,可使用片內或片外的RAM和ROM來構成。I/O存儲器存放與映象外圍接口相關的數據,也可以作為附加的數據存儲空間使用。這三個空間的尋址范圍取決于DSP
8、芯片地址線數目。例如,C54x系列DSP從C548開始,芯片有23根地址線,具有8M字節存儲空間尋址能力。C54x通過包含在處理器工作方式的狀態寄存器(PMST)中的3個狀態位,選擇片內存儲器作為程序空間或數據空間。這3個狀態位是:(1)MP/MC位。MP/MC=0,則片內ROM安排到程序空間;MP/MC=1,則片內ROM不安排到程序空間。(2)OVLY位。OVLY=1,則片內RAM安排到程序和數據空間;OVLY=0,則片內RAM只安排到數據存儲空間。(3)DROM位。當DROM=1,則部分片內ROM安排到數據空間;DROM=0,則片內ROM不安排到數據空間。程序設計者可根據不同的需求,相應的
9、配置這3個位,使系統的存儲空間滿足應用要求。同時,為了擴展C54x系列DSP的尋址空間,還增加了一個額外的存儲器映像寄存器程序計數器擴展寄存器XPC,以及6條尋址擴展程序空間的指令。以TMS320C5410為例,它的程序空間分成128頁面,每頁64K字。該64K字程序空間分為兩部分:一部分是公共的32K字,另一部分是各自獨立的32K字。公共存儲器為所有頁面共享,每個頁面獨立的32K字存儲器只能按指定的頁面號尋址,這個頁面號由XPC寄存器設定。C54x系列的程序空間、數據空間和I/O空間的配置方式圖略(詳見電子產品世界2003.1)。C5410片內有64Kx16bit的RAM,16Kx16bit
10、的ROM,其中64KRAM分為4x2K字的雙尋址RAM(DARAM)和7x8K字的單尋址RAM(SARAM)。編寫cmd文件TI公司新的匯編器和鏈接器創建的目標文件采用一種COFF(通用目標文件格式),該目標文件格式更利于模塊化編程,為管理代碼段和目標系統存儲器提供了強有力和靈活的編程方法。讀者可以通過編寫鏈接命令文件(.cmd文件)將鏈接信息放在一個文件中,以便在多次使用同樣的鏈接信息時調用。在命令文件中使用兩個十分有用的偽指令MEMORY和SECTIONS,來指定實際應用中的存儲器結構和進行地址的映射。Memory用來指定目標存儲器結構,SECTIONS用來控制段的構成與地址分配。需要說明
11、的是:(1)COFF文件格式在用匯編語言或高級語言編程時使用基于代碼塊和數據塊的概念,而不是一條條命令或一個個數據。(2)代碼生成工具中,除編譯器和鏈接器外,TI還提供了可將C語言編譯為匯編語言程序的C編譯器。查看段的分配及使用情況在cmd文件中包括各種各樣的鏈接器選項,每種選項代表不同的含義。其中,使用-m選項可以創建一個擴展名為.map的鏈接器(存儲器)分配映射文件。其語法為-mfilename(文件名)鏈接器的map文件描述以下內容:*存儲器結構*輸入和輸出段的定位*在重新定位后外部符號的地址通過map文件可以查看各段的分配情況,包括段的起始地址,使用的字節數等。配合cmd文件的使用,可
12、確定各個段的使用情況,從而保證程序的正常運行和最小的空間使用。VisualLinker可視化鏈接器TI公司出品的DSP軟件開發環境CCS還提供了一種可視化生成存儲器配置文件的工具:VisualLinker可視化鏈接器。如果程序原來包含了一個鏈接器命令文件(.cmd文件),則當創建可視化鏈接文件的時候,原來cmd文件中的內存配置仍然會被使用。如果讀者想修改內存配置,雙擊.rcp文件就會在CCS中打開可視化鏈接器的圖形界面,調整每個內存模塊的大小,直到認為合適,然后只需要重新連編,程序即可生成新的輸出文件。重復上面的步驟,直到出現滿意的結果。結語不同的DSP芯片內集成的存儲器大小各異,但其配置方式
13、是類似的。讀者可通過查閱DSP芯片的數據手冊,了解芯片內部存儲空間大小。在實際的配置過程中,可根據開發程序的實際代碼,正確的劃分程序和數據空間中各段的大小,使其空間配置達到最優。通過SPI接口協議實現DSP與其它設備的通信2006-5-2110:07:05摘要:介紹了SPI通信協議HYPERLINKHYPERLINK,給出了將TI公司生產的TMS320C5402DSP用于SPI協議通信的串口配置方法和接口電路設計,同時給出了串口McBSP的配置程序。關鍵詞:多通道緩沖串行口McBSPTMS320C5402PD780308SPIDSP1引言隨著信息技術革命的深入和計算機技術的飛速發展,DSP技術
14、也正以極快的速度被應用到科技和國民經濟的各信領域。在很多工程開發設計中,由于要求實現單片DSP與單片DSP、多片DSP芯片以及及其它處理芯片之間的通信,因此,怎樣更高效、更便捷的實現這些通信,已成為廣大DSP應用者首先要解決的一個問題。本文根據筆者在工程應用和調試方面用TI的DSPTMS320C5402與NEC的PD780308單片機進行通信的經驗,介紹并討論了將TMS320C5402DSP的多通道緩沖串行口McBSP(Multi-channelBufferedSerialPort)配置為SPI模式(即時鐘停止模式),從而實現DSP與其它單片處理器之間的通信設計方法同時給出了實現方法的部分程序
15、代碼。2多通道緩沖串行口McBSP多通道緩沖串行口McBSP的功能是提供器件內外數據的串行交換。同以前的串口相比,McBSP串口具有相當大的靈活性。表1給出了有關TMS320C5402的McBSP管腳說明。其中串口接收、發送時鐘和同步幀信號既可由外部設備提供,又可由內部時鐘發生器提供,從而大大的提高了通信的靈活性。表1TMS320C5402的有關McBSP管腳說明管腳說明說明DR數據輸入端DX數據輸出端CLKR接收數據位時鐘CLKX發送數據位時鐘FSR接收數據幀時鐘FSX發送數據幀時鐘CLKS外部提供的采樣率發生器時鐘源3SPI協議中的McBSP時鐘停止模式SPI協議是以主從方式工作的,這種模
16、式通常有一個主設備和一個或多個從設備,其接口包括以下四種信號:(1)串行數據輸入(也稱為主進從出,或MISO);(2)串行數據輸出(也稱為主出從進,或MOSI);(3)串行移位時鐘(也稱為SCK);(4)從使能信號(也稱為SS)。圖1為設備的SPI接口示意圖。該接口在工作時,主設備通過提供移位時鐘和從使能信號來控制信息的流動。從使能信號是一個可選的高低電平,它可以激活從設備(在沒有時鐘提供的情況下)的串行輸入和輸出。在沒有專門的從使能信號的情況下,主從設備之間的通信則由移位時鐘的有無來決定,在這種連接方式下,從設備必須自始至終保持激活狀態,而且從設備只能是一個,不能為多個。TMS320C540
17、2提供的時鐘停止模式可用于SPI協議通信,當McBSP被配置為時鐘停止模式時,發送器和接收器在內部是同步的,即可將發送數據幀時鐘(FSX)用作從使能(即SS),而將發送數據位時鐘(CLKX)用作SPI協議中SCK。由于收數據位時鐘(CLKR)和接收數據幀時鐘(FSR)在內部與FSX和CLKX是相連的,因此,該管腳不能用于SPI模式。當McBSP被配置為一個主設備時,傳送輸出信號(BDX)被用作SPI協議的MOSI信號,而接收輸入信號(BDR)則被用作MISO信號。圖2所示為McBSP用作主設備時的SPI接口示意圖。同樣地,當McBSP被配置為一個從設備時,BDX被用作MISO信號,BDR則被用
18、作MOSI信號。圖3為McBSP用作從設備的SPI接口示意圖。當TMS320C5402的McBSP被用于時鐘停止模式時,寄存器SPCR1的CLKSTP位域和引腳配置寄存器的CLKXP位的配置如表2所列。表2時鐘停止模式配置CLKSTPCLKXP說明0XX不可用時鐘停止模式。時鐘被激活用于非SPI模式100時鐘開始于上升沿(無延遲)110時鐘開始于上升沿(有延遲)101時鐘開始于下降沿(無延遲)111時鐘開始于下降沿(有延遲)4其它有關寄存器的配置為了更好地掌握和了解McBSP作為SPI設備時的有關寄存器配置,現以McBSP作為SPI從設備來介紹有關McBSP的其它有關寄存器的配置,若McBSP
19、做為SPI主設備,則相關配置正好相反。當McBSP作為SPI從設備時,主設備外部產生主時鐘。CLKX引腳和FSX引腳必須被設置為輸入。由于CLKX引腳和CLKR信號在內部相連接,因而傳送和接收回路均由外部主時鐘計時(CLKX)。同時,由于FSX引腳和FSR信號也已在內部連接,因此,CLKR引腳和FSR引腳不再需要外部信號的連接。盡管CLKX信號由主設備外部產生且與McBSP同步,但是,McBSP的采樣率發生器仍然必須正確啟動SPI從設備,同時,采樣率發生器還應被設置為最大速率(CPU時鐘速率的一半)。另外,內部采樣率時鐘常被用來同步McBSP邏輯和外部主時鐘以及從使能信號。每次傳送時,McBS
20、P一般在從使能信號的上升沿進行FSX輸入。也就是說,在每次傳送的開始,主設備必須維護使能信號,而在每次傳送完成后,則必須消除從使能信號。在兩次傳送之間,從使能信號不能一直保持為高電平。對正確的SPI從設備而言,McBSP的數據延遲參數必須設置為0,在這種運行模式中,設置值為1或2沒有定義。配置McBSP為從設備所需的寄存器位值如表3所列。表3SPI操作模式下的寄存器位值表位域值功能描述寄存器CLKXM0配置BCLKX引腳為輸入PCRCLKSM1由CPU時鐘產生的采樣率時鐘SRGR2CLKGDV1為采樣率時鐘選擇2的劃分因素SRGR1FSXM0配置BFSX引腳為輸入PCRFSGM0對每個包傳送,
21、BFSX信號被激活SRGR2FSXP1配置BFSX引腳為活動低電平PCRXDATDLY0為SPI從設備運行,必須為0XCR2RDATDLY0為SPI從設備運行,必須為0RCR25程序設計下面是有關TMS320C5402器件的McBSP各個控制寄存器的配置,該配置程序筆者在實踐中已經過測試,并已成功運用在了某工程設計中。VoidMcBSP1_Config(void)offlset=0 x0000;SPCR11=0 x1800;;配置串口時鐘停止模式CLKSTP=10offlset=0 x0001;SPCR21=0 x0222;offlset=0 x0005;SRGR11=0 x00FA;offl
22、set=0 x0007;SRGR21=0 xa00F;offlset=0 x0002;RCR11=0 x0040;;接收一幀含一字,一字含16位offlset=0 x0003;RCR21=0 x0044;接收數據無延遲RDATDLY=00offlset=0 x0004;XCR11=0 x0040;發送一幀含一字,一字含16位offlset=0 x0005;XCR21=0 x0044;發送數據無延遲XDATDLY=00offlset=0 x000E;PCR1=0 x000;;發送時鐘由外部時鐘驅動,CLKX為輸入腳CLKX=0,發送時鐘極性CLKXP=0,發送幀同步極性FSXP=1offlset
23、=0 x0008;MCR11=0 x0001;offlset=0 x0009;MCR21=0 x0001;offlset=0 x000C;XCERA1=0 x0003;offlset=0 x0001;SPCR21=0 x0262;offlset=0 x0001;SPCR21=0 x0263;offlset=0 x0000;SPCR11=0 x1801;;接收器有效offlset=0 x0001;SPCR21=0 x02e3;發送器有效Return;6結束語串行SPI通信協議是一種標準的通信協議,很多場合下都采用這種機制,文中將DSP作為從設備的目的是時鐘可由主設備來提供,因此不用再專門去調試時
24、鐘,這種方式在開發中比較方便。TMS320VC5402通用IO資源及其應用作者:鄒志革,黃聲華轉貼自:電子工程師點擊數:148更新時間:2006-5-6【字體:HYPERLINKjavascript:fontColor(ArticleBody)A】摘要:介紹了TMS320VC54x的通用IO口資源:XF和并詳細介紹了VC5402及該系列中后續芯片獨有的通用IO口資源HPI8和McBSP。最后,以一個具體的看門狗電路為例,給出了這些通用IO口資源的使用方法。關鍵詞:數字信號處理器,TMS320VC5402,通用IO口,看門狗1引言隨著DSP芯片及相關技術的發展,DSP得到了人們的日益關注和越來越
25、廣泛的應用。德州儀器(TI)公司推出的TMS320VC54x系列具有高性能、低功耗等優良性能,受到用戶的歡迎,已廣泛地應用于有線和無線通訊、儀器儀表、雷達、圖像處理、工業控制、語音處理等領域。TMS320VC5402是C5000系列中性價比較高的一顆芯片。獨特的6總線哈佛結構,使其能夠6條流水線同時工作,工作頻率達到100MHz。VC5402除了使用VC54x系列中常用的通用IO口(GeneralPurposeIO,簡稱GPIO)外,還為用戶提供了多個可選的GPIO:HPI8和McBSP。本文將介紹VC5402的GPIO資源,并結合實例,介紹其典型用法。2VC54x系列的GPIOGPIO,即指
26、能為外圍設備提供信號輸出和從外圍設備輸入信號到DSP的引腳。這些管腳能通過軟件提供多用途的輸入和輸出信號。所有的VC54x系列提供兩個GPIO:和XF。即分支控制輸入引腳,被用來監視外圍設備的狀態。在時間要求苛刻的循環中,在不允許受干擾的情況下,可根據引腳的狀態(即外圍設備的狀態)來決定分支轉移的去向,以替代中斷。如:XC2,BIO表示如果引腳為低電平,則執行后面的1條雙字或2條單字指令;否則,執行2條NOP指令。XF即外部標志輸出引腳,它受軟件控制,可以用來向外部器件發信號。用SSBX指令可以將ST1的XF位置1,XF腳輸出高電平。同理,RSBX指令使XF腳輸出低電平。BIO和XF通常被用作
27、異步通信時的握手信號。3HPI-8用在GPIOVC54x系列提供有一個主機接口(HostPortInterface,HPI)。HPI是8位并行口,用來與主設備或主處理器接口。VC5402的HPI8還有特殊的功能,即,當HPI8功能被禁止時(在啟動復位時,讓HPIENA腳為0),其8位雙向數據總線HD可以用作GPIO。有兩個存儲器映像寄存器來控制HPI8口的GPIO功能,它們是:通用IO控制寄存器(GPIOCR)和通用IO狀態寄存器(GPIOSR)。GPIOCR的各個位段的符號如圖1所示。該寄存器的TOUT1位是Timer1的輸出使能位。當HPI8功能被禁止后,TOUT1位允許或禁止Timer1
28、從HINT腳輸出。當系統只有一個定時器時,該位被保留。DIR70控制8個IO口的方向。當DIR70的某位置為1時,GPIOSR的相應位的值輸出到該引腳;同理,當某位為0時,相應引腳的邏輯電平被讀入到GPIOSR的相應位。注意,當某個HD引腳用作輸入功能,對GPIOSR相應位的寫操作將不起作用。GPIOSR各位的含義見圖2(高8位全部保留)。IO70的某位為0,表示在相應的HD引腳輸出低電平,或者相應的HD引腳讀入的外部信號為低。IO70的某位為1時,表示在相應的HD引腳輸出高電平,或者相應的HD引腳讀入的外部信號為高。4McBSP用作GPIOVC5402是VC54x系列中最早引入多通道緩沖串行口(McBSP)的芯片。VC5402及以后的VC54x系列芯片所引入的McBSP功能除了用作一般的BSP外,在兩種情況下,其部分串口管腳(CLKX、FSX、DX、CLKR、FSR、DR)還可以被用作GPIO,這兩種情況是:(1)相關的串口處在復位狀態,即,串口控制寄存器SPCR1、2的(RX)RST位為0;(2)相關的串口被允許用作GPIO,即,管腳控制寄存器PCR的(RX)IOEN位置1。管腳控制寄存器(PCR)給出了McBSP的管腳作為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省忻州市岢嵐縣2025年五下數學期末學業水平測試模擬試題含答案
- 四川省廣安第二中學2025年高三下學期第四次質量考評歷史試題含解析
- 江西省蘆溪縣2025年數學三下期末質量檢測模擬試題含解析
- 住房公積金借款合同
- 南寧市江南區2024-2025學年數學五下期末質量檢測試題含答案
- 新疆昌吉州奇臺縣2025年初三化學試題第二次統測試卷含解析
- 四川文理學院《大數據采集與清洗》2023-2024學年第二學期期末試卷
- 江蘇省鎮江市重點中學2025年三月份月考數學試題含解析
- 藥店全職員工勞動合同范本合同
- 臺州職業技術學院《射頻電路基礎》2023-2024學年第二學期期末試卷
- 發熱病人中醫護理
- 捕鼠公司合同協議
- 工程審計面試題及答案
- 安置房收樓合同協議
- 2025年全民國家安全教育日(4.15)知識測試競賽題庫(含答案)
- 2025-2030中國煤化工行業發展分析及投資風險與戰略研究報告
- 病歷書寫規范2025版
- 2025春季學期國開電大本科《人文英語3》一平臺在線形考綜合測試(形考任務)試題及答案
- 2025-2030中國養老服務行業市場深度調研及前景趨勢與投資研究報告
- 洗滌機械生產過程質量控制考核試卷
- 畫龍點睛成語故事
評論
0/150
提交評論