




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