PC機之間串口通信的實現(xiàn)一、實驗目的 1.熟悉微機接口實驗裝置的結(jié)構(gòu)和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.學會串行通信程序的編制方法。 二、實驗內(nèi)容與要求 1.基本要求主機接收開關量輸入的數(shù)據(jù)(二進制或十六進制),從鍵盤上按“傳輸”鍵(可自行定義),就將該數(shù)據(jù)通過8251A傳輸出去。終端接收后在顯示器上顯示數(shù)據(jù)。具體操作說明如下:(1)出現(xiàn)提示信息“start with R in the board!”,通過調(diào)整乒乓開關的狀態(tài),設置8位數(shù)據(jù);(2)在小鍵盤上按“R”鍵,系統(tǒng)將此時乒乓開關的狀態(tài)讀入計算機I中,并顯示出來,同時顯示經(jīng)串行通訊后,計算機II接收到的數(shù)據(jù);(3)完成后,系統(tǒng)提示“do you want to send another data? Y/N”,根據(jù)用戶需要,在鍵盤按下“Y”鍵,則重復步驟(1),進行另一數(shù)據(jù)的通訊;在鍵盤按除“Y”鍵外的任意鍵,將退出本程序。2.提高要求 能夠進行出錯處理,例如采用奇偶校驗,出錯重傳或者采用接收方回傳和發(fā)送方確認來保證發(fā)送和接收正確。 三、設計報告要求 1.設計目的和內(nèi)容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結(jié)果和體會(包括遇到的問題及解決的方法) 四、8251A通用串行輸入/輸出接口芯片由于CPU與接口之間按并行方式傳輸,接口與外設之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。能夠完成上述“串←→并”轉(zhuǎn)換功能的電路,通常稱為“通用異步收發(fā)器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A異步工作方式:如果8251A編程為異步方式,在需要發(fā)送字符時,必須首先設置TXEN和CTS#為有效狀態(tài),TXEN(Transmitter Enable)是允許發(fā)送信號,是命令寄存器中的一位;CTS#(Clear To Send)是由外設發(fā)來的對CPU請求發(fā)送信號的響應信號。然后就開始發(fā)送過程。在發(fā)送時,每當CPU送往發(fā)送緩沖器一個字符,發(fā)送器自動為這個字符加上1個起始位,并且按照編程要求加上奇/偶校驗位以及1個、1.5個或者2個停止位。串行數(shù)據(jù)以起始位開始,接著是最低有效數(shù)據(jù)位,最高有效位的后面是奇/偶校驗位,然后是停止位。按位發(fā)送的數(shù)據(jù)是以發(fā)送時鐘TXC的下降沿同步的,也就是說這些數(shù)據(jù)總是在發(fā)送時鐘TXC的下降沿從8251A發(fā)出。數(shù)據(jù)傳輸?shù)牟ㄌ芈嗜Q于編程時指定的波特率因子,為發(fā)送器時鐘頻率的1、1/16或1/64。當波特率指定為16時,數(shù)據(jù)傳輸?shù)牟ㄌ芈示褪前l(fā)送器時鐘頻率的1/16。CPU通過數(shù)據(jù)總線將數(shù)據(jù)送到8251A的數(shù)據(jù)輸出緩沖寄存器以后,再傳輸?shù)桨l(fā)送緩沖器,經(jīng)移位寄存器移位,將并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù),從TxD端送往外部設備。在8251A接收字符時,命令寄存器的接收允許位RxE(Receiver Enable)必須為1。8251A通過檢測RxD引腳上的低電平來準備接收字符,在沒有字符傳送時RxD端為高電平。8251A不斷地檢測RxD引腳,從RxD端上檢測到低電平以后,便認為是串行數(shù)據(jù)的起始位,并且啟動接收控制電路中的一個計數(shù)器來進行計數(shù),計數(shù)器的頻率等于接收器時鐘頻率。計數(shù)器是作為接收器采樣定時,當計數(shù)到相當于半個數(shù)位的傳輸時間時再次對RxD端進行采樣,如果仍為低電平,則確認該數(shù)位是一個有效的起始位。若傳輸一個字符需要16個時鐘,那么就是要在計數(shù)8個時鐘后采樣到低電平。之后,8251A每隔一個數(shù)位的傳輸時間對RxD端采樣一次,依次確定串行數(shù)據(jù)位的值。串行數(shù)據(jù)位順序進入接收移位寄存器,通過校驗并除去停止位,變成并行數(shù)據(jù)以后通過內(nèi)部數(shù)據(jù)總線送入接收緩沖器,此時發(fā)出有效狀態(tài)的RxRDY信號通知CPU,通知CPU8251A已經(jīng)收到一個有效的數(shù)據(jù)。一個字符對應的數(shù)據(jù)可以是5~8位。如果一個字符對應的數(shù)據(jù)不到8位,8251A會在移位轉(zhuǎn)換成并行數(shù)據(jù)的時候,自動把他們的高位補成0。 五、系統(tǒng)總體設計方案根據(jù)系統(tǒng)設計的要求,對系統(tǒng)設計的總體方案進行論證分析如下:1.獲取8位開關量可使用實驗臺上的8255A可編程并行接口芯片,因為只要獲取8位數(shù)據(jù)量,只需使用基本輸入和8位數(shù)據(jù)線,所以將8255A工作在方式0,PA0-PA7接實驗臺上的8位開關量。2.當使用串口進行數(shù)據(jù)傳送時,雖然同步通信速度遠遠高于異步通信,可達500kbit/s,但由于其需要有一個時鐘來實現(xiàn)發(fā)送端和接收端之間的同步,硬件電路復雜,通常計算機之間的通信只采用異步通信。3.由于8251A本身沒有時鐘,需要外部提供,所以本設計中使用實驗臺上的8253芯片的計數(shù)器2來實現(xiàn)。4:顯示和鍵盤輸入均使用DOS功能調(diào)用來實現(xiàn)。設計思路框圖,如下圖所示: 六、硬件設計硬件電路主要分為8位開關量數(shù)據(jù)獲取電路,串行通信數(shù)據(jù)發(fā)送電路,串行通信數(shù)據(jù)接收電路三個部分。1.8位開關量數(shù)據(jù)獲取電路該電路主要是利用8255并行接口讀取8位乒乓開關的數(shù)據(jù)。此次設計在獲取8位開關數(shù)據(jù)量時采用8255令其工作在方式0,A口輸入8位數(shù)據(jù),CS#接實驗臺上CS1口,對應端口為280H-283H,PA0-PA7接8個開關。2.串行通信電路串行通信電路本設計中8253主要為8251充當頻率發(fā)生器,接線如下圖所示。
上傳時間: 2013-12-19
上傳用戶:小火車啦啦啦
基于單片機的紅外門進控制系統(tǒng)設計與制作:我們所做的創(chuàng)新實驗項目“基于單片機的紅外門控系統(tǒng)”已基本完成,現(xiàn)將其工作原理簡要說明。該系統(tǒng)主要分為兩大部分:一是紅外傳感器部分。二是單片機計數(shù)顯示控制部分?;倦娐穲D如下:其中紅外傳感器部分我們采用紅外對管實現(xiàn),紅外對管平行放置,平常處于接收狀態(tài),經(jīng)比較器輸出低電平,當有人經(jīng)過時,紅外線被擋住,接收管接收不到紅外線,經(jīng)比較器輸出高電平。這樣,當有人經(jīng)過時便會產(chǎn)生一個電平的跳變。單片機控制部分主要是通過外部兩個中斷判斷是否有人經(jīng)過,如果有人經(jīng)過,由于電平跳變的產(chǎn)生,進入中斷服務程序,這里我們采用了兩對紅外傳感器接到兩個外部中斷口,中斷0作為入口,實現(xiàn)加1操作,中斷1作為出口,實現(xiàn)減1操作。另外,我們通過P0口控制室內(nèi)燈的亮暗,當寄存器計數(shù)值為0時,熄燈,不為0時,燈亮。顯示部分,采用兩位數(shù)碼管動態(tài)顯示,如有必要,可以很方便的擴展為四位計數(shù)。精益求精!在實驗過程中,我們走了非常多的彎路,做出來的東西根本不是自己想要的,我們本想做成室內(nèi)只有一個門的進出計數(shù),原理已清楚,即在門的兩邊放置兩對紅外對管,進出時,擋住兩對對管的順序不同,因此,可判斷是進入還是出去,從而實現(xiàn)加減計數(shù),編程時,可分別在兩個中斷服務程序的入口置標志位,根據(jù)標志位判斷進出,詳細內(nèi)容在程序部分。理論如此,但在實際過程中,還是發(fā)現(xiàn)實現(xiàn)不了上述功能,我們初步判定認為是程序掌握得不夠好,相信隨著自己對單片機了解的深入,應該會做出更好的 (因為我們是臨時學的單片機),程序的具體內(nèi)容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化緩存區(qū) MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;調(diào)用數(shù)制轉(zhuǎn)換子程序 ACALL DISPLAY ;調(diào)用顯示子程序 LJMP NEXT1 ORG 0100H ;中斷0服務程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中斷1服務程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六進制轉(zhuǎn)化為十進制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;將十六進制中最高位移入進位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位數(shù)加上本身相當于將這個數(shù)乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十進制調(diào)整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段碼表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延時子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 該系統(tǒng)實際應用廣泛。可用在生產(chǎn)線上產(chǎn)品數(shù)量統(tǒng)計、公交車智能計數(shù)問候(需添加語音芯片)、超市內(nèi)人數(shù)統(tǒng)計等公共場合。另外,添加串口通信部分便可實現(xiàn)與PC數(shù)據(jù)交換的功能。 由于,實驗簡化了,剩下不少零件和資金,所以我們又做了兩項其他的實驗。
標簽: 單片機 紅外 控制系統(tǒng)設計 原理圖
上傳時間: 2013-12-22
上傳用戶:tangsiyun
3.1 總線與接口概述 3.1.1 總線和接口及其標準的概念 總線:是在模塊和模塊之間或設備與設備之間的一組進行互連和傳輸信息的信號線,信息包括指令、數(shù)據(jù)和地址。 總線標準 指芯片之間、擴展卡之間以及系統(tǒng)之間,通過總線進行連接和傳輸信息時,應該遵守的一些協(xié)議與規(guī)范。 接口標準 外設接口的規(guī)范,涉及接口信號線定義、信號傳輸速率、傳輸方向和拓撲結(jié)構(gòu),以及電氣特性和機械特性等多個方面。 3.1.2 總線的分類 1) 按總線功能或信號類型劃分為: 數(shù)據(jù)總線:雙向三態(tài)邏輯,線寬表示了總線數(shù)據(jù)傳輸?shù)哪芰?。地址總線:單向三態(tài)邏輯,線寬決定了系統(tǒng)的尋址能力??刂瓶偩€:就某根來說是單向或雙向。控制總線最能體現(xiàn)總線特點,決定總線功能的強弱和適應性。2) 按總線的層次結(jié)構(gòu)分為: CPU總線:微機系統(tǒng)中速度最快的總線,主要在CPU內(nèi)部,連接CPU內(nèi)部部件,在CPU周圍的小范圍內(nèi)也分布該總線,提供系統(tǒng)原始的控制和命令。局部總線:在系統(tǒng)總線和CPU總線之間的一級總線,提供CPU和主板器件之間以及CPU到高速外設之間的快速信息通道。系統(tǒng)總線:也稱為I/O總線,是傳統(tǒng)的通過總線擴展卡連接外部設備的總線。由于速度慢,其功能已經(jīng)被局部總線替代。通信總線:也稱為外部總線,是微機與微機,微機與外設之間進行通信的總線。3.1.3 總線的主要性能參數(shù)1.總線頻率:MHz表示的工作頻率,是總線速率的一個重要參數(shù)。2.總線寬度:指數(shù)據(jù)總線的位數(shù)。3.總線的數(shù)據(jù)傳輸率 總線的數(shù)據(jù)傳輸率=(總線寬度/8位)×總線頻率 例:PCI總線的總線頻率為33.3MHz,總線寬度為64位的情況下,總線數(shù)據(jù)傳輸率為266MB/s 。
上傳時間: 2013-11-17
上傳用戶:shen954166632
在單片機應用開發(fā)中,代碼的使用效率問題、單片機抗干擾性和可靠性等問題仍困擾著 工程師。為幫助工程師解決單片機設計上的難題,《電子工程專輯》網(wǎng)站特邀Holtek香 港分公司工程部處長鄧宏杰先生擔任《單片機應用編程技巧》專題討論的嘉賓,與廣大 設計工程師交流單片機設計開發(fā)經(jīng)驗。現(xiàn)根據(jù)論壇中的討論歸納出單片機開發(fā)中應掌握 的幾個基本技巧。一、 如何提高C語言編程代碼的效率鄧宏杰指出,用C語言進行單片機程序設計是單片機開發(fā)與應用的必然趨勢。他強調(diào):“ 如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應的匯編語言的語句行數(shù),這樣就可以很明確的知道效率。在今后編程的 時候,使用編譯效率最高的語句?!?他指出,各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長度和執(zhí)行時間僅比以匯編語言編寫的同樣功能程度長5-20%。他說:“對于復雜而開發(fā)時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統(tǒng)的C語言和C編譯器非常熟悉,特別要注意該C編譯系統(tǒng)所能支持的數(shù)據(jù)類型和算法。雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統(tǒng)是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調(diào)試起來問題就會很 多,反而導致執(zhí)行效率低于匯編語言?!?二、 如何減少程序中的bug? 對于如何減少程序的bug,鄧宏杰給出了一些建議,他指出系統(tǒng)運行中應考慮的超范圍管理參數(shù)有: 1.物理參數(shù)。這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵參數(shù)、采集處理中的運行參 數(shù)和處理結(jié)束的結(jié)果參數(shù)。合理設定這些邊界,將超出邊界的參數(shù)都視為非正常激勵或 非正?;貞M行出錯處理。 2.資源參數(shù)。這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、 存儲單元長度、堆疊深度。在程式設計中,對資源參數(shù)不允許超范圍使用。 3.應用參數(shù)。這些應用參數(shù)常表現(xiàn)為一些單片機、功能單元的應用條件。如E2PROM的擦 寫次數(shù)與資料存儲時間等應用參數(shù)界限。 4.過程參數(shù)。指系統(tǒng)運行中的有序變化的參數(shù)。
上傳時間: 2013-10-21
上傳用戶:chukeey
提出了一種改進的LSM-ALSM子空間模式識別方法,將LSM的旋轉(zhuǎn)策略引入ALSM,使子空間之間互不關聯(lián)的情況得到改善,提高了ALSM對相似樣本的區(qū)分能力。討論中以性能函數(shù)代替經(jīng)驗函數(shù)來確定拒識規(guī)則的參數(shù),實現(xiàn)了識別率、誤識率與拒識率之間的最佳平衡;通過對有限字符集的實驗結(jié)果表明,LSM-ALSM算法有效地改善了分類器的識別率和可靠性。關 鍵 詞 學習子空間; 性能函數(shù); 散布矩陣; 最小描述長度在子空間模式識別方法中,一個線性子空間代表一個模式類別,該子空間由反映類別本質(zhì)的一組特征矢量張成,分類器根據(jù)輸入樣本在各子空間上的投影長度將其歸為相應的類別。典型的子空間算法有以下三種[1, 2]:CLAFIC(Class-feature Information Compression)算法以相關矩陣的部分特征向量來構(gòu)造子空間,實現(xiàn)了特征信息的壓縮,但對樣本的利用為一次性,不能根據(jù)分類結(jié)果進行調(diào)整和學習,對樣本信息的利用不充分;學習子空間方法(Leaning Subspace Method, LSM)通過旋轉(zhuǎn)子空間來拉大樣本所屬類別與最近鄰類別的距離,以此提高分類能力,但對樣本的訓練順序敏感,同一樣本訓練的順序不同對子空間構(gòu)造的影響就不同;平均學習子空間算法(Averaged Learning Subspace Method, ALSM)是在迭代訓練過程中,用錯誤分類的樣本去調(diào)整散布矩陣,訓練結(jié)果與樣本輸入順序無關,所有樣本平均參與訓練,其不足之處是各模式的子空間之間相互獨立。針對以上問題,本文提出一種改進的子空間模式識別方法。子空間模式識別的基本原理1.1 子空間的分類規(guī)則子空間模式識別方法的每一類別由一個子空間表示,子空間分類器的基本分類規(guī)則是按矢量在各子空間上的投影長度大小,將樣本歸類到最大長度所對應的類別,在類x()iω的子空間上投影長度的平方為()211,2,,()argmax()jMTkkjpg===Σx (1)式中 函數(shù)稱為分類函數(shù);為子空間基矢量。兩類的分類情況如圖1所示。
上傳時間: 2013-12-25
上傳用戶:熊少鋒
模塊化LED大屏幕顯示器的設計:LED大屏幕顯示器由于其醒目! 內(nèi)容靈活多變等特點" 已經(jīng)越來越多地應用于廣告! 信息發(fā)布! 交通指示等公共場所" 取得了良好效果LED顯示屏主要分為數(shù)碼顯示和點陣顯示兩大類" 本文只討論點陣顯示$ 目前的627 顯示屏基本上都是先由用戶提出要求" 生產(chǎn)廠家根據(jù)需要訂做$ 每次都要重復設計電路和機械結(jié)構(gòu)" 造成資源浪費" 而且若用戶的需求改變" 改動將十分困難$實際上不論顯示屏的大小" 其原理都是相同的"因此完全可以設計出一種標準化% 模塊化的LED 顯示屏" 針對不同的需要" 只需要簡單組合相應的模塊即可$ 本文介紹的就是一種模塊化的LED 顯示屏" 可以根據(jù)需要靈活改變大小" 并可以脫離計算機獨立運行" 還可以實現(xiàn)如閃爍! 滾動顯示等特效$ 對整體式顯示屏刷新率不足發(fā)生閃爍的常見問題" 在這個設計中由于被分割成小模塊" 不再成為問題$
上傳時間: 2013-10-09
上傳用戶:fxf126@126.com
九.輸入/輸出保護為了支持多任務,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é)的最低位??梢娂词怪灰獧z查兩個位,也可能需要讀取兩個字節(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
單片機應用技術選編(9) 目錄 第一章 專題論述1.1 集成電路進入片上系統(tǒng)時代(2)1.2 系統(tǒng)集成芯片綜述(10)1.3 Java嵌入技術綜述(18)1.4 Java的線程機制(23)1.5 嵌入式系統(tǒng)中的JTAG接口編程技術(29)1.6 EPAC器件技術概述及應用(37)1.7 VHDL設計中電路簡化問題的探討(42)1.8 8031芯片主要模塊的VHDL描述與仿真(48)1.9 ISP技術在數(shù)字系統(tǒng)設計中的應用(59)1.10 單片機單總線技術(64)1.11 智能信息載體iButton及其應用(70)1.12 基于單片機的高新技術產(chǎn)品加密方法探討(76)1.13 新一代私鑰加密標準AES進展與評述(80)1.14 基于單片機的實時3DES加密算法的實現(xiàn)(86)1.15 ATA接口技術(90)1.16 基于IDE硬盤的高速數(shù)據(jù)存儲器研究(98)1.17 模擬比較器的應用(102) 第二章 綜合應用技術2.1 閃速存儲器硬件接口和程序設計中的關鍵技術(126)2.2 51單片機節(jié)電模式的應用(131)2.3 分布式實時應用的兩個重要問題(137)2.4 分布式運算單元的原理及其實現(xiàn)方法(141)2.5 用PLD器件設計邏輯電路時的競爭冒險現(xiàn)象(147)2.6 IRIG?B格式時間碼解碼接口卡電路設計(150)2.7 一種基于單片機時頻信號處理的實用方法(155)2.8 射頻接收系統(tǒng)晶體振蕩電路的設計與分析(161)2.9 揭開ΣΔ ADC的神秘面紗(166)2.10 過采樣高階A/D轉(zhuǎn)換器的硬件實現(xiàn)(172)2.11 A/D轉(zhuǎn)換的計算與編程(176)2.12 一種提高單片機內(nèi)嵌式A/D分辨力的方法(179)2.13 單片微型計算機多字節(jié)浮點快速相對移位法開平方運算的實現(xiàn)(182)2.14 單片微型計算機多字節(jié)浮點除法快速掃描運算的實現(xiàn)(186)2.15 DSP芯片與觸摸屏的接口控制(188)第三章 操作系統(tǒng)與軟件技術3.1 嵌入式系統(tǒng)中的實時操作系統(tǒng)(192)3.2 嵌入式系統(tǒng)的開發(fā)利器——Windows CE操作系統(tǒng)(197)3.3 介紹一種實時操作系統(tǒng)DSP/BIOS(203)3.4 實時操作系統(tǒng)用于嵌入式應用系統(tǒng)的設計(212)3.5 實時Linux操作系統(tǒng)初探(217)3.6 Linux網(wǎng)絡設備驅(qū)動程序分析與設計(223)3.7 在51系列單片機上實現(xiàn)非搶先式消息驅(qū)動機制的RTOS(229)3.8 用結(jié)構(gòu)化程序設計思想指導匯編語言開發(fā)(236)3.9 單片機高級語言C51與匯編語言ASM51的通用接口(240)3.10 ASM51無參數(shù)化調(diào)用C51函數(shù)的實現(xiàn)(245)3.11 TMS320C3X的匯編語言和C語言及混合編程技術(249)3.12 TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究(254)3.13 TMS320C54X軟件模擬實現(xiàn)UART技術(260)3.14 W78E516及其在系統(tǒng)編程的實現(xiàn)(265)3.15 鍵盤鍵入信號軟件處理方法探討(272)3.16 單片機系統(tǒng)中數(shù)字濾波的算法(276)第四章 網(wǎng)絡、通信與數(shù)據(jù)傳送 4.1 實時單片機通信網(wǎng)絡中的內(nèi)存管理(284)4.2 CRC16編碼在單片機數(shù)據(jù)傳輸系統(tǒng)中的實現(xiàn)(288)4.3 在VC++中用ActiveX控件實現(xiàn)與單片機的串行通信(293)4.4 利用Windows API函數(shù)構(gòu)造C++類實現(xiàn)串行通信(298)4.5 用Win32 API實現(xiàn)PC機與多單片機的串行通信(304)4.6 GPS接收機與PC機串行通信技術的開發(fā)與應用(311)4.7 TCP/IP協(xié)議問題透析(316)4.8 單片機的MODEM通信(328)4.9 無線串行接口電路設計(335)4.10 通用無線數(shù)據(jù)傳輸電路設計(340)4.11 FX909在無線高速MODEM中的應用(343)4.12 藍牙——短距離無線連接新技術(348)4.13 藍牙技術——一種短距離的無線連接技術(351)4.14 藍牙芯片及其應用(357)4.15 BlueCoreTM01藍牙芯片的特性與應用(361)4.16 內(nèi)嵌微控制器的無線數(shù)據(jù)發(fā)射器的特性及應用(365)第五章 新器件及其應用技術5.1 一種全新結(jié)構(gòu)的微控制器——Triscend E5(372)5.2 PSD8XXF的在系統(tǒng)編程技術(376)5.3 PSD813F1及其接口編程技術(382)5.4 一種優(yōu)越的可編程邏輯器件——ISP器件(387)5.5 ISPPLD原理及其設計應用(393)5.6 ispPAC10在系統(tǒng)可編程模擬電路及其應用(397)5.7 在系統(tǒng)可編程器件ispPAC80及其應用(404)5.8 采用ispLSI1016設計高精度光電碼盤計數(shù)器(408)5.9 基于ADμC812的一種儀表開發(fā)平臺(413)5.10 基于P87LPC764的ΣΔ ADC應用設計方法(418)5.11 MP3解碼芯片組及其應用(431)5.12 射頻IC卡E5550原理及應用(434)5.13 HD7279A鍵盤顯示驅(qū)動芯片及應用(439)5.14 基于SPI接口的ISD4104系列語音錄放芯片及其應用(444)5.15 解決DS1820通信誤碼問題的方法(450)5.16 數(shù)字電位器在測量放大器中的應用(455)第六章 總線及其應用技術6.1 按平臺模式設計的虛擬I2C總線軟件包VIIC(462)6.2 虛擬I2C總線軟件包的開發(fā)及其應用(470)6.3 RS485總線的理論與實踐(479)6.4 RS232至RS485/RS422接口的智能轉(zhuǎn)換器(484)6.5 實用隔離型RS485通信接口的設計(489)6.6 幾種RS485接口收發(fā)方向轉(zhuǎn)換方法(495)6.7 LonWorks總線技術及發(fā)展(498)6.8 LonWorks網(wǎng)絡監(jiān)控的簡單實現(xiàn)(505)6.9 現(xiàn)場總線CANbus與RS485之間透明轉(zhuǎn)換的實現(xiàn)(509)6.10 居室自動化系統(tǒng)中的X10和CE總線(513)6.11 通用串行總線USB(519)6.12 USB2.0技術概述(524)6.13 帶通用串行總線USB接口的單片機EZUSB(530)6.14 嵌入式處理器中的慢總線技術應用(536)6.15 SPI串行總線在單片機8031應用系統(tǒng)中的設計與實現(xiàn)(540)第七章 可靠性及安全性技術7.1 軟件可靠性及其評估(546)7.2 網(wǎng)絡通信中的基本安全技術(554)7.3 數(shù)字語音混沌保密通信系統(tǒng)及硬件實現(xiàn)(560)7.4 偽隨機序列及PLD實現(xiàn)在程序和系統(tǒng)加密中的應用(565)7.5 增強單片機系統(tǒng)可靠性的若干措施(569)7.6 FPGA中的空間輻射效應及加固技術(573)7.7 一種雙機備份系統(tǒng)的軟實現(xiàn)(577)7.8 計算機系統(tǒng)容錯技術的應用(581)7.9 容錯系統(tǒng)中的自校驗技術及實現(xiàn)方法(585)7.10 基于MAX110的容錯數(shù)據(jù)采集系統(tǒng)的設計(589)7.11 冗余式時鐘源電路(593)7.12 微機控制系統(tǒng)的抗干擾技術應用(599)7.13 單片開關電源瞬態(tài)干擾及音頻噪聲抑制技術(604)7.14 單片機應用系統(tǒng)程序運行出軌問題研究(608)7.15 分布式系統(tǒng)故障卷回恢復技術研究與實踐(613)第八章 典型應用實例8.1 基于單片機系統(tǒng)采用DMA塊傳輸方式實現(xiàn)高速數(shù)據(jù)采集(620)8.2 GPS數(shù)據(jù)采集卡的設計(624)8.3 一種新型非接觸式IC卡識別系統(tǒng)研究(629)8.4 自適應調(diào)整增益的單片機數(shù)據(jù)采集系統(tǒng)(633)8.5 利用光纖發(fā)射/接收器對實現(xiàn)遠距離高速數(shù)據(jù)采集(639)8.6 一種頻率編碼鍵盤的設計與實現(xiàn)(645)8.7 高準確度時鐘程序算法(649)8.8 旋轉(zhuǎn)編碼器的抗抖動計數(shù)電路(652)8.9 利用X9241實現(xiàn)高分辨率數(shù)控電位器(656)8.10 基于AD2S80A的高精度位置檢測系統(tǒng)及其在機器人控制中的應用(661)第九章 文章摘要一、專題論述(670)1.1 微控制器的發(fā)展趨勢(670)1.2 系統(tǒng)微集成技術的發(fā)展(670)1.3 多芯片組件技術及其應用(671)1.4 MCS51和80C51系列單片機(671)1.5 PSD813器件在單片機系統(tǒng)中的應用(671)1.6 主輔單片機系統(tǒng)的設計及應用(671)1.7 一種雙單片機結(jié)構(gòu)的微機控制器(671)1.8 用PC機直接開發(fā)單片機系統(tǒng)(672)1.9 單片機系統(tǒng)大容量存儲器擴展技術(672)1.10 高性能微處理器性能模型設計(672)1.11 閃速存儲器的選擇與接口(672)1.12 串行存儲器接口的比較及選擇(672)1.13 移位寄存器分析方法的研究(673)1.14 GPS的時頻系統(tǒng)(673)1.15 一種基于C語言的虛擬儀器系統(tǒng)實現(xiàn)方法(673)1.16 智能家庭網(wǎng)絡研究綜述(673)1.17 用C51實現(xiàn)電力部多功能電能表通信規(guī)約(674)1.18 測控系統(tǒng)中采樣數(shù)據(jù)的預處理(674)1.19 數(shù)據(jù)采集系統(tǒng)動態(tài)特性的總體評價(674)1.20 一個高速準確的手寫數(shù)字識別系統(tǒng)(674)1.21 日本理光實時時鐘集成電路發(fā)展歷史及現(xiàn)狀(675)1.22 單片開關電源的發(fā)展及其應用(675)二、綜合應用技術(676)2.1 MCS51系列單片機在SDH系統(tǒng)中的應用(676)2.2 公共閃存接口在Flash Memory程序設計中的應用(676)2.3 應用IA MMXTM技術的離散余弦變換(676)2.4 串行實時時鐘芯片DS1302程序設計中的問題與對策(676)2.5 數(shù)字傳感器及其應用(677)2.6 電阻式溫度傳感器的系列化設計及其應用(677)2.7 溫度傳感器及其與微處理器接口(677)2.8 AD7416數(shù)字溫度傳感器及其應用(677)2.9 隔離放大器及其應用(677)2.10 高速A/D轉(zhuǎn)換器動態(tài)參數(shù)(678)2.11 V/F變換在單片機系統(tǒng)中的應用(678)2.12 微處理器內(nèi)嵌式模數(shù)轉(zhuǎn)換器在精密儀器中的應用研究(678)2.13 電子秤非線性自動修正方法(678)2.14 光耦傳輸?shù)姆蔷€性校正(678)2.15 高斯濾波器在實時系統(tǒng)中的快速實現(xiàn)(679)2.16 用在系統(tǒng)可編程模擬器件實現(xiàn)雙二階型濾波器(679)2.17 最小二乘法在高精度溫度測量中的應用(679)2.18 提高實時頻率測量范圍和精度新方法(679)2.19 具有微控制器的智能儀表設計與應用(679)2.20 用C語言編程的數(shù)據(jù)采集系統(tǒng)(680)2.21 大動態(tài)范圍浮點A/D數(shù)據(jù)采集器的設計(680)2.22 基于PCI高速數(shù)據(jù)采集系統(tǒng)(680)2.23 一種基于PC機的高速16位并行數(shù)據(jù)采集接口(680)2.24 數(shù)據(jù)采集系統(tǒng)中增強型并行接口(EPP)電路的設計(681)2.25 用增強型并行接口EPP協(xié)議擴展計算機的ISA接口(681)2.26 基于增強型并行接口EPP的便攜式高速數(shù)據(jù)采集系統(tǒng)(681)2.27 增強型并行接口EPP協(xié)議及其在CAN監(jiān)控節(jié)點中的應用(681)2.28 利用增強型并行接口協(xié)議傳輸圖像文件(681)2.29 用并行接口進行數(shù)據(jù)采集(682)2.30 高信噪比的VFC/DPLL數(shù)據(jù)采集裝置(682)2.31 高精度數(shù)字式轉(zhuǎn)速測量系統(tǒng)的研究(682)2.32 用單片機測量相位差的新方法(682)2.33 交流采樣在電力系統(tǒng)中應用(682)2.34 同步圖形存儲器IS42G32256的電源與應用(683)2.35 IBM?PC處理10MHz高速模擬信號的研究(683)2.36 MCS51系列單片機存儲容量擴展方法(683)2.37 用單片機實現(xiàn)數(shù)字相位變換器的設計方法(683)2.38 一種新的可重配置的串口擴展方案(683)2.39 VB環(huán)境下對雙端口RAM物理讀寫的實現(xiàn)(684)2.40 雙CPU實現(xiàn)遠程多鍵盤鼠標交互(684)2.41 兩種電阻時間變換器設計與分析(684)2.42 液晶顯示器的接口和編程技巧(684)2.43 一種簡單的電機變頻調(diào)速方案及其應用(684)2.44 基于單片機的火控系統(tǒng)符號產(chǎn)生器電路原理設計(685)2.45 A/D轉(zhuǎn)換器性能的改善方法(685)2.46 快速小波變換算法與信噪分離(685)2.47 80C196MC/MD單片機多個中斷程序的同步問題(685)三、操作系統(tǒng)及軟件技術(686)3.1 嵌入式軟件技術的現(xiàn)狀與發(fā)展動向(686)3.2 什么是嵌入式實時操作系統(tǒng)(686)3.3 實時多任務系統(tǒng)中的一些基本概念(686)3.4 一個源碼公開的實時內(nèi)核(687)3.5 Windows CE的實時性分析(687)3.6 串口通信多線程實現(xiàn)的分析(687)3.7 基于中間件的開發(fā)研究(688)3.8 Windows 95下實時控制軟件設計的研究(688)3.9 Windows NT 4.0下設備驅(qū)動程序的開發(fā)與應用(688)3.10 Windows 98 下硬件中斷驅(qū)動程序的開發(fā)(688)3.11 Windows下實時數(shù)據(jù)采集的實現(xiàn)(688)3.12 Win 95 下虛擬設備驅(qū)動程序設計開發(fā)(689)3.13 Win 95 環(huán)境下測控軟件中端口讀寫的快速實現(xiàn)(689)3.14 Linux系統(tǒng)中ARP的編程實現(xiàn)技術(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 嵌入式實時操作系統(tǒng)在機車微機測控軟件開發(fā)中的應用(690)3.20 結(jié)構(gòu)化程序方法在匯編語言中的應用(690)3.21 AVR單片機編程特性的應用研究(690)3.22 一種有效的51系列單片機軟件仿真器(691)3.23 PIC單片機軟件模擬仿真時輸入信號的激勵方式(691)3.24 基于LabVIEW的分布式VXI儀器教學實驗系統(tǒng)設計(691)四、網(wǎng)絡、通信及數(shù)據(jù)傳輸(692)4.1 單片機網(wǎng)絡的組成與控制(692)4.2 實現(xiàn)ARINC 429數(shù)字信息傳輸?shù)姆桨冈O計(692)4.3 結(jié)合電力線載波和電話通信的報警網(wǎng)絡系統(tǒng)(692)4.4 網(wǎng)絡電子密碼鎖監(jiān)控系統(tǒng)的設計與實現(xiàn)(692)4.5 IRIG?E標準FM?FM解調(diào)器的有關技術(693)4.6 基于TCP/IP的多媒體通信實現(xiàn)(693)4.7 基于TCP/IP的多線程通信及其在遠程監(jiān)控系統(tǒng)中的應用(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和計算機并口的高速數(shù)據(jù)通信(694)4.15 一種高可靠性的PC機與單片機間的串行通信方法(694)4.16 單片機與PC機串行通信的實現(xiàn)方法(695)4.17 89C51單片機I/O口模擬串行通信的實現(xiàn)方法(695)4.18 TMS320C50與PC機高速串行通信的實現(xiàn)(695)4.19 DSP和PC機的異步串行通信設計(695)4.20 基于MCS單片機與PC機串行通信電平轉(zhuǎn)換(695)4.21 一種簡單的光電隔離RS232電平轉(zhuǎn)換接口設計(695)4.22 ISA總線工業(yè)控制機與單片機系統(tǒng)的數(shù)據(jù)交換(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語言實現(xiàn)對端口I/O的訪問(697)4.29 異種單片機共享片外存儲器及其與微機通信的方法(697)4.30 單片機與MODEM接口技術及其在智能儀器中的應用研究(697)4.31 采用MCS51單片機實現(xiàn)CPFSK調(diào)制(697)4.32 一種新型編碼芯片及其驅(qū)動程序的設計方案(698)4.33 DTMF遠程通信的軟硬件實現(xiàn)技術(698)4.34 采用DTMF方式通信的電度表管理系統(tǒng)(698)4.35 基于TAPI的電話語音系統(tǒng)設計方法(698)4.36 語音芯片APR9600及其在電話遙控系統(tǒng)中的應用(699)4.37 串行紅外收發(fā)模塊及其控制器在紅外抄表系統(tǒng)中的應用(699)4.38 HSP50214B PDC及其在軟件無線電中的應用(699)4.39 變速率CDMA系統(tǒng)軟件無線電多用戶接收機(699)五、新器件及應用技術(700)5.1 全幀讀出型面陣CCD光電傳感器在圖像采集中的應用(700)5.2 光電碼盤四倍頻分析(700)5.3 H8/300H系列單片機及其應用(700)5.4 PIC 16F877單片機的鍵盤和LED數(shù)碼顯示接口(700)5.5 PIC16F877單片機實現(xiàn)D/A轉(zhuǎn)換的兩種方法(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芯片在遠程數(shù)據(jù)通信中的應用(702)5.12 MX919在無線高速MODEM中的應用(702)5.13 高速串行數(shù)據(jù)收發(fā)器CY7B923/933及應用(702)5.14 雙口RAM與FIFO芯片在數(shù)據(jù)處理系統(tǒng)中應用的比較(702)5.15 MAX202E在串行通信中的應用(703)5.16 線性隔離放大器ISO122的原理及應用(703)5.17 AD606對數(shù)放大器的研究與應用(703)5.18 電流/電壓轉(zhuǎn)換芯片MAX472在永磁直流電動機虛擬測試系統(tǒng)中的應用… (703)5.19 高精度模數(shù)轉(zhuǎn)換器AD676的原理及應用(703)5.20 DS2450 A/D轉(zhuǎn)換器的特性與應用(704)5.21 80C196KC內(nèi)部A/D轉(zhuǎn)換器的使用(704)5.22 一種16~24位分辨率D/A轉(zhuǎn)換器的設計(704)5.23 串行A/D轉(zhuǎn)換器TLC2543與TMS320C25的接口及編程(704)5.24 A/D轉(zhuǎn)換器ICL7135積分特性應用(704)5.25 高精度A/D轉(zhuǎn)換器AD7711A及應用(705)5.26 多路A/D轉(zhuǎn)換器AD7714及其與M68HC11單片機接口技術(705)5.27 用AD7755設計的低成本電能表(705)5.28 20位Σ?Δ立體聲ADA電路TLC320AD75C的接口電路設計(705)5.29 24位A/D轉(zhuǎn)換器ADS1210/1211及其應用(706)5.30 模數(shù)轉(zhuǎn)換器AD7705及其接口電路(706)5.31 串行A/D轉(zhuǎn)換器ADS7812與單片機的接口技術(706)5.32 串行A/D轉(zhuǎn)換器TLC548/549及其應用(706)5.33 采樣率可變16通道16位隔離A/D電路(706)5.34 TLC549在交流有效值測量中的應用(707)5.35 溫度傳感器DS18B20的特性及程序設計方法(707)5.36 DS1820及其高精度溫度測量的實現(xiàn)(707)5.37 采用DS1820的電弧爐爐底溫度監(jiān)測系統(tǒng)(707)5.38 并行實時時鐘芯片DS12887及其應用(707)5.39 利用實時時鐘X1203開啟單片機系統(tǒng)(708)5.40 時鐘芯片DS1302及其在數(shù)據(jù)記錄中的應用(708)5.41 串行顯示驅(qū)動器PS7219及與單片機的接口技術(708)5.42 MAX7219在PLC中的應用(708)5.43 一種實用的LED光柱顯示器驅(qū)動方法(708)5.44 基于電能測量芯片ADE7756的智能電度表設計(709)5.45 TSS721A在自動抄表系統(tǒng)中的應用(709)5.46 電流傳感放大器MAX471/MAX472的原理及應用(709)5.47 8XC552模數(shù)轉(zhuǎn)換過程及其自動調(diào)零機制(709)5.48 旋轉(zhuǎn)變壓器數(shù)字轉(zhuǎn)換器AD2S83在伺服系統(tǒng)中的應用(709)5.49 具有串行接口的I/O擴展器EM83010及其應用(710)5.50 新型LED驅(qū)動器TEC9607及其應用(710)5.51 新型語音識別電路AP7003及其應用(710)六、總線技術(711)6.1 現(xiàn)場總線技術的發(fā)展及應用展望(711)6.2 CAN總線點對點通信應用研究(711)6.3 基于CAN總線的數(shù)據(jù)通信系統(tǒng)研究(711)6.4 基于CAN總線的分布式數(shù)據(jù)采集與控制系統(tǒng)(711)6.5 基于CAN總線的分布式鋁電解智能系統(tǒng)(711)6.6 CAN總線在通信電源監(jiān)控系統(tǒng)中的應用(712)6.7 CAN總線在弧焊機器人控制系統(tǒng)中的應用(712)6.8 CAN總線及其在噴漿機器人中的應用(712)6.9 基于CAN控制器的單片機農(nóng)業(yè)溫室控制系統(tǒng)的設計(712)6.10 現(xiàn)場總線國際標準與LonWorks在智能電器中的應用(712)6.11 基于LON總線技術的暖通空調(diào)控制系統(tǒng)(712)6.12 通用串行總線(USB)及其芯片的使用(713)6.13 USB在數(shù)據(jù)采集系統(tǒng)中的應用(713)6.14 用MC68HC05JB4開發(fā)USB外設(713)6.15 8x930Ax/Hx USB控制器芯片及其在數(shù)字音頻中的應用(713)6.16 基于MC68HC(9)08JB8芯片的USB產(chǎn)品——鍵盤設計(713)6.17 I2 C總線在LonWorks網(wǎng)絡節(jié)點上的應用(714)6.18 Neuron3150的并行I/O接口對象及其應用(714)6.19 新型串行E2PROM 24LC65在LonWorks節(jié)點中的應用(714)6.20 利用I2C總線實現(xiàn)DSP對CMOS圖像傳感器的控制(714)6.21 在I2C總線系統(tǒng)中擴展LCD顯示器(714)6.22 基于Windows環(huán)境的GPIB接口設計實現(xiàn)(714)6.23 微機PCI總線接口的研究與設計(715)6.24 通用串行總線(USB)原理及接口設計(715)6.25 CAN總線與1553B總線性能分析比較(715)6.26 利用USB接口實現(xiàn)雙機互聯(lián)通信(715)6.27 一種帶USB接口的便攜式語音采集卡的設計(715)七、可靠性技術(716)7.1 電磁干擾與電磁兼容設計(716)7.2 計算機的防電磁泄漏技術(716)7.3 低輻射計算機系統(tǒng)的設計實現(xiàn)(716)7.4 靜電測量及其程序設計(716)7.5 電子產(chǎn)品生產(chǎn)中的靜電防護技術(716)7.6 電子測控系統(tǒng)中的屏蔽與接地技術(717)7.7 微機控制系統(tǒng)的抗干擾技術(717)7.8 如何提高單片機應用產(chǎn)品的抗干擾能力(717)7.9 工業(yè)控制計算機系統(tǒng)中的常見干擾及處理措施(717)7.10 GPS用于軍用導航中的抗干擾和干擾對抗研究(717)7.11 基于開放式體系結(jié)構(gòu)的數(shù)控機床可靠性及抗干擾設計(717)7.12 變頻器應用技術中的抗干擾問題(718)7.13 單片機的軟件可靠性編程(718)7.14 單片微機的軟件抑噪方案(718)7.15 SmartLock并口單片機軟件狗加密技術(718)7.16 單片機系統(tǒng)中復位電路可靠性設計(718)7.17 測控系統(tǒng)中實現(xiàn)數(shù)據(jù)安全存儲的實用技術(718)7.18 高精度儀表信號隔離電路設計(719)7.19 基于AT89C2051單片機的防誤操作智能鎖(719)7.20 Email的安全問題與保護措施(719)7.21 雙機容錯系統(tǒng)的一種實現(xiàn)途徑(719)7.22 單片機應用系統(tǒng)抗干擾設計綜述(719)7.23 微機控制系統(tǒng)中的干擾及其抑制方法(720)7.24 智能儀表的抗干擾和故障診斷(720)八、應用實踐(721)8.1 AT89C51在銀行利率顯示屏中的應用(721)8.2 基于8xC196MC實現(xiàn)的磁鏈軌跡跟蹤控制(721)8.3 基于80C196KC的開關磁阻電機測試系統(tǒng)(721)8.4 80C196KB單片機在繞線式異步電動機啟動控制中的應用(721)8.5 GPS時鐘系統(tǒng)(721)8.6 一種由AT89C2051單片微機實現(xiàn)的功率因數(shù)補償裝置(722)8.7 數(shù)據(jù)采集系統(tǒng)芯片ADμC812及其在溫度監(jiān)測系統(tǒng)中的應用(722)8.8 用AVR單片機實現(xiàn)蓄電池剩余電量的測量(722)8.9 基于SA9604的多功能電度表(722)8.10 數(shù)字正交上變頻器AD9856的原理及其應用(722)8.11 基于MC628的可變參數(shù)PID控制方法的實現(xiàn)(723)8.12 Windows 98下遠程數(shù)據(jù)采集系統(tǒng)設計(723)8.13 一種新式微流量計的研究(723)8.14 一種便攜式多通道精密測溫儀(723)8.15 一種高精度定時器的設計及其應用(723)8.16 智能濕度儀設計(724)8.17 固態(tài)數(shù)字語音記錄儀的設計與實現(xiàn)(724)8.18 多功能語音電話答錄器的設計(724)8.19 白熾燈色溫測量裝置電路設計(724)8.20 交直流供電無縫連接電源控制系統(tǒng)設計(724)8.21 小型電磁輻射敏感度自動測試系統(tǒng)的設計(725)8.22 生物電極微電流動態(tài)檢測裝置(725)8.23 二種鉑電阻4~20 mA電流變送器電路(725)8.24 基于單片機的智能型光電編碼器計數(shù)器(725)8.25 嵌入式系統(tǒng)中利用RS232C串口擴展矩陣式鍵盤(725)8.26 電壓矢量控制PWM波的一種實時生成方法(725)8.27 便攜式電能表校驗裝置現(xiàn)場使用分析(726)8.28 用單片機實現(xiàn)大型電動機的在線監(jiān)測(726)8.29 PLC在L型管彎曲機電控系統(tǒng)中的應用(726)8.30 用EPROM實現(xiàn)步進電機的控制(726)8.31 一種手持設備的智能卡實現(xiàn)技術(726)8.32 鈔票顏色識別系統(tǒng)的設計(727)8.33 數(shù)字鎖相環(huán)在位置檢測中的應用(727)九、DSP及其應用技術(728)9.1 數(shù)字信號處理器DSPs的發(fā)展(728)9.2 用TMS320C6201實現(xiàn)多路ITU?T G.728語音編碼標準(728)9.3 采用DSP內(nèi)核技術進行語音壓縮開發(fā)(728)9.4 TMS320C80與存儲器接口分析(728)9.5 TMS320C32浮點DSP存儲器接口設計(728)9.6 TMS320VC5402 DSP的并行I/O引導裝載方法研究(729)9.7 TMS320C30系統(tǒng)與PC104進行雙向并行通信的方法(729)9.8 基于TMS320C6201的G.723.1多通道語音編解碼的實現(xiàn)(729)9.9 基于TMS320C6201的多通道信號處理平臺(729)9.10 基于兩片TMS320C40的高速數(shù)據(jù)采集系統(tǒng)(729)9.11 使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)(730)9.12 基于TMS320C32的視覺圖像處理系統(tǒng)(730)9.13 用ADSP?2181和MC68302實現(xiàn)MPEG?2傳送復用器(730)9.14 基于DSP的PC加密卡(730)9.15 TMS320C2XX及其在寬帶恒定束寬波束形成器中的應用(730)9.16 DS80C320單片機在無人機測控數(shù)據(jù)采編器中的應用(731)9.17 基于TMS320F206 DSP的圖像采集卡設計(731)9.18 基于定點DSP的實時語音命令識別模塊(731)9.19 基于TMS320C50的語音頻譜分析儀(731)9.20 利用DSP實現(xiàn)的專用數(shù)字錄音機(731)9.21 基于DSP的全數(shù)字交流傳動系統(tǒng)硬件平臺設計(732)9.22 ADSP2106x中DMA的應用(732)9.23 軟件無線電中DSP應用模式的分析(732)9.24 快速小波變換在DSP中的實現(xiàn)方法(732)十、PLD及EDA技術應用(733)10.1 可編程器件實現(xiàn)片上系統(tǒng)(733)10.2 VHDL語言在現(xiàn)代數(shù)字系統(tǒng)中的應用(733)10.3 用VHDL設計有限狀態(tài)機的方法(733)10.4 ISP-PLD在數(shù)字系統(tǒng)設計中的應用(733)10.5 基于FPGA技術的新型高速圖像采集(734)10.6 Protel 99SE電路仿真(734)10.7 可編程邏輯器件(PLD)在電路設計中的應用(734)10.8 基于FPGA的全數(shù)字鎖相環(huán)路的設計(734)10.9 基于EPLD器件的一對多打印機控制器的研制(734)10.10 一種VHDL設計實現(xiàn)的有線電視機頂盒信源發(fā)生方案(735)10.11 一種并行存儲器系統(tǒng)的FPGA實現(xiàn)(735)10.12 SDRAM接口的VHDL設計(735)10.13 采用ISP器件設計可變格式和可變速率的通信數(shù)字信號源(735)10.14 利用FPGA技術實現(xiàn)數(shù)字通信中的交織器和解交織器(735)10.15 XC9500系列CPLD遙控編程的實現(xiàn)(736)10.16 PLD器件在紅外遙控解碼中的應用(736)10.17 利用XCS40實現(xiàn)小型聲納的片上系統(tǒng)集成(736)10.18 可編程邏輯器件的VHDL設計技術及其在航空火控電子設備中的應用… (736)10.19 DSP+FPGA實時信號處理系統(tǒng)(736)10.20 CPLD在IGBT驅(qū)動設計中的應用(737)10.21 基于FPGA的FIR濾波器的實現(xiàn)(737)10.22 用可編程邏輯器件取代BCD?二進制轉(zhuǎn)換器的設計方法(737)
上傳時間: 2014-04-14
上傳用戶:gtf1207
RS-232-C 是PC 機常用的串行接口,由于信號電平值較高,易損壞接口電路的芯片,與TTL電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL 電路連接。本產(chǎn)品(轉(zhuǎn)接器),可以實現(xiàn)任意電平下(0.8~15)的UART串行接口到RS-232-C/E接口的無源電平轉(zhuǎn)接, 使用非常方便可靠。 什么是RS-232-C 接口?采用RS-232-C 接口有何特點?傳輸電纜長度如何考慮?答: 計算機與計算機或計算機與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。 在串行通訊時,要求通訊雙方都采用一個標準接口,使不同 的設備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970 年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、 調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標準。它的全名是“數(shù)據(jù)終端設備(DTE)和數(shù)據(jù)通訊設備(DCE)之間串行二進制數(shù)據(jù)交換接口技術標準”該標準規(guī)定采用一個25 個腳的 DB25 連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。(1) 接口的信號內(nèi)容實際上RS-232-C 的25 條引線中有許多是很少使用的,在計算機與終端通訊中一般只使用3-9 條引線。(2) 接口的電氣特性 在RS-232-C 中任何一條信號線的電壓均為負邏輯關系。即:邏輯“1”,-5— -15V;邏輯“0” +5— +15V 。噪聲容限為2V。即 要求接收器能識別低至+3V 的信號作為邏輯“0”,高到-3V的信號 作為邏輯“1”(3) 接口的物理結(jié)構(gòu) RS-232-C 接口連接器一般使用型號為DB-25 的25 芯插頭座,通常插頭在DCE 端,插座在DTE端. 一些設備與PC 機連接的RS-232-C 接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號地”。所以采用DB-9 的9 芯插頭座,傳輸線采用屏蔽雙絞線。(4) 傳輸電纜長度由RS-232C 標準規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長度應為50 英尺,其實這個4%的碼元畸變是很保守的,在實際應用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實際使用中最大距離會遠超過50 英尺,美國DEC 公司曾規(guī)定允許碼元畸變?yōu)?0%而得出附表2 的實驗結(jié)果。其中1 號電纜為屏蔽電纜,型號為DECP.NO.9107723 內(nèi)有三對雙絞線,每對由22# AWG 組成,其外覆以屏蔽網(wǎng)。2 號電纜為不帶屏蔽的電纜。 2. 什么是RS-485 接口?它比RS-232-C 接口相比有何特點?答: 由于RS-232-C 接口標準出現(xiàn)較早,難免有不足之處,主要有以下四點:(1) 接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL 電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL 電路連接。(2) 傳輸速率較低,在異步傳輸時,波特率為20Kbps。(3) 接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式, 這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。(4) 傳輸距離有限,最大傳輸距離標準值為50 英尺,實際上也只能 用在50 米左右。針對RS-232-C 的不足,于是就不斷出現(xiàn)了一些新的接口標準,RS-485 就是其中之一,它具有以下特點:1. RS-485 的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6) V 表示;邏輯“0”以兩線間的電壓差為-(2—6)V 表示。接口信號電平比RS-232-C 降低了,就不易損壞接口電路的芯片, 且該電平與TTL 電平兼容,可方便與TTL 電路連接。2. RS-485 的數(shù)據(jù)最高傳輸速率為10Mbps3. RS-485 接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。4. RS-485 接口的最大傳輸距離標準值為4000 英尺,實際上可達 3000 米,另外RS-232-C接口在總線上只允許連接1 個收發(fā)器, 即單站能力。而RS-485 接口在總線上是允許連接多達128 個收發(fā)器。即具有多站能力,這樣用戶可以利用單一的RS-485 接口方便地建立起設備網(wǎng)絡。因RS-485 接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優(yōu)點就使其成為首選的串行接口。 因為RS485 接口組成的半雙工網(wǎng)絡,一般只需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。 RS485 接口連接器采用DB-9 的9 芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485 采用DB-9(針)。3. 采用RS485 接口時,傳輸電纜的長度如何考慮?答: 在使用RS485 接口時,對于特定的傳輸線經(jīng),從發(fā)生器到負載其數(shù)據(jù)信號傳輸所允許的最大電纜長度是數(shù)據(jù)信號速率的函數(shù),這個 長度數(shù)據(jù)主要是受信號失真及噪聲等影響所限制。下圖所示的最大電纜長度與信號速率的關系曲線是使用24AWG 銅芯雙絞電話電纜(線 徑為0.51mm),線間旁路電容為52.5PF/M,終端負載電阻為100 歐 時所得出。(曲線引自GB11014-89 附錄A)。由圖中可知,當數(shù)據(jù)信 號速率降低到90Kbit/S 以下時,假定最大允許的信號損失為6dBV 時, 則電纜長度被限制在1200M。實際上,圖中的曲線是很保守的,在實 用時是完全可以取得比它大的電纜長度。 當使用不同線徑的電纜。則取得的最大電纜長度是不相同的。例 如:當數(shù)據(jù)信號速率為600Kbit/S 時,采用24AWG 電纜,由圖可知最 大電纜長度是200m,若采用19AWG 電纜(線徑為0。91mm)則電纜長 度將可以大于200m; 若采用28AWG 電纜(線徑為0。32mm)則電纜 長度只能小于200m。
上傳時間: 2013-10-11
上傳用戶:時代電子小智
1 概述由于在某些通訊設計應用中,需要擴展更多的串口數(shù)量,比如車床監(jiān)控、紡織儀器檢測和網(wǎng)狀連接的數(shù)據(jù)采集等應用。為此成都國騰微電子有限公司推出的GM814x 可以滿足多個同類產(chǎn)品的并聯(lián)擴展,并且能簡單的實現(xiàn)電路連接和程序控制,主MCU 可以識別數(shù)據(jù)的來源和指定和某個GM814x 通信。2 應用說明2.1 CS 與SPI 的數(shù)據(jù)通信GM814x 的CS(片選)引腳可用于控制SPI 總線時鐘有效性,CS 低電平有效,內(nèi)部下拉。CS 有效時,允許芯片的時鐘接收和數(shù)據(jù)收發(fā);無效時,SCLK、DIN 和DOUT 均為高阻狀態(tài),GM814x 不響應SPI 上的數(shù)據(jù)收發(fā),但能正常收發(fā)子串口數(shù)據(jù)和產(chǎn)生相應中斷。2.2 應用建議當使用GM814x 的應用需要擴展4 個以上的串口數(shù)量時,就需要使用2 片以上的GM814x。擴展的方式也有多種。方式一:將多個GM814x 的SPI 接口接在主MCU 的SPI 總線上,然后將所有GM814x 的中斷進行線與后連接到MCU 的IRQ 上,同時將各GM814x 的IRQ 輸出又連接到MCU的IO,以便MCU響應中斷后檢測是具體哪一個GM814x 輸出的中斷,然后再拉低對應的CS,拉高其它GM814x的CS,并執(zhí)行通信操作。方式二:如果擴展的GM814x 數(shù)量較多,采用上述擴展方式可能會占用MCU較多的IO 資源,則可以將GM814x 的中斷輸出連接到具有OC 輸出的與門芯片上,再輸出到MCU 的中斷輸入。同時又將所有的GM814x 的中斷輸出進行編碼輸入到MCU,以供其判斷產(chǎn)生中斷的是哪一個GM814x。方式三:將所有GM814x 的中斷輸出連接到優(yōu)先編碼器進行編碼輸出,同時編碼器也能輸出低電平信號給MCU 作為中斷響應。MCU 檢測編碼數(shù)據(jù)以獲知產(chǎn)生中斷的GM814x,然后進行數(shù)據(jù)通信處理。這種方式電路最簡單,占用MCU 的IO 資源也最少。 舉例:使用MCS51 單片機擴展8 片GM814x。本電路中,采用了上述提到的第三種擴展方式。通過普通的MCS51 單片機擴展最多8 片GM814x,可擴展最多32 個標準串口。為了節(jié)省MCU的IO 資源,電路中增加了一片8-3 線優(yōu)先編碼器74LS348 和一片3-8 線譯碼器74HC138。8 片GM814x 的IRQ 中斷通過一片74LS348 輸出中斷源向量,同時產(chǎn)生GS 低電平信號到MCS51 的外部中斷0 上,MCS51 響應中斷后,可查詢A0~A2 的值確定產(chǎn)生中斷的GM814x,然后MCU 使能74HC138,輸出對應的ABC 信號選中產(chǎn)生IRQ 信號的GM814x,再進行SPI 總線上的數(shù)據(jù)通信。 示例程序:本示例程序使用C 語言描述,僅供參考。 由于74LS348 是優(yōu)先編碼器,多個中斷同時產(chǎn)生的時候,74LS348 的編碼只會指示輸入編號上最高的IRQ,MCU 無法直接獲知是否其它的GM814x 也產(chǎn)生了中斷。同時GM814x 在自己的中斷申請后,數(shù)據(jù)傳輸?shù)降?bit 時會自動清除,所以數(shù)據(jù)接收完后如果MCU 的中斷引腳仍然為低,則表示還有其它GM814x 的中斷申請,故必須在處理完當前中斷后繼續(xù)查詢新的中斷向量。這就是上述示例程序中while 循環(huán)的目的。 以上應用建議僅供設計者參考,不代表最終實現(xiàn)方式,更可靠和實際的實現(xiàn)方式可由設計者根據(jù)自己的實際情況確定。l 示例中的數(shù)據(jù)、參數(shù)和標志字命名不代表實際產(chǎn)品的特性,請參考實際產(chǎn)品的數(shù)據(jù)手冊來獲取你所需要的數(shù)據(jù)。
上傳時間: 2013-10-26
上傳用戶:suicoe