寄存器中斷邏輯和定時器1 ppt課件_第1頁
寄存器中斷邏輯和定時器1 ppt課件_第2頁
寄存器中斷邏輯和定時器1 ppt課件_第3頁
寄存器中斷邏輯和定時器1 ppt課件_第4頁
寄存器中斷邏輯和定時器1 ppt課件_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、ADSP21160ADSP21160寄存器寄存器 ADSP21160ADSP21160寄存器分類:寄存器分類:1 1運算單元寄存器運算單元寄存器2 2系統(tǒng)控制和狀態(tài)寄存器系統(tǒng)控制和狀態(tài)寄存器 3 3程序控制寄存器程序控制寄存器4 4數(shù)據(jù)地址產(chǎn)生寄存器數(shù)據(jù)地址產(chǎn)生寄存器DAG1DAG1,DAG2DAG2) 5 5I/OI/O處理器寄存器處理器寄存器 運算單元寄存器運算單元寄存器 運算單元寄存器主要為運算單元的ALU、乘法器、移位器保存輸入、輸出數(shù)據(jù),主要包括: (1通用數(shù)據(jù)寄存器Rx,Sx, Fxx=015); (2乘法結(jié)果寄存器MRFx, MRBx (x=02); 其中MRFx稱為前臺寄存器;

2、 MRBx稱為后臺寄存器; 主要用于存放80位定點乘法結(jié)果; 注:通常也把總線交換寄存器PX,算作運算單元寄存器;系統(tǒng)控制和狀態(tài)寄存器系統(tǒng)控制和狀態(tài)寄存器 主要功能是配置處理器核的操作模式,同時標(biāo)識處理器核的工作狀態(tài),作為條件程序執(zhí)行的判別條件。 對系統(tǒng)控制類寄存器的寫入操作有1個周期的延遲,在寫入后的第二個周期才有效。系統(tǒng)控制和狀態(tài)寄存器續(xù)系統(tǒng)控制和狀態(tài)寄存器續(xù)寄存器名寄存器名初始值初始值MODE1模式控制寄存器模式控制寄存器10 x0000 0000MODE2模式控制寄存器模式控制寄存器20 xnn00 0000MMASK模式屏蔽寄存器模式屏蔽寄存器0 x0020 0000ASTATx,A

3、STATy運算狀態(tài)寄存器運算狀態(tài)寄存器0 x0000 0000STKYx,STKYy附加運算狀態(tài)寄存器附加運算狀態(tài)寄存器0 x0054 0000USTATxx1-4用戶定義狀態(tài)寄存器用戶定義狀態(tài)寄存器0 x0000 0000MODE1寄存器的位定義表寄存器的位定義表Bits)NameDefinition0BR8索引寄存器索引寄存器I8位反序使能,位反序使能,1使能使能I8位反序?qū)ぶ罚晃环葱驅(qū)ぶ罚?正常尋址正常尋址1BR0索引寄存器索引寄存器I0位反序使能,位反序使能,1使能使能I0位反序?qū)ぶ罚晃环葱驅(qū)ぶ罚?正常尋址正常尋址2SRCU運算單元備用寄存器選擇,運算單元備用寄存器選擇,1使能使能MR

4、備用寄存器;備用寄存器;0只能用主只能用主MR寄存器寄存器3SRD1HDAG1高高474寄存器備用使能,寄存器備用使能,1使能備用寄存器,使能備用寄存器,0只使用主寄存器只使用主寄存器4SRD1LDAG1低低430寄存器備用使能,寄存器備用使能,1使能備用寄存器,使能備用寄存器,0只使用主寄存器只使用主寄存器5SRD2HDAG2高高474寄存器備用使能,寄存器備用使能,1使能備用寄存器,使能備用寄存器,0只使用主寄存器只使用主寄存器6SRD2LDAG2低低430寄存器備用使能,寄存器備用使能,1使能備用寄存器,使能備用寄存器,0只使用主寄存器只使用主寄存器7SRRFH數(shù)據(jù)寄存器數(shù)據(jù)寄存器R15

5、R8備用選擇使能,備用選擇使能,1使能備用寄存器;使能備用寄存器;0只使用主寄只使用主寄存器存器98 保管保管10SRRFL數(shù)據(jù)寄存器數(shù)據(jù)寄存器R7R0備用選擇使能,備用選擇使能,1使能備用寄存器;使能備用寄存器;0只使用主寄只使用主寄存器存器11NESTM中斷嵌套使能,中斷嵌套使能,1允許中斷嵌套;允許中斷嵌套;0禁止中斷嵌套禁止中斷嵌套12IRPTEN全局中斷使能,全局中斷使能,1使能所有可屏蔽中斷;使能所有可屏蔽中斷;0禁止響應(yīng)所有可屏蔽中斷禁止響應(yīng)所有可屏蔽中斷MODE1寄存器的位定義表續(xù)寄存器的位定義表續(xù)Bits)NameDefinition13ALUSATALU飽和處理使能,飽和處

6、理使能,1ALU定點溢出進(jìn)行飽和處理;定點溢出進(jìn)行飽和處理;0不進(jìn)行飽和處理不進(jìn)行飽和處理14SSE定點短字符號擴展使能,定點短字符號擴展使能,1符號擴展到高符號擴展到高16位;位;0高高16位填位填015TRUNC截取模式選擇,截取模式選擇,1靠近靠近0截??;截取;0截取到最近的數(shù)截取到最近的數(shù)16RND3232位浮點數(shù)據(jù)截取方式選擇,位浮點數(shù)據(jù)截取方式選擇,1截取到截取到32位;位;0截取到截取到40位位1817CSELADSP總線控制狀態(tài),總線控制狀態(tài),00ADSP控制總線,控制總線,01,10,11ADSP不控制總線不控制總線2019 保管保管21PEYENSIMD模式使能,模式使能,

7、1使能使能PEy計算單元,使能計算單元,使能SIMD;0禁止禁止PEy,SISD模式模式22BTCST9通過地址寄存器通過地址寄存器I9廣播使能,廣播使能,1將將PM總線上的數(shù)據(jù)廣播到兩個運算單元的相總線上的數(shù)據(jù)廣播到兩個運算單元的相應(yīng)寄存器中,應(yīng)寄存器中,0禁止廣播方式禁止廣播方式23BTCST1通過地址寄存器通過地址寄存器I0廣播使能,廣播使能,1將將DM總線上的數(shù)據(jù)廣播到兩個運算單元的總線上的數(shù)據(jù)廣播到兩個運算單元的相應(yīng)寄存器中,相應(yīng)寄存器中,0禁止廣播方式禁止廣播方式24CBUFEN環(huán)形緩沖尋址使能,環(huán)形緩沖尋址使能,1使能環(huán)形緩沖尋址;使能環(huán)形緩沖尋址;0線性尋址線性尋址3125 保

8、管保管MODE2寄存器位定義表寄存器位定義表 IRQ0觸發(fā)方式選擇觸發(fā)方式選擇,1下降沿觸發(fā);下降沿觸發(fā);0低電平觸發(fā)低電平觸發(fā)IRQ1觸發(fā)方式選擇觸發(fā)方式選擇,1下降沿觸發(fā);下降沿觸發(fā);0低電平觸發(fā)低電平觸發(fā) IRQ2觸發(fā)方式選擇觸發(fā)方式選擇,1下降沿觸發(fā);下降沿觸發(fā);0低電平觸發(fā)低電平觸發(fā)Bits)NameDefinition0IRQ0E1IRQ1E2IRQ2E3 保管保管4CAIDS指令緩存禁止,指令緩存禁止,1禁止指令緩存;禁止指令緩存;0開啟指令緩存開啟指令緩存5TIMEN定時器使能,定時器使能,1使能定時器;使能定時器;0禁止定時器禁止定時器6BUSLK外部總線請求鎖定,外部總線請

9、求鎖定,1ADSP控制總線,請求鎖定總線;控制總線,請求鎖定總線;0不請求鎖定總線不請求鎖定總線147 保管保管15FLAG0OFLAG0輸入輸出選擇,輸入輸出選擇,1作為輸出;作為輸出;0作為輸入作為輸入MODE2寄存器位定義表續(xù)寄存器位定義表續(xù) 16FLAG1OFLAG1輸入輸出選擇,輸入輸出選擇,1作為輸出;作為輸出;0作為輸入作為輸入17FLAG2OFLAG2輸入輸出選擇,輸入輸出選擇,1作為輸出;作為輸出;0作為輸入作為輸入18FLAG3OFLAG3輸入輸出選擇,輸入輸出選擇,1作為輸出;作為輸出;0作為輸入作為輸入19CAFRZ指令緩存凍結(jié),指令緩存凍結(jié),1凍結(jié)指令緩存,禁止刷新,

10、保持原值;凍結(jié)指令緩存,禁止刷新,保持原值;0允許指令緩存刷新允許指令緩存刷新20IIRAE是否檢測非法寄存器訪問,是否檢測非法寄存器訪問,1允許檢測;禁止檢測允許檢測;禁止檢測21U64MAE是否檢測對非連續(xù)的是否檢測對非連續(xù)的64位長字存儲器空間的訪問,位長字存儲器空間的訪問,1檢測;檢測;0禁止檢測禁止檢測2422 保管保管2725PID20處理器處理器ID號號2928 芯片版本號芯片版本號3130PID43處理器處理器ID號。號。ASTATx運算狀態(tài)寄存器表運算狀態(tài)寄存器表 Bits)NameDefinition0AZ1ALU操作結(jié)果為操作結(jié)果為0;0ALU操作結(jié)果為非操作結(jié)果為非0或

11、者浮點下溢或者浮點下溢1AV1ALU操作結(jié)果溢出;操作結(jié)果溢出;0ALU操作結(jié)果不溢出操作結(jié)果不溢出2AN1ALU最后一次操作結(jié)果為負(fù)數(shù);最后一次操作結(jié)果為負(fù)數(shù);0ALU最后一次操作結(jié)果為正數(shù)最后一次操作結(jié)果為正數(shù)3AC1ALU最后一次定點操作結(jié)果有進(jìn)位;最后一次定點操作結(jié)果有進(jìn)位;0ALU最后一次定點操作結(jié)果無進(jìn)最后一次定點操作結(jié)果無進(jìn)位位4AS1ALU的的ABS或者或者M(jìn)ANT操作操作輸入數(shù)為負(fù);操作操作輸入數(shù)為負(fù);0ALU操作輸入為正數(shù)操作輸入為正數(shù)5AI1ALU浮點操作無效;浮點操作無效;0ALU浮點操作有效浮點操作有效6MN1乘法器操作結(jié)果負(fù)數(shù);乘法器操作結(jié)果負(fù)數(shù);0乘法器操作結(jié)果為

12、正數(shù)乘法器操作結(jié)果為正數(shù)7MV1乘法器操作結(jié)果溢出;乘法器操作結(jié)果溢出;0乘法器操作結(jié)果不溢出乘法器操作結(jié)果不溢出8MU1乘法器浮點操作結(jié)果下溢出;乘法器浮點操作結(jié)果下溢出;0乘法器浮點操作結(jié)果未下溢出乘法器浮點操作結(jié)果未下溢出ASTATxASTATx運算狀態(tài)寄存器表續(xù)運算狀態(tài)寄存器表續(xù) 9MI1乘法器浮點操作數(shù)無效;乘法器浮點操作數(shù)無效;0乘法器浮點操作數(shù)有效乘法器浮點操作數(shù)有效10AF1ALU操作數(shù)是浮點數(shù);操作數(shù)是浮點數(shù);0ALU操作數(shù)是定點數(shù)操作數(shù)是定點數(shù)11SV1移位器操作結(jié)果溢出;移位器操作結(jié)果溢出;0移位器操作結(jié)果不溢出移位器操作結(jié)果不溢出12SZ1移位器操作結(jié)果為移位器操作結(jié)果

13、為0;0移位器操作結(jié)果不為移位器操作結(jié)果不為013SS1移位器操作輸入數(shù)為負(fù)數(shù);移位器操作輸入數(shù)為負(fù)數(shù);0移位器操作輸入數(shù)為正數(shù)移位器操作輸入數(shù)為正數(shù)17-14 保管保管18BTF系統(tǒng)寄存器位測試標(biāo)志系統(tǒng)寄存器位測試標(biāo)志23-19 保管保管3124C A CC比較累加移位寄存器。位比較累加移位寄存器。位31為為ALU最后一次輸入的兩個操作數(shù)比較的結(jié)果。最后一次輸入的兩個操作數(shù)比較的結(jié)果。1X輸入較大;輸入較大;0Y輸入較大。其它輸入較大。其它7位構(gòu)成一個右移寄存器,每位存儲一位構(gòu)成一個右移寄存器,每位存儲一個前面比較的結(jié)果,伴隨著每一次新的比較,個前面比較的結(jié)果,伴隨著每一次新的比較,DSP右

14、移右移CACC中的值,總是中的值,總是把最新的值放在把最新的值放在31位,最舊的值放在位,最舊的值放在24位位3程序控制寄存器如下頁圖)程序控制寄存器如下頁圖) ADSP程序控制寄存器引導(dǎo)指令的執(zhí)行,主要實現(xiàn)以下操作:1. 指令流水2. 程序和循環(huán)堆棧3. 定時器操作4. 中斷鎖存與屏蔽 程序控制寄存器表寄存器名說 明初始值PC程序計數(shù)器未定義PCSTK程序計數(shù)堆棧寄存器保存PC堆棧棧頂?shù)刂罚┪炊xPCSTKP程序計數(shù)器堆棧指針寄存器存放PC堆棧已用數(shù),其值為031,PC空0,PC滿31)未定義FADDR取指寄存器,存放三級流水第一步取指令地址未定義DADDR譯碼寄存器,存放三級流水第二步譯碼

15、指令地址未定義LADDR循環(huán)地址堆棧寄存器,32位寬,6級深度,每級存放24位循環(huán)終止地址,5位終止代碼,2位循環(huán)類型碼未定義CURLCNTR當(dāng)前循環(huán)計數(shù)寄存器,存放循環(huán)已被執(zhí)行的次數(shù)未定義LCNTR定時器的計數(shù)寄存器未定義TPERIOD定時器周期計數(shù)寄存器未定義TCOUNT定時器計數(shù)寄存器未定義IRPTL中斷鎖存寄存器0 x00000000IMASK中斷屏蔽寄存器0 x00000003IMASKP中斷屏蔽指針寄存器0 x00000000LIRPTL鏈路口中斷寄存器0 x00000000FLAGSFLAG標(biāo)志寄存器0 x000000004數(shù)據(jù)地址產(chǎn)生器DAG1,DAG2) 數(shù)據(jù)地址產(chǎn)生寄存器主

16、要為訪問數(shù)據(jù)和指令產(chǎn)生地址,并自動修改地址,實現(xiàn)連續(xù)的地址空間訪問,同時也能實現(xiàn)環(huán)形緩沖尋址等操作,但它們不參與數(shù)值運算。 地址產(chǎn)生器地址產(chǎn)生器DAG1寄存器寄存器DM) 地址產(chǎn)生器地址產(chǎn)生器DAG2寄存器寄存器PM)I0I7I8I15M0M7M8M15B0B7B8B15L0L7L8L15(DAG1DAG1,DAG2DAG2寄存器說明表寄存器說明表寄 存 器名說 明初始值 I0-I7DAG1索引寄存器,保存指向存儲器的地址未定義M0-M7DAG1修改寄存器,為I寄存器提供地址修改量未定義B0-B7DAG1基址寄存器,為環(huán)形緩沖區(qū)操作提供起始地址未定義L0-L7DAG1長度寄存器,為環(huán)形緩沖區(qū)操

17、作提供緩沖區(qū)長度未定義I8-I15DAG2索引寄存器,保存指向存儲器的地址未定義M8-M15DAG2修改寄存器,為I寄存器提供地址修改量未定義B8-B15DAG2基址寄存器,為環(huán)形緩沖區(qū)操作提供起始地址未定義L8-L15DAG2長度寄存器,為環(huán)形緩沖區(qū)操作提供緩沖區(qū)長度未定義環(huán)形緩沖區(qū)操作MODE1寄存器的位定義表續(xù)Bits)NameDefinition13ALUSATALU飽和處理使能,1ALU定點溢出進(jìn)行飽和處理;0不進(jìn)行飽和處理14SSE定點短字符號擴展使能,1符號擴展到高16位;0高16位填015TRUNC截取模式選擇,1靠近0截取;0截取到最近的數(shù)16RND3232位浮點數(shù)據(jù)截取方式

18、選擇,1截取到32位;0截取到40位1817CSELADSP總線控制狀態(tài),00ADSP控制總線,01,10,11ADSP不控制總線2019 保管21PEYENSIMD模式使能,1使能PEy計算單元,使能SIMD;0禁止PEy,SISD模式22BTCST9通過地址寄存器I9廣播使能,1將PM總線上的數(shù)據(jù)廣播到兩個運算單元的相應(yīng)寄存器中,0禁止廣播方式23BTCST1通過地址寄存器I0廣播使能,1將DM總線上的數(shù)據(jù)廣播到兩個運算單元的相應(yīng)寄存器中,0禁止廣播方式24CBUFEN環(huán)形緩沖尋址使能,1使能環(huán)形緩沖尋址;0線性尋址3125 保管M為正時環(huán)形緩沖區(qū)計算方法環(huán)形緩沖區(qū)操作注意事項1地址修改只

19、能采用后修改方式,即可用地址修改只能采用后修改方式,即可用M M寄存器寄存器與與I I寄存器在相同寄存器在相同DAGDAG中,但不必同號數(shù),如中,但不必同號數(shù),如I0I0和和M3M3),也可采用立即數(shù)),也可采用立即數(shù); ;但不管修改值是來自但不管修改值是來自M M寄存器還是立即數(shù),其修寄存器還是立即數(shù),其修改值大小不能超出循環(huán)緩沖區(qū)的長度改值大小不能超出循環(huán)緩沖區(qū)的長度L L寄存器寄存器值)。值)。3. 3. 循環(huán)緩沖區(qū)的長度循環(huán)緩沖區(qū)的長度L L寄存器值必須是正寄存器值必須是正值且不能超過值且不能超過2312311 1,如循環(huán)緩沖區(qū)長度為零,如循環(huán)緩沖區(qū)長度為零,則循環(huán)緩沖區(qū)操作被則循環(huán)緩

20、沖區(qū)操作被DISABLEDISABLE。環(huán)形緩沖區(qū)操作注意事項環(huán)形緩沖區(qū)操作注意事項24.B寄存器被裝入某個值時,同時I寄存器被裝入相同的值。但I(xiàn)寄存器被裝入某個值時,B寄存器的值不變。5.M寄存器既可以是正值,也可以是負(fù)值。 注:在上個例子中意味著 B00 x55000, M10 x4M寄存器可以是負(fù)值 初始時I寄存器中的值等于B寄存器的值; 在第一次環(huán)形緩沖區(qū)訪問時,I寄存器的值更新為B+L; 然后開始遞減訪問緩沖區(qū)。5. I/O處理器寄存器處理器寄存器 I/O處理器寄存器組列表I/O處理器寄存器組列表續(xù) I/O I/O處理器寄存器分為以下幾組:處理器寄存器分為以下幾組:系統(tǒng)控制寄存器組;

21、系統(tǒng)控制寄存器組;DMADMA緩沖寄存器組;緩沖寄存器組;鏈路和串行口寄存器組;鏈路和串行口寄存器組; lExternal port DMA ;lLink port DMA ;lSerial port DMA ;I/O處理器寄存器訪問方法處理器寄存器訪問方法 除DMA操作外,ADSP結(jié)構(gòu)不支持在I/O寄存器與內(nèi)部存儲器地址單元間傳遞數(shù)據(jù),要讀寫I/O處理器,必須要用處理器核寄存器作為中介。例如要向WAIT寄存器賦值情況如下:USTAT10 x08421;DMWAIT)USTAT1;下面我們就一些重要的IO寄存器進(jìn)行詳細(xì)的講解SYSCON-系統(tǒng)控制寄存器位定義表系統(tǒng)控制寄存器位定義表續(xù)1系統(tǒng)控制

22、寄存器位定義表續(xù)2系統(tǒng)控制寄存器位定義表續(xù)33123位保留未用SYSCON寄存器的位定義寄存器的位定義 1. SRST (位位0):軟件復(fù)位,通過軟件將該:軟件復(fù)位,通過軟件將該位置位置1,DSP響應(yīng)不可屏蔽中斷響應(yīng)不可屏蔽中斷RSTI,并,并將該位清將該位清0。2. BSO(位位1):引導(dǎo)方式選擇重載,:引導(dǎo)方式選擇重載,1DSP使用使用BMS有效,從片外存儲器空間加載有效,從片外存儲器空間加載程序。程序。 3IIVT位位3):內(nèi)部中斷向量表,對于):內(nèi)部中斷向量表,對于ADSP21160來說來說1不管加載任何模式配不管加載任何模式配置,強制將中斷向量表放到置,強制將中斷向量表放到0 x40

23、000地址地址基地址);基地址);0根據(jù)加載模式選擇放置。根據(jù)加載模式選擇放置。4. IMDW0(位位9):片內(nèi)存儲器塊:片內(nèi)存儲器塊0數(shù)據(jù)寬度數(shù)據(jù)寬度設(shè)置,設(shè)置,140位,位,032位。位。 SYSCON寄存器的位定義續(xù)寄存器的位定義續(xù) IMDW1位位10): 片內(nèi)存儲器塊片內(nèi)存儲器塊1數(shù)據(jù)數(shù)據(jù)寬度設(shè)置,寬度設(shè)置,140位,位,032位。位。MSIZE(位位1512):外部存儲器塊大小:外部存儲器塊大小設(shè)置設(shè)置 MSIZElog2塊大?。K大小)13。 SYSCONSYSCON寄存器的位定義續(xù)寄存器的位定義續(xù) ADSP21160ADSP21160中斷邏輯與定時器中斷邏輯與定時器 1.中斷邏輯

24、 ADSP21160內(nèi)部提供了豐富的中斷資源。 a.在外部中斷方面: 復(fù)位中斷; 仿真器中斷; 三個外部輸入中斷。 b.在內(nèi)部中斷方面有: 非法輸入中斷; 運算錯誤中斷; 鏈路服務(wù)請求中斷; 定時器中斷; 堆棧溢出中斷; 多處理器中斷; 環(huán)形緩沖區(qū)溢出中斷; DMA控制中斷; 用戶自定義軟件中斷等。ADSP SHARC系列處理器的三個外部中斷系列處理器的三個外部中斷輸入方式有兩種:輸入方式有兩種: 電平觸發(fā)方式和沿觸發(fā)方式。電平觸發(fā)方式和沿觸發(fā)方式。 觸發(fā)方式的選擇通過設(shè)置觸發(fā)方式的選擇通過設(shè)置MODE2MODE2寄存器來完成,寄存器來完成,其定義方式如下表:其定義方式如下表: BitName

25、Define0IRQ0E1-下降沿下降沿 觸發(fā);觸發(fā);0低電平觸發(fā)低電平觸發(fā)1IRQ1E1-下降沿下降沿 觸發(fā);觸發(fā);0低電平觸發(fā)低電平觸發(fā)2IRQ2E1-下降沿下降沿 觸發(fā);觸發(fā);0低電平觸發(fā)低電平觸發(fā)使用內(nèi)外部中斷時應(yīng)注意的幾點: 1.1.對上述內(nèi)、外部中斷,除了仿真器中斷和復(fù)位中斷不可對上述內(nèi)、外部中斷,除了仿真器中斷和復(fù)位中斷不可以屏蔽外,其余中斷都是可以屏蔽的。以屏蔽外,其余中斷都是可以屏蔽的。 2.2.除了不可屏蔽中斷和引導(dǎo)加載中斷除了不可屏蔽中斷和引導(dǎo)加載中斷EP0IEP0I或者或者LP4ILP4I外,所外,所有中斷在系統(tǒng)復(fù)位時都默認(rèn)被屏蔽。有中斷在系統(tǒng)復(fù)位時都默認(rèn)被屏蔽。3.3

26、.當(dāng)我們要使用某種中斷時,必須具備以下條件:當(dāng)我們要使用某種中斷時,必須具備以下條件:4.4.通常,當(dāng)一個中斷正在執(zhí)行服務(wù)期間,通常,當(dāng)一個中斷正在執(zhí)行服務(wù)期間,ADSPADSP系列處理器系列處理器在每個周期都會對該中斷鎖存寄存器的相應(yīng)中斷標(biāo)志位在每個周期都會對該中斷鎖存寄存器的相應(yīng)中斷標(biāo)志位進(jìn)行清零,以禁止在執(zhí)行該中斷服務(wù)的過程中再次允許進(jìn)行清零,以禁止在執(zhí)行該中斷服務(wù)的過程中再次允許該中斷鎖存。該中斷鎖存。 下面介紹下面介紹IRPTL、IMASK和和IMASKP使用某種中斷時,必須具備的條件:使用某種中斷時,必須具備的條件: 1)1)將系統(tǒng)寄存器將系統(tǒng)寄存器MODE1MODE1中全局中斷使

27、能位中全局中斷使能位 IRPTENIRPTEN置置1 1;2)2)將將IMASKIMASK寄存器中相應(yīng)的中斷屏蔽位置寄存器中相應(yīng)的中斷屏蔽位置1 1;3)3)中斷請求到達(dá)后,中斷鎖存寄存器中斷請求到達(dá)后,中斷鎖存寄存器IRPTLIRPTL的相應(yīng)位置的相應(yīng)位置1,1,并且中斷所存寄存器中沒有優(yōu)先級更高的中斷標(biāo)并且中斷所存寄存器中沒有優(yōu)先級更高的中斷標(biāo)志位被置志位被置1 1; 滿足上述三個條件的中斷發(fā)生時DSP將執(zhí)行以下操作(1)輸出相應(yīng)的中斷向量地址;(2)將當(dāng)前的程序計數(shù)器PC值壓入PC堆棧;(3)如果中斷源是外部中斷、內(nèi)部定時器中斷或者多 處理器向量中斷,程序控制器還要將ASTAT和 MOD

28、E1寄存器中的當(dāng)前值壓入狀態(tài)堆棧中。(4)設(shè)置中斷鎖存寄存器IRPTL的相應(yīng)標(biāo)志位;(5)改變中斷屏蔽指針寄存器IMASKP的相應(yīng)位,反 映當(dāng)前的中斷嵌套狀態(tài)。(6)DSP運行中斷向量地址指示的中斷服務(wù)程序, 完成中斷處理任務(wù),最后執(zhí)行RTI指令。 Instr1; /中斷程序入口JUMPPC,3)(DB,CI);/清除中斷狀態(tài), /跳轉(zhuǎn)到PC3地址單 /元instr5順序執(zhí)行Inst r3; /在延遲分支里執(zhí)行Instr4; /在延遲分支里執(zhí)行Instr5;RTSLR); 采用RTSLR指令返回到程序舉例 RTI指令將完成的操作 (1)返回到PC堆棧頂部的地址;(2)彈出PC堆棧棧頂中的值;(

29、3)如果ASTAT和MODE1寄存器壓棧了,則彈 出ASTAT寄存器和MODE1寄存器中的值;(4)清除中斷鎖存寄存器中的相應(yīng)位,并將中斷屏蔽指針寄存器的相應(yīng)位清零; 返回1IRPTL、IMASK和IMASKP IRPTLIRPTL中斷鎖存寄存器指示中斷鎖存狀態(tài),在中斷鎖存寄存器指示中斷鎖存狀態(tài),在上電復(fù)位后,其初始值為上電復(fù)位后,其初始值為0 x0000 00000 x0000 0000。 IMASKIMASK中斷屏蔽寄存器除仿真器中斷和復(fù)位中中斷屏蔽寄存器除仿真器中斷和復(fù)位中斷不可以屏蔽外,其余中斷都是可以屏蔽的,斷不可以屏蔽外,其余中斷都是可以屏蔽的,在上電復(fù)位后,其初始值為在上電復(fù)位后

30、,其初始值為0 x0000 00030 x0000 0003,相應(yīng),相應(yīng)位定義同位定義同IRPTLIRPTL。 IMASKPIMASKP中斷屏蔽指針寄存器反映當(dāng)前中斷嵌中斷屏蔽指針寄存器反映當(dāng)前中斷嵌套情況,在上電復(fù)位后,其初始值為套情況,在上電復(fù)位后,其初始值為0 x0000 0 x0000 00000000,相應(yīng)位定義同,相應(yīng)位定義同IRPTLIRPTL。 IRPTLIRPTL、IMASKIMASK和和IMASKPIMASKP寄存器的未位義如下圖:寄存器的未位義如下圖:IRPTL、IMASK和IMASKPNoImageIRPTL位定義表續(xù)IRPTL位定義表續(xù)IRPTL位定義表續(xù)IRPTL位

31、定義表續(xù)2.中斷嵌套 ADSP處理器支持多級中斷嵌套; 中斷嵌套由MODE1,IRPTL,IMASKP寄存器的相關(guān)位控制; 設(shè)置MODE1寄存器的NESTM嵌套模式位為1,就可以使能中斷嵌套; 反之NESTM位清零,禁止中斷嵌套。2. 2. 中斷嵌套中斷嵌套( (續(xù)續(xù)) ) 注意注意NESTMNESTM1 1時,允許在中斷服務(wù)過程時,允許在中斷服務(wù)過程中處理高優(yōu)先級的中斷,但對同級或者中處理高優(yōu)先級的中斷,但對同級或者低優(yōu)先級的中斷請求不予處理。低優(yōu)先級的中斷請求不予處理。3. 多處理器向量中斷 在多處理器系統(tǒng)中,ADSPSHARC系列處理器支持多處理器向量中斷,通過向量中斷寄存器VIRPT的

32、設(shè)置,允許外部主機或者其它主機向VIRPT寄存器中寫入一個新的向量地址。 注:多處理器向量中斷不作為本課程講解的重點,大家了解就可以了。 4. 4. 定時器定時器 在ADSP21160內(nèi)部只有一個可編程定時器,用來實現(xiàn)以下功能:1. 產(chǎn)生定時事件2. 實現(xiàn)計數(shù)事件3. 產(chǎn)生標(biāo)準(zhǔn)脈沖4. 中斷處理器5. 測量輸入脈沖 定時器的使用和設(shè)置方法 ADSP21160通過對內(nèi)部寄存器: TCOUNT計數(shù)寄存器) TPERIOD周期寄存器) 兩個寄存器進(jìn)行編程,從而在TIMEXP引腳 產(chǎn)生定時脈沖輸出; 同時產(chǎn)生兩個定時中斷: TMZHI(高優(yōu))和TMZLI(低優(yōu))。定時器的使用和設(shè)置方法續(xù)) 定時器的啟

33、動和禁止:定時器的啟動和禁止: 是通過設(shè)置是通過設(shè)置MODE2MODE2的的TIMENTIMEN位來完成;位來完成; 如果該位被置如果該位被置1 1, 啟動定時器;啟動定時器; 如果該位被清零,如果該位被清零,禁止定時器。禁止定時器。留意:在啟動定時器之前,應(yīng)該先將留意:在啟動定時器之前,應(yīng)該先將TCOUNTTCOUNT和和TPERIODTPERIOD寄存器設(shè)置好。例如:寄存器設(shè)置好。例如: TPERIODN1; /間隔周期數(shù)TCOUNTPERIOD; /初始化TCOUNTBIT SET IMASK 0 x10; /允許定時中斷BIT SET MODE1 0 x1000; /全局中斷使能BIT

34、 SET MODE2 0 x20; /定時器使能 INTW:IDEL; /程序在本條語句和下條語句JUMP INTW; /之間循環(huán)等待中斷產(chǎn)生ADSP21160中斷向量表 寄存器 位 中斷向量地址 中斷名稱 功 能 IRPTTL 0 Ox00EMUl 仿真器中斷(只讀,不可屏蔽,最高優(yōu)先級 IRPTL l Ox04 RSTI 復(fù)位(只讀,不可屏蔽) IRPTL 2 0 x08 IlCDI 檢測到非法輸入 IRPTL 3 0 x0C SOVFI 狀態(tài),循環(huán)堆棧溢出或PC堆棧滿 IRPTL4 0 x10TMZHI定時器=O(高優(yōu)先級) IRPTL 5 0 x14 VIRPTL 多處理器中斷向量 I

35、RPTL 6 0 x18 IRQ2I 外部中斷IRQ2有效 IRPTL7 0 xlCIRQII外部中斷IRQ1有效ADSP21160中斷向量表續(xù) IRPTL 8 0 x20 IRQOI 外部中斷IRQ0有效 IRPTL 9 0 x24 保留 IRPTLlO 0 x28 SPROI DMA通道0:串行口0接收 IRPTL ll Ox2C SPRlI DMA通道1:串行口1接收 IRPTL 12 0 x30 SPTOI DMA通道2:串行口0發(fā)送 IRPTL 13 0 x34 SPTll DMA通道3:串行口1發(fā)送 LIRPTL 0 Ox38 LPOI DMA通道4:LBUF0 LIRPTL 1

36、0 x3C LPll DMA通道5:LBUFl LIRPTL 2 0 x40 LP2I DMA通道6:LBUF2 LIRPTL 3 0 x44 LP3I DMA通道7:LBUF3 LIRPTL 4 0 x48 LP41 DMA通道8:LBUF4 LIRPTL 5 0 x4C LP5I DMA通道9:LBUF5 IRPTL 15 0 x50 EPOI DMA通道10:外部口BUFF0 IRPTL 16 0 x54 EPlI DMA通道11:部口BUFFl IRPTL 17 0 x58 EP2I DMA通道12:外部口BUFF2 ADSP21160中斷向量表續(xù)中斷向量表續(xù) IRPTL 18 0 x

37、5C EP3I DMA通道13:外部口BUFF3 IRPTL 19 0 x60 LSRQ 鏈路口服務(wù)請求 IRPTL 20 0 x64 CB7I 環(huán)形緩沖7溢出 IRPTL 2l 0 x68 CBl5I 環(huán)形緩沖15溢出 IRPTL 22 0 x6C TMZLI 定時器=0(低優(yōu)先級) IRPTL 23 0 x70 FIXI 定點溢出 IRPTL 24 0 x74 FLTOI 浮點上溢出 IRPTL 25 0 x78 FLTUI 浮點下溢出 IRPTL 26 0 x7C FLTII 浮點無效 IRPTL 27 0 x80 SFT0I 用戶自定義軟件中斷0 IRPTL 28 0 x84 SFTl

38、I 用戶自定義軟件中斷1 IRPTL 29 0 x88 SFT2I 用戶自定義軟件中斷2 IRPTL 30 0 x8C SFT3I 用戶自定義軟件中斷3 IRPTL 3l 0 x90 保留(最低優(yōu)先級) 中斷向量編程示例中斷向量編程示例 .section/pm seg_rth;_lib_ EMUI: NOP;NOP;NOP;NOP; /對于ADSP2106該位保留_lib_RSTI: NOP; jump start_ID2; NOP; NOP;_lib_ IICD: NOP;NOP;NOP;NOP; /對于ADSP2106該位保留_lib_SOVFI: RTI;RTI;RTI;RTI;_lib

39、_TMZHI: NOP; JUMP timer_int; NOP;NOP;_lib_VIRPTI: RTI;RTI;RTI;RTI;_lib_IRQ2I: RTI;RTI;RTI;RTI;_lib_IRQ1I: RTI;RTI;RTI;RTI;_lib_IRQ0I: RTI;RTI;RTI;RTI; NOP;NOP;NOP;NOP; /該位保留_lib_SPR0I: RTI;RTI;RTI;RTI;_lib_SPR1I: RTI;RTI;RTI;RTI;中斷向量編程示例續(xù)中斷向量編程示例續(xù)_lib_SPT0I:NOP;JUMP STx0_int;NOP;NOP;_lib_SPT1I:NOP;J

40、UMP STx1_int;NOP;NOP;_lib_LP2I:RTI;RTI;RTI;RTI;_lib_LP3I: RTI;RTI;RTI;RTI;_lib_EP0I:RTI;RTI;RTI;RTI;_lib_EP1I: RTI;RTI;RTI;RTI;_lib_EP2I: RTI;RTI;RTI;RTI;_lib_EP3I: RTI;RTI;RTI;RTI;_lib_LSRQ: RTI;RTI;RTI;RTI;_lib_CB7I: RTI;RTI;RTI;RTI;_lib_CB15I:RTI;RTI;RTI;RTI;_lib_TMZLI: RTI;RTI;RTI;RTI;.ENDSEG;中斷

41、向量表在存儲區(qū)中的存放位置 中斷向量表可以放在DSP內(nèi)部存儲區(qū),也可以放在DSP外部存儲區(qū),隨DSP芯片型號的不同而不同; ADSP21160M內(nèi)部存儲區(qū)中斷向量表的基地址為0 x00040000,而外部存儲區(qū)基地址為0 x00800000;DMADirect Memory Accessing) 利用DMA控制器,可以實現(xiàn)以下幾種類型的數(shù)據(jù)傳輸 ADSP21160內(nèi)部結(jié)構(gòu)圖8 01 0 ( )2 (1 )2 ( 31 )c c l kfM H zT C L K D I V ADSP21160的的I/O處理器結(jié)構(gòu)圖處理器結(jié)構(gòu)圖 IOP內(nèi)部結(jié)構(gòu)框圖ADSP21160的DMA通道與數(shù)據(jù)緩沖區(qū)DMAD

42、MA傳輸?shù)膬?yōu)先級傳輸?shù)膬?yōu)先級 由于ADSP SHARC系列處理器提供了多個DMA通道,在某一個時鐘周期可能會出現(xiàn)多個DMA通道的請求,處理器則采用了優(yōu)先級機制控制為DMA通道服務(wù)。 上表中從上到下優(yōu)先級逐漸降低,DMA通道0優(yōu)先級最高,其中除了串行口對應(yīng)的DMA通道采用固定優(yōu)先級外,鏈路口和外部口既可以設(shè)置為固定優(yōu)先級,也可以設(shè)置為循環(huán)優(yōu)先級。 如果設(shè)置為固定優(yōu)先級,仍遵循表中通道號順序,從上到下優(yōu)先級逐漸降低。 當(dāng)然,此時也可以通過指定另一個通道為最高優(yōu)先級,重新定義外部口的固定優(yōu)先級次序。 鏈路口和外部口的循環(huán)優(yōu)先級可以通過對SYSCON寄存器的LDCPR位或DCPR位進(jìn)行設(shè)置。 DMA參

43、數(shù)寄存器 IIx,IMx,Cx,CPx,GPx,EIx,EMx,ECx,DAx,DBx1. 內(nèi)部參數(shù)寄存器: IIx,IMx,Cx,CPx,GPxIIx內(nèi)部索引寄存器:存放相對于內(nèi)部存儲器基地址的偏移地址IMx內(nèi)部修改寄存器Cx計數(shù)寄存器:16位,對傳輸次數(shù)減計數(shù),初始為數(shù)據(jù)塊長度, 每傳輸一個數(shù)據(jù),自動減1,減到零時,產(chǎn)生該DMA中斷CPx鏈?zhǔn)街羔樇拇嫫?,用于鏈?zhǔn)紻MA操作GPx通用寄存器,通常也用于鏈?zhǔn)紻MA操作DMA參數(shù)寄存器續(xù)2.外部參數(shù)寄存器:1) EIx,EMx,ECx 用于外部口DMA通道的32位參數(shù)寄存器,它們的功能和內(nèi)部參數(shù)寄存器類似。EIx 外部索引寄存器;EMx 外部修改

44、寄存器;ECx 外部計數(shù)寄存器; 2) DAx,DBx是兩個16位的維數(shù)寄存器,用于串行口和鏈路口DMA通道,存放二維DMA傳輸?shù)年嚵械刂?,?dāng)然也可以用于一維DMA操作。 DMA控制寄存器1.外部口DMA控制寄存器 DMACx控制外部口各個DMA通道的操作模式,可配置成5種模式。具體位定義略。 1主機模式 2同步主機模式 3從機模式 4握手模式 5外部握手模式DMA控制寄存器 2.串行口串行口DMA控制寄存器控制寄存器串行口發(fā)送和接收控制寄存器:串行口發(fā)送和接收控制寄存器: STCTLxSRCTLx(x=01) 上述兩個寄存器中與上述兩個寄存器中與DMA控制相關(guān)的位如下表控制相關(guān)的位如下表DM

45、A控制寄存器3.鏈路口鏈路口DMA控制寄存器控制寄存器LCTLx :與:與DMA控制相關(guān)的位列表控制相關(guān)的位列表 DMA通道的建立外部口外部口DMADMA傳輸通道的建立傳輸通道的建立(1) (1) 首先設(shè)置首先設(shè)置DMADMA參數(shù)寄存器參數(shù)寄存器: : IIx IIx,IMxIMx,CxCx,CPxCPx,EIxEIx,EMxEMx,Ecx;Ecx;(2) (2) 定義內(nèi)部存儲器緩沖區(qū)定義內(nèi)部存儲器緩沖區(qū): : 緩沖區(qū)大小、起始地址、地址增量、外部口尋址區(qū)間、緩沖區(qū)大小、起始地址、地址增量、外部口尋址區(qū)間、地址增量等地址增量等; ;(3) (3) 然后設(shè)定然后設(shè)定DMADMA通道控制寄存器通道

46、控制寄存器: : 定義數(shù)據(jù)傳輸方向、數(shù)據(jù)打包模式、握手模式、并使能定義數(shù)據(jù)傳輸方向、數(shù)據(jù)打包模式、握手模式、并使能DMADMA傳輸傳輸; ; 上述設(shè)定結(jié)束后,上述設(shè)定結(jié)束后,DMADMA數(shù)據(jù)就自動開始從后臺傳輸,直數(shù)據(jù)就自動開始從后臺傳輸,直到數(shù)據(jù)傳輸完畢,產(chǎn)生到數(shù)據(jù)傳輸完畢,產(chǎn)生DMADMA中斷。中斷。DMA通道的建立續(xù)2.I/O口DMA傳輸通道的建立(1)首先要配置I/O口;(2)然后設(shè)定內(nèi)部存儲區(qū)DMA參數(shù)寄存器;(3)最后設(shè)置I/O口控制寄存器,定義數(shù)據(jù)傳輸方向,數(shù)據(jù)格式,并使能DMA傳輸。I/O數(shù)據(jù)傳輸過程: 接收數(shù)據(jù)當(dāng)數(shù)據(jù)到達(dá)I/O口緩沖區(qū)時,I/O口自動將數(shù)據(jù)送到內(nèi)部存儲區(qū); 發(fā)

47、送數(shù)據(jù)自動從內(nèi)部存儲區(qū)將數(shù)據(jù)取出送到I/O口緩沖區(qū),進(jìn)行發(fā)送。鏈?zhǔn)紻MA傳輸簡介 鏈?zhǔn)紻MA傳輸:就是允許ADSP SHARC系列處理器在一次DMA傳輸完成后自動將DMA參數(shù)寄存器載入新值,開始一次新的DMA傳輸。 上述特性使得處理器在無須處理器核干預(yù)的情況下進(jìn)行無限制的多重DMA傳輸,但每個DMA操作有不同的屬性。二維DMA傳輸簡介 二維DMA模式可以將存儲區(qū)中的傳輸數(shù)據(jù)塊當(dāng)作一個數(shù)據(jù)陣列,因而對那些執(zhí)行矩陣操作的DSP算法非常有用,可以大大簡化程序設(shè)計,提高算法執(zhí)行效率。 二維DMA模式只適用于鏈路口和串行口所對應(yīng)的DMA通道。 二維DMA模式設(shè)置方法將鏈路口或串行口的控制寄存器中L2DM

48、A位或D2DMA位置1,并使能DMA傳輸。串行口 在我們講解DSP串口之前,還是讓我們回顧一下RS232C串行口。1.為什么RS232C串行口被如此廣泛的應(yīng)用?2.RS232C所采用的核心芯片是什么?3.RS232C擴展 (1)RS485 (2)RS442ADSP處理器串行口 ADSP SHARC系列處理器有兩個獨立的同步串行口SPORT0和SPORT1,為與外部數(shù)字或模擬器件連接提供了一種靈活、簡捷的I/O接口; 每個串行口都有自己的一套控制寄存器和數(shù)據(jù)緩沖區(qū),而且支持可編程的串行時鐘和幀同步選擇。ADSP SHARC串行口的功能 (1)每個串行口都有獨立的發(fā)送與接收通道,能夠同時進(jìn)行全雙工

49、收/發(fā)數(shù)據(jù); (2)為與外設(shè)接口雙向通信提供了6條或者8條簡捷的硬件連接線; (3)具有雙數(shù)據(jù)緩沖結(jié)構(gòu); (4)發(fā)送或者接收數(shù)據(jù)時,有集成的可選硬件壓擴(A律或u律)功能;ADSP SHARC串行口的功能續(xù)(5)能實現(xiàn)與內(nèi)部處理器間在ADSP核控制下的中斷觸發(fā)的單字傳輸;(6)每個串行口都支持兩種傳輸模式:DMA塊傳輸和單字傳輸,實現(xiàn)串行口與內(nèi)部存儲器間的數(shù)據(jù)發(fā)送或接收;(7)支持多種操作模式:標(biāo)準(zhǔn)模式、IZS模式和TDM接口的多通道模式;(8)可編程實現(xiàn)332位數(shù)據(jù)傳輸,可以先傳高位或者先傳低位ADSP21160的串行口內(nèi)部結(jié)構(gòu)圖串行口的引腳描述ADSP21160每個串行口共有6個引腳如下:

50、串行口控制寄存器和數(shù)據(jù)緩沖表串行口控制寄存器和數(shù)據(jù)緩沖表續(xù)串行口發(fā)送和接收控制寄存器串口模式的設(shè)置:從上面的表格可以了解到(1)串口控制寄存器是IOP寄存器;(2)對于每一個串行口都有自己一套獨立的控制寄存器,可以利用處理器核寄存器對這些寄存器進(jìn)行讀寫;注: (1對串口寄存器寫入新的值存在一個周期的延遲, (2對于串行口的使能,要經(jīng)過兩個輸入時鐘周期,串行口才能開始發(fā)送或接收數(shù)據(jù)。串行口發(fā)送控制寄存器STCTLx位定義表在標(biāo)準(zhǔn)模式下數(shù)據(jù)格式:在標(biāo)準(zhǔn)模式下數(shù)據(jù)格式: 在多通道模式下數(shù)據(jù)格式:在多通道模式下數(shù)據(jù)格式: 串行口發(fā)送控制寄存器STCTLx位定義表續(xù)TFSDIVTCLKf 1ADSP串行

51、口設(shè)計和編程注意事項 注意1,我們在編程時,首先是設(shè)置控制寄存器,使能同步串行口傳輸,然后如果是發(fā)送數(shù)據(jù),只需把數(shù)據(jù)送入TX緩沖區(qū);如果是接收數(shù)據(jù)是從RX緩沖區(qū)取數(shù)。 注意2,DSP的SPORT不是我們學(xué)習(xí)IBM PC硬件接口電路時所講的UART,所以不能直接和一個RS232設(shè)備通訊。 注意,有兩種方法可以復(fù)位SPORT串行口。一種是利用RESET引腳硬件復(fù)位法,另一種是通過對STCTLx和SRCTLx寄存器中串行口使能位SPEN位的清零,進(jìn)行軟件復(fù)位SPORT串行口。 串口模式的設(shè)置串口模式的設(shè)置 首先串口控制寄存器是首先串口控制寄存器是IOPIOP寄存器寄存器( (存儲器映射存儲器映射寄存

52、器,所以不能直接和存儲器交換數(shù)據(jù),須寄存器,所以不能直接和存儲器交換數(shù)據(jù),須處理器核寄存器作為中介處理器核寄存器作為中介) ),對于每一個串行,對于每一個串行口都有自己一套獨立的控制寄存器,可以利用口都有自己一套獨立的控制寄存器,可以利用處理器核寄存器對這些寄存器進(jìn)行讀寫,但應(yīng)處理器核寄存器對這些寄存器進(jìn)行讀寫,但應(yīng)注意的是,對這些寄存器寫入新的值存在一個注意的是,對這些寄存器寫入新的值存在一個周期的延遲,對于串行口的使能,要經(jīng)過兩個周期的延遲,對于串行口的使能,要經(jīng)過兩個輸入時鐘周期,串行口才能開始發(fā)送或接收數(shù)輸入時鐘周期,串行口才能開始發(fā)送或接收數(shù)據(jù)。據(jù)。 串行口的應(yīng)用編程串行口的應(yīng)用編程

53、 串行口的應(yīng)用編程,關(guān)鍵就是對發(fā)送控串行口的應(yīng)用編程,關(guān)鍵就是對發(fā)送控制寄存器制寄存器STCTLxSTCTLx和接收控制寄存器和接收控制寄存器SRCTLxSRCTLx的設(shè)置,上述兩個寄存器的的設(shè)置,上述兩個寄存器的位除位除21212828有所不同外,基本上相對應(yīng)。有所不同外,基本上相對應(yīng)。當(dāng)需要重新設(shè)定串行口的操作模式時,當(dāng)需要重新設(shè)定串行口的操作模式時,應(yīng)首先將串行口控制寄存器清零,然后應(yīng)首先將串行口控制寄存器清零,然后再寫入新的控制數(shù)據(jù)。再寫入新的控制數(shù)據(jù)。串行口發(fā)送、接收時鐘頻率計算公式fRCLK 串行口接收時鐘頻率 ; fTCLK 串行口接收時鐘頻率 TCLKDIV發(fā)送分頻系數(shù); RC

54、LKDIV接收分頻系數(shù)fCCLK 處理器核時鐘頻率;串口幀同步頻率 (1)每來一個時鐘脈沖,就會傳輸1位數(shù)據(jù)。 (2)在每個字或者數(shù)據(jù)塊發(fā)送或者接收的開始,串口要產(chǎn)生幀發(fā)送同步信號TFSx或者RFSx。 (3)內(nèi)部產(chǎn)生幀同步信號可以通過配置TDIVx和RDIVx寄存器的TFSDIV,RFSDlV位來設(shè)定幀同步信號的頻率。 (4)幀同步分頻系數(shù)表示有多個接收發(fā)送時鐘就產(chǎn)生一個幀同步脈沖TFS或RFS。幀同步頻率計算公式fTFS 發(fā)送幀同步頻率; fRFS 接收幀同步頻率fTCLK 串行口發(fā)送時鐘頻率; fRCLK 串行口接收時鐘頻率TFSDIV發(fā)幀同步分頻系數(shù); TFSDIV收送幀同步分頻系數(shù)

55、1.串口發(fā)送控制寄存器配置舉例SPEN=1 串口使能DTYPE00(b)標(biāo)準(zhǔn)模式,數(shù)據(jù)采用右對齊,未用的高位填0SENDN=0 先傳高位數(shù)據(jù)SLEN01111 串行數(shù)據(jù)長度選擇,字寬15116位字長PACK0 不使能16位到32位數(shù)據(jù)字打包ICLK1 內(nèi)部產(chǎn)生傳輸時鐘CKRE1 采樣數(shù)據(jù)/幀同步信號的時鐘邊沿選擇,1上升沿有效TFSR1 每個發(fā)送字都有幀同步信號ITFS1 內(nèi)部產(chǎn)生幀同步 1.串口發(fā)送控制寄存器配置舉例續(xù)根據(jù)上述要求編寫如下語句:根據(jù)上述要求編寫如下語句: r00 x000274f1; dm(STCTL0)=r0; 2. 計算串行口發(fā)送時鐘頻率計算串行口發(fā)送時鐘頻率fTCLK和

56、發(fā)送幀同步頻率和發(fā)送幀同步頻率fTFS)串口發(fā)送分頻寄存器串口發(fā)送分頻寄存器TDIV0設(shè)置設(shè)置 r0=0 x00110003; dm(TDIV0)=r0;計算串行口發(fā)送時鐘頻率計算串行口發(fā)送時鐘頻率fTCLK和發(fā)送幀同步頻率和發(fā)送幀同步頻率fTFS):):由于寄存器由于寄存器TDIV0被設(shè)置為被設(shè)置為0 x00110003,可以查知,可以查知發(fā)送時鐘分頻系數(shù)發(fā)送時鐘分頻系數(shù)TCLKDIV3,發(fā)送幀同步信號分頻系數(shù),發(fā)送幀同步信號分頻系數(shù)TFSDIV17則根據(jù)串行口的時鐘頻率計算公式求得如下:則根據(jù)串行口的時鐘頻率計算公式求得如下:串行口發(fā)送時鐘頻率串行口發(fā)送時鐘頻率fTCLK=其中其中fccl

57、k表示系統(tǒng)核時鐘表示系統(tǒng)核時鐘同時由公式:同時由公式:TFSDIV得:幀同步頻率得:幀同步頻率fTFS MHz 10M H z0.5555617 1()TCLKf1TFSf串行口操作模式 串行口自環(huán)操作模式:當(dāng)我們將串行口的接收控制寄存器SRCTL的位SPL置1,就將該串行口配置為內(nèi)部自環(huán)連接模式。 標(biāo)準(zhǔn)模式:當(dāng)我們將SRCTLx串口接收控制寄存器的MCE位置0,則串口就工作在標(biāo)準(zhǔn)模式下。標(biāo)準(zhǔn)模式主要用于DSP與其它外設(shè)或ADSP芯片間通訊。 I2S模式:是飛利浦公司提出的一種標(biāo)準(zhǔn)3線串行總線接口協(xié)議,用于傳輸兩通道的脈沖編碼調(diào)制數(shù)字信號。 多通道模式:主要是允許串行口在時分復(fù)用的串行系統(tǒng)中進(jìn)行多通道通訊。 ADSP SHARCADSP SHARC系列處理器鏈路口系列處理器鏈路口 ADSPADSP的鏈路口主要是用來實現(xiàn)的鏈路口主要是用來實現(xiàn)DSPDSP和和DSPDSP,DSPDSP和外設(shè)進(jìn)行無縫連接用的,也可以用在和外設(shè)進(jìn)行無縫連接用的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論