九.輸入/輸出保護(hù)為了支持多任務(wù),80386不僅要有效地實(shí)現(xiàn)任務(wù)隔離,而且還要有效地控制各任務(wù)的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護(hù)。 這里下載本文源代碼。 <一>輸入/輸出保護(hù)80386采用I/O特權(quán)級(jí)IPOL和I/O許可位圖的方法來(lái)控制輸入/輸出,實(shí)現(xiàn)輸入/輸出保護(hù)。 1.I/O敏感指令輸入輸出特權(quán)級(jí)(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪(fǎng)問(wèn)I/O空間中所有地址的最外層特權(quán)級(jí)。IOPL的值在如下圖所示的標(biāo)志寄存器中。 標(biāo) 志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規(guī)定了I/O空間中的哪些地址可以由在任何特權(quán)級(jí)執(zhí)行的程序所訪(fǎng)問(wèn)。I/O許可位圖在任務(wù)狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護(hù)方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設(shè)置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數(shù)據(jù) CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫(xiě)數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫(xiě)字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱(chēng)為I/O敏感指令,由于這些指令與I/O有關(guān),并且只有在滿(mǎn)足所列條件時(shí)才可以執(zhí)行,所以把它們稱(chēng)為I/O敏感指令。從表中可見(jiàn),當(dāng)前特權(quán)級(jí)不在I/O特權(quán)級(jí)外層時(shí),可以正常執(zhí)行所列的全部I/O敏感指令;當(dāng)特權(quán)級(jí)在I/O特權(quán)級(jí)外層時(shí),執(zhí)行CLI和STI指令將引起通用保護(hù)異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪(fǎng)問(wèn)的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿(mǎn)足而執(zhí)行,那么將引起出錯(cuò)碼為0的通用保護(hù)異常。 由于每個(gè)任務(wù)使用各自的EFLAGS值和擁有自己的TSS,所以每個(gè)任務(wù)可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實(shí)模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿(mǎn)足實(shí)際要求需要。因?yàn)檫@樣做會(huì)使得在特權(quán)級(jí)3執(zhí)行的應(yīng)用程序要么可訪(fǎng)問(wèn)所有I/O地址,要么不可訪(fǎng)問(wèn)所有I/O地址。實(shí)際需要與此剛好相反,只允許任務(wù)甲的應(yīng)用程序訪(fǎng)問(wèn)部分I/O地址,只允許任務(wù)乙的應(yīng)用程序訪(fǎng)問(wèn)另一部分I/O地址,以避免任務(wù)甲和任務(wù)乙在訪(fǎng)問(wèn)I/O地址時(shí)發(fā)生沖突,從而避免任務(wù)甲和任務(wù)乙使用使用獨(dú)享設(shè)備時(shí)發(fā)生沖突。 因此,在IOPL的基礎(chǔ)上又采用了I/O許可位圖。I/O許可位圖由二進(jìn)制位串組成。位串中的每一位依次對(duì)應(yīng)一個(gè)I/O地址,位串的第0位對(duì)應(yīng)I/O地址0,位串的第n位對(duì)應(yīng)I/O地址n。如果位串中的第位為0,那么對(duì)應(yīng)的I/O地址m可以由在任何特權(quán)級(jí)執(zhí)行的程序訪(fǎng)問(wèn);否則對(duì)應(yīng)的I/O地址m只能由在IOPL特權(quán)級(jí)或更內(nèi)層特權(quán)級(jí)執(zhí)行的程序訪(fǎng)問(wèn)。如果在I/O外層特權(quán)級(jí)執(zhí)行的程序訪(fǎng)問(wèn)位串中位值為1的位所對(duì)應(yīng)的I/O地址,那么將引起通用保護(hù)異常。 I/O地址空間按字節(jié)進(jìn)行編址。一條I/O指令最多可涉及四個(gè)I/O地址。在需要根據(jù)I/O位圖決定是否可訪(fǎng)問(wèn)I/O地址的情況下,當(dāng)一條I/O指令涉及多個(gè)I/O地址時(shí),只有這多個(gè)I/O地址所對(duì)應(yīng)的I/O許可位圖中的位都為0時(shí),該I/O指令才能被正常執(zhí)行,如果對(duì)應(yīng)位中任一位為1,就會(huì)引起通用保護(hù)異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進(jìn)制位串最大長(zhǎng)度是64K個(gè)位,即位圖的有效部分最大為8K字節(jié)。一個(gè)任務(wù)實(shí)際需要使用的I/O許可位圖大小通常要遠(yuǎn)小于這個(gè)數(shù)目。 當(dāng)前任務(wù)使用的I/O許可位圖存儲(chǔ)在當(dāng)前任務(wù)TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲(chǔ),所以位串所含的位數(shù)總被認(rèn)為是8的倍數(shù)。從前文中所述的TSS格式可見(jiàn),TSS內(nèi)偏移66H的字確定I/O許可位圖的開(kāi)始偏移。由于I/O許可位圖最長(zhǎng)可達(dá)8K字節(jié),所以開(kāi)始偏移應(yīng)小于56K,但必須大于等于104,因?yàn)門(mén)SS中前104字節(jié)為T(mén)SS的固定格式,用于保存任務(wù)的狀態(tài)。 1.I/O訪(fǎng)問(wèn)許可檢查細(xì)節(jié)保護(hù)模式下處理器在執(zhí)行I/O指令時(shí)進(jìn)行許可檢查的細(xì)節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開(kāi)始偏移;(3)計(jì)算I/O地址對(duì)應(yīng)位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計(jì)算位偏移以形成屏蔽碼值,即計(jì)算I/O地址對(duì)應(yīng)位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開(kāi)始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯(cuò)碼為0的通用保護(hù)故障;(6)若不越界,則從位圖中讀對(duì)應(yīng)字節(jié)及下一個(gè)字節(jié);(7)把讀出的兩個(gè)字節(jié)與屏蔽碼進(jìn)行與運(yùn)算,若結(jié)果不為0表示檢查未通過(guò),則產(chǎn)生出錯(cuò)碼為0的通用保護(hù)故障;(8)進(jìn)行I/O訪(fǎng)問(wèn)。設(shè)某一任務(wù)的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對(duì)應(yīng)I/O端口00H—3FH DB 10000000B ;對(duì)應(yīng)I/O端口40H—47H DB 01100000B ;對(duì)用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對(duì)應(yīng)I/O端口50H—0FFFFH DB 0FFH ;位圖結(jié)束字節(jié)TSSLen = $TSSSEG ENDS 再假設(shè)IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會(huì)引起通用保護(hù)異常: in al,21h ;(1)正常執(zhí)行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實(shí)行 out 4eh,al ;(4)引起異常 in al,20h ;(5)正常執(zhí)行 out 20h,eax ;(6)正常執(zhí)行 out 4ch,ax ;(7)引起異常 in ax,46h ;(8)引起異常 in eax,42h ;(9)正常執(zhí)行 由上述I/O許可檢查的細(xì)節(jié)可見(jiàn),不論是否必要,當(dāng)進(jìn)行許可位檢查時(shí),80386總是從I/O許可位圖中讀取兩個(gè)字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個(gè)字節(jié)。例如,上面的第(8)條指令要對(duì)I/O位圖中的兩個(gè)位進(jìn)行檢查,其低位是某個(gè)字節(jié)的最高位,高位是下一個(gè)字節(jié)的最低位。可見(jiàn)即使只要檢查兩個(gè)位,也可能需要讀取兩個(gè)字節(jié)。另一方面,最多檢查四個(gè)連續(xù)的位,即最多也只需讀取兩個(gè)字節(jié)。所以每次要讀取兩個(gè)字節(jié)。這也是在判別是否越界時(shí)再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時(shí)產(chǎn)生越界,必須在I/O許可位圖的最后填加一個(gè)全1的字節(jié),即0FFH。此全1的字節(jié)應(yīng)填加在最后一個(gè)位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開(kāi)始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當(dāng)TSS的界限大于I/O許可位圖開(kāi)始偏移加8K時(shí),I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進(jìn)行。當(dāng)TSS的界限不大于I/O許可位圖開(kāi)始偏移加8K時(shí),I/O許可位圖有效部分就不到8K字節(jié),于是對(duì)較小I/O地址訪(fǎng)問(wèn)的許可檢查根據(jù)位圖進(jìn)行,而對(duì)較大I/O地址訪(fǎng)問(wèn)的許可檢查總被認(rèn)為不可訪(fǎng)問(wèn)而引起通用保護(hù)故障。因?yàn)檫@時(shí)會(huì)發(fā)生字節(jié)越界而引起通用保護(hù)異常,所以在這種情況下,可認(rèn)為不足的I/O許可位圖的高端部分全為1。利用這個(gè)特點(diǎn),可大大節(jié)約TSS中I/O許可位圖占用的存儲(chǔ)單元,也就大大減小了TSS段的長(zhǎng)度。 <二>重要標(biāo)志保護(hù)輸入輸出的保護(hù)與存儲(chǔ)在標(biāo)志寄存器EFLAGS中的IOPL密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實(shí)現(xiàn)輸入輸出保護(hù)。類(lèi)似地,對(duì)EFLAGS中的IF位也必須加以保護(hù),否則CLI和STI作為敏感指令對(duì)待是無(wú)意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對(duì)EFLAGS中的這三個(gè)字段的處理比較特殊,只有在較高特權(quán)級(jí)執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級(jí)下對(duì)這三個(gè)字段的處理情況。 不同特權(quán)級(jí)對(duì)標(biāo)志寄存器特殊字段的處理 特權(quán)級(jí) VM標(biāo)志字段 IOPL標(biāo)志字段 IF標(biāo)志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見(jiàn),只有在特權(quán)級(jí)0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對(duì)于IOPL同級(jí)或更內(nèi)層特權(quán)級(jí)執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級(jí)不滿(mǎn)足上述條件的情況下,當(dāng)執(zhí)行POPF指令和IRET指令時(shí),如果試圖修改這些字段中的任何一個(gè)字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標(biāo)志中的VM位總為0。 <三>演示輸入輸出保護(hù)的實(shí)例(實(shí)例九)下面給出一個(gè)用于演示輸入輸出保護(hù)的實(shí)例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過(guò)任務(wù)門(mén)調(diào)用任務(wù),實(shí)現(xiàn)任務(wù)嵌套。 1.演示步驟實(shí)例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實(shí)模式下做必要準(zhǔn)備后,切換到保護(hù)模式;(2)進(jìn)入保護(hù)模式的臨時(shí)代碼段后,把演示任務(wù)的TSS段描述符裝入TR,并設(shè)置演示任務(wù)的堆棧;(3)進(jìn)入演示代碼段,演示代碼段的特權(quán)級(jí)是0;(4)通過(guò)任務(wù)門(mén)調(diào)用測(cè)試任務(wù)1。測(cè)試任務(wù)1能夠順利進(jìn)行;(5)通過(guò)任務(wù)門(mén)調(diào)用測(cè)試任務(wù)2。測(cè)試任務(wù)2演示由于違反I/O許可位圖規(guī)定而導(dǎo)致通用保護(hù)異常;(6)通過(guò)任務(wù)門(mén)調(diào)用測(cè)試任務(wù)3。測(cè)試任務(wù)3演示I/O敏感指令如何引起通用保護(hù)異常;(7)通過(guò)任務(wù)門(mén)調(diào)用測(cè)試任務(wù)4。測(cè)試任務(wù)4演示特權(quán)指令如何引起通用保護(hù)異常;(8)從演示代碼轉(zhuǎn)臨時(shí)代碼,準(zhǔn)備返回實(shí)模式;(9)返回實(shí)模式,并作結(jié)束處理。
標(biāo)簽: 匯編 保護(hù)模式 教程
上傳時(shí)間: 2013-12-11
上傳用戶(hù):nunnzhy
影響單片機(jī)系統(tǒng)運(yùn)行穩(wěn)定性的因素可大體分為外因和內(nèi)因兩部分1. 外因 射頻干擾它是以空間電磁場(chǎng)的形式傳遞在機(jī)器內(nèi)部的導(dǎo)體引線(xiàn)或零件引腳感生出相應(yīng)的干擾可通過(guò)電磁屏蔽和合理的布線(xiàn)/器件布局衰減該類(lèi)干擾 電源線(xiàn)或電源內(nèi)部產(chǎn)生的干擾它是通過(guò)電源線(xiàn)或電源內(nèi)的部件耦合或直接傳導(dǎo)可通過(guò)電源濾波隔離等措施來(lái)衰減該類(lèi)干擾2. 內(nèi)因 振蕩源的穩(wěn)定性主要由起振時(shí)間頻率穩(wěn)定度和占空比穩(wěn)定度決定起振時(shí)間可由電路參數(shù)整定穩(wěn)定度受振蕩器類(lèi)型溫度和電壓等參數(shù)影響 復(fù)位電路的可靠性
標(biāo)簽: 51單片機(jī) 復(fù)位電路 分
上傳時(shí)間: 2013-10-24
上傳用戶(hù):AbuGe
一概述影響單片機(jī)系統(tǒng)運(yùn)行穩(wěn)定性的因素可大體分為外因和內(nèi)因兩部分1. 外因 射頻干擾它是以空間電磁場(chǎng)的形式傳遞在機(jī)器內(nèi)部的導(dǎo)體引線(xiàn)或零件引腳感生出相應(yīng)的干擾可通過(guò)電磁屏蔽和合理的布線(xiàn)/器件布局衰減該類(lèi)干擾 電源線(xiàn)或電源內(nèi)部產(chǎn)生的干擾它是通過(guò)電源線(xiàn)或電源內(nèi)的部件耦合或直接傳導(dǎo)可通過(guò)電源濾波隔離等措施來(lái)衰減該類(lèi)干擾2. 內(nèi)因 振蕩源的穩(wěn)定性主要由起振時(shí)間頻率穩(wěn)定度和占空比穩(wěn)定度決定起振時(shí)間可由電路參數(shù)整定穩(wěn)定度受振蕩器類(lèi)型溫度和電壓等參數(shù)影響 復(fù)位電路的可靠性二 復(fù)位電路的可靠性設(shè)計(jì)1. 基本復(fù)位電路復(fù)位電路的基本功能是系統(tǒng)上電時(shí)提供復(fù)位信號(hào)直至系統(tǒng)電源穩(wěn)定后撤銷(xiāo)復(fù)位信號(hào)為可靠起見(jiàn)電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷(xiāo)復(fù)位信號(hào)以防電源開(kāi)關(guān)或電源插頭分-合過(guò)程中引起的抖動(dòng)而影響復(fù)位圖1 所示的RC 復(fù)位電路可以實(shí)現(xiàn)上述基本功能圖3 為其輸入-輸出特性但解決不了電源毛刺A 點(diǎn)和電源緩慢下降電池電壓不足等問(wèn)題而且調(diào)整RC 常數(shù)改變延時(shí)會(huì)令驅(qū)動(dòng)能力變差左邊的電路為高電平復(fù)位有效 右邊為低電平Sm 為手動(dòng)復(fù)位開(kāi)關(guān) Ch 可避免高頻諧波對(duì)電的干擾
標(biāo)簽: 單片機(jī)復(fù)位 電路設(shè)計(jì)
上傳時(shí)間: 2014-01-18
上傳用戶(hù):shanxiliuxu
《數(shù)字信號(hào)處理實(shí)踐方法(第二版)》根據(jù)實(shí)際工程應(yīng)用和具體實(shí)例,詳細(xì)介紹了數(shù)字信號(hào)處理(DSP)領(lǐng)域內(nèi)的基本概念和相關(guān)技術(shù)。全書(shū)共分為14章,首先講解了DSP的基本概念及其應(yīng)用,并從實(shí)際的例子出發(fā),闡述了DSP的一些基本內(nèi)容,如信號(hào)的抽樣、量化及其在實(shí)時(shí)DSP上的內(nèi)涵。然后,作者介紹了離散變換(DFT和FFT),離散時(shí)間信號(hào)與系統(tǒng)分析的工具(z變換),以及DSP的基本運(yùn)算(相關(guān)和卷積),并分析了數(shù)字濾波器設(shè)計(jì)的實(shí)際問(wèn)題?!稊?shù)字信號(hào)處理實(shí)踐方法(第二版)》還介紹了多抽樣率數(shù)字信號(hào)處理、自適應(yīng)數(shù)字濾波器、譜估計(jì)及其分析等現(xiàn)代數(shù)字信號(hào)處理理論,最后討論了通用和專(zhuān)用數(shù)字信號(hào)處理器、定點(diǎn)DSP系統(tǒng)有限字長(zhǎng)效應(yīng)分析及DSP的應(yīng)用和設(shè)計(jì)實(shí)例。另外,書(shū)中還提供了有關(guān)范例和實(shí)驗(yàn)的MATLAB實(shí)現(xiàn)方法。 《數(shù)字信號(hào)處理實(shí)踐方法(第二版)》可作為通信與電子信息類(lèi)專(zhuān)業(yè)高年級(jí)本科生和研究生的教材或教學(xué)參考書(shū),而且對(duì)于相關(guān)學(xué)科的工程技術(shù)人員也具有很好的參考價(jià)值。
標(biāo)簽: 數(shù)字信號(hào)處理 實(shí)踐
上傳時(shí)間: 2013-12-30
上傳用戶(hù):assef
陷波器是無(wú)限沖擊響應(yīng)(IIR)數(shù)字濾波器,該濾波器可以用以下常系數(shù)線(xiàn)性差分方程表示:ΣΣ==−−−=MiNiiiinybinxany01)()()( (1)式中: x(n)和y(n)分別為輸人和輸出信號(hào)序列;和為濾波器系數(shù)。 iaib對(duì)式(1)兩邊進(jìn)行z變換,得到數(shù)字濾波器的傳遞函數(shù)為: ΠΠΣΣ===−=−−−==NiiMiiNiiiMiiipzzzzbzazH1100)()()( (2)式中:和分別為傳遞函數(shù)的零點(diǎn)和極點(diǎn)。 izip由傳遞函數(shù)的零點(diǎn)和極點(diǎn)可以大致繪出頻率響應(yīng)圖。在零點(diǎn)處,頻率響應(yīng)出現(xiàn)極小值;在極點(diǎn)處,頻率響應(yīng)出現(xiàn)極大值。因此可以根據(jù)所需頻率響應(yīng)配置零點(diǎn)和極點(diǎn),然后反向設(shè)計(jì)帶陷數(shù)字濾波器??紤]一種特殊情況,若零點(diǎn)在第1象限單位圓上,極點(diǎn)在單位圓內(nèi)靠近零點(diǎn)的徑向上。為了防止濾波器系數(shù)出現(xiàn)復(fù)數(shù),必須在z平面第4象限對(duì)稱(chēng)位置配置相應(yīng)的共軛零點(diǎn)、共軛極點(diǎn)。 izip∗iz∗ip這樣零點(diǎn)、極點(diǎn)配置的濾波器稱(chēng)為單一頻率陷波器,在頻率ωo處出現(xiàn)凹陷。而把極點(diǎn)設(shè)置在零的的徑向上距圓點(diǎn)的距離為l-μ處,陷波器的傳遞函數(shù)為: ))1()()1(())(()(2121zzzzzzzzzHμμ−−−−−−= (3)式(3)中μ越小,極點(diǎn)越靠近單位圓,則頻率響應(yīng)曲線(xiàn)凹陷越深,凹陷的寬度也越窄。當(dāng)需要消除窄帶干擾而不能對(duì)其他頻率有衰減時(shí),陷波器是一種去除窄帶干擾的理想數(shù)字濾波器。當(dāng)要對(duì)幾個(gè)頻率同時(shí)進(jìn)行帶陷濾波時(shí),可以按(2)式把幾個(gè)單獨(dú)頻率的帶陷濾波器(3)式串接在一起。一個(gè)例子:設(shè)有一個(gè)輸入,它
標(biāo)簽: 數(shù)字 陷波器
上傳時(shí)間: 2013-10-18
上傳用戶(hù):uuuuuuu
一階IIR數(shù)字濾波器時(shí)域?yàn)V波效果模擬tzl1963摘要- 供初學(xué)如何設(shè)計(jì)實(shí)際的數(shù)字濾波器參考。一,基本概念FIR Filter-有限長(zhǎng)單位脈沖響應(yīng)濾波器,傳遞函數(shù):Σ−=−=10)()(NnnznhzH ; (1))(nh是一個(gè)有限長(zhǎng)序列。IIR Filter-無(wú)限長(zhǎng)單位脈沖響應(yīng)濾波器,傳遞函數(shù): ΣΣ=−=−−=NiiNiizbzazH01011)( ; (2)二,沖激響應(yīng)不變法設(shè)模擬濾波器的沖激響應(yīng)是h,取樣周期是T,則它的取樣沖擊響應(yīng)是。又設(shè)數(shù)字濾波器的沖擊響應(yīng)是。如果讓 )(tA)(n)(nThAh)(nh= (3) )(nThA這就是沖激響應(yīng)不變法,物理概念就是讓數(shù)字濾波器的沖激響應(yīng)等于對(duì)應(yīng)的模擬濾波器沖激響應(yīng)的抽樣函數(shù)。模擬濾波器的傳遞函數(shù)是它的沖激函數(shù)的拉氏變換,數(shù)字濾波器的傳遞函數(shù)的它的沖激函數(shù)的z變換。
標(biāo)簽: IIR 數(shù)字濾波器 時(shí)域 濾波
上傳時(shí)間: 2013-11-20
上傳用戶(hù):gaome
ADXL345的詳細(xì)介紹資料 本模塊使用說(shuō)明書(shū)。 本壓縮文件能夠利用角度傳感器對(duì)x,y,z三方的加速度值,角度值進(jìn)行測(cè)量,并集成了1602對(duì)其進(jìn)行顯示。 為了便于使用,我們分別將模塊單獨(dú)化,如果您有使用的意向,可以單獨(dú)摘出 angle.c 引入到您自己新建的工程中。 關(guān)于angle.c文件的內(nèi)部函數(shù)使用說(shuō)明。 首先為了便于使用和方便引用我們對(duì)內(nèi)部函數(shù)進(jìn)行了高度集成化,您在引入angle.c后直接在您的主程序中調(diào)用 dis_data();函數(shù),可完成ADXL345芯片的測(cè)量數(shù)據(jù), 測(cè)量數(shù)據(jù)說(shuō)明: char as_Xjiasu[6],as_Yjiasu[6],as_Zjiasu[6]; //定義3軸靜態(tài)重力加速度值的ASCII碼值 unsigned char as_Xangel[4],as_Yangel[4],as_Zangel[4]; //定義3軸角度值的ASCII碼值 as_Xjiasu[x]數(shù)組里邊我們?yōu)榱四氖褂弥苯訉?加速度值轉(zhuǎn)換成了 能夠直接顯示到 1602上的ASCII碼值,同理as_Xangel 真實(shí)數(shù)據(jù)存放說(shuō)明。 float jiasu_xyz[3]; angel_xyz[3]; //存放X,Y,Z 軸的靜態(tài)重力加速度,角度值 存放了 加速度和角度的真實(shí)值(未經(jīng)轉(zhuǎn)換成ASCII碼的數(shù)據(jù))--本數(shù)據(jù)可以用于其他用途,直接參與MCU內(nèi)部運(yùn)算等。
標(biāo)簽: ADXL 345 快速入門(mén) 范例
上傳時(shí)間: 2013-11-17
上傳用戶(hù):wpwpwlxwlx
設(shè)計(jì)了一種新型結(jié)構(gòu)的體硅工藝梳齒電容式加速度計(jì),該設(shè)計(jì)采用2個(gè)檢測(cè)質(zhì)量塊,分別檢測(cè)水平方向和垂直方向的加速度。x,y水平方向不對(duì)稱(chēng)梳齒的設(shè)計(jì),消除了z軸對(duì)水平軸向加速度的干擾,同時(shí)z軸支撐梁的設(shè)計(jì),解決了水平軸向?qū)軸的干擾。
標(biāo)簽: 電容式 加速度計(jì) 設(shè)計(jì)分析
上傳時(shí)間: 2013-10-13
上傳用戶(hù):1142895891
用MDK 生成bin 文件1用MDK 生成bin 文件Embest 徐良平在RV MDK 中,默認(rèn)情況下生成*.hex 的可執(zhí)行文件,但是當(dāng)我們要生成*.bin 的可執(zhí)行文件時(shí)怎么辦呢?答案是可以使用RVCT 的fromelf.exe 工具進(jìn)行轉(zhuǎn)換。也就是說(shuō)首先將源文件編譯鏈接成*.axf 的文件,然后使用fromelf.exe 工具將*.axf 格式的文件轉(zhuǎn)換成*.bin格式的文件。下面將具體說(shuō)明這個(gè)操作步驟:1. 打開(kāi)Axf_To_Bin 文件中的Axf_To_Bin.uv2 工程文件;2. 打開(kāi)Options for Target ‘Axf_To_Bin’對(duì)話(huà)框,選擇User 標(biāo)簽頁(yè);3. 構(gòu)選Run User Programs After Build/Rebuild 框中的Run #1 多選框,在后邊的文本框中輸入C:\Keil\ARM\BIN31\fromelf.exe --bin -o ./output/Axf_To_Bin.bin ./output/Axf_To_Bin.axf 命令行;4. 重新編譯文件,在./output/文件夾下生成了Axf_To_Bin.bin 文件。在上面的步驟中,有幾點(diǎn)值得注意的是:1. C:\Keil\ARM\BIN31\表示RV MDK 的安裝目錄;2. fromelf.exe 命令的具體語(yǔ)法格式如下:命令的格式為:fromelf [options] input_file命令選項(xiàng)如下:--help 顯示幫助信息--vsn 顯示版本信息--output file 輸出文件(默認(rèn)的輸出為文本格式)--nodebug 在生成的映象中不包含調(diào)試信息--nolinkview 在生成的映象中不包含段的信息二進(jìn)制輸出格式:--bin 生成Plain Binary 格式的文件--m32 生成Motorola 32 位十六進(jìn)制格式的文件--i32 生成Intel 32 位十六進(jìn)制格式的文件--vhx 面向字節(jié)的位十六進(jìn)制格式的文件t--base addr 設(shè)置m32,i32 格式文件的基地址--text 顯示文本信息文本信息的標(biāo)志-v 打印詳細(xì)信息-a 打印數(shù)據(jù)地址(針對(duì)帶調(diào)試信息的映象)-d 打印數(shù)據(jù)段的內(nèi)容-e 打印表達(dá)式表print exception tables-f 打印消除虛函數(shù)的信息-g 打印調(diào)試表print debug tables-r 打印重定位信息-s 打印字符表-t 打印字符串表-y 打印動(dòng)態(tài)段的內(nèi)容-z 打印代碼和數(shù)據(jù)大小的信息
標(biāo)簽: MDK bin 可執(zhí)行文件
上傳時(shí)間: 2013-12-17
介紹這一章介紹ARMTDMI-S 處理器包含以下小節(jié) 關(guān)于ARM7TDMI-S 處理器 ARM7TDMI-S 結(jié)構(gòu) ARM7TDMI-S 模塊內(nèi)核和功能框圖 ARM7TDMI-S 指令集匯總 Rev 3a 和Rev 4 之間的差異1.1 關(guān)于ARM7TDMI-S 處理器ARM7TDMI-S 處理器是ARM 通用32 位微處理器家族的成員之一ARM 處理器具有優(yōu)異的性能但功耗卻很低使用門(mén)的數(shù)量也很少ARM 結(jié)構(gòu)是基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC)原理而設(shè)計(jì)的指令集和相關(guān)的譯碼機(jī)制比復(fù)雜指令集計(jì)算機(jī)要簡(jiǎn)單得多這樣的簡(jiǎn)化實(shí)現(xiàn)了 高的指令吞吐量 出色的實(shí)時(shí)中斷響應(yīng) 小的高性?xún)r(jià)比的處理器宏單元
標(biāo)簽: arm7tdmi
上傳時(shí)間: 2014-12-30
上傳用戶(hù):xiaowei314
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1