亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

以太網(wǎng)收發(fā)器

  • 匯編+保護模式+教程

    九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規定了可以執行所有與I/O相關的指令和訪問I/O空間中所有地址的最外層特權級。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許可位圖規定了I/O空間中的哪些地址可以由在任何特權級執行的程序所訪問。I/O許可位圖在任務狀態段TSS中。 I/O敏感指令 指令 功能 保護方式下的執行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數據 CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數據 CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執行要根據訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級3執行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發生沖突,從而避免任務甲和任務乙使用使用獨享設備時發生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權級執行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執行的程序訪問。如果在I/O外層特權級執行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節內。I/O許可位圖總以字節為單位存儲,所以位串所含的位數總被認為是8的倍數。從前文中所述的TSS格式可見,TSS內偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節,所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節為TSS的固定格式,用于保存任務的狀態。 1.I/O訪問許可檢查細節保護模式下處理器在執行I/O指令時進行許可檢查的細節如下所示。 (1)若CPL<=IOPL,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節中的第幾位;(5)把字節偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節及下一個字節;(7)把讀出的兩個字節與屏蔽碼進行與運算,若結果不為0表示檢查未通過,則產生出錯碼為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           ;位圖結束字節TSSLen                  =       $TSSSEG                  ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執行,有些會引起通用保護異常:                         in      al,21h  ;(1)正常執行                        in      al,47h  ;(2)引起異常                        out     20h,al  ;(3)正常實行                        out     4eh,al  ;(4)引起異常                        in      al,20h  ;(5)正常執行                        out     20h,eax ;(6)正常執行                        out     4ch,ax  ;(7)引起異常                        in      ax,46h  ;(8)引起異常                        in      eax,42h ;(9)正常執行 由上述I/O許可檢查的細節可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節。目的是為了盡快地執行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節的最高位,高位是下一個字節的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節。另一方面,最多檢查四個連續的位,即最多也只需讀取兩個字節。所以每次要讀取兩個字節。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節時產生越界,必須在I/O許可位圖的最后填加一個全1的字節,即0FFH。此全1的字節應填加在最后一個位圖字節之后,TSS界限范圍之前,即讓填加的全1字節在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節,I/O許可檢查全部根據全部根據該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節,于是對較小I/O地址訪問的許可檢查根據位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發生字節越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執行的程序才能執行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0  不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權指令引起的異常;使用段間調用指令CALL通過任務門調用任務,實現任務嵌套。 1.演示步驟實例演示的內容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權級是0;(4)通過任務門調用測試任務1。測試任務1能夠順利進行;(5)通過任務門調用測試任務2。測試任務2演示由于違反I/O許可位圖規定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。

    標簽: 匯編 保護模式 教程

    上傳時間: 2013-12-11

    上傳用戶:nunnzhy

  • 用單片機實現溫度遠程顯示

    用單片機實現溫度遠程顯示摘  要:文章介紹了用AT89S8252單片機的串行接口與智能溫度巡回檢測儀(XJ-08S)通過RS—485總線相互通訊實現熱水溫度遠程顯示的一種低成本解決方案,內容涉及RS—485總線通訊、單片機驅動數碼管顯示、數據轉換以及鍵盤處理軟硬件設計等內容。關鍵詞:單片機  RS—485總線  數碼管顯示  數據轉換  鍵盤處理一、前  言目前檢測溫度一般采用熱電偶或熱敏電阻作為傳感器,這種傳感器至儀表之間一般都要用專用的溫度補償導線,而溫度補償導線價格很貴,并且線路太長也會影響測量精度。在實際應用中往往需要對較遠處(1KM左右)的溫度信號進行監視。現有的解決方案有很多,例如:1、 在現場用智能儀表對溫度信號進行測量,用計算機作上位機與智能儀表進行通訊來實現遠程溫度監測(采用這種方案要增加計算機設備及相關計算機軟件)。2、 NCU+DDC實現遠程溫度監測。用兩個DDC,一個安裝在現場測量溫度,另一個安裝在監視地,兩個DDC通過NCU進行通訊從而實現遠程溫度監測。但以上方案都存在成本高的問題,有沒有低成本的解決方案呢?其實,在單片機應用日益廣泛的今天,完全可以用單片機以極低的成本來實現遠程溫度監測。二、問題的提出我單位管理的鍋爐房同時給兩棟建筑物內的兩家酒店供應蒸汽,由安裝在兩棟建筑物地下室的熱交換器進行熱交換后產生熱水送給客房。從鍋爐房至兩個熱交換站的距離分別約600米,值班人員要不停地奔波于兩個熱交換站與鍋爐房之間進行設備巡視,檢查熱水溫度是否控制在規定的范圍,這樣不僅增加了值班人員的勞動強度,同時也使鍋爐房經常無人(因每班1人值班)。如果能在鍋爐房顯示兩個熱交換站內各熱交換器的熱水溫度,則值班人員僅在熱水溫度異常時才需到各熱交換站檢查設備,這樣便可解決上述問題。我公司曾就此問題找專業公司作過方案,其報價在人民幣10萬元左右,后因種種原因該項目未實施。經過分析,本人發現可以用單片機+智能儀表以低成本實現溫度遠程顯示,并且經過實驗取得了成功,現將設計方案簡述如下:三、控制要求及解決方案選擇 1、 兩個熱交換站分高低區共安裝有8個熱交換器,正常水溫在45oC至65oC之間;兩個熱交換站與鍋爐房的距離分別為500米和600米左右。2、 要求在鍋爐房能以巡回及定點兩種方式顯示8個熱交換器的熱水溫度,巡回方式以3秒為周期輪流更新及顯示各熱交換器熱水溫度。定點方式時每按上鍵或下鍵一次則顯示上或下一個熱交換器熱水溫度,每3秒自動更新數據一次。3、 根據控制要求選擇單片機+智能儀表的解決方案:用帶通訊接口的智能儀表安裝在現場測量溫度,設計制作一個單片機裝置完成與智能儀表的通訊及數據顯示。四、通訊協議、智能儀表選擇及其參數介紹因熱水溫度信號變化較慢,因而對通信的速度要求不高,對于這種低速率遠距離的通訊選用RS-485總線適宜。RS-485是EIA(美國電子工業聯合會)在1983年公布的新的平衡傳輸標準,是工業界使用最為廣泛的雙向、平衡傳輸線標準接口,它以半雙工方式通信,支持多點連接,傳統驅動器允許創建多達32個節點的網絡,且其具有傳輸距離遠(最大傳輸距離為1200M),傳輸速度快(1200M時為100KBPS)等優點。其連接方法如下圖所示。

    標簽: 用單片機 溫度 遠程顯示

    上傳時間: 2013-10-12

    上傳用戶:luopoguixiong

  • 雙單片機數據采集系統中TCPIP網絡模塊的實現

    隨著 微 電 子技術的飛速發展,電子產品越來越微型化,集成化,自動化,低廉化,進而推動著其它許多產業的發展。特別進人21世紀以來,生物技術與電子技術的結合,成為高科技領域的研究熱點。199()年由瑞士的Manz和Widmer首先提出的“微全分析系統”〔’〕(microto talan alysissy stems,即ptTAS),通俗地稱為“建在芯片上的實驗室”(Lab on a chip)或簡稱芯片實驗室(Lab chip),主要組成部分為電泳芯片,同時是進樣,分離和檢測為一體的微型裝置,其在電泳實驗中的高效檢測性能為生物化學分析儀器發展提供了一種借鑒。p.TAS廣泛應用于生物醫學、環境檢測、食品衛生、科學以及國防等眾多領域。目前 應 用 的大多為多通道的毛細管電泳芯片,這也是芯片發展的一個必然趨勢。這不僅對電泳芯片本身的設計和制作提出了更高的要求,也對傳感器和數據處理技術提出了新的挑戰。考慮成本,集成度,控制能力以及可靠性方面的因素,本系統采用單片機作為實時數據處理、控制以及通訊的硬件平臺。如果系統中既有實時的通信任務,同時又有其他實時任務,采用一個廉價的單片機,資源會比較緊張,不僅實現困難,結構復雜,而且效果可能不滿意。而采用高性能的處理器,又浪費了其有效資源,所以本系統采用兩個MCU協同工作,以并行/分布式多機的思想,構成了電泳芯 片核心的雙單片機系統結構。微全 分 析 系 統 進行的多項實時任務,可以劃分為以下 幾個模塊:①采集模塊。負責對外圍檢驗設備進行控 制以及對傳送過來的信號進行采集和分析;②交互模 塊。通過液晶顯示,鍵盤掃描,以及打印等實現實驗人 員對前端采集電路的交互操作;③雙單片機控制和通 信模塊。協調雙單片機之間的數據傳輸和指令傳輸 ;④網絡傳輸模塊。其中一個單片機通過以太網發送接 收數據到上位機。本文提出一種實時多任務的雙單片 機控制和通信系統[31的設計,一個MCU基于TCP /IP網絡模塊的實現。

    標簽: TCPIP 雙單片機 數據采集系統 網絡模塊

    上傳時間: 2013-11-15

    上傳用戶:wangdean1101

  • 基于FPGA的視頻圖像畫面分割器的設計

      系統結構如 圖 1所示 , 從 系統 結 構圖可 以看 出 , 系統主要包括視頻信 號輸入模塊 , 視頻信號處 理模 塊和視頻信號輸出模塊等 3個部分組成。各個模塊主要功能為: 視頻輸入模塊 將 采 集 的 多路 視 頻 信 號 轉 換成 數 字 信 號 送 到F P GA; 視頻處理模塊主要有F P GA 完成 ,根據 需要 對輸入 的數字視頻信號進行處理 ; 視頻輸 出模塊將 F P GA處理后的信號轉換成模擬信號輸出到顯示器。

    標簽: FPGA 視頻圖像 畫面分割器

    上傳時間: 2013-11-11

    上傳用戶:shawvi

  • 基于Actel FPGA的雙端口RAM設計

    基于Actel FPGA 的雙端口RAM 設計雙端口RAM 芯片主要應用于高速率、高可靠性、對實時性要求高的場合,如實現DSP與PCI 總線芯片之間的數據交換接口電路等。但普通雙端口RAM 最大的缺點是在兩個CPU發生競爭時,有一方CPU 必須等待,因而降低了訪問效率。IDT 公司推出的專用雙端口RAM 芯片解決了普通雙端口RAM 內部競爭問題,并融合了中斷、旗語、主從功能。它具有存取速度快、功耗低、可完全異步操作、接口電路簡單等優點,但缺點也非常明顯,那就是價格太昂貴。為解決IDT 專用雙端口RAM 芯片的價格過高問題,廣州致遠電子有限公司推出了一種全新的基于Actel FPGA 的雙端口RAM 的解決方案。該方案采用Actel FPGA 實現,不僅具有IDT 專用雙端口RAM 芯片的所有性能特點,更是在價格上得到了很大改善,以A3P060雙端口RAM 為例,在相同容量(2K 字節)下,其價格僅為IDT 專用芯片的六分之一。

    標簽: Actel FPGA RAM 雙端口

    上傳時間: 2013-10-22

    上傳用戶:blacklee

  • 開放式的無線傳感器網絡節點平臺設計

    無線傳感器網絡是一種應用相關的網絡。不同的應用背景需求不同的無線傳感器網絡節點。硬件的相關性太強不利于向其他平臺移植。為解決該問題,利用硬件的模塊化的設計思想,我們設計了一種開放的可擴展的無線傳感器網絡節點平臺。該平臺以MSP430F5438微處理器作為主控芯片,以CC2420作為射頻控制芯片。實驗證明該平臺具有低功耗、開放式以及可擴展等特點。

    標簽: 開放式 平臺設計 無線傳感器 網絡節點

    上傳時間: 2013-11-08

    上傳用戶:fklinran

  • 基于STM32系列單片機的數控正弦波逆變電源設計

    提出一種高性能全數字式正弦波逆變電源的設計方案。該方案分為前后兩級,前級采用推挽升壓電路將輸入的直流電升壓到350 V左右的母線電壓,后級采用全橋逆變電路,逆變橋輸出經濾波器濾波后,用隔離變壓器進行電壓采樣,電流互感器進行電流采樣,以形成反饋環節,增加電源輸出的穩定性。升壓級PWM驅動及逆變級SPWM驅動均由STM32單片機產生,減小了硬件開支。基于上述方案試制的400 W樣機,具有輸出短路保護、過流保護及輸入過壓保護、欠壓保護功能,50 Hz輸出時頻率偏差小于0.05 Hz,滿載(400 W)效率高于87%,電壓精度為220 V±1%,THD小于1.5%。

    標簽: STM 32 單片機 數控

    上傳時間: 2013-11-17

    上傳用戶:guojin_0704

  • 接/收信機研究

    接收機和收信機指標 接收機, 指標   接收機和收信機的指標差距有靈敏度

    標簽: 收信機

    上傳時間: 2013-10-20

    上傳用戶:aesuser

  • 基于以太網分布式的數據采集控制系統

    針對飛行模擬器座艙數據采集的復雜性,設計了一種基于以太網分布式的數據采集控制系統,該系統是RCM5700微處理器模塊上的以太網應用。在系統的基礎上具體討論了PoE技術的應用,在傳輸數據的網線上同時提供電流,提出并實現了一種包括輔助電源在內的完整可靠的PoE供電方案。設計采用美國國家半導體的LM5073和LM5576并根據不同的負載情況,進行穩定可靠的電壓轉換,以滿足數據采集電路的要求。實驗結果表明:該設計穩定可靠,滿足低于13 W的采集節點供電要求,提高了模擬器信號采集系統的通用性和標準化程度,避免了以往數據采集節點單獨繁瑣的電源設計。 Abstract:  Aiming at the complexity of large avion simulation and controlling,the simulator cabin distribute data collecting and control system was designed. This system is the application of RCM5700 on Ethernet. Based on this system,PoE technique that makes Ethernet can also provide power were expounded with emphasis and included FAUX design the PoE resolution was realized. To achieve the requirement of this system,LM5073 and LM5576 were used to DC-DC switch. From the data of experiment,the design filled the requirement of power-need of node whose power was lower than 13W. The application of the technique can advance the degree of simulation data collections currency and standardization and avoid designing additional power system.

    標簽: 以太網 分布式 數據采集 控制系統

    上傳時間: 2013-11-09

    上傳用戶:xyipie

  • 克服能量采集無線感測器設計挑戰

    無線感測器已變得越來越普及,短期內其開發和部署數量將急遽增加。而無線通訊技術的突飛猛進,也使得智慧型網路中的無線感測器能夠緊密互連。此外,系統單晶片(SoC)的密度不斷提高,讓各式各樣的多功能、小尺寸無線感測器系統相繼問市。儘管如此,工程師仍面臨一個重大的挑戰:即電源消耗。

    標簽: 能量采集 無線感測器

    上傳時間: 2013-10-30

    上傳用戶:wojiaohs

主站蜘蛛池模板: 武功县| 汤阴县| 株洲县| 宜州市| 犍为县| 开封县| 镇巴县| 白玉县| 融水| 夏河县| 秦安县| 沈阳市| 呼玛县| 天峻县| 五原县| 三穗县| 上林县| 泽库县| 通辽市| 三门县| 梓潼县| 长阳| 尤溪县| 白玉县| 虹口区| 南岸区| 神池县| 嘉黎县| 屏南县| 保定市| 德昌县| 监利县| 修武县| 卢氏县| 湟中县| 额敏县| 青田县| 古田县| 炉霍县| 崇信县| 桓仁|