第2章__TMS320C54x數(shù)字信號處理_[1]..._第1頁
第2章__TMS320C54x數(shù)字信號處理_[1]..._第2頁
第2章__TMS320C54x數(shù)字信號處理_[1]..._第3頁
第2章__TMS320C54x數(shù)字信號處理_[1]..._第4頁
第2章__TMS320C54x數(shù)字信號處理_[1]..._第5頁
已閱讀5頁,還剩135頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

本章重點介紹TMS320C54x的硬件結(jié)構(gòu) 了解DSP硬件結(jié)構(gòu)是設(shè)計DSP的第一步 第二章TMS320C54X硬件結(jié)構(gòu) 第2章TMS320C54x數(shù)字信號處理器硬件結(jié)構(gòu) 2 1TMS320C54x的特點和硬件組成框圖2 2TMS320C54x的總線結(jié)構(gòu) 重點 2 5中央處理單元 CPU 重點 2 4TMS320C54x的存儲器分配 重點 2 5TMS320C54x片內(nèi)外設(shè)簡介2 6TMS320VC5402引腳及說明 要求 會看硬件功能塊的框圖 掌握相應(yīng)的處理機制 知道有哪些片上外設(shè) 怎樣使用 2 1DSP硬件 TMS320C54x組成框圖 TMS320C54xDSP的總線組成框圖1 54x結(jié)構(gòu)的建立主要圍繞著8條16位的總線展開的 這8條總線包括4條程序 數(shù)據(jù)總線和4條地址總線 它們的作用是 1 程序總線 PB 傳送由程序存儲器取出的指令操作碼及立即數(shù) 2 3條數(shù)據(jù)總線 CB DB和EB 與不同的單元相連 如CPU 數(shù)據(jù)地址發(fā)生邏輯 程序地址發(fā)生邏輯 片內(nèi)外圍部件及數(shù)據(jù)存儲器等 其中CB總線和DB總線傳送從數(shù)據(jù)存儲器讀的數(shù)據(jù) EB總線傳送被寫入存儲器的數(shù)據(jù) 2 2TMS320C54x的總線結(jié)構(gòu) BUS 4條地址總線 PAB CAB DAB EAB 傳送執(zhí)行指令所需地址 C54X總線結(jié)構(gòu) 續(xù) 圖2 1TMS320C54xDSP的內(nèi)部硬件組成框圖2 2 3中央處理單元 CPU 1 40位的算術(shù)邏輯單元 ALU 2 2個40位的累加器 A和B 3 桶形移位器 定標(biāo)移位器 4 17 17位乘法器 5 40位加法器 6 各種CPU寄存器 所有的 54x器件的CPU都相同 54x的CPU包括 7 比較 選擇和存儲單元 CSSU 8 指數(shù)編碼器 54x可通過一個40位算術(shù)邏輯單元 ALU 執(zhí)行二進制補碼數(shù)學(xué)運算 ALU也可執(zhí)行布爾運算 其運算結(jié)果通常被送入兩個40位累加器 累加器A和B ALU的輸入如下 1 16位立即數(shù) 2 來自數(shù)據(jù)存儲器的16位字 3 來自16位暫存寄存器T的16位字 4 來自數(shù)據(jù)存儲器的兩個16位字 在執(zhí)行算術(shù)運算時 一個40位ALU也可同時作為兩個16位ALU 執(zhí)行兩個16位操作 5 來自數(shù)據(jù)存儲器的32位字 6 來自其中一個40位累加器的40位字 算術(shù)邏輯單元 ALU ALU功能框圖 3 ALU輸入數(shù)據(jù)的預(yù)處理 當(dāng)16位數(shù)據(jù)存儲器操作數(shù)通過數(shù)據(jù)總線DB或CB輸入時 ALU將采用兩種方式對操作數(shù)進行預(yù)處理 若數(shù)據(jù)存儲器的16位操作數(shù)在低16位時 則 當(dāng)SXM 0時 高24位 39 16位 用0填充 當(dāng)SXM 1時 高24位 39 16位 擴展為符號位 若數(shù)據(jù)存儲器的16位操作數(shù)在高16位時 則 當(dāng)SXM 0時 39 32位和15 0位用0填充 當(dāng)SXM 1時 39 32位擴展為符號位 15 0位置0 4 ALU的輸出ALU的輸出為40位運算結(jié)果 通常被送至累加器A或B 1 當(dāng)SXM 0 進行無符號數(shù)加載LD AR3 A Beforeinstruction Afterinstruction A SXM AR3 0 000000FEDC 0 0300 0300 0000000000 FEDC FEDC Datamemory0300h 舉例 2 當(dāng)SXM 1 進行有符號數(shù)加載LD AR3 A Beforeinstruction Afterinstruction A SXM AR3 1 FFFFFFFEDC 1 0300 0300 0000000000 FEDC FEDC Datamemory0300h 溢出處理 ALU的飽和邏輯可以對運算結(jié)果進行溢出處理 當(dāng)發(fā)生溢出時 將運算結(jié)果調(diào)整為最大正數(shù) 正向溢出 或最小負(fù)數(shù) 負(fù)向溢出 當(dāng)運算結(jié)果發(fā)生溢出時 若OVM 0 則對ALU的運算結(jié)果不作任何調(diào)整 直接送入累加器 若OVM 1 則對ALU的運行結(jié)果進行調(diào)整 當(dāng)正向溢出時 將32位最大正數(shù)007FFFFFFFH裝入累加器 當(dāng)負(fù)向溢出時 將32位最小負(fù)數(shù)FF80000000H裝入累加器 狀態(tài)寄存器ST0中與目標(biāo)累加器相關(guān)的溢出標(biāo)志OVA或OVB被置1 1 當(dāng)OVM 0 對溢出不進行處理 僅通過OVM 1反映溢出LDA 4 B Beforeinstruction Afterinstruction A B OVB 000000FFFF 007FFF8000 07FFF80000 0 1 007FFF8000 0 0 舉例 OVM 2 當(dāng)OVM 1 對溢出進行處理 LDA 4 B Beforeinstruction Afterinstruction A B OVB 000000FFFF 007FFF8000 007FFFFFFF 0 1 007FFF8000 1 1 OVM 進位位C ALU有一個與運算結(jié)果有關(guān)的進位位C 位于ST0的11位 進位位C受大多數(shù)ALU操作指令的影響 包括算術(shù)操作 循環(huán)操作和移位操作 進位位C的功能 用來指明是否有進位發(fā)生 用來支持?jǐn)U展精度的算術(shù)運算 可作為分支 調(diào)用 返回和條件操作的執(zhí)行條件 注意 進位位C不受裝載累加器操作 邏輯操作 非算術(shù)運算和控制指令的影響 可通過寄存器操作指令RSBX和SSBX對其進行置位和復(fù)位 雙16位算術(shù)運算 若要將ST1中的C16置位 則ALU進行雙16位算術(shù)運算 即在一個機器周期內(nèi)完成兩個16位數(shù)的算術(shù)運算 進行兩次16位加法或兩次16位減法運算 5 其他控制位 除SXM OVM C C16 OVA OVB外 ALU還有兩個控制位 TC 測試 控制標(biāo)志 位于ST0的12位 ZA ZB 累加器結(jié)果為0標(biāo)志位 累加器A和B ACCA ACCB 用于存儲ALU或乘法器 加法器塊的輸出 它們也可作為輸入數(shù)據(jù)輸出到ALU 或作為乘法器 加法器的輸入 AG AH AL BG BH BL都是存儲器映像寄存器 可以被訪問A與B的不同是A的高位可以作為乘法器的一個輸入 累加器 累加器A和B 1 累加器結(jié)構(gòu) 保護位 AG BG39 32 作為算術(shù)計算時的數(shù)據(jù)位余量 以防止迭代運算中的溢出 高階位 AH BH31 16 低階位 AL BL15 0 累加器A和B 2 帶移位的累加器存儲操作 使用STH STL STLM SACCD等指令或并行存儲指令 可以把累加器中的內(nèi)容保存到數(shù)據(jù)存儲器中 使用STH SACCD和并行存儲指令存儲累加器內(nèi)容 先將累加器內(nèi)容移位 再將高16位存入存儲器 右移存儲 AG BG 右移AH BH AH BH 存入存儲器 左移存儲 AL BL 左移AH BH AH BH 存入存儲器 使用STL指令存儲累加器內(nèi)容 先將累加器內(nèi)容移位 再將低16位存入存儲器 右移存儲 AH BH 右移AL BL AL BL 存入存儲器 左移存儲 用0左移AL BL AL BL 存入存儲器 注意 移位操作是在存儲累加器內(nèi)容的過程中同時完成的 移位操作是在移位寄存器中完成的 累加器的內(nèi)容保持不變 例1 累加器A FF01234567H 執(zhí)行帶移位的STH和STL指令后 求暫存器T和A的內(nèi)容 STHA 8 T A的內(nèi)容左移8位 AH存入T 01 23 45 67 00 2345 T 2345H A FF01234567H STHA 8 T A的內(nèi)容右移8位 AH存入T 45 23 01 FF FF FF01 T FF01H A FF01234567H STLA 8 T A的內(nèi)容左移8位 AL存入T 01 23 45 67 00 6700 T 6700H A FF01234567H STLA 8 T A的內(nèi)容右移8位 AL存入T 45 23 01 FF FF 2345 T 2345H A FF01234567H 40位的桶形移位器能將輸入的數(shù)據(jù)進行向左或者向右的0 31位的移動 向左31位 向右16位 桶形移位器 輸入 DB 16位 DB和CB 32位 A 40位 B 40位 輸出 ALU的一個輸入端EB總線 功能 1 在執(zhí)行ALU操作前預(yù)定好一個數(shù)據(jù)存儲器操作或累加器內(nèi)容2 對累加器內(nèi)容算術(shù)或邏輯移位3 對累加器歸一化4 在將累加器的值存入數(shù)據(jù)存儲器前定標(biāo) 桶形移位寄存器 1 指令中的一個4位或5位立即數(shù)為移位數(shù) 范圍為 16 15 ADDA 4 B 累加器A的內(nèi)容右移四位后加到B中 桶形移位寄存器的移位作用 3 T寄存器中的低6位 可以指定 16至31位范圍的移位數(shù)SUB AR2 TS A 2 用ASM的值代表范圍 16至15的移位 可用LD加載 ADDA ASM B 累加器移位ASM所指定的位數(shù)后加到B中 桶形移位寄存器的位數(shù)是一個有符號數(shù) 其正值對應(yīng)左移 負(fù)值對應(yīng)右移 指令中移位位數(shù)可為 3 乘法器 加法器單元C54xCPU有一個17 17位的硬件乘法器 與40位的專用加法器相連 可以在單周期內(nèi)完成一次乘法累加運算 乘法器的輸出經(jīng)小數(shù) 整數(shù)乘法 FRCT 輸入控制后加到加法器的一個輸入端 加法器的另一個輸入端來自累加器A或B 加法器還包括零檢測器 舍入器 二進制補碼 及溢出 飽和邏輯電路 乘法器 加法器 乘法器 加法器單元 乘法器的輸入 XM T寄存器DB總線A的32 16位 YM DB總線CB總線PB總線A的32 16位 乘法器輸出 Adder的XA Adder 40 17 17 YA A或B或0 硬件乘法器可以在一個單指令周期中完成17 17bit的二進制補碼運算 例 MPYa1 B 將a1這個存儲器單元中的數(shù)與 B中的數(shù)相乘并將結(jié)果放B中結(jié)合DSP的特殊的匯編指令 如MAC 54x可以在一個指令周期內(nèi)完成乘 累加運算 例 LDx2 TMACa2 B a2 x2 B B 比較 選擇和存儲單元 CSSU 是專門為Viterbi算法設(shè)計的加法 比較 選擇 ACS 操作的硬件單元 指數(shù)編碼器用于支持單周期指令EXP的專用硬件 功能 求累加器中數(shù)據(jù)的指數(shù)值 比較 選擇和存儲單元CSSU 指數(shù)編碼器 CPU狀態(tài)和控制寄存器 TMS320C54X包括3個16位的寄存器作為狀態(tài)和控制寄存器 ST0 ST1 PMST 均為存儲器映像寄存器 可以方便的訪問 ST0 ST1包含各種工作條件和工作方式的狀態(tài)PMST包含存儲器的設(shè)置狀態(tài)和控制信息 ST0 反映處理器的尋址要求和計算機的中間運行狀態(tài) ST1 主要反映處理器的尋址要求 計算初始狀態(tài)的設(shè)置 I O及中斷的控制等 狀態(tài)寄存器ST0的結(jié)構(gòu) 狀態(tài)寄存器ST1的結(jié)構(gòu) 處理器模式狀態(tài)寄存器 PMST 結(jié)構(gòu)如下 15 1312111098 0 1 151413121110987654 0 15 76543210 ST0 Status0 ST1 Status1 PMST ProcessormodeStatus 2 3TMS320C54x的存儲器分配 2 3 1存儲器空間2 3 2程序存儲器2 3 3數(shù)據(jù)存儲器2 3 4I O存儲器 返回首頁 組成框圖 2 3 C54x的存儲空間結(jié)構(gòu) C54x共有192K字的映射存儲器空間 分成3個相互獨立可選擇的存儲空間 64K字 16位 的程序存儲空間 64K字 16位 的數(shù)據(jù)存儲空間 64K字 16位 的I O空間 程序存儲空間 用來存放要執(zhí)行的指令和指令執(zhí)行中所需要的系數(shù)表 數(shù)學(xué)用表 數(shù)據(jù)存儲空間 用來存放執(zhí)行指令所需要的數(shù)據(jù) I O存儲空間 用來提供與外部存儲器映射的接口 可以作為外部數(shù)據(jù)存儲空間使用 所有 C54x芯片都含有片內(nèi)RAM和ROM 片內(nèi)RAM SARAM DARAM 單尋址RAM 雙尋址RAM DARAM 由存儲器內(nèi)的一些分塊組成 每個DARAM塊在單周期內(nèi)能被訪問2次 SARAM 由存儲器分塊組成 每個SARAM塊在單周期內(nèi)只能被訪問1次 2 3 1存儲器空間 片內(nèi)存儲器的優(yōu)點 不需要插入等待狀態(tài) 與外部存儲器相比 成本低 比外部存儲器功耗小 片內(nèi)物理存儲器必須被映射到映射存儲器上才能被訪問 例 程序存儲器 4K字ROM 起始地址為C00h 取名為ROM 數(shù)據(jù)存儲器 32字RAM 起始地址為60h 取名為SCR 512字RAM 起始地址為80h 取名為CHIP MEMORY PAGE0 ROM origin C00h length 1000hPAGE1 SCR origin 60h length 20hCHIP origin 80h length 200h 頁面名稱 區(qū)間名稱 起始地址 區(qū)間長度 我的程序需要多少存儲空間 這些存儲空間分配合適嗎 Letgo C54x片內(nèi)存儲器資源配置 我們擁有的資源 還有 外部存儲器主要分為兩類 ROM RAM 包括EPROM E2PROM和FLASH等 分為靜態(tài)RAM SRAM 和動態(tài)RAM DRAM ROM主要用于存儲用戶的程序和系統(tǒng)常數(shù)表 一般映射在程序存儲空間 RAM常選擇速度較高的快速RAM 既可以用作程序空間的存儲器 也可以用作數(shù)據(jù)空間的存儲器 TMS320VC5402存儲器配置結(jié)構(gòu) 內(nèi)容 程序空間用來存放要執(zhí)行的指令和常系數(shù)表格 程序空間配置通過設(shè)置MP MC OVLY和XPC來實現(xiàn)程序空間擴展 1 程序存儲空間 影響程序空間后48k 影響程序空間前16k 影響程序空間擴展空間 1 程序存儲空間的配置 程序存儲空間可通過PMST寄存器的MP MC和OVLY控制位來設(shè)置內(nèi)部存儲器的映射地址 當(dāng)MP MC 0時 稱為微計算機模式 4000H EFFFH程序存儲空間定義為外部存儲器 F000H FEFFH程序存儲空間定義為內(nèi)部ROM FF00H FFFFH程序存儲空間定義為內(nèi)部存儲器 當(dāng)MP MC 1時 稱為微處理器模式 4000H FFFFH程序存儲空間定義為外部存儲器 MP MC控制位用來決定程序存儲空間是否使用內(nèi)部存儲器 1 程序存儲空間的配置 當(dāng)OVLY 0時 程序存儲空間不使用內(nèi)部RAM 0000H 3FFFH全部定義為外部程序存儲空間 此時內(nèi)部RAM只作為數(shù)據(jù)存儲器使用 當(dāng)OVLY 1時 程序存儲空間使用內(nèi)部RAM 內(nèi)部RAM同時被映射到程序存儲空間和數(shù)據(jù)存儲空間 0000H 007FH保留 程序無法占用 0080H 3FFFH定義為內(nèi)部DARAM OVLY控制位用來決定程序存儲空間是否使用內(nèi)部RAM 微計算機模式 OVLY 1 0000H 007FH保留 0080H 3FFFH內(nèi)部DARAM 0000H EFFFH外部存儲器 4000H EFFFH外部存儲器 F000H FEFFH內(nèi)部ROM FF00H FF7FH保留 FF80H FFFFH中斷矢量表 FF00H FF7FH保留 F000H FEFFH內(nèi)部ROM OVLY 0 FF80H FFFFH中斷矢量表 常用方案 存儲器配置舉例 1 VC5416的存儲空間TMS320VC5416的地址空間是采用獨立空間編址的 即程序空間 數(shù)據(jù)空間 IO空間都由邏輯上的0 x0000單元起始至0 xffff VC5416基本的程序空間 數(shù)據(jù)空間 IO空間都是64K 外擴時分別由PS DS IS線選通 詳細(xì)的存儲器分配請參考TI的技術(shù)手冊VC5416的Datasheet TI文件號 Sprs095I pdf 下圖顯示了MP和MC模式下的程序和數(shù)據(jù)空間映射 圖1 5 1 圖1 5 1c5416MP和MC模式下的程序和數(shù)據(jù)空間映射 2 程序存儲空間的分頁擴展 C54x系列芯片程序空間采用分頁擴展的方法 多數(shù)芯片只有16條外部地址線 可擴展64k字的外部存儲空間 稱為第0頁程序存儲器 而有的芯片可擴展的范圍較大 如 C5409和 C5416有23條外部程序地址總線可擴展到8M C5402有20條外部程序地址總線 其程序空間只能擴展到1M 2 程序存儲空間的分頁擴展 分頁擴展技術(shù)的特點 有20或23條外部程序地址線 可尋址1M或8M存儲空間 有1個額外的存儲器映像寄存器 程序計數(shù)器擴展寄存器XPC 有6條尋址擴展程序空間的指令 用于尋址擴展程序空間 C5402共有20條外部程序地址總線 可尋址程序存儲空間為1M 整個程序存儲空間分成16頁 每頁共計64K字 2 程序存儲空間的分頁擴展 當(dāng)OVLY 0時 內(nèi)部RAM不允許映射到程序空間 頁與頁之間沒有重疊 擴展后的程序空間分成16頁 每頁64K 2 程序存儲空間的分頁擴展 當(dāng)OVLY 1時 片內(nèi)RAM允許映射到程序空間 程序存儲器的每一頁都由兩部分組成 32K字的公共塊和32K字的專用塊 公共塊可由所有頁共享 不需要使用XPC 專用塊只能按指定的頁號尋址 當(dāng)MP MC 0時 片內(nèi)ROM只能允許安排在第0頁的程序空間 不能映射到其它頁 第2章TMS320C54x的硬件結(jié)構(gòu) 2 程序存儲空間的分頁擴展 公共塊 由所有頁共享專用塊 按指定的頁號尋址 TMS320VC5402擴展程序存儲空間結(jié)構(gòu)圖 擴展程序存儲器的頁號由XPC寄存器設(shè)定 XPC映射到數(shù)據(jù)存儲器的001EH單元 硬件復(fù)位時 XPC被置0 為了便于軟件進行頁切換 設(shè)置了6條影響XPC的專用指令 FB D 長跳轉(zhuǎn)指令 FBACC D 長跳轉(zhuǎn)到累加器A或B所指定的位置 FCALA D 長調(diào)用累加器A或B所指定的位置 FCALL D 長調(diào)用指令 FRET D 長返回 FRETE D 帶中斷使能的長返回指令 擴展程序空間舉例 評估板使用AM29LV800芯片作為外部ROM使用 外部ROM一般用來固化程序 上電后 可以利用5416芯片的Bootloader功能從ROM中加載程序到存儲器中使用 此外 AM29LV800芯片還可以在線編程 保存使用中需要保留的數(shù)據(jù) C54x的地址總線有16 23條 芯片的型號不同其配置的地址總線也不同 C5402芯片共有20根地址線 最多可以擴展1M字外部程序存儲空間 其中高4位地址線 A19 A16 是受XPC寄存器控制 擴展程序存儲器時 除了考慮地址空間分配外 關(guān)鍵是存儲器讀寫控制和片選控制與DSP的外部地址總線 數(shù)據(jù)總線及控制總線的時序配合 了解一下哦 擴展程序空間舉例 程序存儲器有三種工作方式 程序存儲器的擴展 1 程序存儲器的工作方式 讀操作 程序存儲器只能進行讀操作 維持操作 編程操作 當(dāng)編程電源加規(guī)定的電壓 片選和讀允許端加要求的電平 通過編程器可將數(shù)據(jù)固化到存儲器中 完成編程操作 程序存儲器的擴展 2 擴展程序存儲器 注意事項 根據(jù)應(yīng)用系統(tǒng)的容量選擇存儲芯片容量 根據(jù)CPU工作頻率 選取滿足最大讀取時間 電源容差 工作溫度等性能的芯片 選擇邏輯控制芯片 以滿足程序擴展 數(shù)據(jù)擴展和I O擴展的兼容 與5V存儲器擴展時 要考慮電平轉(zhuǎn)換 2 擴展程序存儲器 FLASH存儲器 FLASH存儲器與EPROM相比 具有更高的性能價格比 而且體積小 功耗低 可電擦寫 使用方便 并且3 3V的FLASH可以直接與DSP芯片連接 AT29LV1024是1M位的FLASH存儲器 地址線 A0 A15 控制線 數(shù)據(jù)線 I O0 I O15 2 擴展程序存儲器 存儲器擴展 擴展連接圖 16 16 原理 進行讀操作 地址和數(shù)據(jù)線呈高阻 若只擴展一片程序存儲器 可將CPU存儲器選通信號MSTRB與存儲器輸出使能OE連接 當(dāng)PS 0 MSTRB 0時 可對存儲器進行讀操作 3 內(nèi)部ROM C5402共有4K字的內(nèi)部ROM F000H F7FFH 用戶專用程序 由TI公司固化 F800H FFFFH TI公司定義 3 內(nèi)部ROM TI公司定義的內(nèi)容 引導(dǎo)程序 從串行口 外部存儲器 I O口 主機接口進行自動加載引導(dǎo)程序 256字 律擴展表 256字A律擴展表 256字正弦函數(shù)值查找表 保留 中斷向量表 F800H FBFFHFC00H FCFFHFD00H FDFFHFE00H FEFFHFF00H FF7FHFF80H FFFFH 2 3 3數(shù)據(jù)存儲空間 1 數(shù)據(jù)存儲空間的配置受DROM影響2數(shù)據(jù)存儲器中的內(nèi)容存儲器映像寄存器MMR 用來存放執(zhí)行指令所使用的數(shù)據(jù) 包括需要處理的數(shù)據(jù)或數(shù)據(jù)處理的中間結(jié)果 2 3 3數(shù)據(jù)存儲空間 1 數(shù)據(jù)存儲空間的配置 C54x的數(shù)據(jù)存儲空間由內(nèi)部和外部存儲器構(gòu)成 共有64K字 采用內(nèi)部和外部存儲器統(tǒng)一編址 DROM 0 0000H 3FFFH 內(nèi)部RAM 4000H FFFFH 外部存儲器 DROM 1 0000H 3FFFH 內(nèi)部RAM 4000H EFFFH 外部存儲器 F000H FEFFH 片內(nèi)ROM FF00H FFFFH 保留 1 數(shù)據(jù)存儲空間的配置 當(dāng)CPU發(fā)生的數(shù)據(jù)地址處于內(nèi)部存儲器的范圍內(nèi)時 直接對內(nèi)部數(shù)據(jù)存儲器尋址 當(dāng)CPU發(fā)生的數(shù)據(jù)地址不在內(nèi)部存儲器的范圍內(nèi)時 CPU自動對外部數(shù)據(jù)存儲器尋址 C54x片內(nèi)數(shù)據(jù)存儲器容量 C5402數(shù)據(jù)存儲空間結(jié)構(gòu) 0000H 0050H存儲器映像寄存器 0060H 007FH暫存器SPRAM 0080H 3FFFH內(nèi)部DARAM 4000H EFFFH外部存儲器 DROM 1使用內(nèi)部ROM F000H FEFFH內(nèi)部ROM FF00H FFFFH保留 DROM 0不使用內(nèi)部ROM F000H FEFFH外部存儲器 3 已知ST0 2c00h ST1 0320h 分析ALU的當(dāng)前工作方式 是否有符號擴展等 及當(dāng)前輸出記過狀態(tài) 是否溢出等 4 如果中斷矢量表位于片內(nèi)存儲器空間 片內(nèi)的ROM要映射到數(shù)據(jù)空間 片內(nèi)的RAM只作為數(shù)據(jù)空間 那么該如何設(shè)置有關(guān)寄存器 課堂練習(xí) 數(shù)據(jù)空間前1K的配置 存儲器映像的CPU寄存器 特殊功能寄存器 0000 001FH 特殊功能寄存器 存儲器映像的外設(shè)寄存器 0020 005FH 外設(shè)寄存器 暫存寄存器SPRAM 0060 007FH 暫存寄存器 0080 03FFH 7個DARAM數(shù)據(jù)塊 2 存儲器映像寄存器 在 C54x的數(shù)據(jù)存儲空間中 前80H個單元 數(shù)據(jù)頁0 包含有的CPU寄存器 片內(nèi)外設(shè)寄存器和暫存器 這些寄存器全部映射到數(shù)據(jù)存儲空間 稱作存儲器映像寄存器MMR 存儲器映像寄存器MMR CPU寄存器 特殊功能寄存器 片內(nèi)外設(shè)寄存器 暫存器SPRAM 2 存儲器映像寄存器 特殊功能寄存器功能 主要用于程序的運算處理和尋址方式的選擇和設(shè)定 地址范圍 0000H 001FH C5402的CPU寄存器共有27個 CPU訪問這些寄存器時 不需要插入等待時間 外設(shè)寄存器功能 用來控制片內(nèi)外設(shè)電路的狀態(tài)和存放數(shù)據(jù) 地址范圍 0020H 005FH 包括串行口通信控制寄存器組 定時器定時控制寄存器組 時鐘周期設(shè)定寄存器組等 由于CPU對片內(nèi)外設(shè)寄存器的訪問時通過片內(nèi)外設(shè)總線進行 因此對它們的讀 寫操作至少需要2個時鐘周期 特殊功能寄存器 2 存儲器映像寄存器 片內(nèi)外設(shè)寄存器存在于一個專用的外設(shè)總線結(jié)構(gòu)中 它可以發(fā)送數(shù)據(jù)至外設(shè)總線或者從外設(shè)中接收數(shù)據(jù) 設(shè)置或清除寄存器的控制位可以激活 屏蔽或者重新配置外設(shè)狀態(tài) 不同型號的芯片具有不同的片內(nèi)外設(shè)寄存器 C549片內(nèi)外設(shè)寄存器 2 3 4I O空間 C54x除了程序和數(shù)據(jù)存儲空間外 還提供了一個具有64K字的I O空間 主要用于對片外設(shè)備的訪問 可以使用輸入指令PORTR和輸出指令PORTW對I O空間尋址 C54x的地址總線有16 23條 芯片的型號不同其配置的地址總線也不同 C5402芯片共有20根地址線 最多可以擴展1M字外部程序存儲空間 其中高4位地址線 A19 A16 是受XPC寄存器控制 擴展程序存儲器時 除了考慮地址空間分配外 關(guān)鍵是存儲器讀寫控制和片選控制與DSP的外部地址總線 數(shù)據(jù)總線及控制總線的時序配合 程序存儲器的擴展 了解一下哦 程序存儲器有三種工作方式 程序存儲器的擴展 1 程序存儲器的工作方式 讀操作 程序存儲器只能進行讀操作 維持操作 編程操作 當(dāng)編程電源加規(guī)定的電壓 片選和讀允許端加要求的電平 通過編程器可將數(shù)據(jù)固化到存儲器中 完成編程操作 程序存儲器的擴展 2 擴展程序存儲器 注意事項 根據(jù)應(yīng)用系統(tǒng)的容量選擇存儲芯片容量 根據(jù)CPU工作頻率 選取滿足最大讀取時間 電源容差 工作溫度等性能的芯片 選擇邏輯控制芯片 以滿足程序擴展 數(shù)據(jù)擴展和I O擴展的兼容 與5V存儲器擴展時 要考慮電平轉(zhuǎn)換 2 擴展程序存儲器 FLASH存儲器 FLASH存儲器與EPROM相比 具有更高的性能價格比 而且體積小 功耗低 可電擦寫 使用方便 并且3 3V的FLASH可以直接與DSP芯片連接 AT29LV1024是1M位的FLASH存儲器 地址線 A0 A15 控制線 數(shù)據(jù)線 I O0 I O15 2 擴展程序存儲器 存儲器擴展 擴展連接圖 16 16 原理 進行讀操作 地址和數(shù)據(jù)線呈高阻 若只擴展一片程序存儲器 可將CPU存儲器選通信號MSTRB與存儲器輸出使能OE連接 當(dāng)PS 0 MSTRB 0時 可對存儲器進行讀操作 1 數(shù)據(jù)存儲器ICSI64LV16 ICSI64LV16是一種高速數(shù)據(jù)存儲器 其容量64K字 16 地址線 A15 A0 控制線 數(shù)據(jù)線 I O15 I O0 CE 片選信號 OE 讀選通信號 WE 寫選通信號 UB 高字節(jié)選通信號 LB 低字節(jié)選通信號 1 數(shù)據(jù)存儲器ICSI64LV16 結(jié)構(gòu)圖 數(shù)據(jù)存儲器的擴展 2 存儲器擴展連接 第2章TMS320C54x的硬件結(jié)構(gòu) 3I O空間 C54x除了程序和數(shù)據(jù)存儲空間外 還提供了一個具有64K字的I O空間 主要用于對片外設(shè)備的訪問 可以使用輸入指令PORTR和輸出指令PORTW對I O空間尋址 在對I O空間訪問時 除了使用數(shù)據(jù)總線和地址總線外 還要用到IOTRB IS和I W控制線 IOTRB和IS 用于選通I O空間 I W 用于控制訪問方向 I O的擴展應(yīng)用 在實際應(yīng)用中 許多DSP系統(tǒng)需要輸入和輸出接口 鍵盤和顯示器作為常用的輸入輸出設(shè)備 在便攜式儀器 手機等產(chǎn)品中得到了廣泛地應(yīng)用 使用液晶模塊和非編碼鍵盤可以很方便地作為I O設(shè)備與DSP芯片連接 1 顯示器連接與驅(qū)動 復(fù)位端 低電平有效 1 液晶模塊TCM A0902的引腳 片選信號 低電平有效 RD 讀信號端 高電平有效 寫信號端 低電平有效 A0 寄存器選擇端 當(dāng)A0 0時 選擇命令寄存器 當(dāng)A0 1時 選擇數(shù)據(jù)寄存器 DB7 DB0 數(shù)據(jù)線 3I O的擴展應(yīng)用 1 顯示器連接與驅(qū)動 2 連接圖 命令端口地址 COMMP CFFFH 數(shù)據(jù)端口地址 DATAP EFFFH o LD AR3 A當(dāng)SXM 0 進行無符號數(shù)加載 Beforeinstruction Afterinstruction A SXM AR3 0 000000FEDC 0 0300 0300 0000000000 FEDC FEDC Datamemory0300h LD AR3 A當(dāng)SXM 0 進行有符號數(shù)加載 Beforeinstruction Afterinstruction A SXM AR3 1 FFFFFFFEDC 1 0300 0300 0000000000 FEDC FEDC Datamemory0300h 課堂練習(xí) LDA 4 B1 當(dāng)OVM 0 對溢出不進行處理 僅通過OVB 1反映溢出 Beforeinstruction Afterinstruction A B OVB 000000FFFF 007FFF8000 07FFF80000 0 1 007FFF8000 0 0 OVM LDA 4 B Beforeinstruction Afterinstruction A B OVB 000000FFFF 007FFF8000 007FFFFFFF 0 1 007FFF8000 1 1 OVM 2 當(dāng)OVM 1 對溢出進行處理 課堂練習(xí) 3 已知ST0 2c00h ST1 0320h 分析ALU的當(dāng)前工作方式 是否有符號擴展等 及當(dāng)前輸出記過狀態(tài) 是否溢出等 4 如果中斷矢量表位于片內(nèi)存儲器空間 片內(nèi)的ROM要映射到數(shù)據(jù)空間 片內(nèi)的RAM只作為數(shù)據(jù)空間 那么該如何設(shè)置有關(guān)寄存器 5 上電復(fù)位后 第一條程序指令所在的地址是 課堂練習(xí) 2 4 C54x的片內(nèi)外設(shè)電路 C54x器件除了提供哈佛結(jié)構(gòu)的總線 功能強大的CPU以及大容量的存儲空間外 還提供了必要的片內(nèi)外部設(shè)備 不同型號的 C54x芯片 所配置的片內(nèi)外設(shè)有所不同 這些片內(nèi)外設(shè)主要包括 通用I O引腳 定時器 時鐘發(fā)生器 主機接口HPI 串行通信接口 軟件可編程等待狀態(tài)發(fā)生器 可編程分區(qū)轉(zhuǎn)換邏輯 1 通用I O引腳 C54x芯片為用戶提供了兩個通用的I O引腳 XF 用于程序向外設(shè)傳輸標(biāo)志信息 通過此引腳的置位或復(fù)位 可以控制外設(shè)的工作 2 定時器 C54x的定時器是一個帶有4位預(yù)分頻器的16位可軟件編程減法計數(shù)器 這個減法計數(shù)器每來1個時鐘周期自動減1 當(dāng)計數(shù)器減到0時產(chǎn)生定時中斷 通過編程設(shè)置特定的狀態(tài)可使定時器停止 恢復(fù)運行 復(fù)位或禁止 2 定時器 C54x的定時器主要包括3個存儲器映像寄存器 定時設(shè)定寄存器TIM定時周期寄存器PRD定時控制寄存器TCR 定時設(shè)定寄存器TIM它是一個16位減法計數(shù)器 映射到數(shù)據(jù)存儲空間的0024H單元 復(fù)位或定時器中斷 TINT 時 TIM內(nèi)裝入PRD寄存器的值 定時時間 并進行自動減1操作 定時周期寄存器PRD16位的存儲器映像寄存器 位于數(shù)據(jù)存儲空間的0025H單元 用來存放定時時間常數(shù) 每次復(fù)位或TINT中斷時 將定時時間裝入TIM寄存器 2 定時器 定時控制寄存器TCR16位的存儲器映像寄存器 位于數(shù)據(jù)存儲空間的0026H單元 用來存儲定時器的控制位和狀態(tài)位 包括定時器分頻系數(shù)TDDR 預(yù)標(biāo)定計數(shù)器PSC 控制位TRB和TSS等 定時中斷的周期 CLKOUT TDDR 1 PRD 1 時鐘周期 分頻系數(shù) 時鐘周期 計算定時器初值 例如 定時周期 1ms 設(shè)時鐘周期CLKOUT 1 80M 12 5ns 求TDDR和PDR解 設(shè)定TDDR 9定時周期 CLKOUT TDDR 1 PRD 1 12 5 9 1 PRD 1 1ms得 PRD 7999 1F3Fh 4 主機接口HPI 主機接口HPI是 C54x芯片具有的一種8位或16位的并行接口部件 主要用于DSP與其他總線或主處理機進行通信 HPI接口通過HPI控制寄存器 HPIC 地址寄存器 HPIA 數(shù)據(jù)鎖存器 HPID 和HPI內(nèi)存塊實現(xiàn)與主機通信 4 主機接口HPI 接口所需要的外部硬件少 HPI單元允許芯片直接利用一個或兩個數(shù)據(jù)選通信號 有一個獨立或復(fù)用的地址總線 一個獨立或復(fù)用的數(shù)據(jù)總線與微控制單元MCU連接 主機和DSP可獨立地對HPI接口操作 主機和DSP握手可通過中斷方式來完成 主機可以通過HPI直接訪問CPU的存儲空間 包括存儲器映像寄存器 主機還可以通過HPI接口裝載DSP的應(yīng)用程序 接收DSP運行結(jié)果或診斷DSP運行狀態(tài) 主要特點 5 串行通信接口 C54x內(nèi)部具有功能很強的高速 全雙工串行通信接口 可以和其他串行器件直接接口 四種串行口 標(biāo)準(zhǔn)同步串行口SP緩沖同步串行口BSP時分多路串行口TDM多路緩沖串行口McBSP 5 串行通信接口 1 標(biāo)準(zhǔn)同步串行口SPSP是一個高速 全雙工 雙緩沖的串行口 提供了與編碼器 A D轉(zhuǎn)換器等串行設(shè)備之間的通信 可實現(xiàn)數(shù)據(jù)的同步發(fā)送和接收 能完成8位字節(jié)或16位字的串行通信 每個串行口都含有發(fā)送數(shù)據(jù)寄存器DXR 發(fā)送移位寄存器XSR 接收數(shù)據(jù)寄存器DRR和接收移位寄存器RSR 并能以1 4機器周期頻率工作 在進行數(shù)據(jù)的接收和發(fā)送時 串行口能產(chǎn)生可屏蔽的收 發(fā)中斷 RINT和XINT 通過軟件來管理數(shù)據(jù)的接收和發(fā)送 整個過程由串行口控制寄存器SPC控制 5 串行通信接口 2 緩沖同步串行口BSPBSP是一種增強型同步串行口 它是在同步串行口的基礎(chǔ)上增加了一個自動緩沖單元ABU ABU的功能 利用專用總線 控制串行口直接與 C54x的內(nèi)部存儲器進行數(shù)據(jù)交換 工作方式 非緩沖模式和自動緩沖模式 非緩沖模式 即標(biāo)準(zhǔn)模式 與SP相同 自動緩沖模式 在ABU的控制下 串行口直接與C54x的內(nèi)部存儲器進行16位數(shù)據(jù)塊傳輸 當(dāng)傳輸?shù)臄?shù)據(jù)長度是數(shù)據(jù)塊長度的一半或整個長度時 產(chǎn)生中斷 這兩種工作模式都提供了包括可編程控制的串口時鐘 幀同步信號 可選擇時鐘和幀同步信號的正負(fù)極性等增強功能 能以每幀8位 10位 12位和16位傳輸數(shù)據(jù) 最大操作頻率為CLKOUT 5 串行通信接口 3 時分多路串行口TDMTDM是一個允許數(shù)據(jù)時分多路的同步串行接口 既能工作在同步方式 也能工作在TDM方式 TDM可以與外部多個應(yīng)用接口實現(xiàn)方便靈活的數(shù)據(jù)交換 最多可與8個外部器件接口通信 這種接口在多處理器應(yīng)用中得到了廣泛的使用 工作方式 非TDM模式和TDM模式 非TDM模式 稱為標(biāo)準(zhǔn)方式 與SP相同 TDM模式 是將與多個不同器件的通訊按時間依次劃分成若干個時間段 信道 TDM周期地按時間順序與不同的信道設(shè)備進行串行通信 第2章TMS320C54x的硬件結(jié)構(gòu) 5 串行通信接口 4 多路緩沖串行口McBSPMcBSP是一個高速 全雙工 多通道緩沖串行接口 可直接與其他 C54x 編碼器以及系統(tǒng)中的其他串口器件通信 McBSP提供了全雙工通信 連續(xù)數(shù)據(jù)流的雙緩沖數(shù)據(jù)寄存器 接收和發(fā)送獨立的幀和時鐘信號 可以直接與T1 E1幀接口 McBSP在外部通道選擇電路的控制下 采用分時的方式實現(xiàn)多通道串行通信 與以前的串行口相比 具有很大的靈活性 BIO XF用作異步通訊握手信號MCBSP作為通用IO口進行數(shù)據(jù)傳輸 2 5 C54x的系統(tǒng)控制 C54x芯片的系統(tǒng)控制 程序計數(shù)器PC 硬件堆棧 PC相關(guān)的硬件 外部復(fù)位信號 中斷 狀態(tài)寄存器 循環(huán)計數(shù)器 2 5 C54x的系統(tǒng)控制 2 5 1程序地址的產(chǎn)生 C54x的程序存儲器用來存放應(yīng)用程序的代碼 系數(shù)表和立即數(shù) CPU取指操作時 首先 由程序地址生成器 PAGEN 產(chǎn)生地址 然后 將地址加載到程序地址總線PAB 最后 PAB尋址存放程序存儲器中的指令 系數(shù)表和立即數(shù) 2 7 1程序地址的產(chǎn)生 PAGEN的組成 程序計數(shù)器PC重復(fù)計數(shù)器RC塊重復(fù)計數(shù)器BRC塊重復(fù)起始地址寄存器RSA塊重復(fù)結(jié)束地址寄存器REA 1 程序存儲器地址生成器PAGEN 存儲器映像寄存器 1AH 1BH 1CH PAGEN的組成框圖 2 5 1程序地址的產(chǎn)生 2 程序計數(shù)器PC 程序計數(shù)器是一個16位計數(shù)器 用來保存某個內(nèi)部或外部程序存儲器的地址 對PC加載的方法 當(dāng)進行復(fù)位操作時 將地址FF80H加載PC 當(dāng)程序是順序執(zhí)行時 則PC被增量加載 即PC PC 1 當(dāng)分支轉(zhuǎn)移發(fā)生時 用緊跟在分支轉(zhuǎn)移指后面的16位立即數(shù)加載PC 當(dāng)執(zhí)行塊重復(fù)指令時 若PC 1等于塊重復(fù)結(jié)束地址REA 1 則將塊重復(fù)起始地址RSA加載PC 2020年4月19日 DSP原理及應(yīng)用 121 2 7 C54x的系統(tǒng)控制 2 7 3系統(tǒng)的復(fù)位 復(fù)位期間 處理器將進行如下操作 狀態(tài)寄存器ST0 1800H 將ST1中的INTM位置1 關(guān)閉所有可屏蔽中斷 2020年4月19日 DSP原理及應(yīng)用 122 2 7 3系統(tǒng)的復(fù)位 復(fù)位期間 處理器將進行如下操作 2020年4月19日 DSP原理及應(yīng)用 123 復(fù)位期間 處理器將進行如下操作 將下列狀態(tài)位置為初始值 注意 復(fù)位期間 不對其余的狀態(tài)位和堆棧指針SP初始化 ARP 0ASM 0AVIS 0BRAF 0C 1C16 0CLKOFF 0CMPT 0CPL 0DP 0DROM 0FRCT 0HM 0INTM 1OVA 0OVB 0OVLY 0OVM 0SXM 1TC 1XF 1 2020年4月19日 DSP原理及應(yīng)用 124 2 7 4中斷操作 中斷系統(tǒng)是為計算機系統(tǒng)提供實時操作 多任務(wù)和多進程操作的關(guān)鍵部件 中斷信號 由外設(shè)向CPU傳送數(shù)據(jù)的硬件設(shè)備產(chǎn)生 由外設(shè)向CPU提取數(shù)據(jù)的硬件設(shè)備產(chǎn)生 由定時器產(chǎn)生 2020年4月19日 DSP原理及應(yīng)用 125 2 7 4中斷操作 當(dāng)CPU響應(yīng)中斷時 將暫時停止當(dāng)前程序的執(zhí)行 而去執(zhí)行中斷服務(wù)程序 中斷系統(tǒng) 軟件中斷 硬件中斷 由程序指令產(chǎn)生的中斷 如 INTR TRAP或RESET 由外圍設(shè)備信號產(chǎn)生的中斷 硬件中斷 受外部中斷口信號觸發(fā)的外部硬件中斷 受片內(nèi)外設(shè)電路信號觸發(fā)的內(nèi)部硬件中斷 2020年4月19日 DSP原理及應(yīng)用 126 2 7 4中斷操作 不論是軟件中斷還是硬件中斷 C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論