九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與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許可位圖規(guī)定了I/O空間中的哪些地址可以由在任何特權級執(zhí)行的程序所訪問。I/O許可位圖在任務狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護方式下的執(zhí)行條件 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有關,并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執(zhí)行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執(zhí)行要根據訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級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可以由在任何特權級執(zhí)行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執(zhí)行的程序訪問。如果在I/O外層特權級執(zhí)行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節(jié)進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執(zhí)行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節(jié)內。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數總被認為是8的倍數。從前文中所述的TSS格式可見,TSS內偏移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,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節(jié)在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進行與運算,若結果不為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 ;位圖結束字節(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é)時產生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據全部根據該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節(jié),于是對較小I/O地址訪問的許可檢查根據位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發(fā)生字節(jié)越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節(jié)約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執(zhí)行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許可位圖規(guī)定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy
單片機應用技術選編(9) 目錄 第一章 專題論述1.1 集成電路進入片上系統時代(2)1.2 系統集成芯片綜述(10)1.3 Java嵌入技術綜述(18)1.4 Java的線程機制(23)1.5 嵌入式系統中的JTAG接口編程技術(29)1.6 EPAC器件技術概述及應用(37)1.7 VHDL設計中電路簡化問題的探討(42)1.8 8031芯片主要模塊的VHDL描述與仿真(48)1.9 ISP技術在數字系統設計中的應用(59)1.10 單片機單總線技術(64)1.11 智能信息載體iButton及其應用(70)1.12 基于單片機的高新技術產品加密方法探討(76)1.13 新一代私鑰加密標準AES進展與評述(80)1.14 基于單片機的實時3DES加密算法的實現(86)1.15 ATA接口技術(90)1.16 基于IDE硬盤的高速數據存儲器研究(98)1.17 模擬比較器的應用(102) 第二章 綜合應用技術2.1 閃速存儲器硬件接口和程序設計中的關鍵技術(126)2.2 51單片機節(jié)電模式的應用(131)2.3 分布式實時應用的兩個重要問題(137)2.4 分布式運算單元的原理及其實現方法(141)2.5 用PLD器件設計邏輯電路時的競爭冒險現象(147)2.6 IRIG?B格式時間碼解碼接口卡電路設計(150)2.7 一種基于單片機時頻信號處理的實用方法(155)2.8 射頻接收系統晶體振蕩電路的設計與分析(161)2.9 揭開ΣΔ ADC的神秘面紗(166)2.10 過采樣高階A/D轉換器的硬件實現(172)2.11 A/D轉換的計算與編程(176)2.12 一種提高單片機內嵌式A/D分辨力的方法(179)2.13 單片微型計算機多字節(jié)浮點快速相對移位法開平方運算的實現(182)2.14 單片微型計算機多字節(jié)浮點除法快速掃描運算的實現(186)2.15 DSP芯片與觸摸屏的接口控制(188)第三章 操作系統與軟件技術3.1 嵌入式系統中的實時操作系統(192)3.2 嵌入式系統的開發(fā)利器——Windows CE操作系統(197)3.3 介紹一種實時操作系統DSP/BIOS(203)3.4 實時操作系統用于嵌入式應用系統的設計(212)3.5 實時Linux操作系統初探(217)3.6 Linux網絡設備驅動程序分析與設計(223)3.7 在51系列單片機上實現非搶先式消息驅動機制的RTOS(229)3.8 用結構化程序設計思想指導匯編語言開發(fā)(236)3.9 單片機高級語言C51與匯編語言ASM51的通用接口(240)3.10 ASM51無參數化調用C51函數的實現(245)3.11 TMS320C3X的匯編語言和C語言及混合編程技術(249)3.12 TMS320C6000嵌入式系統優(yōu)化編程的研究(254)3.13 TMS320C54X軟件模擬實現UART技術(260)3.14 W78E516及其在系統編程的實現(265)3.15 鍵盤鍵入信號軟件處理方法探討(272)3.16 單片機系統中數字濾波的算法(276)第四章 網絡、通信與數據傳送 4.1 實時單片機通信網絡中的內存管理(284)4.2 CRC16編碼在單片機數據傳輸系統中的實現(288)4.3 在VC++中用ActiveX控件實現與單片機的串行通信(293)4.4 利用Windows API函數構造C++類實現串行通信(298)4.5 用Win32 API實現PC機與多單片機的串行通信(304)4.6 GPS接收機與PC機串行通信技術的開發(fā)與應用(311)4.7 TCP/IP協議問題透析(316)4.8 單片機的MODEM通信(328)4.9 無線串行接口電路設計(335)4.10 通用無線數據傳輸電路設計(340)4.11 FX909在無線高速MODEM中的應用(343)4.12 藍牙——短距離無線連接新技術(348)4.13 藍牙技術——一種短距離的無線連接技術(351)4.14 藍牙芯片及其應用(357)4.15 BlueCoreTM01藍牙芯片的特性與應用(361)4.16 內嵌微控制器的無線數據發(fā)射器的特性及應用(365)第五章 新器件及其應用技術5.1 一種全新結構的微控制器——Triscend E5(372)5.2 PSD8XXF的在系統編程技術(376)5.3 PSD813F1及其接口編程技術(382)5.4 一種優(yōu)越的可編程邏輯器件——ISP器件(387)5.5 ISPPLD原理及其設計應用(393)5.6 ispPAC10在系統可編程模擬電路及其應用(397)5.7 在系統可編程器件ispPAC80及其應用(404)5.8 采用ispLSI1016設計高精度光電碼盤計數器(408)5.9 基于ADμC812的一種儀表開發(fā)平臺(413)5.10 基于P87LPC764的ΣΔ ADC應用設計方法(418)5.11 MP3解碼芯片組及其應用(431)5.12 射頻IC卡E5550原理及應用(434)5.13 HD7279A鍵盤顯示驅動芯片及應用(439)5.14 基于SPI接口的ISD4104系列語音錄放芯片及其應用(444)5.15 解決DS1820通信誤碼問題的方法(450)5.16 數字電位器在測量放大器中的應用(455)第六章 總線及其應用技術6.1 按平臺模式設計的虛擬I2C總線軟件包VIIC(462)6.2 虛擬I2C總線軟件包的開發(fā)及其應用(470)6.3 RS485總線的理論與實踐(479)6.4 RS232至RS485/RS422接口的智能轉換器(484)6.5 實用隔離型RS485通信接口的設計(489)6.6 幾種RS485接口收發(fā)方向轉換方法(495)6.7 LonWorks總線技術及發(fā)展(498)6.8 LonWorks網絡監(jiān)控的簡單實現(505)6.9 現場總線CANbus與RS485之間透明轉換的實現(509)6.10 居室自動化系統中的X10和CE總線(513)6.11 通用串行總線USB(519)6.12 USB2.0技術概述(524)6.13 帶通用串行總線USB接口的單片機EZUSB(530)6.14 嵌入式處理器中的慢總線技術應用(536)6.15 SPI串行總線在單片機8031應用系統中的設計與實現(540)第七章 可靠性及安全性技術7.1 軟件可靠性及其評估(546)7.2 網絡通信中的基本安全技術(554)7.3 數字語音混沌保密通信系統及硬件實現(560)7.4 偽隨機序列及PLD實現在程序和系統加密中的應用(565)7.5 增強單片機系統可靠性的若干措施(569)7.6 FPGA中的空間輻射效應及加固技術(573)7.7 一種雙機備份系統的軟實現(577)7.8 計算機系統容錯技術的應用(581)7.9 容錯系統中的自校驗技術及實現方法(585)7.10 基于MAX110的容錯數據采集系統的設計(589)7.11 冗余式時鐘源電路(593)7.12 微機控制系統的抗干擾技術應用(599)7.13 單片開關電源瞬態(tài)干擾及音頻噪聲抑制技術(604)7.14 單片機應用系統程序運行出軌問題研究(608)7.15 分布式系統故障卷回恢復技術研究與實踐(613)第八章 典型應用實例8.1 基于單片機系統采用DMA塊傳輸方式實現高速數據采集(620)8.2 GPS數據采集卡的設計(624)8.3 一種新型非接觸式IC卡識別系統研究(629)8.4 自適應調整增益的單片機數據采集系統(633)8.5 利用光纖發(fā)射/接收器對實現遠距離高速數據采集(639)8.6 一種頻率編碼鍵盤的設計與實現(645)8.7 高準確度時鐘程序算法(649)8.8 旋轉編碼器的抗抖動計數電路(652)8.9 利用X9241實現高分辨率數控電位器(656)8.10 基于AD2S80A的高精度位置檢測系統及其在機器人控制中的應用(661)第九章 文章摘要一、專題論述(670)1.1 微控制器的發(fā)展趨勢(670)1.2 系統微集成技術的發(fā)展(670)1.3 多芯片組件技術及其應用(671)1.4 MCS51和80C51系列單片機(671)1.5 PSD813器件在單片機系統中的應用(671)1.6 主輔單片機系統的設計及應用(671)1.7 一種雙單片機結構的微機控制器(671)1.8 用PC機直接開發(fā)單片機系統(672)1.9 單片機系統大容量存儲器擴展技術(672)1.10 高性能微處理器性能模型設計(672)1.11 閃速存儲器的選擇與接口(672)1.12 串行存儲器接口的比較及選擇(672)1.13 移位寄存器分析方法的研究(673)1.14 GPS的時頻系統(673)1.15 一種基于C語言的虛擬儀器系統實現方法(673)1.16 智能家庭網絡研究綜述(673)1.17 用C51實現電力部多功能電能表通信規(guī)約(674)1.18 測控系統中采樣數據的預處理(674)1.19 數據采集系統動態(tài)特性的總體評價(674)1.20 一個高速準確的手寫數字識別系統(674)1.21 日本理光實時時鐘集成電路發(fā)展歷史及現狀(675)1.22 單片開關電源的發(fā)展及其應用(675)二、綜合應用技術(676)2.1 MCS51系列單片機在SDH系統中的應用(676)2.2 公共閃存接口在Flash Memory程序設計中的應用(676)2.3 應用IA MMXTM技術的離散余弦變換(676)2.4 串行實時時鐘芯片DS1302程序設計中的問題與對策(676)2.5 數字傳感器及其應用(677)2.6 電阻式溫度傳感器的系列化設計及其應用(677)2.7 溫度傳感器及其與微處理器接口(677)2.8 AD7416數字溫度傳感器及其應用(677)2.9 隔離放大器及其應用(677)2.10 高速A/D轉換器動態(tài)參數(678)2.11 V/F變換在單片機系統中的應用(678)2.12 微處理器內嵌式模數轉換器在精密儀器中的應用研究(678)2.13 電子秤非線性自動修正方法(678)2.14 光耦傳輸的非線性校正(678)2.15 高斯濾波器在實時系統中的快速實現(679)2.16 用在系統可編程模擬器件實現雙二階型濾波器(679)2.17 最小二乘法在高精度溫度測量中的應用(679)2.18 提高實時頻率測量范圍和精度新方法(679)2.19 具有微控制器的智能儀表設計與應用(679)2.20 用C語言編程的數據采集系統(680)2.21 大動態(tài)范圍浮點A/D數據采集器的設計(680)2.22 基于PCI高速數據采集系統(680)2.23 一種基于PC機的高速16位并行數據采集接口(680)2.24 數據采集系統中增強型并行接口(EPP)電路的設計(681)2.25 用增強型并行接口EPP協議擴展計算機的ISA接口(681)2.26 基于增強型并行接口EPP的便攜式高速數據采集系統(681)2.27 增強型并行接口EPP協議及其在CAN監(jiān)控節(jié)點中的應用(681)2.28 利用增強型并行接口協議傳輸圖像文件(681)2.29 用并行接口進行數據采集(682)2.30 高信噪比的VFC/DPLL數據采集裝置(682)2.31 高精度數字式轉速測量系統的研究(682)2.32 用單片機測量相位差的新方法(682)2.33 交流采樣在電力系統中應用(682)2.34 同步圖形存儲器IS42G32256的電源與應用(683)2.35 IBM?PC處理10MHz高速模擬信號的研究(683)2.36 MCS51系列單片機存儲容量擴展方法(683)2.37 用單片機實現數字相位變換器的設計方法(683)2.38 一種新的可重配置的串口擴展方案(683)2.39 VB環(huán)境下對雙端口RAM物理讀寫的實現(684)2.40 雙CPU實現遠程多鍵盤鼠標交互(684)2.41 兩種電阻時間變換器設計與分析(684)2.42 液晶顯示器的接口和編程技巧(684)2.43 一種簡單的電機變頻調速方案及其應用(684)2.44 基于單片機的火控系統符號產生器電路原理設計(685)2.45 A/D轉換器性能的改善方法(685)2.46 快速小波變換算法與信噪分離(685)2.47 80C196MC/MD單片機多個中斷程序的同步問題(685)三、操作系統及軟件技術(686)3.1 嵌入式軟件技術的現狀與發(fā)展動向(686)3.2 什么是嵌入式實時操作系統(686)3.3 實時多任務系統中的一些基本概念(686)3.4 一個源碼公開的實時內核(687)3.5 Windows CE的實時性分析(687)3.6 串口通信多線程實現的分析(687)3.7 基于中間件的開發(fā)研究(688)3.8 Windows 95下實時控制軟件設計的研究(688)3.9 Windows NT 4.0下設備驅動程序的開發(fā)與應用(688)3.10 Windows 98 下硬件中斷驅動程序的開發(fā)(688)3.11 Windows下實時數據采集的實現(688)3.12 Win 95 下虛擬設備驅動程序設計開發(fā)(689)3.13 Win 95 環(huán)境下測控軟件中端口讀寫的快速實現(689)3.14 Linux系統中ARP的編程實現技術(689)3.15 Linux中System V進程通信機制及訪問控制技術的改進(689)3.16 VC++6.0中動態(tài)創(chuàng)建MSComm控件的問題及對策(689)3.17 在Visual Basic下使用I/O接口程序(690)3.18 VB應用程序速度的優(yōu)化技術(690)3.19 嵌入式實時操作系統在機車微機測控軟件開發(fā)中的應用(690)3.20 結構化程序方法在匯編語言中的應用(690)3.21 AVR單片機編程特性的應用研究(690)3.22 一種有效的51系列單片機軟件仿真器(691)3.23 PIC單片機軟件模擬仿真時輸入信號的激勵方式(691)3.24 基于LabVIEW的分布式VXI儀器教學實驗系統設計(691)四、網絡、通信及數據傳輸(692)4.1 單片機網絡的組成與控制(692)4.2 實現ARINC 429數字信息傳輸的方案設計(692)4.3 結合電力線載波和電話通信的報警網絡系統(692)4.4 網絡電子密碼鎖監(jiān)控系統的設計與實現(692)4.5 IRIG?E標準FM?FM解調器的有關技術(693)4.6 基于TCP/IP的多媒體通信實現(693)4.7 基于TCP/IP的多線程通信及其在遠程監(jiān)控系統中的應用(693)4.8 基于Internet的遠程測控技術(693)4.9 Windows 95串行通信的幾種方式及編程(693)4.10 在Windows 95下PC機和單片機的串行通信(693)4.11 基于80C196KC微處理器的高速串行通信(694)4.12 使用PC機并行口與下位單片機通信的方法(694)4.13 雙向并口通信的開發(fā)(694)4.14 DSP和計算機并口的高速數據通信(694)4.15 一種高可靠性的PC機與單片機間的串行通信方法(694)4.16 單片機與PC機串行通信的實現方法(695)4.17 89C51單片機I/O口模擬串行通信的實現方法(695)4.18 TMS320C50與PC機高速串行通信的實現(695)4.19 DSP和PC機的異步串行通信設計(695)4.20 基于MCS單片機與PC機串行通信電平轉換(695)4.21 一種簡單的光電隔離RS232電平轉換接口設計(695)4.22 ISA總線工業(yè)控制機與單片機系統的數據交換(696)4.23 RS232/422/485綜合接口(696)4.24 基于RS485接口的單片機串行通信(696)4.25 在VC++中利用ActiveX控件開發(fā)串行通信程序(696)4.26 上位機和多臺下位機的485通信(696)4.27 計算機與CAN通信的一種方法(697)4.28 用VB語言實現對端口I/O的訪問(697)4.29 異種單片機共享片外存儲器及其與微機通信的方法(697)4.30 單片機與MODEM接口技術及其在智能儀器中的應用研究(697)4.31 采用MCS51單片機實現CPFSK調制(697)4.32 一種新型編碼芯片及其驅動程序的設計方案(698)4.33 DTMF遠程通信的軟硬件實現技術(698)4.34 采用DTMF方式通信的電度表管理系統(698)4.35 基于TAPI的電話語音系統設計方法(698)4.36 語音芯片APR9600及其在電話遙控系統中的應用(699)4.37 串行紅外收發(fā)模塊及其控制器在紅外抄表系統中的應用(699)4.38 HSP50214B PDC及其在軟件無線電中的應用(699)4.39 變速率CDMA系統軟件無線電多用戶接收機(699)五、新器件及應用技術(700)5.1 全幀讀出型面陣CCD光電傳感器在圖像采集中的應用(700)5.2 光電碼盤四倍頻分析(700)5.3 H8/300H系列單片機及其應用(700)5.4 PIC 16F877單片機的鍵盤和LED數碼顯示接口(700)5.5 PIC16F877單片機實現D/A轉換的兩種方法(701)5.6 P89C51RX2 的PCA原理及設計(701)5.7 ADμC812中串口及其應用(701)5.8 INTEL96系列單片機中若干問題的討論(701)5.9 關于INTEL96系列單片機中HSO事件的設置(701)5.10 MAX3100與PIC16C5X系列單片機的接口設計(702)5.11 單片MODEM芯片在遠程數據通信中的應用(702)5.12 MX919在無線高速MODEM中的應用(702)5.13 高速串行數據收發(fā)器CY7B923/933及應用(702)5.14 雙口RAM與FIFO芯片在數據處理系統中應用的比較(702)5.15 MAX202E在串行通信中的應用(703)5.16 線性隔離放大器ISO122的原理及應用(703)5.17 AD606對數放大器的研究與應用(703)5.18 電流/電壓轉換芯片MAX472在永磁直流電動機虛擬測試系統中的應用… (703)5.19 高精度模數轉換器AD676的原理及應用(703)5.20 DS2450 A/D轉換器的特性與應用(704)5.21 80C196KC內部A/D轉換器的使用(704)5.22 一種16~24位分辨率D/A轉換器的設計(704)5.23 串行A/D轉換器TLC2543與TMS320C25的接口及編程(704)5.24 A/D轉換器ICL7135積分特性應用(704)5.25 高精度A/D轉換器AD7711A及應用(705)5.26 多路A/D轉換器AD7714及其與M68HC11單片機接口技術(705)5.27 用AD7755設計的低成本電能表(705)5.28 20位Σ?Δ立體聲ADA電路TLC320AD75C的接口電路設計(705)5.29 24位A/D轉換器ADS1210/1211及其應用(706)5.30 模數轉換器AD7705及其接口電路(706)5.31 串行A/D轉換器ADS7812與單片機的接口技術(706)5.32 串行A/D轉換器TLC548/549及其應用(706)5.33 采樣率可變16通道16位隔離A/D電路(706)5.34 TLC549在交流有效值測量中的應用(707)5.35 溫度傳感器DS18B20的特性及程序設計方法(707)5.36 DS1820及其高精度溫度測量的實現(707)5.37 采用DS1820的電弧爐爐底溫度監(jiān)測系統(707)5.38 并行實時時鐘芯片DS12887及其應用(707)5.39 利用實時時鐘X1203開啟單片機系統(708)5.40 時鐘芯片DS1302及其在數據記錄中的應用(708)5.41 串行顯示驅動器PS7219及與單片機的接口技術(708)5.42 MAX7219在PLC中的應用(708)5.43 一種實用的LED光柱顯示器驅動方法(708)5.44 基于電能測量芯片ADE7756的智能電度表設計(709)5.45 TSS721A在自動抄表系統中的應用(709)5.46 電流傳感放大器MAX471/MAX472的原理及應用(709)5.47 8XC552模數轉換過程及其自動調零機制(709)5.48 旋轉變壓器數字轉換器AD2S83在伺服系統中的應用(709)5.49 具有串行接口的I/O擴展器EM83010及其應用(710)5.50 新型LED驅動器TEC9607及其應用(710)5.51 新型語音識別電路AP7003及其應用(710)六、總線技術(711)6.1 現場總線技術的發(fā)展及應用展望(711)6.2 CAN總線點對點通信應用研究(711)6.3 基于CAN總線的數據通信系統研究(711)6.4 基于CAN總線的分布式數據采集與控制系統(711)6.5 基于CAN總線的分布式鋁電解智能系統(711)6.6 CAN總線在通信電源監(jiān)控系統中的應用(712)6.7 CAN總線在弧焊機器人控制系統中的應用(712)6.8 CAN總線及其在噴漿機器人中的應用(712)6.9 基于CAN控制器的單片機農業(yè)溫室控制系統的設計(712)6.10 現場總線國際標準與LonWorks在智能電器中的應用(712)6.11 基于LON總線技術的暖通空調控制系統(712)6.12 通用串行總線(USB)及其芯片的使用(713)6.13 USB在數據采集系統中的應用(713)6.14 用MC68HC05JB4開發(fā)USB外設(713)6.15 8x930Ax/Hx USB控制器芯片及其在數字音頻中的應用(713)6.16 基于MC68HC(9)08JB8芯片的USB產品——鍵盤設計(713)6.17 I2 C總線在LonWorks網絡節(jié)點上的應用(714)6.18 Neuron3150的并行I/O接口對象及其應用(714)6.19 新型串行E2PROM 24LC65在LonWorks節(jié)點中的應用(714)6.20 利用I2C總線實現DSP對CMOS圖像傳感器的控制(714)6.21 在I2C總線系統中擴展LCD顯示器(714)6.22 基于Windows環(huán)境的GPIB接口設計實現(714)6.23 微機PCI總線接口的研究與設計(715)6.24 通用串行總線(USB)原理及接口設計(715)6.25 CAN總線與1553B總線性能分析比較(715)6.26 利用USB接口實現雙機互聯通信(715)6.27 一種帶USB接口的便攜式語音采集卡的設計(715)七、可靠性技術(716)7.1 電磁干擾與電磁兼容設計(716)7.2 計算機的防電磁泄漏技術(716)7.3 低輻射計算機系統的設計實現(716)7.4 靜電測量及其程序設計(716)7.5 電子產品生產中的靜電防護技術(716)7.6 電子測控系統中的屏蔽與接地技術(717)7.7 微機控制系統的抗干擾技術(717)7.8 如何提高單片機應用產品的抗干擾能力(717)7.9 工業(yè)控制計算機系統中的常見干擾及處理措施(717)7.10 GPS用于軍用導航中的抗干擾和干擾對抗研究(717)7.11 基于開放式體系結構的數控機床可靠性及抗干擾設計(717)7.12 變頻器應用技術中的抗干擾問題(718)7.13 單片機的軟件可靠性編程(718)7.14 單片微機的軟件抑噪方案(718)7.15 SmartLock并口單片機軟件狗加密技術(718)7.16 單片機系統中復位電路可靠性設計(718)7.17 測控系統中實現數據安全存儲的實用技術(718)7.18 高精度儀表信號隔離電路設計(719)7.19 基于AT89C2051單片機的防誤操作智能鎖(719)7.20 Email的安全問題與保護措施(719)7.21 雙機容錯系統的一種實現途徑(719)7.22 單片機應用系統抗干擾設計綜述(719)7.23 微機控制系統中的干擾及其抑制方法(720)7.24 智能儀表的抗干擾和故障診斷(720)八、應用實踐(721)8.1 AT89C51在銀行利率顯示屏中的應用(721)8.2 基于8xC196MC實現的磁鏈軌跡跟蹤控制(721)8.3 基于80C196KC的開關磁阻電機測試系統(721)8.4 80C196KB單片機在繞線式異步電動機啟動控制中的應用(721)8.5 GPS時鐘系統(721)8.6 一種由AT89C2051單片微機實現的功率因數補償裝置(722)8.7 數據采集系統芯片ADμC812及其在溫度監(jiān)測系統中的應用(722)8.8 用AVR單片機實現蓄電池剩余電量的測量(722)8.9 基于SA9604的多功能電度表(722)8.10 數字正交上變頻器AD9856的原理及其應用(722)8.11 基于MC628的可變參數PID控制方法的實現(723)8.12 Windows 98下遠程數據采集系統設計(723)8.13 一種新式微流量計的研究(723)8.14 一種便攜式多通道精密測溫儀(723)8.15 一種高精度定時器的設計及其應用(723)8.16 智能濕度儀設計(724)8.17 固態(tài)數字語音記錄儀的設計與實現(724)8.18 多功能語音電話答錄器的設計(724)8.19 白熾燈色溫測量裝置電路設計(724)8.20 交直流供電無縫連接電源控制系統設計(724)8.21 小型電磁輻射敏感度自動測試系統的設計(725)8.22 生物電極微電流動態(tài)檢測裝置(725)8.23 二種鉑電阻4~20 mA電流變送器電路(725)8.24 基于單片機的智能型光電編碼器計數器(725)8.25 嵌入式系統中利用RS232C串口擴展矩陣式鍵盤(725)8.26 電壓矢量控制PWM波的一種實時生成方法(725)8.27 便攜式電能表校驗裝置現場使用分析(726)8.28 用單片機實現大型電動機的在線監(jiān)測(726)8.29 PLC在L型管彎曲機電控系統中的應用(726)8.30 用EPROM實現步進電機的控制(726)8.31 一種手持設備的智能卡實現技術(726)8.32 鈔票顏色識別系統的設計(727)8.33 數字鎖相環(huán)在位置檢測中的應用(727)九、DSP及其應用技術(728)9.1 數字信號處理器DSPs的發(fā)展(728)9.2 用TMS320C6201實現多路ITU?T G.728語音編碼標準(728)9.3 采用DSP內核技術進行語音壓縮開發(fā)(728)9.4 TMS320C80與存儲器接口分析(728)9.5 TMS320C32浮點DSP存儲器接口設計(728)9.6 TMS320VC5402 DSP的并行I/O引導裝載方法研究(729)9.7 TMS320C30系統與PC104進行雙向并行通信的方法(729)9.8 基于TMS320C6201的G.723.1多通道語音編解碼的實現(729)9.9 基于TMS320C6201的多通道信號處理平臺(729)9.10 基于兩片TMS320C40的高速數據采集系統(729)9.11 使用TMS320C542構成數據采集處理系統(730)9.12 基于TMS320C32的視覺圖像處理系統(730)9.13 用ADSP?2181和MC68302實現MPEG?2傳送復用器(730)9.14 基于DSP的PC加密卡(730)9.15 TMS320C2XX及其在寬帶恒定束寬波束形成器中的應用(730)9.16 DS80C320單片機在無人機測控數據采編器中的應用(731)9.17 基于TMS320F206 DSP的圖像采集卡設計(731)9.18 基于定點DSP的實時語音命令識別模塊(731)9.19 基于TMS320C50的語音頻譜分析儀(731)9.20 利用DSP實現的專用數字錄音機(731)9.21 基于DSP的全數字交流傳動系統硬件平臺設計(732)9.22 ADSP2106x中DMA的應用(732)9.23 軟件無線電中DSP應用模式的分析(732)9.24 快速小波變換在DSP中的實現方法(732)十、PLD及EDA技術應用(733)10.1 可編程器件實現片上系統(733)10.2 VHDL語言在現代數字系統中的應用(733)10.3 用VHDL設計有限狀態(tài)機的方法(733)10.4 ISP-PLD在數字系統設計中的應用(733)10.5 基于FPGA技術的新型高速圖像采集(734)10.6 Protel 99SE電路仿真(734)10.7 可編程邏輯器件(PLD)在電路設計中的應用(734)10.8 基于FPGA的全數字鎖相環(huán)路的設計(734)10.9 基于EPLD器件的一對多打印機控制器的研制(734)10.10 一種VHDL設計實現的有線電視機頂盒信源發(fā)生方案(735)10.11 一種并行存儲器系統的FPGA實現(735)10.12 SDRAM接口的VHDL設計(735)10.13 采用ISP器件設計可變格式和可變速率的通信數字信號源(735)10.14 利用FPGA技術實現數字通信中的交織器和解交織器(735)10.15 XC9500系列CPLD遙控編程的實現(736)10.16 PLD器件在紅外遙控解碼中的應用(736)10.17 利用XCS40實現小型聲納的片上系統集成(736)10.18 可編程邏輯器件的VHDL設計技術及其在航空火控電子設備中的應用… (736)10.19 DSP+FPGA實時信號處理系統(736)10.20 CPLD在IGBT驅動設計中的應用(737)10.21 基于FPGA的FIR濾波器的實現(737)10.22 用可編程邏輯器件取代BCD?二進制轉換器的設計方法(737)
上傳時間: 2014-04-14
上傳用戶:gtf1207
隨著 微 電 子技術的飛速發(fā)展,電子產品越來越微型化,集成化,自動化,低廉化,進而推動著其它許多產業(yè)的發(fā)展。特別進人21世紀以來,生物技術與電子技術的結合,成為高科技領域的研究熱點。199()年由瑞士的Manz和Widmer首先提出的“微全分析系統”〔’〕(microto talan alysissy stems,即ptTAS),通俗地稱為“建在芯片上的實驗室”(Lab on a chip)或簡稱芯片實驗室(Lab chip),主要組成部分為電泳芯片,同時是進樣,分離和檢測為一體的微型裝置,其在電泳實驗中的高效檢測性能為生物化學分析儀器發(fā)展提供了一種借鑒。p.TAS廣泛應用于生物醫(yī)學、環(huán)境檢測、食品衛(wèi)生、科學以及國防等眾多領域。目前 應 用 的大多為多通道的毛細管電泳芯片,這也是芯片發(fā)展的一個必然趨勢。這不僅對電泳芯片本身的設計和制作提出了更高的要求,也對傳感器和數據處理技術提出了新的挑戰(zhàn)。考慮成本,集成度,控制能力以及可靠性方面的因素,本系統采用單片機作為實時數據處理、控制以及通訊的硬件平臺。如果系統中既有實時的通信任務,同時又有其他實時任務,采用一個廉價的單片機,資源會比較緊張,不僅實現困難,結構復雜,而且效果可能不滿意。而采用高性能的處理器,又浪費了其有效資源,所以本系統采用兩個MCU協同工作,以并行/分布式多機的思想,構成了電泳芯 片核心的雙單片機系統結構。微全 分 析 系 統 進行的多項實時任務,可以劃分為以下 幾個模塊:①采集模塊。負責對外圍檢驗設備進行控 制以及對傳送過來的信號進行采集和分析;②交互模 塊。通過液晶顯示,鍵盤掃描,以及打印等實現實驗人 員對前端采集電路的交互操作;③雙單片機控制和通 信模塊。協調雙單片機之間的數據傳輸和指令傳輸 ;④網絡傳輸模塊。其中一個單片機通過以太網發(fā)送接 收數據到上位機。本文提出一種實時多任務的雙單片 機控制和通信系統[31的設計,一個MCU基于TCP /IP網絡模塊的實現。
上傳時間: 2013-11-15
上傳用戶:wangdean1101
基于USB接口的數據采集模塊的設計與實現Design and Implementation of USB-Based Data Acquisition Module路 永 伸(天津科技大學電子信息與自動化學院,天津300222)摘要文中給出基于USB接口的數據采集模塊的設計與實現。硬件設計采用以Adpc831與PDIUSBDI2為主的器件進行硬件設計,采用Windriver開發(fā)USB驅動,并用Visual C十十6.0對主機軟件中硬件接口操作部分進行動態(tài)鏈接庫封裝。關鍵詞USB 數據采集Adpc831 PDNSBDI2 Windriver動態(tài)鏈接庫Abstract T hed esigna ndim plementaitono fU SB-BasedD ataA cquisiitonM oduleis g iven.Th ec hips oluitonm ainlyw ithA dpc831a ndP DTUSBD12i sused for hardware design. The USB drive is developed場Wmdriver, and the operation on the hardware interface is packaged into Dynamic Link Libraries場Visual C++6.0. Keywords USB DataA cquisition Adttc831 PDfUSBD12 Windriver0 引言US B總 線 是新一代接口總線,最初推出的目的是為了統一取代PC機的各類外設接口,迄今經歷了1.0,1.1與2.0版本3個標準。在國內基于USB總線的相關設計與開發(fā)也得到了快速的發(fā)展,很多設計者從各自的應用領域,用不同方案設計出了相應的裝置[1,2]。數據采集是工業(yè)控制中一個普遍而重要的環(huán)節(jié),因此開發(fā)基于USB接口的數據采集模塊具有很強的現實應用意義。雖然 US B總線標準已經發(fā)展到2.0版本,但由于工業(yè)控制現場干擾信號的情況比較復雜,高速數據傳輸的可靠性不容易被保證,并且很多場合對數據采集的實時性要求并不高,開發(fā)2.0標準產品的成本又較1.1標準產品高,所以筆者認為,在工業(yè)控制領域,目前開發(fā)基于USB總線1.1標準實現的數據采集模塊的實用意義大于相應2.0標準模塊。
上傳時間: 2013-10-23
上傳用戶:q3290766
摘要: 本文介紹了L ED 顯示屏常規(guī)型驅動電路的設計方式及其存在的缺陷, 提出了簡單的L ED 顯示屏恒流驅動方式及電路的實現。關鍵詞:L ED 顯示屏 動態(tài)掃描 驅動電路中圖分類號: TN 873+ . 93 文獻標識碼:A 文章編號: 1005- 9490(2001) 03- 0252- 051 引 言 L ED 顯示屏是80 年代后期在全球迅速發(fā)展起來的新型信息顯示媒體, 它利用發(fā)光二極管構成的點陣模塊或像素單元, 組成大面積顯示屏幕, 以其可靠性高、使用壽命、環(huán)境適應能力強、性能價格比高、使用成本低等特點, 在信息顯示領域已經得到了非常廣泛的應用[ 1 ]。L ED 顯示屏主要包括發(fā)光二極管構成的陣列、驅動電路、控制系統及傳輸接口和相應的應用軟件等, 其中驅動電路設計的好壞, 對L ED 顯示屏的顯示效果、制作成本及系統的運行性能起著很重要的作用。所以, 設計一種既能滿足控制驅動的要求, 同時使用器件少、成本低的控制驅動電路是很有必要的。本文就常規(guī)型驅動電路的設計作些分析并提出恒流驅動電路的設計方式。2 L ED 顯示屏常規(guī)驅動電路的設計 L ED 顯示屏驅動電路的設計, 與所用控制系統相配合, 通常分為動態(tài)掃描型驅動及靜態(tài)鎖存型驅動二大類。以下就動態(tài)掃描型驅動電路的設計為例為進行分析:動態(tài)掃描型驅動方式是指顯示屏上的4 行、8 行、16 行等n 行發(fā)光二極管共用一組列驅動寄存器, 通過行驅動管的分時工作, 使得每行L ED 的點亮時間占總時間的1ön , 只要每行的刷新速率大于50 Hz, 利用人眼的視覺暫留效應, 人們就可以看到一幅完整的文字或畫面[ 2 ]。常規(guī)型驅動電路的設計一般是用串入并出的通用集成電路芯片如74HC595 或MC14094 等作為列數據鎖存, 以8050 等小功率N PN 三極管為列驅動, 而以達林頓三極管如T IP127 等作為行掃描管, 其電路如圖1 所示。
上傳時間: 2014-02-19
上傳用戶:lingzhichao
如何在STM32上得到高精度的ADC
上傳時間: 2013-11-09
上傳用戶:a67818601
Virtex™-5 器件包括基于第二代高級硅片組合模塊 (ASMBL™) 列架構的多平臺 FPGA 系列。集成了為獲得最佳性能、更高集成度和更低功耗設計的若干新型架構元件,Virtex-5 器件達到了比以往更高的系統性能水平。
上傳時間: 2013-10-29
上傳用戶:long14578
本白皮書分析了業(yè)界對更高速率接口(尤其是100 GbE)的迫切需求、向平臺添加 100 GbE 時系統架構師所面臨的重大風險和問題,并評介幾種實現方案,這些方案顯示出 FPGA 在解決這些難題方面具有何等獨特的地位。
上傳時間: 2013-10-25
上傳用戶:851197153
WP409利用Xilinx FPGA打造出高端比特精度和周期精度浮點DSP算法實現方案: High-Level Implementation of Bit- and Cycle-Accurate Floating-Point DSP Algorithms with Xilinx FPGAs
上傳時間: 2013-11-07
上傳用戶:defghi010
摘要:本文簡要介紹了Xilinx最新的EDK9.1i和ISE9.1i等工具的設計使用流程,最終在采用65nm工藝級別的Xilinx Virtex-5 開發(fā)板ML505 上同時設計實現了支持TCP/IP 協議的10M/100M/1000M 的三態(tài)以太網和千兆光以太網的SOPC 系統,并對涉及的關鍵技術進行了說明。關鍵詞:FPGA;EDK;SOPC;嵌入式開發(fā);EMAC;MicroBlaze 本研究采用業(yè)界最新的Xilinx 65ns工藝級別的Virtex-5LXT FPGA 高級開發(fā)平臺,滿足了對于建造具有更高性能、更高密度、更低功耗和更低成本的可編程片上系統的需求。Virtex-5以太網媒體接入控制器(EMAC)模塊提供了專用的以太網功能,它和10/100/1000Base-T外部物理層芯片或RocketIOGTP收發(fā)器、SelectIO技術相結合,能夠分別實現10M/100M/1000M的三態(tài)以太網和千兆光以太網的SOPC 系統。
上傳時間: 2013-10-14
上傳用戶:sun_pro12580