![DSP技術(shù)原理及應(yīng)用.ppt_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/8302346d-1f26-414e-9f25-d307bc6a00c4/8302346d-1f26-414e-9f25-d307bc6a00c41.gif)
![DSP技術(shù)原理及應(yīng)用.ppt_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/8302346d-1f26-414e-9f25-d307bc6a00c4/8302346d-1f26-414e-9f25-d307bc6a00c42.gif)
![DSP技術(shù)原理及應(yīng)用.ppt_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/8302346d-1f26-414e-9f25-d307bc6a00c4/8302346d-1f26-414e-9f25-d307bc6a00c43.gif)
![DSP技術(shù)原理及應(yīng)用.ppt_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/8302346d-1f26-414e-9f25-d307bc6a00c4/8302346d-1f26-414e-9f25-d307bc6a00c44.gif)
![DSP技術(shù)原理及應(yīng)用.ppt_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/8302346d-1f26-414e-9f25-d307bc6a00c4/8302346d-1f26-414e-9f25-d307bc6a00c45.gif)
已閱讀5頁,還剩335頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
DSP技術(shù)原理及應(yīng)用 1 目錄 第1章緒論第2章TMS320C54x的結(jié)構(gòu)原理第3章TMS320C54x硬件系統(tǒng)設(shè)計第4章TMS320C54x指令系統(tǒng)第5章DSP軟件開發(fā)與設(shè)計第6章TMS320C54x的開發(fā)應(yīng)用 2 教學(xué)目的1 理解數(shù)字信號處理及數(shù)字信號處理器的基本概念 2 了解數(shù)字信號處理器的發(fā)展現(xiàn)狀 發(fā)展趨勢及應(yīng)用 3 了解TI公司三大系列DSP芯片的主要特點及應(yīng)用 4 掌握定點DSP的數(shù)據(jù)格式 教學(xué)重點1 數(shù)字信號處理及數(shù)字信號處理器的基本概念 2 TI公司三大系列DSP芯片的主要特點及應(yīng)用 3 定點DSP的數(shù)據(jù)格式 教學(xué)難點定點DSP的數(shù)據(jù)格式 第一章緒論 3 課外作業(yè) 1 課本P26作業(yè)1 2 1 42 若x 1 4 y 0 2 1 將x用Q14格式表示 將y用Q15格式表示 2 再求x y 3 y 0 328 將其表示成Q15格式的定點數(shù) 4 已知7000H是定標(biāo)為Q12的定點數(shù) 求其對應(yīng)的浮點數(shù) 4 DSP有兩種理解 一 廣義的理解 digitalsignalprocessing 數(shù)字信號處理 二 狹義的理解 digitalsignalprocessor 數(shù)字信號處理器 1 1數(shù)字信號處理 他是利用計算機(jī)或?qū)S锰幚碓O(shè)備 以數(shù)字形式對信號進(jìn)行采集 變換 濾波 估值 增強(qiáng) 壓縮 識別等處理 得到符合需要的信號形式 在通用的計算機(jī)上用軟件實現(xiàn) 在通用計算機(jī)系統(tǒng)上加上專用的加速處理機(jī)實現(xiàn) 用通用的單片機(jī)實現(xiàn) 用通用的可編程DSP芯片實現(xiàn) 用專用的DSP芯片實現(xiàn) 用 CPLD FPGA實現(xiàn) 數(shù)字信號處理的實現(xiàn)方法 5 TMS320VC5402管腳圖 6 數(shù)字信號處理系統(tǒng)的一般組成 抗混疊濾波器將輸入信號X t 中比主要頻率高的信號分量濾除 避免產(chǎn)生信號頻譜的混疊現(xiàn)象 A D 將輸入的模擬信號轉(zhuǎn)換為DSP芯片可接收的數(shù)字信號 DSP芯片 對A D輸出的信號進(jìn)行某種形式的數(shù)字處理 D A 經(jīng)過DSP芯片處理的數(shù)字樣值經(jīng)D A轉(zhuǎn)換為模擬量 然后進(jìn)行平滑濾波得到連續(xù)的模擬信號 7 數(shù)字信號處理系統(tǒng)的一般設(shè)計過程 8 數(shù)字信號處理器 DSP DSP 是一種特別適合于進(jìn)行數(shù)字信號處理運算的微處理器 其主要應(yīng)用是實時快速地實現(xiàn)各種數(shù)字信號處理算法 DSP的主要特點 哈佛結(jié)構(gòu) 馮 諾依曼結(jié)構(gòu) 將指令 數(shù)據(jù)存儲在同一個存儲器中 統(tǒng)一編址 譯稿指令計數(shù)器提供的地址來區(qū)分是指令還是數(shù)據(jù) 取指令和取數(shù)據(jù)都訪問統(tǒng)一存儲器 數(shù)據(jù)吞吐率低 基本哈佛結(jié)構(gòu) 程序和數(shù)據(jù)存儲在不同的存儲空間 程序存儲空間和數(shù)據(jù)存儲空間是兩個相互獨立的存儲空間 每個存儲空間獨立編址 獨立訪問 馮諾曼結(jié)構(gòu) 基本哈佛結(jié)構(gòu) 改進(jìn)哈佛結(jié)構(gòu) 9 多總線結(jié)構(gòu)對DSP來說 總線越多 可以完成的功能就越復(fù)雜 流水線結(jié)構(gòu)如四級流水線的操作圖 DSP主要特點續(xù) 多處理單元DSP內(nèi)部一般都包括有多個處理單元 如算術(shù)邏輯運算單元 ALU 輔助寄存器運算單元 ARAU 累加器 ACC 以及硬件乘法器 MULT 單元等 它們可以在一個指令周期內(nèi)同時進(jìn)行運算 利用這種流水線結(jié)構(gòu) 加上執(zhí)行重復(fù)操作 保證了數(shù)字信號處理中用得最多的乘法累加運算可以在單個指令周期內(nèi)完成 10 DSP主要特點續(xù) 特殊的DSP指令在DSP的指令系統(tǒng)中 設(shè)計了一些特殊的DSP指令 例如TMS320C54x中的FIRS和LMS指令 則專門用于系數(shù)對稱的FIR濾波器和LMS算法 指令周期短DSP廣泛采用亞微米CMOS制造工藝 如TMS320C54x 其運行速度可達(dá)100MIPS TMS320C6203的時鐘為300MHz 運行速度達(dá)到2400MIPS 運算精度高DSP的字長有16位 24位 32位 為防止運算過程中溢出 累加器達(dá)到40位 此外 一批浮點DSP 例如TMS320C3x TMS320C4x TMS320C67x ADSP21020等 則提供了更大的動態(tài)范圍 11 DSP主要特點續(xù) 硬件配置強(qiáng)新一代DSP的接口功能愈來愈強(qiáng) 片內(nèi)具有定時器 串行口 主機(jī)接口 HPI DMA控制器 軟件控制的等待狀態(tài)產(chǎn)生器 鎖相環(huán)時鐘產(chǎn)生器以及實現(xiàn)在片仿真符合IEEE1149 1標(biāo)準(zhǔn)的測試仿真接口 使系統(tǒng)設(shè)計更易于完成 另外 許多DSP芯片都可以工作在省電方式 大大降低了系統(tǒng)功耗 12 DSP的分類 按基礎(chǔ)特性分 DSP芯片的工作時鐘 主頻 和指令類型 DSP的分類有三種方式 按基礎(chǔ)特性分 按數(shù)據(jù)格式分 按用途分 靜態(tài)DSP芯片 該類型在某時鐘頻率范圍內(nèi)都能正常工作 除計算速度有變化外 沒有性能上的下降 如日本OKI電器公司的DSP和TI公司的TMS320C2XX系列 一致性DSP 兩種或更多的DSP芯片 其指令集 機(jī)器代碼及管腳結(jié)構(gòu)相互兼容 如美國TI公司的TMS320C54X 13 DSP的分類 按數(shù)據(jù)格式分 DSP對數(shù)據(jù)的處理有兩種格式 定點數(shù)據(jù)格式和浮點數(shù)據(jù)格式 定點DSP芯片 數(shù)據(jù)以定點格式參加運算 浮點DSP芯片 數(shù)據(jù)以浮點格式參加運算 不同浮點DSP所采用的浮點格式可能不同 按用途分 通用型 適合普通的DSP應(yīng)用 專用型 為特定的功能 運算而設(shè)計的 如數(shù)字濾波 卷積 FFT等 如TMS320C24x適合自動控制 MOTOLORA公司的DSP56200專用于數(shù)字濾波 14 DSP的選擇 選擇DSP芯片時應(yīng)考慮如下幾個因素 DSP芯片的運算速度 運算速度可以用以下幾種性能指標(biāo)來衡量 指令周期 即執(zhí)行一條指令所需要的時間 通常以ns為單位 MAC時間 即完成一次乘法和一次加法時間 FFT執(zhí)行時間 即運行一個N點FFT程序所需時間 MIPS 每秒執(zhí)行百萬條指令 MOPS 每秒執(zhí)行百萬次操作 MFLOPS 每秒執(zhí)行百萬次浮點操作 BOPS 每秒執(zhí)行十億次操作 DSP芯片的硬件資源 DSP芯片的運算精度 參加運算的數(shù)據(jù)字長越長精度越高 DSP芯片的功耗 DSP芯片的開發(fā)工具 DSP芯片的價格 DSP芯片發(fā)展迅速 價格下降也很快 其它 封裝形式 質(zhì)量標(biāo)準(zhǔn) 供貨情況 生命周期等 15 1 3定點DSP的數(shù)據(jù)格式 在定點處理器中 數(shù)據(jù)采用定點表示方法 定點表示并不意味著就一定是整數(shù)表示 它有兩種基本表示方法 整數(shù)表示方法和小數(shù)表示方法 整數(shù)表示方法主要用于控制操作 地址計算和其他非信號處理的應(yīng)用 小數(shù)表示方法則主要用于數(shù)字和各種信號處理算法的計算中 8位定點整數(shù)表示方法 8位定點小數(shù)表示方法 結(jié)果 2 1 2 2 2 3 0 875 結(jié)果 26 24 22 21 20 87 16 數(shù)的補(bǔ)碼表示 例 求 3 25的補(bǔ)碼 用8位二進(jìn)制數(shù)表示 解 方法1 3 25的二進(jìn)制數(shù)為 0011 0100 這也就是 3 25的補(bǔ)碼 則 3 25的原碼為 1011 0100 3 25的反碼為 1100 1011 最末位加1得補(bǔ)碼1100 1100 方法2 將 3 25的補(bǔ)碼0011 0100所有位取反得到1100 1011 最末位加1得補(bǔ)碼1100 1100求一個數(shù)的補(bǔ)碼的補(bǔ)碼 就得到這上數(shù)的相反數(shù)的補(bǔ)碼 17 定點數(shù)有兩種表示法 1 Q表示法 2 S表示法 Q表示法的Qn表示小數(shù)點在數(shù)據(jù)第n位之后 也就是小數(shù)位數(shù)有n位 Qn中的n也稱為Q值 寫為Q n 例如 Q0 表示小數(shù)點在第0位之后 即Q 0 顯然 Q表示法的Q0實際上表示一個整數(shù) Q15表示小數(shù)點在第15位之后 顯然 Q15實際上表示一個純小數(shù) S表示法的Sm n表示有m位整數(shù) n位小數(shù) 即小數(shù)點在第n位之后 且m n 15 顯然 S表示法的Sm n與Q表示法的Qn相同 例如 S0 15與Q15相同 S15 0與Q0相同 定點數(shù)的表示法 18 幾種常用的Q表示法的格式 Q0格式 Q0格式 S15 0 的字長為16位 定點數(shù)的整數(shù)形式 最高位為符號S 接下來的Ix為15位2補(bǔ)碼的整數(shù) 表示數(shù)的范圍為 215 215 1 最小的分辨率為1 Q12格式 Q12格式 S3 12 的字長為16位 最高位為符號S 接下來的3位為2補(bǔ)碼的整數(shù)位 高位在前 后面的12位為2補(bǔ)碼小數(shù)位 Q12格式表示數(shù)的大致范圍為 8 7 小數(shù)的最小分辨率為2 12 19 Q15 或S0 15 格式Q15格式的字長為16位 其每位的具體表示如下 最高位為符號S 接下來的為2補(bǔ)碼的15位小數(shù)位 小數(shù)點緊接著符號位 無整數(shù)位 Q15格式表示數(shù)的范圍為 1 1 小數(shù)的最小分辨率為2 15 對于16位的定點處理器TMS320C54x來說 Q15是在程序設(shè)計中最常用的格式 TI公司提供的數(shù)字信號處理應(yīng)用程序庫DSPLIB就主要采用這種數(shù)據(jù)格式 20 21 定點格式表示數(shù)的范圍 動態(tài)范圍 和數(shù)據(jù)的精度是確定的 表示數(shù)的范圍越大 數(shù)據(jù)的精度越低 也就是說 數(shù)的范圍與精度是一對矛盾 對16位的數(shù)據(jù)來說 動態(tài)范圍最大的格式為整數(shù)Q0 精度 或分辨率 最高的格式為Q15 22 2 定點數(shù)和浮點數(shù)的轉(zhuǎn)換關(guān)系 浮點數(shù)A轉(zhuǎn)換成定點數(shù)B B int A 2Q 定點數(shù)A轉(zhuǎn)換成浮點數(shù)B B A 2 Q例一 浮點數(shù)x 0 5 定標(biāo)在Q15 則相應(yīng)的定點數(shù)為Xq 0 5 215 0 5 32768 16384 4000H例二 一個Q15表示的定點數(shù)13107對應(yīng)的浮點數(shù)為x 13107 2 15 0 3999939例三 y 0 625 將其表示成Q15格式的定點數(shù) 解 Yq 0 625 215 20480 5000H求 5000H的補(bǔ)碼 將其絕對值5000H的所有位取反 得AFFFH 后加1得到補(bǔ)碼為B000H B000H就是 0 625的Q15格式表示的定點數(shù) 例四 已知6000H是定標(biāo)為Q12的定點數(shù) 求其對應(yīng)的浮點數(shù) 解 6000H 24576 對應(yīng)的浮點數(shù)為x 24576 2 12 6 23 定點格式數(shù)據(jù)的轉(zhuǎn)換 若一個數(shù)已經(jīng)是某種動態(tài)范圍較小的Qn格式 為了與動態(tài)范圍較大的Qn格式數(shù)進(jìn)行 加 減 運算 要將其轉(zhuǎn)換為動態(tài)范圍較大的格式的數(shù) 動態(tài)范圍小的格式就是整數(shù)位數(shù)較少 如果整數(shù)位數(shù)比動態(tài)范圍大的格式少k位 則將動態(tài)范圍小的數(shù)右移k位 右端移出去的k位去掉不要 左端進(jìn)行符號位擴(kuò)展 擴(kuò)展k位 這樣就把動態(tài)范圍較小的格式的數(shù)轉(zhuǎn)換為動態(tài)范圍較大的格式的數(shù) 例如 5 625 0 625 6 25 5 625和結(jié)果6 25需要采用Q12格式才能保證其動態(tài)范圍 若0 625原來用Q15格式表示 則需要先將他表示成Q12后 再進(jìn)行計算 自然 最后的結(jié)果也為Q12 轉(zhuǎn)換過程分析如下 5 625 212 5 625 4096 23040 5A00H0 625 215 0 625 32768 20480 5000H將5000H右移3位 由于5000H為正數(shù) 所以5000H右移時左端補(bǔ)0 5000H右移3位后變?yōu)?A00H 5A00H 0A00H 6400H 25600 對應(yīng)的浮點數(shù)為25600 2 12 6 25 24 練習(xí) 1 已知5000H是Q15格式的定點數(shù) 請將其寫為二進(jìn)制數(shù) 并標(biāo)上小數(shù)點 他對應(yīng)的十進(jìn)制數(shù)是多少 若為Q12格式 再完成上面的要求 2 求 1 5的補(bǔ)碼 用8位二進(jìn)制數(shù)表示 25 1 4DSP芯片的發(fā)展及應(yīng)用 信號處理系統(tǒng) 數(shù)字濾波 FIR IIR 自適應(yīng)濾波器 快速付立葉變換 相關(guān)運算 譜分析 卷積 加窗 波形產(chǎn)生等 通信 調(diào)制解調(diào)器 自適應(yīng)均衡 數(shù)據(jù)加密 數(shù)據(jù)壓縮 回波抵消 多路復(fù)用 波形產(chǎn)生等 語音 語音編碼 語音合成 語音識別 語音增強(qiáng) 語音郵件 語音存儲等 圖形 圖像 二位 三維圖形處理 圖像壓縮與傳輸 圖像增強(qiáng) 動畫 機(jī)器人視覺等 軍事 保密通信 雷達(dá)處理 聲納處理 導(dǎo)航 導(dǎo)彈制導(dǎo)等 儀器儀表 頻譜分析 函數(shù)發(fā)生 鎖相環(huán) 地震處理等 自動控制 引擎控制 聲控 自動駕駛 機(jī)器人控制 磁盤控制等 醫(yī)療 助聽 超聲設(shè)備 診斷工具 病人監(jiān)護(hù)等 家用電器 高保真音響 音樂合成 音調(diào)控制 玩具與游戲 數(shù)字電話 電視等 26 27 C2000系列DSP產(chǎn)品規(guī)劃 28 TMS320LF2407DSP與TMS320C28xDSP的方框圖 TMS320C28x是到目前為止用于數(shù)字控制領(lǐng)域性能最好的DSP芯片 32位的定點DSP核 最高速度可達(dá)400MIPS 可以在單個指令周期內(nèi)完成32 32位的乘累加運算 具有增強(qiáng)的電機(jī)控制外設(shè) 高性能的模 數(shù)轉(zhuǎn)換能力和改進(jìn)的通信接口 具有8GB的線性地址空間 采用低電壓供電 3 3V外設(shè) 1 8VCPU核 與TMS320C24x源代碼兼容 該系列芯片已投放市場 29 C5000系列DSP產(chǎn)品規(guī)劃 30 TMS320C5000系列特性比較 31 C6000系列DSP產(chǎn)品規(guī)劃 32 DSP性能推動革新 33 OMAP TI增強(qiáng)型ARM925 TI的TMS320C55xDSP DSP BIOS Bridge 用戶接口先進(jìn)的操作系統(tǒng) MPEG4編解碼器H263編解碼器 AMR編解碼器MP3編解碼器 非實時任務(wù) OMAP平臺對數(shù)字信息終端的意義 實時任務(wù) 所針對多媒體應(yīng)用無線視頻和圖像處理無線高級語音應(yīng)用無線音頻處理圖形和視頻顯示加速處理因特網(wǎng)網(wǎng)頁生成接入無線數(shù)據(jù)處理全球衛(wèi)星定位系統(tǒng) GPS 短距離無線通信應(yīng)用 SDW ARM和DSP操作系統(tǒng) 34 教學(xué)目的1 了解TMS320C54x的內(nèi)部結(jié)構(gòu)和主要特性 2 掌握存儲器系統(tǒng)及其使用方法 3 了解CPU各組成部分的特點和作用 4 掌握定時器和時鐘發(fā)生器的工作原理及使用方法 5 了解McBSP多通道緩沖串口 6 掌握中斷系統(tǒng)的工作原理及使用方法 教學(xué)重點1 存儲器系統(tǒng)及其使用方法 2 定時器和時鐘發(fā)生器的工作原理及使用方法 3 中斷系統(tǒng)的工作原理及使用方法 教學(xué)難點1 定時器和時鐘發(fā)生器的工作原理及使用方法 2 McBSP多通道緩沖串口的工作原理 3 重新映射中斷向量地址 第二章TMS320C54x的結(jié)構(gòu)原理 35 1 課本P114作業(yè)2 4 2 5 2 7 2 8 2 10 2 11 2 13 2 4 2 152 希望將程序放在C54xDSP片內(nèi)RAM中運行 要怎么設(shè)置 3 寫出將狀態(tài)寄存器ST1中的SXM位置為1的指令 4 一個16位的二進(jìn)制數(shù)送入ALU后將成為40位的二進(jìn)制數(shù) 現(xiàn)將8000H送入ALU 并放在第15 第0位 寫出下面兩種情況下得到的40位二進(jìn)制數(shù) 1 SXM 0 2 SXM 15 若CPU時鐘頻率為32MHz 用定時器定時500微秒 求TDDR和PRD的值 6 已知輸入時鐘CLKIN的頻率為16MHz 若希望DSP時鐘頻率為32MHz 設(shè)計相應(yīng)的程序 假設(shè)已求得PLLCOUNT的值為20h 課外作業(yè) 36 第二章TMS320C54x的結(jié)構(gòu)原理 2 1TMS320C54x的內(nèi)部結(jié)構(gòu)及主要特性 2 1 1TMS320C54x的內(nèi)部結(jié)構(gòu) 1 CPU 包括算術(shù)邏輯單元 乘法器 累加器 移位寄存器 各種專門用途的寄存器 地址發(fā)生器以及內(nèi)部總線 3 片內(nèi)的外設(shè) 包括片內(nèi)的定時器 各種類型的串口 主機(jī)接口 片內(nèi)的鎖相環(huán) PLL 時鐘發(fā)生器以及各種控制電路 JTAG接口 2 存儲器系統(tǒng) 包括16 24位外接存儲器接口 片內(nèi)的程序ROM 片內(nèi)的單訪問的數(shù)據(jù)RAM和雙訪問的數(shù)據(jù)RAM 37 2 1 2TMS320C54x的主要特性 CPU 先進(jìn)的多總線結(jié)構(gòu) 具有1條程序存儲器總線 3條數(shù)據(jù)存儲器總線和4條地址總線 40位算術(shù)邏輯單元 ALU 包括40位的桶形移位寄存器和2個獨立的40位的累加器 17位乘17位的并行乘法器與一個40位的專用加法器結(jié)合在一起 用于單周期乘 累加操作 比較 選擇和存儲單元 CSSU 用于Viterbi操作 一種通信的編碼方式 中的加 比較選擇 指數(shù)編碼器用于在單周期內(nèi)計算40位累加器的指數(shù)值 2個地址生成器 包括8個輔助寄存器和2個輔助寄存器算術(shù)單元 38 2 1 2TMS320C54x的主要特性續(xù) 2 存儲器系統(tǒng) 具有16位192K的基本可尋址空間 64K字程序空間 64K字?jǐn)?shù)據(jù)和64K字的I O空間 片內(nèi)的存儲器結(jié)構(gòu)及容量根據(jù)芯片的型號有所不同 見表2 1 3 在片外設(shè)和專用電路 軟件可編程等待狀態(tài)產(chǎn)生器 可編程的存儲器體轉(zhuǎn)換邏輯 片內(nèi)的鎖相環(huán) PLL 時鐘發(fā)生器 可采用內(nèi)部振蕩器或外部的時鐘源 外部總線關(guān)斷控制電路可用來斷開外部數(shù)據(jù)總線 地址總線和控制信號 數(shù)據(jù)總線具有數(shù)據(jù)保持特性 可編程的定時器 直接存儲器訪問 DMA 控制器 可與主機(jī)直接連接的8位并行主機(jī)接口 HPI 有些產(chǎn)品 見表2 1 還包括 擴(kuò)展的8位并行主機(jī)接口 HPI8 和16位并行主機(jī)接口 HPIl6 片內(nèi)的串口根據(jù)型號不同分以下類型 見表2 1 全雙工的標(biāo)準(zhǔn)串口 支持8位和16位數(shù)據(jù)傳送 時分多路 TDM 串口 緩沖串口 BSP 以及多通道緩沖串口 McBSP 39 2 1 2TMS320C54x的主要特性續(xù) 4 片內(nèi)的引導(dǎo)功能除TMS320C5420外 所有的芯片都具有片內(nèi)的引導(dǎo)功能 能從片外的存儲器將程序引導(dǎo)裝入指定的存儲器位置 5 指令系統(tǒng) 單指令重復(fù)和塊重復(fù)操作指令 用于程序和數(shù)據(jù)管理的存儲器塊傳送指令 32位長操作數(shù)指令 同時讀入2個或3個操作數(shù)的指令 并行存儲和裝入的算術(shù)指令 條件存儲指令 快速從中斷返回的指令 具有延遲轉(zhuǎn)移和調(diào)用指令 指令的執(zhí)行采用指令預(yù)提取 指令提取 指令譯碼 訪問操作數(shù) 讀取操作數(shù) 執(zhí)行等6級流水線并行結(jié)構(gòu) 大大提高了指令的執(zhí)行速度 40 2 1 2TMS320C54x的主要特性續(xù) 6 執(zhí)行速度 單指令周期時間分為 25 20 15 12 5 10ns 每秒指令數(shù) 40 50 66 80 100 200MIPS 7 電源和功耗 可采用5V 3 3V 3 3V和1 8或2 5V的超低電壓供電 在型號中分別用C LC UC和VC指明 如 TMS320C54x TMS320LC54x和TMS320UC54x 可采用功耗下降指令I(lǐng)DLE1 IDLE2和IDLE3控制芯片的功耗 可控制禁止CLKOUT信號 8 片內(nèi)的仿真功能具有符合IEEE1149 1標(biāo)準(zhǔn)的在片仿真接口 可與主機(jī)連接 用于系統(tǒng)芯片開發(fā)應(yīng)用 41 2 2總線結(jié)構(gòu) 42 2 2總線結(jié)構(gòu) C54x片內(nèi)有8條16位總線 4條程序 數(shù)據(jù)總線和4條地址總線 3組數(shù)據(jù)總線 CB DB和EB CB和DB傳送讀自數(shù)據(jù)存儲器的操作數(shù) EB傳送寫到存儲器的數(shù)據(jù) CB 雙數(shù)據(jù)讀 長數(shù)據(jù)讀 32位 讀高16位DB 單數(shù)據(jù)讀 雙數(shù)據(jù)讀 長數(shù)據(jù) 32位 讀低16位 外設(shè)讀 4組地址總線 PAB CAB DAB和EAB 傳送執(zhí)行指令所需的地址 C54x還有一條在片雙向總線 用于尋址片內(nèi)外圍電路 這條總線通過CPU接口中的總線交換器連到DB和EB 利用這個總線讀 寫 需要2個或2個以上周期 具體時間取決于外圍電路的結(jié)構(gòu) 程序總線 PB 傳送取自程序存儲器的指令代碼和立即操作數(shù) 43 2 3存儲器系統(tǒng) C54x總的基本存儲空間為192K字 分成3個可選擇的存儲空間 64K字的程序存儲空間 64K字的數(shù)據(jù)存儲空間 64K字的I O空間 存放要執(zhí)行的指令和執(zhí)行中要用到的系數(shù)表 存放各種數(shù)據(jù) 用于映射外圍設(shè)備接口 每64K字可分為512頁 每頁128字 在 C54x中 片內(nèi)存儲器的型式有RAM和ROM兩種 其中RAM又可分為兩種類型 單訪問RAM SARAM 和雙訪問RAM DARAM 片內(nèi)ROM 片內(nèi)ROM是程序存儲器空間的一部分 有時部分也可用作數(shù)據(jù)空間的一部分 各類器件的片內(nèi)ROM容量不同 如表2 3所列 片內(nèi)雙訪問RAM DARAM DARAM由幾個塊組成 CPU可在一個周期內(nèi)對同一DARAM塊訪問兩次 進(jìn)行兩次讀或一次讀和一次寫 DARAM總是會被映射到數(shù)據(jù)空間 且主要用于存儲數(shù)據(jù)值 也可映射到程序空間 用于存儲程序代碼 44 存儲器系統(tǒng)續(xù) 片內(nèi)單訪問RAM SARAM SARAM也是由幾個塊組成 一個SARAM塊在每個機(jī)器周期只可被訪問一次 進(jìn)行一次讀或一次寫 SARAM總是會被映射到數(shù)據(jù)空間 且主要用于存儲數(shù)據(jù)值 也可被映射到程序空間 用于存儲程序代碼 通過處理器工作方式狀態(tài)寄存器 PMST 的3個狀態(tài)位MP MC OVLY位 DROM位 可以控制存儲器的配置 OVLY位若OVLY 1 則片內(nèi)RAM安排到程序和數(shù)據(jù)空間 若OVLY 0 則片內(nèi)RAM只安排到數(shù)據(jù)存儲空間 45 C5402的數(shù)據(jù)和程序存儲器映射圖 以及MP OVLY和DROM3個狀態(tài)位的關(guān)系 注意 若用戶需要運行BOOT程序應(yīng)選用微計算機(jī)模式 46 C5402擴(kuò)展程序存儲器圖 250 47 C5402片內(nèi)4K字ROM區(qū)間分配 C5402片內(nèi)4K字ROM由TI公司定 不能用來存儲用戶程序 48 3 存儲器映射寄存器 存儲器映射寄存器有兩種 26個CPU內(nèi)部寄存器 片內(nèi)外設(shè)寄存器 它們被映像在數(shù)據(jù)存儲器的第0頁 0000H 005FH地址段 其中0000H 001FH是CPU寄存器地址 0020H 005FH是片內(nèi)外設(shè)寄存器的地址 表2 1 片內(nèi)外設(shè)寄存器用于對片內(nèi)外設(shè)的控制和存放數(shù)據(jù) 對它們操作需要2個機(jī)器周期 表2 1存儲器映象寄存器 49 50 2 3 4I O空間 C54x有一個獨立編址的I O存儲器空間 它是一個64K字的地址空間 0000h FFFFh 都在片外 訪問I O是對I O映射的外部器件進(jìn)行訪問 只有兩條指令可以對其尋址 PORTR 讀I O設(shè)備 PORTW 向I O設(shè)備寫 PORTR1000H AR1PORTW AR1 1000H 51 2 4中央處理單元CPU CPU由以下幾部分組成 40位算術(shù)邏輯運算單元 ALU 2個40位累加器 桶形移位寄存器 乘法器 加法器單元 比較 選擇和存儲單元 CSSU 指數(shù)編碼器 CPU存儲器映射寄存器 兩個地址發(fā)生器 52 2 4 1CPU狀態(tài)和控制寄存器 C54x有3個狀態(tài)和控制寄存器 狀態(tài)寄存器0 ST0 狀態(tài)寄存器1 STl 處理器工作方式狀態(tài)寄存器 PMST 1 狀態(tài)寄存器ST0和ST1 ST0主要反映尋址要求和計算的中間運行狀態(tài) 其各位定義如下 53 ST0各位的含義 ARP 輔助寄存器指針 用于間接尋址單操作數(shù)的輔助寄存器的選擇 當(dāng)DSP處于標(biāo)準(zhǔn)運行方式時 CMPT 0 ARP 0 TC 測試 控制標(biāo)志 用來保存ALU的測試位操作結(jié)果 同時 可以由TC的狀態(tài) 0或1 控制條件分支的轉(zhuǎn)移和子程序調(diào)用 并判斷返回是否執(zhí)行 BC2000H TC NTC TC 1或TC 0 C 進(jìn)位標(biāo)志 加法進(jìn)位時 置1 減法借位時 清0 當(dāng)加法無進(jìn)位或減法無借位的情況下 完成一次加法此標(biāo)志位清0 完成一次減法此標(biāo)志位置1 帶16位移位操作的加法只能對它置位 有進(jìn)位時 而減法只能清0 有借位時 OVA 累加器A溢出標(biāo)志 當(dāng)ALU或乘 加運算的加法器發(fā)生溢出 且運算結(jié)果送入累加器A時 OVA置l 運算時一旦發(fā)生溢出 OVA將一直保持置位狀態(tài) 直到硬件復(fù)位或軟件復(fù)位后方可解除此狀態(tài) AOV或ANOV OVB 累加器B溢出標(biāo)志 當(dāng)ALU運算結(jié)果送入累加器B且溢出時 OVB置1 運算時一旦發(fā)生溢出 OVB將一直保持置位狀態(tài) 直到硬件復(fù)位或軟件復(fù)位后方可解除此狀態(tài) BOV或BNOV 54 ST0各位含義續(xù) DP 數(shù)據(jù)存儲器頁指針 DP的9位數(shù)作為高位將指令中的低7位作為低位 結(jié)合形成16位直接尋址方式下的數(shù)據(jù)存儲器地址 這種尋址方式要求STl中的編譯方式位CPL 0 DP字段可用LD指令加載一個短立即數(shù)或從數(shù)據(jù)存儲器加載 ST1主要反映尋址要求 計算的初始狀態(tài)設(shè)置 I O及中斷控制 其各位定義如下 例 LD 1 DP 55 TMS320VC5402管腳圖 56 ST1各位含義 BRAF 塊重復(fù)操作標(biāo)志 此標(biāo)志置位表示正在執(zhí)行塊重復(fù)操作指令 此位清零表示沒有進(jìn)行塊操作 CPL 直接尋址編輯方式標(biāo)志位 標(biāo)志直接尋址選用何種指針 此位置位CPL 1表示選用堆棧指針 SP 的直接尋址方式 此位清零CPL 0表示選用頁指針 DP 的直接尋址方式 XF XF引腳狀態(tài)控制位 控制XF通用外部I O引腳輸出狀態(tài) 可通過軟件置位或清零控制XF引腳輸出電平 HM 芯片響應(yīng)HOLD信號時 CPU保持工作方式標(biāo)志 此位置位表示CPU暫停內(nèi)部操作 此位清零標(biāo)志CPU從內(nèi)部處理器取指繼續(xù)執(zhí)行內(nèi)部操作 外部地址 數(shù)據(jù)線掛起 呈高阻態(tài) 57 ST1各位含義 OVM 溢出方式位 此位確定溢出時 累加器內(nèi)容加載方式 當(dāng)運算結(jié)果產(chǎn)生溢出時 將按如下方式進(jìn)行處理 1 如果OVM 0 則累加器直接加載ALU的實際運算結(jié)果而不對其修改 2 如果OVM 1 則累加器不加載ALU的結(jié)果 而是當(dāng)ALU運算發(fā)生正數(shù)溢出時 目的累加器加載最大正32位值 007FFFFFFFH 發(fā)生負(fù)數(shù)溢出時加載最小的負(fù)32位值 FF80000000H 這稱為溢出處理 此位可由指令SSBX和RSBX置位或清零 SXM 符號擴(kuò)展方式位 用以確定符號位是否擴(kuò)展 此位置位SXM 1表明數(shù)據(jù)進(jìn)入ALU之前進(jìn)行符號位擴(kuò)展 此位清零SXM 0表示數(shù)據(jù)進(jìn)入ALU之前符號位禁止擴(kuò)展 此位可由指令SSBX和RSBX置位或清零 C16 雙16位 雙精度算術(shù)運算方式控制位 此位置位C16 1表示ALU工作于雙16位算術(shù)運算方式 此位清零C16 0表示ALU工作于雙精度算術(shù)運算方式 FRCT 小數(shù)方式控制位 此位置位FRCT 1乘法器輸出自動左移1位 消去多余的符號位 58 ST1各位含義 CMPT 間接尋址輔助寄存器修正方式控制位 此位置位CMPT 1 除AR0外 當(dāng)間接尋址單個數(shù)據(jù)存儲器操作數(shù)時 可通過修正ARP內(nèi)容改變輔助寄存器ARl一AR7的值 此位清零CMPT 0 ARP必須清零 且不能修正 注意 1 對ST0 ST1中某一位若可以復(fù)位或置位均可用指令RSBX和SSBX 2 對其中幾位賦值均可用LD指令 如LD 立即數(shù) DP ASM IPTR 例 LD 15 ASM3 亦可隨整個寄存器操作 用指令STM 如STM 立即數(shù) MMR ASM 累加器移位方式位 占5位 規(guī)定一個從 16至15的移位數(shù) 2的補(bǔ)碼 可以用LD指令 短立即數(shù) 對ASM加載 59 微處理器 微型計算機(jī)工作方式位MP MCMP MC 0 微計算機(jī)模式 允許使能并尋址片內(nèi)ROMMP MC 1 微處理器模式 不能利用片內(nèi)ROM復(fù)位時 采樣MP MC引腳上的邏輯電平 并且將MP MC位置成此值 直到下一次復(fù)位 不再對MP MC引腳再采樣 RESET指令不影響此位 MP MC位也可以用軟件的辦法置位或復(fù)位 處理器工作模式狀態(tài)寄存器PMST IPTR 中斷向量指針 指示中斷向量所駐留的128字程序存儲器的位置 在自舉加載操作情況下 用戶可以將中斷向量重新映象到RAM 60 處理器工作模式狀態(tài)寄存器PMST續(xù) OVLY RAM重復(fù)占位位 OVLY可以允許片內(nèi)雙尋址數(shù)據(jù)RAM塊映射到程序空間 OVLY 0只能在數(shù)據(jù)空間而不能在程序空間尋址在片RAMOVLY 1片內(nèi)RAM可以映象到程序空間和數(shù)據(jù)空間 但是數(shù)據(jù)頁0 0h 7Fh 不能映象到程序空間 AVSI 地址可見位 AVIS允許 禁止在地址引腳上看到內(nèi)部程序空間的地址線 AVIS 0 外部地址線不能隨內(nèi)部程序地址一起變化 控制線和數(shù)據(jù)不受影響 地址總線受總線上的最后一個地址驅(qū)動 AVIS 1 讓內(nèi)部程序存儲空間地址線出現(xiàn)在 C54X的引腳上 從而可以跟蹤內(nèi)部程序地址 而且 當(dāng)中斷向量駐留在片內(nèi)存儲器時 可以連同IACK引腳一起對中斷向量譯碼 61 處理器工作模式狀態(tài)寄存器PMST續(xù) DROM 數(shù)據(jù)ROM位 DROM可以讓片內(nèi)ROM映象到數(shù)據(jù)空間 DROM位的值為 DROM 0片內(nèi)ROM不能映象到數(shù)據(jù)空間DROM 1片內(nèi)ROM的一部分映象到數(shù)據(jù)空間 CLKOFF CLKOUT時鐘輸出關(guān)斷位 當(dāng)CLKOFF 1時 CLKOUT的輸出被禁止 且保持為高電平 SMUL 乘法飽和方式位 SST 存儲飽和位僅LP器件有這兩個狀態(tài)位 所有其它器件上此位均為保留位 62 2 4 2算術(shù)邏輯單元ALU X輸入端的數(shù)據(jù) 移位器的輸出 32位或16位數(shù)據(jù)存儲器操作數(shù)以及累加器中的數(shù)值 經(jīng)移位器移位后輸出 來自數(shù)據(jù)總線DB的數(shù)據(jù)存儲器操作數(shù) Y輸入端的數(shù)據(jù) 累加器A中的數(shù)據(jù) 累加器B中的數(shù)據(jù) 來自數(shù)據(jù)總線CB的數(shù)據(jù)存儲器操作數(shù) T寄存器中的數(shù)據(jù) ALU控制信號 SXM 當(dāng)狀態(tài)寄存器STl的SXM 0時 則不包含數(shù)據(jù)存儲器操作數(shù)的位添0 當(dāng)SXM 1時 則不包含數(shù)據(jù)存儲器操作數(shù)的位進(jìn)行符號位擴(kuò)展 指令 SSBXSXMRSBXSXMC16 狀態(tài)寄存器STl的C16 1 ALU在單個周期內(nèi)可以進(jìn)行特殊的雙16位算術(shù)運算 OVM OVM 0 則累加器直接加載ALU的結(jié)果 OVM 1 則根據(jù)溢出方向 用32位最大正數(shù)007FFFFFFFh 正向溢出 或絕對值最大的負(fù)數(shù)FF80000000h 負(fù)向溢出 加載累加器 溢出發(fā)生后 相應(yīng)的溢出標(biāo)志位 OVA或OVB 置1 直到復(fù)位或執(zhí)行溢出條件指令或溢出標(biāo)志位 OVA OVB 被清除 63 2 4 3累加器A和B 累加器A和B都可以配置成乘法器 加法器或ALU的目的寄存器 40位的累加器A B可以分成三部分分別映射在數(shù)據(jù)存儲空間的0頁 AL 8H AH 9H AG AH BL BH BH CH BG DH 1 累加器的作用 累加器A和B都可以配置成乘法器 加法器或ALU的目的寄存器 提供ALU的另一個輸入可作為乘法器 只有A 加法器的輸入 2 A B操作 AL AH AG BL BH BG都可以用PSHM POPM指令進(jìn)行堆棧操作 A B裝載數(shù)據(jù)可用LD指令A(yù) B數(shù)據(jù)保存可以利用STH STL STLM和SACCD等指令或者用并行存儲指令 在存儲前可以對累加器的內(nèi)容進(jìn)行移位操作 右移時 AG和BG中的各數(shù)據(jù)位分別移至AH和BH 左移時 AL和BL中的各數(shù)據(jù)分別移至AH和BH 低位添0 64 累加器內(nèi)容的保存 一 把累加器高字保存到數(shù)據(jù)存儲器中的指令STH 1 STHsrc Smem 2 STHsrc ASM Xmem 3 STHsrc SHFT Xmem 4 STHsrc SHIFT Smem其中 src A為累加器A B為累加器BSmem 單數(shù)據(jù)存儲器操作數(shù) Xmem 雙數(shù)據(jù)存儲器操作數(shù)0SHFT15 16SHIFT15執(zhí)行 1 src 31 16 保存到Smem 2 src ASM 16 保存到Smem 3 src SHFT 16 保存到Xmem 4 src SHIFT 16 保存到Smem二 把累加器的低字保存到數(shù)據(jù)存儲器中的指令STL 1 STLsrc Smem 2 STLsrc ASM Xmem 3 STLsrc SHFT Xmem 4 STLsrc SHIFT Smem 65 累加器內(nèi)容的保存續(xù) 例如 假設(shè)累加器A FF43211234h 執(zhí)行帶移位的STH和STL指令后 數(shù)據(jù)存儲單元TEMP中的結(jié)果如下 STHA 8 TEMP TEMP 2112hSTHA 8 TEMP TEMP FF43hSTLA 8 TEMP TEMP 3400hSTLA 8 TEMP TEMP 2112h LD 1234 APSHMAPOPMA 累加器移位和循環(huán)移位累加器移位或循環(huán)移位的指令共有如下6條 SFTA 算術(shù)移位 SFTL 邏輯移位 SFTC 條件移位 ROL 累加器循環(huán)左移 ROR 累加器循環(huán)右移 ROLTC 累加器帶TC位循環(huán)左移 66 2 4 4桶形移位器 桶形移位器 40位 用來為輸入的數(shù)據(jù)進(jìn)行定標(biāo) 可以進(jìn)行以下操作 ALU運算前 對來自數(shù)據(jù)存儲器的操作數(shù)或者累加器的值進(jìn)行定標(biāo) 對累加器的值進(jìn)行算術(shù)或邏輯移位 對累加器歸一化處理 對累加器的值存儲到數(shù)據(jù)存儲器之前進(jìn)行定標(biāo) 40位桶形移位器的輸入端來自 DB 取得16位輸入數(shù)據(jù) DB和CB 取得32位輸入數(shù)據(jù) 40位累加器A或B 40位桶形移位器的輸出端接至 ALU的一個輸入端 經(jīng)過MSW LSW 最高有效字 最低有效字 寫選擇單元至EB總線 67 2 4 4桶形移位器續(xù) 桶形移位寄存器的控制 1 操作數(shù)帶符號位 不帶符號位擴(kuò)展控制 ST1寄存器的SXM位 當(dāng)SXM 1時 執(zhí)行符號位擴(kuò)展 2 移位位數(shù)的控制 指令中的移位數(shù)就是移位的位數(shù) 正值表示左移 負(fù)值表示右移 移位數(shù)可以用以下方式定義 指令操作數(shù)中給定的一個4或5位的立即數(shù)值表示一個移位數(shù)值 范圍為 16 15 狀態(tài)寄存器STl的累加器移位方式 ASM 位 共5位 表示一個范圍為 16 15的移位數(shù) T寄存器中最低6位的數(shù)值表示一個范圍為 16 31的移位數(shù) 例如 ADDA 4 B 累加器A右移4位后加到累加器BADDA ASM B 累加器A按ASM規(guī)定的移位數(shù)移位后加到累加器BNORMA 按T寄存器中的數(shù)值對累加器歸一化 68 2 4 5乘法器 加法器單元 硬件乘法器是17位 17位 它與一個40位專用加法器相連 乘法器 加法器單元可以在一個流水線狀態(tài)周期內(nèi)完成一次乘法累加 MAC 運算 乘法器能夠?qū)崿F(xiàn)如下方式乘法運算 有符號數(shù)乘法 每個16位操作數(shù)擴(kuò)展成17位有符號數(shù) 無符號數(shù)乘法 每個16位操作數(shù)前面加一個0 無符號數(shù)與有符號數(shù) 一個16位操作數(shù)前面加一個0 另一個16位操作數(shù)符號擴(kuò)展成17位有符號數(shù) 相乘運算 69 2 4 5乘法器 加法器單元 乘法器的輸入信號 乘法器的輸入端包括輸入端XM和輸入端YM 輸入端XM數(shù)據(jù)來自 T寄存器 累加器A的位32 16 DB總線傳送過來的數(shù)據(jù)存儲器操作數(shù) 輸入端YM的數(shù)據(jù)來自 累加器A的位32 16 由DB總線和CB總線傳送過來的數(shù)據(jù)存儲器操作數(shù) 由PB總線傳送過來的程序存儲器操作數(shù) 乘法器的輸出 乘法器的輸出加到加法器的輸入端XA 累加器A或B則是加法器的另一個輸入 最后結(jié)果送往目的累加器A或B 70 2 4 5乘法器 加法器單元 乘法器 加法器的控制 1 乘法器工作控制 狀態(tài)寄存器STl中的小數(shù)方式位FRCT 1時 小數(shù)相乘方式 乘法結(jié)果左移1位 以消去多余的符號位 FRCT 0時 整數(shù)相乘方式 2 乘法運算的飽和處理 當(dāng)SMUL 1時 在用MAC或MAS指令進(jìn)行累加以前 對乘法結(jié)果作飽和處理 僅當(dāng)OVM 1和FRCT 1時 SMUL位才起作用 3 加法運算的飽和處理 當(dāng)OVM 1時 在用MAC或MAS指令進(jìn)行累加以后 對加法結(jié)果作飽和處理 然后保存到累加器A或B ALU運算發(fā)生正數(shù)溢出 目的累加器置成正的最大值 007FFFFFFFH 發(fā)生負(fù)數(shù)溢出置成負(fù)的最大值 FF80000000H 如果發(fā)生溢出則ST1的OVA位或OVB位置1 4 乘加結(jié)果的舍入 圓整 處理 如MAC MAS等指令 如果帶后綴R 就對結(jié)果進(jìn)行舍入處理 即加215至結(jié)果 并將目的累加器的低16位清0 71 兩個定點小數(shù)相乘 兩個Q15的定點數(shù)相乘后得到一個帶2個符號位的Q30的數(shù) 例如 十進(jìn)制乘法0 5 0 5 0 25當(dāng)二進(jìn)制數(shù)相乘時0 100000000000000 Q15 0 100000000000000 Q1500 010000000000000000000000000000 0 25 Q30 32位 符號位在結(jié)果保存時一般只保存與輸入數(shù)據(jù)相同的精度的結(jié)果即可 也就是只保存高16位即可 但DSP乘法運算結(jié)果的高16位中包含了2個符號位 也即高16位是1個帶有2個符號位的Q14的數(shù) 從而其精度將損失1位 因此在保存乘法運算結(jié)果的高16位時 應(yīng)將乘積左移一位 72 練習(xí) 1 LD 0CH 4 A寫出SXM 0和SXM 1兩種情況下 指令執(zhí)行后A中的值 2 LD 0C000H A寫出SXM 0和SXM 1兩種情況下 指令執(zhí)行后A中的值 73 練習(xí)答案 1 LD 000CH 4 A寫出SXM 0和SXM 1兩種情況下 指令執(zhí)行后A中的值 答 SXM 0時 A 00000000C0HSXM 1時 A 00000000C0H2 LD 0C000H A寫出SXM 0和SXM 1兩種情況下 指令執(zhí)行后A中的值 答 SXM 0時 A 000000C000HSXM 1時 FFFFFFC000H 74 2 4 6比較 選擇和存儲單元 CSSU可對累加器的高位字和低位字進(jìn)行比較 使?fàn)顟B(tài)寄存器ST0中的測試位 控制標(biāo)志位 TC 和轉(zhuǎn)移寄存器TRN保持傳送紀(jì)錄狀態(tài) 并選取累加器中最大的數(shù)送至數(shù)據(jù)存儲器中 加速Viterbi蝶形運算 從左圖可見CMPS指令只能對A或B累加器操作 例如 CMPSB AR3 if B 31 16 B 15 0 then B 31 16 AR3 TRN 1 0 TRN 0 0 TC ElseB 15 0 AR3 TRN 1 1 TRN 0 1 TC 75 2 4 7指數(shù)編碼器 指數(shù)編碼器是一個專用硬件 專門用于在單個周期內(nèi)執(zhí)行EXP指令 并將累加器中數(shù)的指數(shù)值以2的補(bǔ)碼形式 8 31 存放到T寄存器中 例如 LD 5H AEXPA 冗余符號位 8 T寄存器 冗余符號位 40 除冗余符號位的有效位 T 001CH 28 NORMA 對累加器歸一化 A按T中值移位 左移28位 A 0050000000H EXP指令 將累加器的內(nèi)容取指數(shù)值 也就是為消去多余符號位而將累加器中的數(shù)值左移的位數(shù) 結(jié)果以補(bǔ)碼形式存入T寄存器 BIT0 5 其值的范圍為 16到31 針對編碼器有兩條指令 EXP指令和NORM指令 NORM指令 對累加器歸一化 累加器按T中值移位 76 2 4 8地址發(fā)生器 C54X有兩個地址發(fā)生器 程序地址發(fā)生器 數(shù)據(jù)地址發(fā)生器 1 數(shù)據(jù)地址發(fā)生器 數(shù)據(jù)地址發(fā)生器為存入數(shù)據(jù)存儲器的信息操作產(chǎn)生地址 組成 AR0 AR7八個輔助寄存器ARAU0和ARAU1輔助寄存器算術(shù)單元 可在每個周期產(chǎn)生兩個數(shù)據(jù)存儲器地址 BK循環(huán)緩沖寄存器ST1的bit 15 13 ARP用于選擇輔助寄存器AR0 AR7DP數(shù)據(jù)存儲器頁指針SP堆棧指針寄存器 77 2 4 8地址發(fā)生器續(xù) 程序地址發(fā)生器 為程序存儲器的信息操作產(chǎn)生地址 組成 PAGEN共有6個寄存器 程序計數(shù)器 PC PC中保存的某個內(nèi)部或外部程序存儲器的地址 就是即將取指的某條指令 某個16位立即操作數(shù)或系數(shù)表在程序存儲器中的地址 重復(fù)計數(shù)器 RC 內(nèi)容為重復(fù)指令RPT后邊的操作數(shù) 自動裝載 RPTn 塊重復(fù)計數(shù)器 BRC 設(shè)置程序代碼塊重復(fù)執(zhí)行的次數(shù) STM 立即數(shù) BRC 塊重復(fù)起始地址寄存器 RSA 塊重復(fù)指令RPTB后邊第一條指令的地址 自動裝載 塊重復(fù)結(jié)束地址寄存器 REA 內(nèi)容為塊重復(fù)指令RPTB的操作數(shù) 自動裝載 REA裝入的同時 ST1 BIT15 BRAF 1 RPTBpmad 擴(kuò)展程序計數(shù)器 XPC 用以尋址擴(kuò)展的程序存儲空間 C548以上的芯片有 有6條專用擴(kuò)展程序空間尋址指令FBextpmad extpmad 15 0 PC extpmad 19 16 XPC 78 加載PC的幾種途徑 79 2 5片內(nèi)外設(shè) C54x片內(nèi)外設(shè)包含如下幾部分 外部總線操作 通用I O口 引腳 定時器 時鐘發(fā)生器 主機(jī)接口 同步串行接口 時分復(fù)用串行接口 TDM 軟件可編程等待狀態(tài)發(fā)生器 可編程存儲器組切換模塊 JTAG接口 80 2 5 1通用I O口 通用I O口有兩個 跳轉(zhuǎn)控制輸入引腳BIO和外部標(biāo)志輸出引腳XF 跳轉(zhuǎn)控制輸入引腳BIO 該引腳可用于監(jiān)視外部接口器件的狀態(tài) 程序可以根據(jù)的引腳BIO輸入狀態(tài)有條件地跳轉(zhuǎn)用于對時間要求嚴(yán)格的循環(huán)中 在其執(zhí)行時不能夠被外部中斷打斷的時候 條件執(zhí)行指令 XCn BIO 如果引腳BIO為低電平 條件滿足 則執(zhí)行后面的一條單字指令或一條雙字指令或2條單字指令 n 1or2 外部標(biāo)志輸出引腳XF外部標(biāo)志輸出引腳XF可以用于向外部接口器件發(fā)出信號 XF信號可以由軟件控制 通過對STl bit13 中的XF位置1或清0 XF引腳輸出為高電平和低電平 亦即CPU向外部發(fā)出1和0信號 執(zhí)行指令 SSBXXF 對XF置位RSBXXF 對XF復(fù)位 81 2 5 2定時器 片內(nèi)硬件定時器是軟件可編程的 可用于周期性的產(chǎn)生中斷 定時器可以用來產(chǎn)生外部接口電路的采樣時鐘 如模擬接口 它包含三個存儲器映射寄存器 TIM定時寄存器 0024H 加載定時值 減1計數(shù)器 30HPRD定時周期寄存器 0025H 存放定時時間常數(shù) 31HTCR定時器控制寄存器 0026H 存儲定時器的控制及狀態(tài)位 32H TCR定時器控制寄存器各位含義 54x的特點是有一個帶4位預(yù)定標(biāo)器PSC 等于TRC中的TDDRbit0 3 的16位的定時器 預(yù)定標(biāo)器PSC 定時分頻系數(shù) 對片內(nèi)定時器的輸入時鐘 CLKOUT 分頻 由TRC中的TDDR bit0 3 加載 82 2 5 2定時器 定時器的工作過程 定時器的基準(zhǔn)工作脈沖由CLKOUT提供 每來一個脈沖 預(yù)定標(biāo)計數(shù)器PSC減1 當(dāng)PSC減至0 下一個脈沖到來時 PSC產(chǎn)生借位 借位信號分別控制定時計數(shù)器TIM減1和重新將TDDR的內(nèi)容加載預(yù)定標(biāo)計數(shù)器PSC 每次定時計數(shù)器TIM減為0時產(chǎn)生定時中斷TINT 同時重新用PRD值裝載TIM 定時器的基本定時時間可由下式計算 定時周期 CLKOUT TDDR 1 PRD 1 當(dāng)系統(tǒng)復(fù)位時 TIM和PRD都為FFFFH TCR中的TDDR全部清零 當(dāng)使用定時器時 必須對其進(jìn)行初始化 83 定時器的使用 初始化定時器的步驟如下 對寄存器TCR中的TSS位置1 停止定時器工作 裝入TIM初值 裝入PRD初值 裝入TCR初始化TDDR和啟動定時器 使TSS清0使能定時器 使TRB置位 重新裝入定時初值 對IFR中的TINT位置1 可以清除掛起 尚未處理完的 定時中斷 對IMR中的TINT位置1 使能定時器中斷 使ST1狀態(tài)寄存器INTM位清0 開放所有的中斷 84 定時器的使用 用定時器可以實現(xiàn)放波發(fā)生器 脈沖頻率監(jiān)測器 周期信號周期監(jiān)測等功能 ORM 0010h TCR0 停止定時器0STM 799 TIM0STM 799 PRD0STM K TCR0 TCR0 啟動定時器0中斷 TCR0 0269HST 0FFFFh IFR 初始化中斷ORM 0008h IMRRSBXINTM 例如 用定時器設(shè)計一個周期為4ms的方波信號發(fā)生器 假設(shè)DSP主頻為4MHZ TCLKOUT 250ns 方波信號周期為4ms 那么定時中斷周期應(yīng)為T 2MS 每中斷一次 輸出端電平取反一次 定時中斷周期T TCLKOUT TDDR 1 PRD 1 假設(shè)TDDR 9 那么PRD 799 031FH 85 K TCR0設(shè)置定時器0控制寄存器的內(nèi)容K TCR0 SOFT set0b 11K TCR0 FREE set0b 10K TCT0 PSC set1001b 6K TCT0 TRB set1b 5K TCT0 TSS set0b 4K TCT0 TDDR set1001b 0K TCR0 setK TCR0 SOFT K TCR0 FREE K TCT0 PSC K TCT0 TRB K TCT0 TSS K TCR0 TDDR 初始化定時器0 86 t0 flag usect vars 1timout PSHMST0PSHMST1BITFt0 flag 1BCxf out NTCSSBXXFST 0 t0 flagBnextxf out RSBXXFST 1 t0 flagnext POPMST1POPMST0RETE 當(dāng)前XF輸出電平標(biāo)志位 如果t1 flag 1 則XF 1 如果t1 flag 0 則XF 0 sect vector rst b c int00nopnopnopspace18 4 16tint0 btimout 87 2 5
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025人教版初中七下數(shù)學(xué)湖北專版-第八章 章末復(fù)習(xí)(二)實數(shù)【課件】
- 大學(xué)生創(chuàng)業(yè)大賽裝修項目
- 多糖鐵復(fù)合物膠囊治療妊娠期缺鐵性貧血的效果
- 英語口語的全球影響
- 大創(chuàng)項目申請書預(yù)算
- 西方行政學(xué)說形成性考核冊作業(yè)答案
- 初級銀行業(yè)法律法規(guī)與綜合能力-2018年初級銀行從業(yè)資格考試《法律法規(guī)與綜合能力》真題匯編4
- 2025年單、雙長鏈烷基甲基叔胺項目指標(biāo)評估報告
- 初級個人理財-初級銀行從業(yè)資格《個人理財》押題密卷4
- 交通事故責(zé)任復(fù)核申請書
- 2023-2024小學(xué)六年級上冊英語期末考試試卷質(zhì)量分析合集
- 第六章幾何圖形 初步數(shù)學(xué)活動 制作紙魔方和繪制五角星說課稿2024-2025學(xué)年人教版數(shù)學(xué)七年級上冊
- 武漢市2024-2025學(xué)年度高三元月調(diào)考?xì)v史試題卷(含答案)
- 2025年金城出版社有限公司招聘筆試參考題庫含答案解析
- 醫(yī)院保安管理服務(wù)項目實施方案
- 《工程建設(shè)質(zhì)量信得過班組建設(shè)活動準(zhǔn)則》
- 2025-2025學(xué)年度第二學(xué)期七年級組工作計劃
- 妊娠期糖尿病指南2024
- 讀書心得《好老師征服后進(jìn)生的14堂課》讀后感
- 公路工程施工安全應(yīng)急預(yù)案(4篇)
- 新能源汽車充電設(shè)施安全檢查記錄表
評論
0/150
提交評論