




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
DSP原理與應(yīng)用第1章概述第2章TMS320LF240x系列DSP內(nèi)部資源介紹第3章DSP尋址方式及指令系統(tǒng)第4、5、6、7章〔DSP設(shè)計開發(fā)平臺〕第8章數(shù)字量I/O模塊第9章事件管理器模塊第10章A/D轉(zhuǎn)換模塊第11章串行外設(shè)接口模塊第12章串行通信接口模塊第13章CAN控制器模塊第一章TMS320LF240xDSP概述一、DSP的開展及特點1.數(shù)字信號處理系統(tǒng)結(jié)構(gòu)
低通濾波:將連續(xù)信號x〔t〕中的一些次要成分濾出。平滑濾波:濾出多余的高頻分量,對時間域模擬信號起平滑作用。低通濾波ADCDSP平滑濾波DACx(t)y(t)2、DSP的開展和分類1〕開展:1978年,AMI第一片DSP器件1979年,Intel的Intel2920是第一塊脫離了通用型微處理器結(jié)構(gòu)的DSP芯片。1980年,NEC的μPD7720是第一個具有硬件乘法器的商用DSP芯片。1982年,Hitachi推出浮點DSP。1982年,TI推出第一代DSP芯片TMS32010及其系列產(chǎn)品。1986年,Motorola推出MC56001定點DSP芯片;1990年推出與IEEE浮點格式兼容的浮點DSP芯片。2〕分類按DSP芯片處理的數(shù)據(jù)格式:定點DSP、浮點DSP按DSP芯片的用途:通用型:TI公司的系列DSP專用型:數(shù)字濾波、FFT等2002年全球DSP廠商排名及市場份額統(tǒng)計(ForwardConcepts公司)TI:43.2%Agere(Lucent):13.9%Motorola:14.1%ADI:8.9%其它:19.9%總計:48.55億美元(銷售額增長率14.1%)DSP芯片已經(jīng)在廣泛的領(lǐng)域包括通信、計算機、電子數(shù)據(jù)處理、交通、消費等領(lǐng)域獲得應(yīng)用。2004年中國DSP市場規(guī)模為157.3億元,無線通信仍是DSP應(yīng)用的第一大領(lǐng)域,占60.2%。2006年全球數(shù)字信號處理DSP銷售達90億美元,2009年到達141億美元。3、DSP的性能及特點1〕哈佛總線結(jié)構(gòu)〔1〕普通微處理器的馮·諾伊曼結(jié)構(gòu):內(nèi)部地址總線內(nèi)部數(shù)據(jù)總線共享的程序和數(shù)據(jù)存儲器CPU控制器ALU〔2〕DSP的哈佛總線結(jié)構(gòu):地址發(fā)生單元數(shù)據(jù)地址總線程序地址總線程序存儲器數(shù)據(jù)存儲器DSP控制ALU數(shù)據(jù)總線程序總線2)、指令流水線技術(shù)〔1〕非流水線操作時鐘周期123456789取指令NN+1N+2譯碼NN+1N+2執(zhí)行NN+1N+2指令周期1指令周期2指令周期3〔2〕流水線操作(三級流水線)〔四級流水線見P56〕時鐘周期123456789取指令NN+1N+2N+3N+4N+5…譯碼N-1NN+1N+2N+3N+4N+5…執(zhí)行N-2N-1NN+1N+2N+3N+4N+5…指令周期1指令周期4開始…指令周期2開始指令周期5開始…指令周期3開始指令周期6開始…3〕硬件乘法器在數(shù)字信號處理的算法中〔如FFT〕,需要做大量的乘法和加法。顯然,乘法速度越快,數(shù)據(jù)處理能力就越強。而在一般的微處理器中,根本就沒有乘法指令,即使有乘法指令的處理器,其乘法指令的執(zhí)行時間也較長。DSP器件一般都有一個硬件乘法器,而且一次乘累加操作最少可在一個時鐘周期內(nèi)完成。4〕特殊DSP指令DSP芯片采用了特殊的尋址方式和指令。例如TMS320系列的位反轉(zhuǎn)尋址方式及其他一些特殊的指令。采用這些適合于數(shù)字信號處理的尋址方式和指令,能進一步減小數(shù)字信號處理的時間。4、DSP的應(yīng)用●數(shù)字信號處理,如濾波、FFT、卷積等;●通信,如調(diào)制解調(diào)、糾錯編碼、、可視等;●語音處理,如語音編碼、語音合成、識別、語音存儲等;●圖形/圖像處理,如模式識別、圖像壓縮與傳輸、動畫、機器人視覺等;●儀器儀表,如數(shù)據(jù)采集、函數(shù)/波形產(chǎn)生等;●軍事,如保密通信、全球定位、雷達與聲納信號處理、導(dǎo)航與制導(dǎo)等;●醫(yī)療,如核磁共振、自動治療儀等?!褡詣涌刂?,如運動控制等。二、TMS320LF240x概述TMS320系列DSP:定點TMS320C2000、TMS320C5000系列,局部TMS320C6000,浮點TMS320C6000TMS320同一系列產(chǎn)品具有相同的CPU結(jié)構(gòu),區(qū)別是片內(nèi)的存儲器和片上外設(shè)的配置不同,以滿足不同領(lǐng)域的需要。1、定點數(shù)和浮點數(shù)介紹1〕定點數(shù)及其定標TMS320LF240x的字長為16?!?〕何謂數(shù)的定標?設(shè)定小數(shù)點在不同位置,來表示不同大小和不同精度的小數(shù)?!?〕定點數(shù)的Qi表示法:將16位二進制數(shù)由最低有效位〔LSB〕到最高有效位〔MSB〕的位置依次排列為0~15,那么Qi表示小數(shù)點在數(shù)據(jù)第i位之后。例如:Q0:表示小數(shù)點在數(shù)據(jù)第0位之后,即為一個整數(shù)。Q15:表示小數(shù)點在數(shù)據(jù)第15位之后。〔最高位為符號位,即為純小數(shù)?!场?〕Q表示法的16位二進制數(shù)的范圍:補碼表示Q表示法十進制數(shù)值范圍Q15-1≤x≤0.9999695(1-2-15(0.000030517578125))Q14-2≤x≤1.9999390(2-2-14(0.00006103515625))Q13-4≤x≤3.9998779(4-2-13(0.0001220703125))Q12-8≤x≤7.9997559(8-2-12(0.000244140625))Q7-256≤x≤255.9921875(256-2-7(0.0078125))Q3-4096≤x≤4095.875(4096-0.125)Q2-8192≤x≤8191.75(8192-0.25)Q1-16384≤x≤16383.5(16384-0.5)Q0-32768≤x≤32767例如:對Q15而言,其能表示的最小負值為:1.000000000000000(補)=-1其能表示的最大正值為:0.111111111111111=2-1+2-2+2-3+2-4+2-5+2-6+2-7+2-8+2-9+2-10+2-11+2-12+2-13+2-14+2-15=1-2-15
=0.999969482421875=0.9999695(8位有效數(shù)據(jù))2〕浮點數(shù)采用多個字節(jié)表示,提高精度。浮點數(shù)的表示方法很多。這里介紹標準IEEE754浮點數(shù)表示法.IEEE(美國電子電氣工程師協(xié)會)在1985年提出的浮點數(shù)存放格式標準.IEEE754浮點數(shù)格式標準有兩種,即單精度格式和雙精度格式,此外還支持兩種浮點數(shù)的擴展格式。單精度格式采用32位二進制表示,雙精度格式采用64位二進制表示.〔采用科學計數(shù)法〕浮點數(shù)是將特定長度的連續(xù)字節(jié)的所有二進制位分割為特定寬度的符號域、指數(shù)域和尾數(shù)域三個域,其中保存的值分別用于表示給定二進制浮點數(shù)中的符號,指數(shù)和尾數(shù)。下面是IEEE754定義的單精度浮點數(shù)格式.
其中,S為符號位〔最高位〕占用1位〔0---正數(shù),1---負數(shù)〕,指數(shù)位為經(jīng)過偏置后的7位二進制數(shù)〔偏置值127〕,小數(shù)為規(guī)格化后的小數(shù),且小數(shù)點前面的1隱含〔故小數(shù)實際位數(shù)為24位〕2-16小數(shù)
2-232-8小數(shù)
2-15指數(shù)202-1小數(shù)
2-7S27指數(shù)
21例如:將20.625轉(zhuǎn)換位IEEE754浮點數(shù)格式.20.625=10100.101B=1.0100101×24B其指數(shù)=4+127=131=10000011B小數(shù)=0100101〔后面補0〕,符號=0,故20.625在內(nèi)存中存放的格式為00H00HA5H41H(高位在后〕
其它浮點數(shù)格式IEEE754在標識符點數(shù)時,指數(shù)局部E和尾數(shù)局部M浮點數(shù)可采用以下四種根本格式:(1)單精度格式(32位):E=8位,M=23位,指數(shù)偏移值127。(2)擴展單精度格式:E≥11位,M≥23位。(3)雙精度格式(64)位:E=10位,M=53位。指數(shù)偏移值1023(4)擴展雙精度格式E≥15位,M≥63位。3〕定點數(shù)與浮點數(shù)的轉(zhuǎn)換關(guān)系〔1〕轉(zhuǎn)換公式:浮點數(shù)〔x〕轉(zhuǎn)換為定點數(shù)〔xd〕:xd=int[x×2Q]定點數(shù)〔xd〕轉(zhuǎn)換為浮點數(shù)〔x〕:x=float[xd×2-Q]舉例:浮點數(shù)x=0.4,定標Q=15,那么對應(yīng)的定點數(shù)為:xd=int[x×2Q]=int[0.4×215]=13107反之,一個Q15表示的定點數(shù)13107對應(yīng)的浮點數(shù)為:x=float[xd×2-Q]=float[13107×2-15]=0.3999939〔2〕Q數(shù)值確實定:設(shè)系統(tǒng)中變量表示的數(shù)據(jù)最大絕對值為|max|,而且|max|小于或等于32767,由下式:2n-1≤|max|≤2n可得:Q=15-n舉例:某變量取值范圍為-7到15,那么變量的|max|=15,n=4,那么Q=15-4=11。
2、TMS320LF240x系列芯片概述CMOS技術(shù)〔3.3伏電壓供電,降低了功耗〕指令執(zhí)行速度到達30MIPS(30MHZ),實時性提高片內(nèi)有32K字的FLASH程序存儲器,1.5K字的數(shù)據(jù)/程序RAM,544字的雙口RAM(DARAM)和2K字的單口RAM(SARAM)兩個事件管理器模塊〔EVA和EVB〕每個EV模塊包含2個16位通用定時器,3個比較單元,3個捕獲單元〔其中2個具有正交編碼輸入電路〕??蓴U展總共192K字的程序存儲器、數(shù)據(jù)存儲器和I/O空間??撮T狗定時器模塊串行通信接口模塊SCI串行外設(shè)接口模塊SPI〔16位〕控制器局域網(wǎng)模塊〔CAN2.0B〕基于鎖相環(huán)〔PLL〕的時鐘發(fā)生器模塊40個可單獨編程或復(fù)用的通用I/O引腳16通道的10位A/D轉(zhuǎn)換器5個外部中斷引腳〔復(fù)位、兩個電機保護、兩個外中斷〕3種低功耗工作模式第1次完第二章:TMS320LF240x資源介紹TMS320LF240x系統(tǒng)結(jié)構(gòu)圖圖1.4一、LF240x系列DSP的功能框圖〔參見圖1.4〕
DARAM(B1)(256字)DARAM(B0)(256字)CPU內(nèi)核基于PLL的時鐘模塊(鎖相環(huán))10位ADC串行通信接口(SCI)串行外設(shè)接口(SPI)事件管理器(EVA、EVB)FLASH(4K+12K+12K+4K)數(shù)字I/O(與其它引腳共享)標準測試接口(JTAG)DARAM(B2)(32字)看門狗定時器外部存儲器接口(EMI)CAN總線接口SARAM(2K字)TMS320LF2407引腳功能1〕引腳介紹
地址線:A15~A0,數(shù)據(jù)線:D15~D0/DS(P87):數(shù)據(jù)存儲器選通信號/PS(P84):程序存儲器選通信號/IS(P82):I/O端口選通信號/READY(P120):數(shù)據(jù)準備好信號R//W〔P92):讀/寫信號W//R/IOPC0(P19):R//W的反邏輯信號,可作為通用I/O使用/RD:讀使能信號/WE:寫使能信號/STRB(P96):外部存儲器選通信號A/D轉(zhuǎn)換器信號:ADCIN00~ADCIN15:16路模擬量輸入通道VREFHI(P115):ADC參考電壓高端輸入VREFLO〔P114〕:ADC參考電壓低端輸入XINT2/ADCSOC/IOPD0(P21):ADC啟動信號/輸入輸出端口D0定時器輸出:T1PWM/T1CMP/IOPB4(P16):EVA通用定時器1比較輸出或通用I/OT2PWM/T2CMP/IOPB5(P18):EVA通用定時器2比較輸出或通用I/OT3PWM/T3CMP/IOPF2(P8):EVB通用定時器3比較輸出或通用I/OT4PWM/T4CMP/IOPF3(P6):EVB通用定時器4比較輸出或通用I/O比較器輸出信號:PWM1/IOPA6(P56):EVA的比較/PWM輸出引腳#1或通用I/OPWM2/IOPA7(P54):EVA的比較/PWM輸出引腳#2或通用I/OPWM3/IOPB0(P52):EVA的比較/PWM輸出引腳#3或通用I/OPWM4/IOPB1(P47):EVA的比較/PWM輸出引腳#4或通用I/OPWM5/IOPB2(P44):EVA的比較/PWM輸出引腳#5或通用I/OPWM6/IOPB3(P40):EVA的比較/PWM輸出引腳#6或通用I/OPWM7/IOPE1(P65):EVB的比較/PWM輸出引腳#1或通用I/OPWM8/IOPE2(P62):EVB的比較/PWM輸出引腳#2或通用I/OPWM9/IOPE3(P59):EVB的比較/PWM輸出引腳#3或通用I/OPWM10/IOPE4(P55):EVB的比較/PWM輸出引腳#4或通用I/OPWM11/IOPE5(P46):EVB的比較/PWM輸出引腳#5或通用I/OPWM12/IOPE6(P38):EVB的比較/PWM輸出引腳#6或通用I/O捕獲單元引腳CAP1/QEP1/IOPA3(P83):EVA捕捉邏輯1/正交編碼1或通用I/OCAP2/QEP2/IOPA4(P79):EVA捕捉邏輯2/正交編碼2或通用I/OCAP3/IOPA5(P75):EVA捕捉邏輯3或通用I/OCAP4/QEP3/IOPE7(P88):EVB捕捉邏輯4/正交編碼3或通用I/OCAP5/QEP4/IOPF0(P81):EVB捕捉邏輯5/正交編碼4或通用I/OCAP6/IOPF1(P69):EVB捕捉邏輯6或通用I/OSPI端口控制線:SPISIMO/IOPC2(P30):SPI從輸入、主輸出引腳或通用IOSPISOMI/IOPC3(P32):SPI從輸出、主輸入引腳或通用IOSPICLK/IOPC4(P35):SPI時鐘信號或通用I/O/SPISTE/IOPC5(P33):SPI從設(shè)備發(fā)送使能信號或通用I/OSCI模塊信號:SCITXD/IOPA0(P25):異步串行口發(fā)送端或通用I/OSCIRXD/IOPA1(P26):異步串行口接收端或通用I/OCAN總線信號CANRXD/IOPC7(P70):CAN接受數(shù)據(jù)信號或通用I/OCANTXD/IOPC6(P72):CAN發(fā)送數(shù)據(jù)信號或通用I/O中斷信號:/RS(P133):復(fù)位輸入XINT1/IOPA2(P23):外中斷1請求信號或通用I/OXINT2/ADCSOC/IOPD0(P21):外中斷2請求信號或A/D啟動或通用I/O/PDPINTA(P7):EVA的可屏蔽的電源保護中斷/PDPINTB(P137):EVB的可屏蔽的電源保護中斷時鐘信號:XTAL2(P124):PLL振蕩器輸出XTAL1/CLKIN(P123):PLL振蕩器輸入CLKOUT/IOPE0(P73):時鐘輸出信號或通用I/OJTAG仿真接口測試信號TCK(P135):測試時鐘TDI(P139):測試數(shù)據(jù)輸入端TDO(P142):測試數(shù)據(jù)輸出端TMS(P144):測試模式選擇TMS2(P36):測試模式選擇2/TRST(P1):JTAG測試復(fù)位端EMU0(P90):仿真器引腳0EMU1//OFF(P91):仿真器引腳1計數(shù)器控制信號:TDIRA/IOPB6(P14):EVA定時器計數(shù)方向選擇或通用I/OTCLKINA/IOPB7(P37):EVA定時器的計數(shù)時鐘信號或通用I/OTDIRB/IOPF4(P2):EVB定時器計數(shù)方向選擇或通用I/OTCLKINB/IOPF5(P126):EVB定時器的計數(shù)時鐘信號或通用I/OMP//MC(P37):微處理器/微控制器模式選擇邏輯1----外存儲器,邏輯0-------內(nèi)存儲器其它信號:電源和地:CPU內(nèi)核數(shù)字電源:VDD、VSS,IO數(shù)字電源:VDDO、VSSO,ADC模擬電源:VCCA、VSSAPLL電壓:PLLVCCAVCCP〔5v〕:FLASH編程電壓輸入引腳IOPF6:通用I/OTP1(FLASH):FLASH陣列測試引腳TP2(FLASH):FLASH陣列測試引腳/BIO/IOPC1(P119):分支控制引腳〔BCNDPma,BIO指令)PLLF1(P11):鎖相環(huán)外接濾波器輸入1PLLF2(P10):鎖相環(huán)外接濾波器輸入2/BOON_EN/XF(P121):引導(dǎo)ROM使能2、LF240xCPU結(jié)構(gòu)中央算術(shù)邏輯單元(CALU)累加器(ACC(ACCH,ACCL)CALU的輸入數(shù)據(jù)定標移位器和輸出數(shù)據(jù)定標移位器乘法器乘積結(jié)果寄存器PREG乘積定標移位器輔助寄存器運算單元(ARAU)狀態(tài)寄存器暫存器(TREG)輔助寄存器CPU結(jié)構(gòu)圖〔圖2.1〕1〕ACC介紹:32位存放器,接受CALU的運算結(jié)果,輸出送CALU或數(shù)據(jù)總線2〕CALU介紹:完成累加器中數(shù)據(jù)和來自數(shù)據(jù)存儲器或乘積存放器的數(shù)據(jù)之間的算術(shù)運算、邏輯運算和移位操作,32位運算結(jié)果送ACC。3〕乘法器介紹:實現(xiàn)兩個16位數(shù)據(jù)的乘積,結(jié)果是32位。乘數(shù)或被乘數(shù)之一在TREG中,另外一個來自數(shù)據(jù)總線或程序總線。4〕輸入數(shù)據(jù)定標移位器(ISCALE)CALU輸入數(shù)據(jù)定標移位器〔輸入移位器〕:將輸入的16位的數(shù)據(jù)左移〔0-16位〕,作為CALU的32位輸入數(shù)據(jù)?!惨莆涣坑芍噶罱o出或由TREG給出〕。左移時對符號位要進行擴展,由SXM(符號擴展位〕決定。5〕輸出數(shù)據(jù)定標移位器(OSCALE)將累加器里的結(jié)果輸出到數(shù)據(jù)存儲器之前左移〔0-7)位,累加器里的數(shù)據(jù)保持不變。6〕乘積定標移位器〔PSCALE〕:將乘積存放器的數(shù)據(jù)在輸出到CALU或數(shù)據(jù)總線之前進行移位。PREG的內(nèi)容不變。移位方式由ST1(狀態(tài)存放器1〕中的PM〔乘積移位方式位〕指定。00---不移位01---左移1位10---左移4位11---右移6位7〕輔助存放器算術(shù)單元〔ARAU〕和輔助存放器ARAU獨立于CALU。用于產(chǎn)生數(shù)據(jù)存儲器的地址〔間接尋址的指令中〕。內(nèi)有8個輔助存放器〔AR0、AR1、AR2、AR3、AR4、AR5、AR6、AR7〕,由ARP(ST0中的3位〕確定8個輔助存放器中之一來提供數(shù)據(jù)單元的地址?!布?,減1,加AR0,減AR0,加常量〔ADRK),減常量〔SBRK〕〕8〕狀態(tài)存放器ST0和ST1〔1〕特點:可以被保存到數(shù)據(jù)存儲器〔采用指令——存儲狀態(tài)存放器指令SST#n〕,也可以從數(shù)據(jù)存儲器加載〔采用指令——裝載狀態(tài)寄存器指令LST#n〕。也可以用其他指令設(shè)置ST0和ST1:如:SETC指令〔置位存放器指定的位〕CLRC指令〔去除存放器中指定的位〕〔2〕作用:可以用于子程序中保存和恢復(fù)機器的狀態(tài)。輔助算術(shù)單元ARAU(圖2.3〕〔3〕ST0介紹〔16位〕D15~D13D12D11D10D9D8~D0其中:ARP——輔助存放器指針,用于選擇作為間接尋址的輔助存放器〔ARn〕,采用二進制編碼。OV——溢出標志位,用于表示CALU是否有溢出產(chǎn)生。OVM——溢出方式位,決定如何處理CALU中的溢出。=0:累加器中結(jié)果正常溢出;=1:溢出時,累加器被置為最大正數(shù)或最小負數(shù)。INTM——中斷允許位,使能〔=0〕或禁止〔=1〕所有的可屏蔽中斷。(注:該位不受LST#n的影響〕DP——數(shù)據(jù)存儲器頁指針。當使用直接尋址時,DP存放存儲器的數(shù)據(jù)頁〔即存儲器地址的高9位〕,DP與指令代碼的最低7位構(gòu)成16位存儲器地址。ARPOVOVM1INTMDP〔4〕ST1介紹〔16位〕其中:ARB——輔助存放器指針緩沖器〔當改變ST0時,用于儲存原ARP值〕CNF——片內(nèi)DARAM配置位。該位決定將DARAMB0映射至數(shù)據(jù)空間或程序空間。CNF=0,B0映射到數(shù)據(jù)區(qū)CNF=1,B0映射到程序區(qū)TC——測試/控制標志位?!彩蹷IT,BITT,CMPR,LST和NORM指令影響〕SXM—符號擴展方式位?!矠?時,符號擴展,為0時,符號不擴展〕C——進位標志位?!灿薪栉粫r為0〕XF——XF引腳狀態(tài)位。可通過SETCXF或CLRCXF指令對引腳XF置位或清零〕PM——乘積移位方式。決定乘積移位存放器的移位情況。
D15~D13D12D11D10D9D8~D5D4D3~D2D1~0ARBCNFTCSXMC1111XF11PM3、LF240x的存儲器1〕LF240x的片內(nèi)總線結(jié)構(gòu):〔1〕特點:●獨立的數(shù)據(jù)讀地址總線和數(shù)據(jù)寫地址總線使得CPU可以在同一個機器周期內(nèi)進行讀和寫操作。●獨立的程序和數(shù)據(jù)地址總線允許同時訪問程序指令和數(shù)據(jù)?!?〕片內(nèi)總線的種類:●PAB——程序地址總線:提供訪問程序存儲區(qū)的地址?!馜RAB——數(shù)據(jù)讀地址總線:提供從數(shù)據(jù)存儲區(qū)所要讀取數(shù)據(jù)的地址?!馜WAB——數(shù)據(jù)寫地址總線:提供寫數(shù)據(jù)存儲區(qū)的地址?!馪RDB——程序讀總線:它載有從程序存儲器讀取的指令代碼以及表格等信息,并送到CPU。●DRDB——數(shù)據(jù)讀總線:它將數(shù)據(jù)從數(shù)據(jù)存儲器載送到中心運算邏輯單元〔CALU〕和輔助存放器算術(shù)單元〔ARAU〕?!馜WEB——數(shù)據(jù)寫總線:將數(shù)據(jù)送數(shù)據(jù)存儲器。
外部地址總線CPU系統(tǒng)模塊FLASH/ROMB0DARAMB1,B2DARAM外部數(shù)據(jù)總線PABDRABDWABPRDBDRDBDWEB存儲器映像寄存器第2次完二、存儲器的分配情況:LF240x系列DSP的設(shè)計基于增強的哈佛結(jié)構(gòu)。通過三組并行總線訪問多個存儲空間。PAB-----程序地址總線DRAB---數(shù)據(jù)讀地址總線DWAB--數(shù)據(jù)寫地址總線由于總線是獨立的,可以在一個給定的機器周期內(nèi),CALU可執(zhí)行多達3次的并行存儲器操作。LF240x系列DSP的地址影像〔3個可獨立選擇的空間〕●64K字的程序存儲器空間●64K字的數(shù)據(jù)存儲器空間●64K字的I/O空間1、程序存儲器空間1〕作用:保存程序代碼以及數(shù)據(jù)表信息和常量。包括片內(nèi)雙口RAM〔DARAM〕和片內(nèi)FLASH/EEPROM/ROM或外部程序存儲器。訪問外部程序存儲器時,提供選通信號/PS.2〕程序存儲器的映射圖。影響程序存儲器配置的因素:〔1〕CNF標志位:決定B0存儲器的性質(zhì)〔數(shù)據(jù)存儲器或程序存儲器〕,CNF=0時,B0被映射為數(shù)據(jù)存儲器空間;CNF=1時,B0被映射為程序存儲器空間?!?〕MP//MC引腳:決定控制器的工作模式〔微處理器方式/微計算機方式〕。MP//MC=0時,為微計算機方式,訪問片內(nèi)ROM或FLASH。MP//MC=1時,為微處理器方式,訪問外部程序存儲器。無論何種工作模式,CPU復(fù)位時,都是從存儲器的0000H單元讀取復(fù)位向量?!蔡D(zhuǎn)指令BLABEL)3〕程序存儲空間介紹中斷向量區(qū)〔0000~003FH〕、用戶程序存儲器0040~7FFFH(0FDFFH外部)和B0的影射區(qū)〔0FF00~FFFFH,此時CNF=1)。F2407的程序存儲器映射圖2、數(shù)據(jù)存儲器空間1〕64K字數(shù)據(jù)存儲器影像圖2〕數(shù)據(jù)存儲空間的訪問整個數(shù)據(jù)存儲器空間劃分為512個數(shù)據(jù)頁〔每個數(shù)據(jù)頁的容量為128個字〕,編號為:0、1、--、511。CPU將要訪問的數(shù)據(jù)空間所在的數(shù)據(jù)頁稱為當前數(shù)據(jù)頁,由ST0中的DP指針指定。數(shù)據(jù)頁DP指針7位偏移量數(shù)據(jù)存儲器地址空間0000000000000000…1111111第0頁:0000h–007Fh000000001同上第1頁:0080h–00FFh000000010同上第2頁:0100h–017Fh000000011同上第3頁:0180h–01FFh000000100同上第4頁:0200h–027Fh………111111110同上第510頁:0FF00h–0FF7Fh111111111同上第511頁:0FF80h–0FFFFh3〕數(shù)據(jù)存儲空間介紹64K字數(shù)據(jù)空間:存儲器影像存放器區(qū):0000~005FH片上B0〔可編程〕、B1和B2快。片上外設(shè)幀區(qū):PF1:除EVA\EVB之外的片上資源存放器影像區(qū)〔7000~73FFH〕PF2:片上EVA存放器影像區(qū)〔7400~743FH)PF3:片上EVB存放器影像區(qū)(7500~753FH)外部數(shù)據(jù)存儲器空間〔8000~0FFFFH〕3、I/O空間可用于外部I/O擴展三、系統(tǒng)配置和中斷1、系統(tǒng)配置存放器1〕系統(tǒng)控制和狀態(tài)存放器1〔SCSR1〕〔7018H〕D14:CLKSRCCLKOUT引腳源選擇位0--------CLKOUT引腳輸出CPU時鐘1--------CLKOUT引腳輸出WDCLK時鐘D13~D12:LPM(1:0)低功耗模式選擇位執(zhí)行指令I(lǐng)DLE時進入何種低功耗模式00CPU進入IDLE1〔LPM0)模式01CPU進入IDLE2〔LPM1)模式1xCPU進入HALT〔LPM2)模式D15D14D13D12D11D10D9D8RESCLKSRCLPM1LPM0CLKPS2CLKPS1CLKPS0RESD7D6D5D4D3D2D1D0ADCCLKENSCICLKENSPICLKENCANCLKENEVBCLKENEVACLKENRESILLADRD11~D9:CLKPS(2:0)PLL時鐘預(yù)定標選擇位。D7~D2:對應(yīng)ADC、SCI、SPI、CAN、EVB和EVA的時鐘使能位。0-----關(guān)閉對應(yīng)模塊,1------使能對應(yīng)模塊的時鐘D0:ILLADR無效地址檢測位1------發(fā)生CPU訪問非法地址CLKPS2CLKPS1CLKPS0系統(tǒng)時鐘頻率CLKPS2CLKPS1CLKPS0系統(tǒng)時鐘頻率0004fin1000.8fin0012fin1010.66fin0101.33fin1100.57fin011fin1110.5fin2〕系統(tǒng)控制和狀態(tài)存放器2〔SCSR2〕〔7019H〕D6:I/PQUAL輸入時鐘限定器。針對CAP1~CAP6、XINT1~XINT2、ADCSOC以及PDPINTA/B引腳信號鎖存時鐘周期〔CLKOUT〕的寬度。0-------鎖存脈沖至少5個時鐘周期1-------鎖存脈沖至少11個時鐘周期D5:WDOVERRIDEWD保護位〔復(fù)位時為1〕。0------用戶不能通過軟件來禁止WD?!膊荒芡ㄟ^軟件置1,寫1時清零〕1------使用戶能夠通過軟件禁止WD工作。因而復(fù)位時,可以通過向WDCR〔看門狗控制存放器〕的WDDIS位置1,來禁止WD工作。D15~D8RESD7D6D5D4D3D2D1D0RESI/PQUALWDOVERRIDEXMIFHI-Z/BOOTENMP//MCDONPOND4:XMIFHI_ZXMIF高阻控制位??刂仆獠看鎯ζ鹘涌谛盘枴瞂MIF〕。0----所有XMIF信號處于正常驅(qū)動模式;1----所有XMIF信號處于高阻態(tài)。D3:/BOOTENBOOT使能腳狀態(tài)位?!矎?fù)位時引腳狀態(tài),可軟件改變〕0----使能引導(dǎo)ROM。地址空間0000H~00FFH被片內(nèi)引導(dǎo)ROM快占用。此時禁止使用FLASH存儲器。1----禁止引導(dǎo)ROM。D2:MP//MC微處理器/微控制器選擇位?!矎?fù)位時引腳MP//MC的狀態(tài),可通過軟件改變〕0--------微控制器方式,程序地址范圍0000H~07FFFH被影射到片內(nèi)存儲器。1--------微處理器方式,程序地址范圍0000H~07FFFH被影射到片外存儲器。D1~D0:SARAM程序/數(shù)據(jù)空間選擇位。DONPONSARAM狀態(tài)00地址空間不被影射,該空間被分配到外部存儲器01SARAM被映射到片內(nèi)程序空間10SARAM被映射到片內(nèi)數(shù)據(jù)空間11SARAM既被映射到片內(nèi)程序空間,又被映射到片內(nèi)數(shù)據(jù)空間2、中斷優(yōu)先級和中斷向量表F240x系列DSP利用CPU支持的6個可屏蔽中斷,采用中斷擴展設(shè)計來滿足大量的外設(shè)中斷需求。表2.5為F240xA器件的中斷優(yōu)先級和中斷入口地址向量表1)CPU管理的6個可屏蔽中斷INT1~INT6的外設(shè)中斷和外部邏輯中斷。(1〕INT1對應(yīng)的中斷源〔cpu中斷向量表地址0002H〕:共9個PDPINTA(0020H)EVA功率驅(qū)動保護中斷PDPINTB(0019H)EVB功率驅(qū)動保護中斷ADCINT(0004H)ADC高優(yōu)先級中斷XINT1(0001H)外中斷1高優(yōu)先級中斷XINT2(0011H)外中斷2高優(yōu)先級中斷SPIINT(0005H)SPI高優(yōu)先級中斷〔同時接收和發(fā)送〕RXINT(0006H)SCI接收高優(yōu)先級中斷TXINT(0007H)SCI發(fā)送高優(yōu)先級中斷CANMBINT(0040H)CAN郵箱的高優(yōu)先級中斷(2〕INT2對應(yīng)的中斷源〔cpu中斷向量表地址0004H〕:共15個CANERINT(0041H)CAN錯誤的高優(yōu)先級中斷CMP1INT(0021H)EVA的比較單元1中斷CMP2INT(0022H)EVA的比較單元2中斷CMP3INT(0023H)EVA的比較單元3中斷T1PINT(0027H)EVA的定時器1周期中斷T1CINT(0028H)EVA的定時器1比較中斷T1UFINT(0029H)EVA的定時器1下溢中斷T1OFINT(002AH)EVA的定時器1上溢中斷CMP4INT(0024H)EVB的比較單元4中斷CMP5INT(0025H)EVB的比較單元5中斷CMP6INT(0026H)EVB的比較單元6中斷T3PINT(002FH)EVB的定時器3周期中斷T3CINT(0030H)EVB的定時器3比較中斷T3UFINT(0031H)EVB的定時器3下溢中斷T3OFINT(0032H)EVB的定時器3上溢中斷(3〕INT3對應(yīng)的中斷源〔cpu中斷向量表地址0006H〕:共6個T2PINT(002BH)EVA的定時器2周期中斷T2CINT(002CH)EVA的定時器2比較中斷T2UFINT(002DH)EVA的定時器2下溢中斷T2OFINT(002EH)EVA的定時器2上溢中T4PINT(0039H)EVB的定時器4周期中斷T4CINT(003AH)EVB的定時器4比較中斷(4〕INT4對應(yīng)的中斷源〔cpu中斷向量表地址0008H〕:共8個T4UFINT(003BH)EVB的定時器4下溢中斷T4OFINT(003CH)EVB的定時器4上溢中斷CAP1INT(0033H)EVA的捕獲單元1中斷CAP2INT(0034H)EVA的捕獲單元2中斷CAP3INT(0035H)EVA的捕獲單元3中斷CAP4INT(0036H)EVB的捕獲單元4中斷CAP5INT(0037H)EVB的捕獲單元5中斷CAP6INT(0038H)EVB的捕獲單元6中斷(5〕INT5對應(yīng)的中斷源〔cpu中斷向量表地址000AH〕:共5個SPIINT(0005H)SPI低優(yōu)先級中斷RXINT(0006H)SCI接收低優(yōu)先級中斷TXINT(0007H)SCI發(fā)送低優(yōu)先級中斷CANMBINT(0040H)CAN郵箱的低優(yōu)先級中斷CANERINT(0041H)CAN錯誤的低優(yōu)先級中斷(6〕INT6對應(yīng)的中斷源〔cpu中斷向量表地址000CH〕:共3個ADCINT(0004H)ADC低優(yōu)先級中斷XINT1(0001H)外中斷1低優(yōu)先級中斷XINT2(0011H)外中斷2低優(yōu)先級中斷2)CPU直接管理的中斷源RESET復(fù)位中斷〔含WD溢出中斷〕〔中斷向量地址0000H〕保存中斷〔中斷向量地址0026H〕用于仿真NMI中斷〔中斷向量地址0024H〕軟件不可屏蔽中斷保存中斷〔中斷向量地址000EH〕分析中斷〔廠家〕TRAP中斷〔中斷向量地址0022H〕TRAP指令中斷假中斷〔外設(shè)中斷向量地址0000H〕假中斷向量INT8~INT16(中斷向量地址0010H~0020H)軟件中斷INT20~INT31(中斷向量地址0028H~003fH)軟件中斷3、外設(shè)中斷擴展控制器F240x內(nèi)核通過6個可屏蔽中斷管理多個外設(shè)中斷請求,外設(shè)中斷擴展控制器〔PIE〕模塊如圖2.8所示。F240x系列DSP通過兩級中斷層次來響應(yīng)外設(shè)中斷。在底層中斷,外設(shè)中斷請求〔PIRQ〕在中斷控制器處相或產(chǎn)生一個到CPU的中斷請求〔INTn)。每個外設(shè)都有各自獨立的中斷使能位和中斷標志位。當外設(shè)中斷使能時,假設(shè)外設(shè)中斷事件發(fā)生,將產(chǎn)生一個從外設(shè)到中斷控制器的中斷請求。在高層中斷,設(shè)置中斷屏蔽存放器IMR,用來使能可屏蔽中斷〔INTn)。當外設(shè)中斷請求產(chǎn)生時,觸發(fā)中斷標志存放器IFR,從而向CPU發(fā)出中斷請求,假設(shè)CPU開中斷,那么CPU響應(yīng)外設(shè)中斷,在對應(yīng)中斷向量表中獲得中斷向量,轉(zhuǎn)去執(zhí)行中斷效勞程序。4、外設(shè)中斷向量由于每個可屏蔽中斷〔INTn〕對應(yīng)多個外設(shè),為識別請求中斷的外設(shè),每個外設(shè)都設(shè)置了一個外設(shè)中斷向量,CPU響應(yīng)中斷時,外設(shè)自動將外設(shè)中斷向量送到外設(shè)中斷向量存放器〔PIVR〕中。故有兩個中斷向量表,CPU中斷向量表用用來得到相應(yīng)CPU中斷的一級通用中斷效勞程序GISR,外設(shè)向量表用來得到響應(yīng)某一特定外設(shè)事件的特定中斷效勞子程序SIRS。具體方法是在GIRS中讀取PIVR,根據(jù)PIVR值轉(zhuǎn)去執(zhí)行SIRS.LDP#0E0HLACLPIVR,1ADD#PVECTORS;PVECTORS為特定中斷效勞子程序的入口地址BACC5、假中斷向量假〔phantom)中斷向量是保持中斷系統(tǒng)完整性的一個特例。當CPU響應(yīng)外設(shè)中斷時,假設(shè)外設(shè)沒有將外設(shè)中斷向量裝入PIVR,那么假中斷向量0000H被裝入PIVR,這種缺省設(shè)置保證了系統(tǒng)按照可控的方式處理。6、CPU中斷存放器1〕CPU中斷標志存放器〔IFR〕〔0006H〕D5~D0:INT6flag~INT1falg中斷標志位0------未發(fā)生中斷1------產(chǎn)生中斷〔中斷懸掛〕讀取IFR可以識別懸掛的中斷,而向IFR寫1將去除已掛起的中斷。去除IFR的方法:LACLIFRSACLIFRCPU響應(yīng)中斷時或復(fù)位都將IFR標志去除?!餐庠O(shè)中斷標志位不能中斷去除,需要軟件去除〕D15~D6D5D4D3D2D1D0RESINT6flagINT5flagINT4flagINT3flagINT2flagINT1flag2〕CPU中斷屏蔽存放器IMR〔0004H〕D5~D0:INT6mask~INT1maskINTn中斷屏蔽位0--------禁止中斷1--------使能中斷7、外設(shè)中斷存放器1〕外設(shè)中斷向量存放器〔PIVR〕〔701EH〕存放最近一次應(yīng)答的外設(shè)中斷向量。2〕外設(shè)中斷請求存放器0〔PIRQR0)(7010H)D15~D6D5D4D3D2D1D0RESINT6maskINT5maskINT4maskINT3maskINT2maskINT1maskD15D14D13D12D11D10D9D8IRQ0.15IRQ0.14IRQ0.13IRQ0.12IRQ0.11IRQ0.10IRQ0.9IRQ0.8D7D6D5D4D3D2D1D0IRQ0.7IRQ0.6IRQ0.5IRQ0.4IRQ0.3IRQ0.2IRQ0.9IRQ0.83〕外設(shè)中斷請求存放器1〔PIRQR1)(7011H)4〕外設(shè)中斷請求存放器2〔PIRQR2)(7012H)IRQn.x外設(shè)中斷請求位0------相應(yīng)的中斷請求未被懸掛1------懸掛中斷請求〔可讀寫,寫1會發(fā)出一個中斷請求到CPU內(nèi)核〕〔見表2.6、表2.7和表2.8〕D15D14D13D12D11D10D9D8RESIRQ2.14IRQ2.13IRQ2.12IRQ2.11IRQ2.10IRQ2.9IRQ2.8D7D6D5D4D3D2D1D0IRQ2.7IRQ2.6IRQ2.5IRQ2.4IRQ2.3IRQ2.2IRQ2.9IRQ2.8D15D14D13D12D11D10D9D8RESIRQ1.14IRQ1.13IRQ1.12IRQ1.11IRQ1.10IRQ1.9IRQ1.8D7D6D5D4D3D2D1D0IRQ1.7IRQ1.6IRQ1.5IRQ1.4IRQ1.3IRQ1.2IRQ19IRQ1.85〕外設(shè)中斷應(yīng)答存放器0〔PIACKR0)(7014H)6〕外設(shè)中斷應(yīng)答存放器1〔PIACKR1)(7015H)7〕外設(shè)中斷應(yīng)答存放器2〔PIACKR2)(7016H)D15D14D13D12D11D10D9D8RESIAK1.14IAK1.13IAK1.12IAK1.11IAK1.10IAK1.9IAK1.8D7D6D5D4D3D2D1D0IAK1.7IAK1.6IAK1.5IAK1.4IAK1.3IAK1.2IAK1.1IAK1.0D15D14D13D12D11D10D9D8IAK0.15IAK0.14IAK0.13IAK0.12IAK0.11IAK0.10IAK0.9IAK0.8D7D6D5D4D3D2D1D0IAK0.7IAK0.6IAK0.5IAK0.4IAK0.3IAK0.2IAK0.1IAK0.0D15D14D13D12D11D10D9D8RESIAK2.14IAK2.13IAK2.12IAK2.11IAK2.10IAK2.9IAK2.8D7D6D5D4D3D2D1D0IAK2.7IAK2.6IAK2.5IAK2.4IAK2.3IAK2.2IAK2.1IAK2.0IAKn.x外設(shè)中斷應(yīng)答位〔見表2.9、表2.10和表2.11〕寫入1引起相應(yīng)的外設(shè)中斷應(yīng)答被插入,從而將相應(yīng)的外設(shè)中斷請求位清零。8、外部中斷控制存放器F240x系列DSP有兩個外部中斷引腳:XINT1和XINT2.XINT1和XINT2的有效低電平為6個〔或12個〕CLKOUT周期。1〕外部中斷1控制存放器〔XINT1CR)(7070H)D15:XINT1flag外中斷1標志位。當檢測到引腳上有所選的跳變,將置位該位。當相應(yīng)的中斷被應(yīng)答時,該位自動清0。D2:XINT1polarity外中斷1極性控制位。0------下降沿產(chǎn)生中斷1------上升沿產(chǎn)生中斷D1:XINT1priority外中斷1優(yōu)先級控制位。0---高優(yōu)先級,1----低優(yōu)先級D0:XINT1enable外中斷1使能位。0----屏蔽中斷,1-----使能中斷D15D14~D3D2D1D0XINT1flagRESXINT1polarityXINT1priorityXINT1enable2〕外部中斷2控制存放器〔XINT2CR)(7071H)各位定義與INT1CR相同。D15D14~D3D2D1D0XINT2flagRESXINT2polarityXINT2priorityXINT2enable第3次完第三章尋址方式與指令系統(tǒng)一、DSP尋址方式介紹1、尋址方式的定義:CPU獲取操作數(shù)的方式2、尋址方式分類1〕立即尋址:操作數(shù)在指令代碼中直接以常數(shù)給出,包括短立即數(shù)尋址〔8,9,13〕和長立即數(shù)尋址〔16位〕。下面兩種尋址方式僅針對數(shù)據(jù)存儲器。2〕直接尋址:將指令代碼中的7位偏移地址與數(shù)據(jù)存儲器頁指針〔DP〕的9位組合起來形成16位數(shù)據(jù)存儲器地址。3〕間接尋址:通過8個16位輔助存放器訪問數(shù)據(jù)存儲器。3、立即尋址介紹1〕短立即數(shù)尋址操作數(shù)前加’#’,操作數(shù)可以采用多種數(shù)制表示。特點:指令代碼中用一個8位、9位或13位的常數(shù)作為操作數(shù),指令均為單字指令。舉例:RPT#63H;將緊跟其后的指令重復(fù)執(zhí)行100次指令格式:D15…D8D7D01011101101100011RPT指令操作碼8位立即數(shù)63HLDP#0E0H;對9位數(shù)據(jù)頁指針賦值2〕長立即數(shù)尋址特點:指令代碼中用一個16位的常數(shù)(可以是絕對值常數(shù)或是二進制補碼)作為操作數(shù)。指令為雙字指令。舉例:ADD#0A000H,2;將立即數(shù)A000H左移2位后與累加器內(nèi)容相加,結(jié)果存累加器中。第一個字:1011111110010010ADD指令操作碼移位次數(shù)第二個字:101000000000000016位長立即數(shù)=0A000H4、直接尋址介紹當操作數(shù)位于數(shù)據(jù)存儲器中時,可以采用直接尋址和間接尋址,指令代碼中有一位標識。要求指令執(zhí)行前,必須指定數(shù)據(jù)頁指針DP〔LDP,LST指令)1〕指令格式
D15D14D8D7D6D5…D1D0
高8位(MSB)0低7位(LSB)指令操作碼偏移量(地址低7位)頁內(nèi)數(shù)據(jù)存儲器地址偏移量數(shù)據(jù)頁(地址高9位)DP中9位值(由ST0決定當前頁)直接尋址標志形成16位數(shù)據(jù)存儲器地址:2〕直接尋址要求應(yīng)首先為頁指針存放器DP裝入一個適當?shù)?位二進制數(shù)〔LDP#k;k為0~511(000H~1FFH〕注意:●DSP復(fù)位時并沒有初始化DP內(nèi)容,因此程序中要訪問數(shù)據(jù)存儲器之前應(yīng)該用LDP指令確定當前數(shù)據(jù)頁?!袢绻绦蛐枰L問不同的數(shù)據(jù)頁,那么每當訪問新的數(shù)據(jù)存儲器前,必須先修改DP值,以確保訪問正確的數(shù)據(jù)頁。舉例:LDP#0E0H;DP指向0E0H(0/1110/0000B)數(shù)據(jù)頁,地址為7000H~707FH:〔0111/0000/0000/0000B~0111/0000/0111/1111B〕ADD9H,4;該指令將數(shù)據(jù)存儲器7009H單元的內(nèi)容左移4位后與ACC相加,結(jié)果存ACC
指令代碼及地址形成過程如下:D15D14
…D8D7D6
…D1D0ADD操作碼0010010000001001數(shù)據(jù)存儲器地址偏移量(9)移位次數(shù)(4)直接尋址標志011100000DP=0E0H
000010010111000016位數(shù)據(jù)存儲器地址=7009H5、間接尋址方式介紹1〕特點:用8個16位輔助存放器ARn〔但每次尋址只能使用其中一個〕內(nèi)容作為間接的地址,可以訪問64K數(shù)據(jù)存儲空間中的任一單元,不受當前數(shù)據(jù)頁的限制。2〕輔助存放器的選擇:將一個0~7的值裝入狀態(tài)存放器ST0中的輔助存放器指針ARP,ARP所指向的輔助存放器稱為當前輔助存放器,當前AR中的內(nèi)容就是要訪問的數(shù)據(jù)存儲器的地址?!膊捎肕AR指令、LST指令或采用變址尋址的指令中指定新的當前輔助存放器〕3〕間接尋址方式中輔助存放器的變址方式在間接尋址方式中,指令執(zhí)行完后,對當前輔助存放器的內(nèi)容有4類〔7種〕不同的處理方法〔變址方式〕:〔1〕*--------輔助存放器不變〔當前AR內(nèi)容不變〕:例如:MAR*,AR2;選擇AR2作為當前輔助存放器,即ARP=2(010B),假設(shè)執(zhí)行指令前ARP=1,那么AR1的值不變?!?〕*+或*---------輔助存放器內(nèi)容加1或減1指令使用當前輔助存放器的內(nèi)容作為數(shù)據(jù)存儲器地址,指令執(zhí)行后,將當前輔助存放器的值加1或減1。例如:ADD*+,8;將當前輔助存放器的內(nèi)容對應(yīng)地址的數(shù)據(jù)存儲單元的內(nèi)容左移8位后加到ACC,并將當前輔助存放器的值加1〔3〕*0+或*0-------增加或減去一個指定的量(在輔助存放器AR0中)輔助存放器AR0存指定的量。指令將當前輔助存放器的值作為數(shù)據(jù)存儲器地址,指令執(zhí)行之后,將當前輔助存放器的值增加或減去AR0的內(nèi)容,即指定量。例如:ADD*0+,AR1;將當前輔助存放器的對應(yīng)地址的數(shù)據(jù)存儲器的內(nèi)容加到ACC,并將AR0的值加給當前AR,該指令結(jié)束后指定AR1為當前AR?!?〕*BR0+或*BR0--------逆向進位加或減去一個指定的量輔助存放器AR0存指定的量。當前輔助存放器的值作為數(shù)據(jù)存儲器地址使用之后,當前輔助存放器的值增加或減去AR0保存的指定量。但該加法或減法是逆向進位〔主要用于FFT〕,即加減法是從高位開始運算,向低位進位或借位。例如:ADD*BR0+,AR5;將當前輔助存放器對應(yīng)地址的數(shù)據(jù)存儲器的內(nèi)容加到ACC,并將AR0的值按反向進位加給當前AR,該指令結(jié)束后指定AR5為當前AR。間接尋址時,必須采用上邊的7種形式之一,同時可以指定新的當前輔助存放器。4〕間接尋址的指令代碼格式指令碼1ARUNNARD15D14D8D7D6D5D4D3D2D1D0間接尋址當前輔助存放器變址方式代碼更新當前輔助存放器標志新的當前輔助存放器代碼注意:〔1〕指令碼中包含操作數(shù)的移位信息〔2〕更新當前輔助存放器標識N=0ARP內(nèi)容不變N=1ARP內(nèi)容改變〔3〕ARU代碼和NAR代碼含義見下頁ARU(D6~D4)變址方式000*001*-010*+011保留100*BR0-101*0-110*0+111*BR0+NAR(D2~D0)新指定當前輔助寄存器000AR0001AR1010AR2011AR3100AR4101AR5110AR6111AR7二、指令集介紹1、指令類型〔按功能〕累加器、算術(shù)與邏輯指令〔見表3.3〕輔助存放器和數(shù)據(jù)頁指針指令〔見表3.4〕暫時存放器〔TREG〕、乘積存放器〔PREG)和乘法指令〔見表3.5〕轉(zhuǎn)移指令〔見表3.6〕控制指令〔見表3.7〕I/O和存儲器操作〔見表3.8〕1〕累加器、算術(shù)與邏輯指令〔表3.3〕ABSACC絕對值A(chǔ)DDACC加移位后的存儲器內(nèi)容或立即數(shù),送ACCADDC帶進位加法(無立即數(shù)尋址)ADDS帶符號抑制的加法ADDTTREG指定移位的加法ANDACC邏輯與移位后的存儲器內(nèi)容或長立即數(shù),送ACCCMPLACC取反(按位取反)LACC移位后的存儲器內(nèi)容或立即數(shù)加載ACCLACL存儲器內(nèi)容或短立即數(shù)加載ACC的低段(無移位操作,符號不擴展)LACTTREG指定移位的ACC加載NEGACC取負(*-1)NORMACC內(nèi)容規(guī)格化(僅間接尋址)ORACC邏輯或移位后的存儲器內(nèi)容或長立即數(shù),送ACCROLACC帶進位循環(huán)左移一位RORACC帶進位循環(huán)右移一位SACH存ACC高段(ACC內(nèi)容左移0~7位)SACL存ACC低段(ACC內(nèi)容左移0~7位)SFLACC左移一位(無進位位)SFRACC右移一位(無進位位)SUBACC減移位后的存儲器內(nèi)容或立即數(shù),送ACCSUBB帶借位的減法SUBC條件減法(用于除法子程序)SUBS帶符號抑制的減法SUBTTREG指定移位減法XORACC邏輯異或移位后的存儲器內(nèi)容或長立即數(shù),送ACCZALR加載ACC高段,低段置入8000H(僅存儲器操作數(shù))〔表3.3續(xù)〕2〕輔助存放器指令集〔表3.4〕ADRK常數(shù)(8位短立即數(shù))加給當前輔助寄存器BANZ當前AR非零跳轉(zhuǎn)CMPR當前AR與AR0比較,結(jié)果送TC標志位(CM(0,1,2,3)值指定比較內(nèi)容)LAR加載指定的AR(存儲器\短立即數(shù)\長立即數(shù))MAR修改當前ARSAR存指定的AR至存儲器SBRK當前AR減常數(shù)(8位短立即數(shù))指令格式CMPRCMCM=00AR=AR0CM=01AR<AR0CM=10AR>AR0CM=11AR≠AR03〕暫存器、乘積存放器和乘法指令集〔表3.5〕APACACC加移位后的PREG內(nèi)容,并送ACC(移位方式由PM決定)LPH加載PREG高段(PREG低段不變)LT加載TREGLTA加載TREG,同時ACC加前次PREG移位后內(nèi)容。(LT+APAC)LTD加載TREG,同時ACC加前次乘積。并且數(shù)據(jù)存儲器單元內(nèi)容復(fù)制到下一個數(shù)據(jù)存儲單元。(僅限于非存儲器影像的片內(nèi)存儲器)LTP加載TREG,同時將PREG移位后內(nèi)容送ACCLTS加載TREG,同時ACC減PREG移位后內(nèi)容。MAC數(shù)據(jù)存儲器內(nèi)容(送TREG)與程序存儲器中內(nèi)容乘,結(jié)果送PREGMACD數(shù)據(jù)存儲器內(nèi)容與程序存儲器中內(nèi)容乘,且數(shù)據(jù)存儲器內(nèi)容復(fù)制到下一個單元MPY乘法(TREG乘數(shù)據(jù)存儲器(或13位短立即數(shù)))MPYAACC加移位后的PREG內(nèi)容,并實現(xiàn)乘法運算(無立即尋址)MPYSACC減移位后的PREG內(nèi)容,并實現(xiàn)乘法運算(無立即尋址)PACPREG移位后內(nèi)容送ACCSPACACC減移位后的PREG內(nèi)容SPH存PREG高段到數(shù)據(jù)存儲器SPL存PREG低段到數(shù)據(jù)存儲器SPM設(shè)置PM(乘積移位方式)SQRAACC加移位后的PREG內(nèi)容,存儲器內(nèi)容平方,結(jié)果送PREGSQRSACC減移位后的PREG內(nèi)容,存儲器內(nèi)容平方,結(jié)果送PREG4)轉(zhuǎn)移指令集〔表3.6〕B無條件轉(zhuǎn)移BACC轉(zhuǎn)移至ACC低段指定的地址BANZ當前輔助寄存器非零轉(zhuǎn)移BCND條件轉(zhuǎn)移CALA調(diào)用ACC低段指定的子程序(涉及壓棧操作)CALL調(diào)用指定的子程序(涉及壓棧操作)CC條件調(diào)用(涉及壓棧操作)INTR軟中斷(不受INTM位影響)(中斷向量號0~31)(涉及壓棧操作)NMI不可禁止的中斷(軟件中斷)(中斷向量號24H)(涉及壓棧操作)RET子程序或中斷程序返回(涉及出棧操作)RETC條件返回(涉及出棧操作)TRAP軟件中斷(中斷向量號22H)(涉及壓棧操作)5〕控制指令集〔表3.7〕BIT位測試指令,將數(shù)據(jù)存儲單元指定位的內(nèi)容送TCBITT同BIT指令,但測試TREG指定的位CLRC位清除(C、CNF、INTM、OVM、SXM、TC、XF)SETC置位(C、CNF、INTM、OVM、SXM、TC、XF)IDLECPU進入低功耗模式指令。由中斷或復(fù)位喚醒。退出低功耗時,對可屏蔽中斷來說,視INTM位不同執(zhí)行不同的程序。(允許中斷,轉(zhuǎn)到中斷服務(wù)程序)LDP加載DP(數(shù)據(jù)存儲器的低9位或9位短立即數(shù))LST將數(shù)據(jù)存儲器的內(nèi)容加載到狀態(tài)寄存器(ST0,ST1)(LST#m----)SST存狀態(tài)寄存器內(nèi)容存到零頁數(shù)據(jù)存儲器單元(SST#m----)POP將棧頂彈出至ACC低段,ACC高端置零,堆棧上彈一級POPD將棧頂彈出至數(shù)據(jù)存儲單元,堆棧上彈一級。PSHD將數(shù)據(jù)存儲單元內(nèi)容壓入堆棧頂部,堆棧下壓一級PUSH將ACC低段壓入堆棧頂部,堆棧下壓一級RPT重復(fù)執(zhí)行N次下一條指令。(三種尋址方式)NOP空操作6〕I/O和存儲器指令集〔表3.8〕BLDD數(shù)據(jù)快從數(shù)據(jù)存儲器搬移至數(shù)據(jù)存儲器(源數(shù)據(jù)和目的數(shù)據(jù)地址之一必須是長立即數(shù),僅限于非寄存器影像的內(nèi)部數(shù)據(jù)存儲器)BLPD數(shù)據(jù)快從程序存儲器搬移至數(shù)據(jù)存儲器(程序存儲器地址采用長立即數(shù),目的存儲器地址采用直接或間接地址)DMOV數(shù)據(jù)存儲器內(nèi)容復(fù)制到下一個數(shù)據(jù)存儲器單元。(僅限于片內(nèi)數(shù)據(jù)RAM)IN從I/O端口輸入數(shù)據(jù)至數(shù)據(jù)存儲器(端口地址送數(shù)據(jù)地址總線)OUT輸出數(shù)據(jù)到I/O端口(端口地址送數(shù)據(jù)地址總線)SPLK存長立即數(shù)至數(shù)據(jù)存儲器TBLR讀數(shù)據(jù)表(讀程序存儲器(由ACCL指定)中內(nèi)容到指定的數(shù)據(jù)存儲器中)TBLW寫數(shù)據(jù)表(讀數(shù)據(jù)存儲器的內(nèi)容到由ACCL指定的程序存儲器中)〔第4次完〕三、指令介紹1、算術(shù)運算指令1〕加法指令〔1〕不帶進位加法指令格式:ADDdma[,shift]ADDdma,16ADDind[,shift[,ARn]]單字指令A(yù)DDind,16[,ARn]ADD#kADD#lk[,shift]雙字指令注:dma直接尋址時7位頁內(nèi)偏移地址ind間接尋址時變址方式,可以由用戶根據(jù)需要選擇*,*+,*-,*0+,*0-,*BR0+和*BR0-七種之一。shift移位次數(shù)〔0~15〕k短立即數(shù)lk長立即數(shù)[]為保存的,可有可無操作碼的格式:
151211…876…0dma00010shiftdma00110000110010shift101100001101110008位立即數(shù)k101111111001shift
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級下冊語文教學計劃
- 聘請英語 顧問合同范本
- 2 鄉(xiāng)下人家(教學設(shè)計)2023-2024學年部編版語文四年級下冊
- 14 《母雞》教學設(shè)計-2023-2024學年統(tǒng)編版四年級語文下冊
- 施工洽商合同范本
- 工資社保合同范本
- 土方清理施工合同范文
- 19《夜宿山寺》教學設(shè)計-2024-2025學年二年級上冊語文統(tǒng)編版(五四制)
- 祠堂建造合同范本
- Module 3 Unit 2 Around my home(教學設(shè)計)-2024-2025學年牛津上海版(試用本)英語四年級上冊
- 大學英語詞匯表(5500)個單詞
- 駕駛員疲勞駕駛監(jiān)測系統(tǒng)
- 裝飾公司項目融資計劃書
- 護士服裝文化與護理課件
- 2023年建筑業(yè)10項新技術(shù)
- 遼寧省沈陽市名校2024屆中考數(shù)學全真模擬試題含解析
- DB5105T 63-2023合江真龍柚生產(chǎn)技術(shù)規(guī)程
- 一崗雙責評價細則范本
- 古典文獻的???下)
- 衛(wèi)生部病歷質(zhì)量評價標準
- 第2章 Windows 10操作系統(tǒng)
評論
0/150
提交評論