PROTEUS仿真用單片機系統(tǒng)板\r\n系統(tǒng)資源豐富:\r\n★ 內(nèi)置RAM 32KB模塊\r\n★ 內(nèi)置8位動態(tài)數(shù)碼顯示模塊\r\n★ 內(nèi)置8X8點陣顯示模塊\r\n★ 4位靜態(tài)數(shù)碼顯示模塊\r\n★ 4位級聯(lián)的74LS164串并轉(zhuǎn)換模塊\r\n★ 內(nèi)置8通道8位A/D轉(zhuǎn)換\r\n★ 內(nèi)置8位D/A轉(zhuǎn)換\r\n★ 內(nèi)置2路SPI和I2C總線接口\r\n★ 內(nèi)置4路1-Wire總線接口\r\n★ 內(nèi)置4X4矩陣式鍵盤\r\n★ 內(nèi)置4路獨立式鍵盤\r\n★ 內(nèi)置4路撥動開關\r\n★ 內(nèi)置8位LED發(fā)光二
上傳時間: 2013-09-30
上傳用戶:sssl
CMOS 邏輯系統(tǒng)的功耗主要與時脈頻率、系統(tǒng)內(nèi)各閘極輸入電容及電源電壓有關,裝置尺寸縮小後,電源電壓也隨之降低,使得閘極大幅降低功耗。這種低電壓裝置擁有更低的功耗和更高的運作速度,因此系統(tǒng)時脈頻率可升高至 Ghz 範圍。
上傳時間: 2013-10-14
上傳用戶:immanuel2006
線性卷積和線性相關的FFT算法:一 實驗目的 1:掌握FFT基2時間(或基2頻率)抽選法,理解其提高減少乘法運算次數(shù)提高運算速度的原理。 2:掌握FFT圓周卷積實現(xiàn)線性卷積的原理 二 實驗內(nèi)容及要求 1.對N=2048或4096點的離散時間信號x(n),試用Matlab語言編程分別以DFT和FFT計算N個頻率樣值X(k), 比較兩者所用時間的大小。 2.對N/2點長的x(n)和N/2點長的h(n),試用Matlab語言編程實現(xiàn)以圓周卷積代替線性卷積,并比較圓周卷積法和直接計算線性卷積兩者的運算速度。 三預做實驗 1.FFT與DFT計算時間的比較 (1)FFT提高運算速度的原理 (2)實驗數(shù)據(jù)與結(jié)論 2.圓周卷積代替線性卷積的有效性實驗 (1)圓周卷積代替線性卷積的原理 (2)實驗數(shù)據(jù)和結(jié)論 FFT提高運算速度的原理 FFT算法將長序列的DFT分解為短序列的DFT。N點的DFT先分解為2個N/2點的DFT,每個N/2點的DFT又分解為N/4點的DFT,等等。最小變換的點數(shù)即所謂的“基數(shù)”。因此,基數(shù)為2的FFT算法的最小變換(或稱蝶型)是2點的DFT。一般地,對N點FFT,對應于N個輸入樣值,有N個頻域樣值與之對應。
上傳時間: 2013-10-26
上傳用戶:erkuizhang
第一章 序論……………………………………………………………6 1- 1 研究動機…………………………………………………………..7 1- 2 專題目標…………………………………………………………..8 1- 3 工作流程…………………………………………………………..9 1- 4 開發(fā)環(huán)境與設備…………………………………………………10 第二章 德州儀器OMAP 開發(fā)套件…………………………………10 2- 1 OMAP介紹………………………………………………………10 2-1.1 OMAP是什麼?…….………………………………….…10 2-1.2 DSP的優(yōu)點……………………………………………....11 2- 2 OMAP Architecture介紹………………………………………...12 2-2-1 OMAP1510 硬體架構(gòu)………………………………….…12 2-2.2 OMAP1510軟體架構(gòu)……………………………………...12 2-2.3 DSP / BIOS Bridge簡述…………………………………...13 2- 3 TI Innovator套件 -- OMAP1510 ……………………………..14 2-2.1 General Purpose processor -- ARM925T………………...14 2-2.2 DSP processor -- TMS320C55x …………………………15 2-2.3 IDE Tool – CCS …………………………………………15 2-2.4 Peripheral ………………………………………………..16 第三章 在OMAP1510上建構(gòu)Embedded Linux System…………….17 3- 1 嵌入式工具………………………………………………………17 3-1.1 嵌入式程式開發(fā)與一般程式開發(fā)之不同………….….17 3-1.2 Cross Compiling的GNU工具程式……………………18 3-1.3 建立ARM-Linux Cross-Compiling 工具程式………...19 3-1.4 Serial Communication Program………………………...20 3- 2 Porting kernel………………………………………………….…21 3-2.1 Setup CCS ………………………………………….…..21 3-2.2 編譯及上傳Loader…………………………………..…23 3-2.3 編譯及上傳Kernel…………………………………..…24 3- 3 建構(gòu)Root File System………………………………………..…..26 3-3.1 Flash ROM……………………………………………...26 3-3.2 NFS mounting…………………………………………..27 3-3.3 支援NFS Mounting 的kernel…………………………..27 3-3.4 提供NFS Mounting Service……………………………29 3-3.5 DHCP Server……………………………………………31 3-3.6 Linux root 檔案系統(tǒng)……………………………….…..32 3- 4 啟動及測試Innovator音效裝置…………………………..…….33 3- 5 建構(gòu)支援DSP processor的環(huán)境…………………………...……34 3-5.1 Solution -- DSP Gateway簡介……………………..…34 3-5.2 DSP Gateway運作架構(gòu)…………………………..…..35 3- 6 架設DSP Gateway………………………………………….…36 3-6.1 重編kernel……………………………………………...36 3-6.2 DEVFS driver…………………………………….……..36 3-6.3 編譯DSP tool和API……………………………..…….37 3-6.4 測試……………………………………………….…….37 第四章 MP3 Player……………………………………………….…..38 4- 1 MP3 介紹………………………………………………….…….38 4- 2 MP3 壓縮原理……………………………………………….….39 4- 3 Linux MP3 player – splay………………………………….…….41 4.3-1 splay介紹…………………………………………….…..41 4.3-2 splay 編譯………………………………………….…….41 4.3-3 splay 的使用說明………………………………….……41 第五章 程式改寫………………………………………………...…...42 5-1 程式評估與改寫………………………………………………...…42 5-1.1 Inter-Processor Communication Scheme…………….....42 5-1.2 ARM part programming……………………………..…42 5-1.3 DSP part programming………………………………....42 5-2 程式碼………………………………………………………..……43 5-3 雙處理器程式開發(fā)注意事項…………………………………...…47 第六章 效能評估與討論……………………………………………48 6-1 速度……………………………………………………………...48 6-2 CPU負載………………………………………………………..49 6-3 討論……………………………………………………………...49 6-3.1分工處理的經(jīng)濟效益………………………………...49 6-3.2音質(zhì)v.s 浮點與定點運算………………………..…..49 6-3.3 DSP Gateway架構(gòu)的限制………………………….…50 6-3.4減少IO溝通……………….………………………….50 6-3.5網(wǎng)路掛載File System的Delay…………………..……51 第七章 結(jié)論心得…
上傳時間: 2013-10-14
上傳用戶:a471778
抽樣z變換頻率抽樣理論:我們將先闡明:(1)z變換與DFT的關系(抽樣z變換),在此基礎上引出抽樣z變換的概念,并進一步深入討論頻域抽樣不失真條件。(2)頻域抽樣理論(頻域抽樣不失真條件)(3)頻域內(nèi)插公式一、z變換與DFT關系(1)引入連續(xù)傅里葉變換引出離散傅里葉變換定義式。離散傅里葉變換看作是序列的傅里葉變換在 頻 域 再 抽 樣 后 的 變 換 對.在Z變換與L變換中,又可了解到序列的傅里葉 變換就是單位圓上的Z 變 換.所以對序列的傅里葉變換進行頻域抽樣時, 自 然可以看作是對單位圓上的 Z變換進行抽樣. (2)推導Z 變 換 的 定 義 式 (正 變 換) 重 寫 如 下: 取z=ejw 代 入 定 義 式, 得 到 單 位 圓 上 Z 變 換 為w是 單 位 圓 上 各 點 的 數(shù) 字 角 頻 率.再 進 行 抽 樣-- N 等 分.這 樣w=2kπ/N, 即w值為0,2π/N,4π/N,6π/N…, 考慮到x(n)是N點有限長序列, 因而n只需0~N-1即可。將w=2kπ/N代入并改變上下限, 得 則這正是離散傅里葉變換 (DFT)正變換定義式.
上傳時間: 2014-12-28
上傳用戶:zhaistone
將正數(shù)n插入一個已整序的字數(shù)組的正確位置。算法: 將數(shù)組中數(shù)逐個與N比較,Si為指針若N<Ki,則Ki下移一個單元若NKi,則插在Ki的下一個單元,并結(jié)束臨界條件:若NKn,則插入Kn的下一個單元若N<K1,則K1~Kn后移一個單元, N插在第一個單元循環(huán)控制:計數(shù)控制元素個數(shù)=((字末地址-字首地址) / 2) +1 字數(shù) = (字節(jié)末地址-字節(jié)首地址) +1 字節(jié)數(shù)地址邊界控制結(jié)束地址為ARRAY_HEAD特征值控制: 表示結(jié)束條件的值
上傳時間: 2013-12-26
上傳用戶:haiya2000
九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現(xiàn)任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權(quán)級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現(xiàn)輸入/輸出保護。 1.I/O敏感指令輸入輸出特權(quán)級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關的指令和訪問I/O空間中所有地址的最外層特權(quán)級。IOPL的值在如下圖所示的標志寄存器中。 標 志寄存器 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)級執(zhí)行的程序所訪問。I/O許可位圖在任務狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數(shù)據(jù) CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當前特權(quán)級不在I/O特權(quán)級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當特權(quán)級在I/O特權(quán)級外層時,執(zhí)行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權(quán)級3執(zhí)行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發(fā)生沖突,從而避免任務甲和任務乙使用使用獨享設備時發(fā)生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權(quán)級執(zhí)行的程序訪問;否則對應的I/O地址m只能由在IOPL特權(quán)級或更內(nèi)層特權(quán)級執(zhí)行的程序訪問。如果在I/O外層特權(quán)級執(zhí)行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節(jié)進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據(jù)I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執(zhí)行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數(shù)目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數(shù)總被認為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內(nèi)偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節(jié),所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節(jié)為TSS的固定格式,用于保存任務的狀態(tài)。 1.I/O訪問許可檢查細節(jié)保護模式下處理器在執(zhí)行I/O指令時進行許可檢查的細節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進行與運算,若結(jié)果不為0表示檢查未通過,則產(chǎn)生出錯碼為0的通用保護故障;(8)進行I/O訪問。設某一任務的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對應I/O端口00H—3FH DB 10000000B ;對應I/O端口40H—47H DB 01100000B ;對用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對應I/O端口50H—0FFFFH DB 0FFH ;位圖結(jié)束字節(jié)TSSLen = $TSSSEG ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會引起通用保護異常: in al,21h ;(1)正常執(zhí)行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實行 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許可檢查的細節(jié)可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節(jié)。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節(jié)的最高位,高位是下一個字節(jié)的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節(jié)。另一方面,最多檢查四個連續(xù)的位,即最多也只需讀取兩個字節(jié)。所以每次要讀取兩個字節(jié)。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時產(chǎn)生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節(jié),于是對較小I/O地址訪問的許可檢查根據(jù)位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發(fā)生字節(jié)越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節(jié)約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現(xiàn)輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權(quán)級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級下對這三個字段的處理情況。 不同特權(quán)級對標志寄存器特殊字段的處理 特權(quán)級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權(quán)級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內(nèi)層特權(quán)級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級不滿足上述條件的情況下,當執(zhí)行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過任務門調(diào)用任務,實現(xiàn)任務嵌套。 1.演示步驟實例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權(quán)級是0;(4)通過任務門調(diào)用測試任務1。測試任務1能夠順利進行;(5)通過任務門調(diào)用測試任務2。測試任務2演示由于違反I/O許可位圖規(guī)定而導致通用保護異常;(6)通過任務門調(diào)用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調(diào)用測試任務4。測試任務4演示特權(quán)指令如何引起通用保護異常;(8)從演示代碼轉(zhuǎn)臨時代碼,準備返回實模式;(9)返回實模式,并作結(jié)束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy
本文將探討微控制器與 PSoC (可編程系統(tǒng)單晶片)在數(shù)位電視應用上的設計挑戰(zhàn),並比較微控制器和 PSoC 架構(gòu)在處理這些挑戰(zhàn)時的不同處,以有效地建置執(zhí)行。
上傳時間: 2013-11-22
上傳用戶:gengxiaochao
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_藥品庫存_藥品資料]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[藥品庫存] DROP CONSTRAINT FK_藥品庫存_藥品資料 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_門診劃價明細_門診劃價]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[門診劃價明細] DROP CONSTRAINT FK_門診劃價明細_門診劃價 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_門診掛號_門診掛號類型]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[門診掛號] DROP CONSTRAINT FK_門診掛號_門診掛號類型 GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[產(chǎn)地]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[產(chǎn)地] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[醫(yī)生資料]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[醫(yī)生資料]
標簽: 信息管理系統(tǒng) 源代碼
上傳時間: 2013-11-12
上傳用戶:sunshie
Cantor 表問題: 問題描述: 把分子和分母均小于108 的分數(shù)按下面的辦法排成一個數(shù)表。 1/1 1/2 1/3 1/4 1/5 ... 2/1 2/2 2/3 2/4 2/5 ... 3/1 3/2 3/3 3/4 3/5 ... 4/1 4/2 4/3 4/4 4/5 ... 5/1 5/2 5/3 5/4 5/5 ... ... ... 我們以Z 方形方法給上表的每項編號。第一項是1/1,第二項是1/2, 然后是2/1,3/1,2/2,1/3,1/4,2/3,3/2,4/1,5/1,4/2,...... 要求:對于給定的輸入的編號N(0<N<10000),能夠輸出其中的第N 項。 如: 輸入N = 7; 輸出1/4。
上傳時間: 2015-02-14
上傳用戶:hasan2015