第4章4547接口技術(shù)_第1頁
第4章4547接口技術(shù)_第2頁
第4章4547接口技術(shù)_第3頁
第4章4547接口技術(shù)_第4頁
第4章4547接口技術(shù)_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、定時(shí)信號的需求

在計(jì)算機(jī)系統(tǒng)中,經(jīng)常要用到定時(shí)信號,比如:在許多個人計(jì)算機(jī)中,動態(tài)存儲器的刷新定時(shí);系統(tǒng)日歷時(shí)鐘的計(jì)時(shí);喇叭的聲源;都是用定時(shí)信號來產(chǎn)生的。在計(jì)算機(jī)實(shí)時(shí)控制與處理系統(tǒng)中,計(jì)算機(jī)需要每隔一段時(shí)間采樣一次,再對采樣的數(shù)據(jù)處理、控制,也要用到定時(shí)信號。計(jì)數(shù)與定時(shí)本質(zhì)就是計(jì)數(shù),計(jì)數(shù)脈沖為周期性脈沖,可以實(shí)現(xiàn)定時(shí)功能。4.5

計(jì)數(shù)/定時(shí)及其控制芯片8253A§4.5.1

定時(shí)/計(jì)數(shù)技術(shù)2014/072、定時(shí)和計(jì)數(shù)的實(shí)現(xiàn)方法DELAY:

MOVDX,1000

TIME:

DECDX

JNETIME定時(shí)信號的產(chǎn)生有兩種方式:

1)軟件方法——延時(shí)子程序2)不可編程的硬件定時(shí)——單穩(wěn)態(tài)延時(shí)電路或計(jì)數(shù)電路。實(shí)現(xiàn)延時(shí)或定時(shí)器件容易老化,導(dǎo)致定時(shí)不準(zhǔn)(RC決定脈沖寬度)。3)可編程的硬件定時(shí)——用定時(shí)/計(jì)數(shù)器(簡單的軟件控制,產(chǎn)生準(zhǔn)確的時(shí)間延遲)。

主要思路:計(jì)數(shù)器/定時(shí)器開始工作,此時(shí)CPU不必過問它的工作,而可以去作別的工作。計(jì)數(shù)器/定時(shí)器計(jì)數(shù)或定時(shí)達(dá)到確定值時(shí),可以自動產(chǎn)生一個輸出。2014/07定時(shí)/計(jì)數(shù)器的核心是一個自動加1或減1的計(jì)數(shù)器。11111111例:計(jì)數(shù)器為8位,設(shè)初值為1111111111111110111111011111110011111011000000100000000100000000

經(jīng)過255個輸入脈沖后,計(jì)數(shù)器值減到0,產(chǎn)生一個輸出信號,表示計(jì)數(shù)結(jié)束。外部輸入脈沖的周期是固定的,計(jì)數(shù)的初值,決定定時(shí)時(shí)間,即計(jì)數(shù)器輸出時(shí)間;外部輸入脈沖的周期是隨機(jī)的,停止計(jì)數(shù)后,查看計(jì)數(shù)器的計(jì)數(shù)值。開啟停止2014/07§4.5.2

8253A內(nèi)部結(jié)構(gòu)和引腳1.8253的主要功能:①3個獨(dú)立的16位減1計(jì)數(shù)器通道;②每個計(jì)數(shù)器都可以單獨(dú)使用,采用二進(jìn)制或BCD;③計(jì)數(shù)器的計(jì)數(shù)速率可達(dá)2MHz,最高達(dá)2.6MHz;④每個通道有6種工作方式,可由程序設(shè)置和改變;⑤輸入/輸出與TTL兼容。2014/0700HFEH8位控制寄存器:控制計(jì)數(shù)器的工作方式;16位計(jì)數(shù)初值寄存器:裝計(jì)數(shù)初值;16位計(jì)數(shù)執(zhí)行部件:執(zhí)行減1操作;16位輸出鎖存器:需要讀取當(dāng)前計(jì)數(shù)值時(shí),將當(dāng)前執(zhí)行計(jì)數(shù)器中的值鎖存進(jìn)該存儲器后讀取。對其寫入控制字對其寫入計(jì)數(shù)初值讀取了解當(dāng)前狀態(tài)00HFFH00HFDH00HFCH00HFCH2014/07a.向8253寫入確定工作方式的命令。b.向8253計(jì)數(shù)器寄存器裝入計(jì)數(shù)值。c.讀出8253計(jì)數(shù)值。

8253A由數(shù)據(jù)總線緩沖存儲器、讀/寫控制電路、控制字寄存器及3個獨(dú)立的計(jì)數(shù)通道組成。計(jì)數(shù)器0號計(jì)數(shù)器1號計(jì)數(shù)器2號a.CS—片選信號。b.RD—CPU讀取計(jì)數(shù)器的當(dāng)前值。c.WR—向8253寫控制字或計(jì)數(shù)初值。d.A1A0—端口選擇信號。2014/07

3個獨(dú)立通道,每個通道內(nèi)有16位減1計(jì)數(shù)器,每來一個計(jì)數(shù)脈沖計(jì)數(shù)器減1,在OUT端輸出一個計(jì)數(shù)結(jié)束信號,每個通道內(nèi)有一個計(jì)數(shù)鎖存器,可以鎖住當(dāng)前計(jì)數(shù)值,供CPU查詢。計(jì)數(shù)脈沖計(jì)數(shù)器:計(jì)數(shù)脈沖由CLK引腳輸入,計(jì)數(shù)周期可不固定,計(jì)數(shù)脈沖來自外部。定時(shí)器:計(jì)數(shù)脈沖要求來自系統(tǒng)的主時(shí)鐘,周期固定,CLK最高計(jì)數(shù)頻率為2.6MHz。定時(shí)計(jì)數(shù)值=定時(shí)時(shí)間時(shí)鐘脈沖的周期1、8253與外設(shè)的接口2014/072、8253與CPU的接口a.向8253寫入確定工作方式的命令。b.向8253計(jì)數(shù)器寄存器裝入計(jì)數(shù)值。c.讀出8253計(jì)數(shù)值。1)數(shù)據(jù)總線緩沖器2)讀寫控制電路a.CS—片選信號。b.RD—CPU讀取計(jì)數(shù)器的當(dāng)前值。c.WR—向8253寫控制字或計(jì)數(shù)初值。d.A1A0—端口選擇信號。2014/072014/07引腳信號D7~D0

數(shù)據(jù)總線(雙向)RD

讀輸入WR寫輸入A0,A1

內(nèi)部寄存器地址CS

片選CLK輸入脈沖(計(jì)數(shù)脈沖)GATE

門控信號輸入

(控制計(jì)數(shù)器工作的外部信號,為低時(shí),禁止計(jì)數(shù)器工作)OUT

輸出引腳(計(jì)數(shù)為0,

OUT有輸出波形,

由工作方式?jīng)Q定)2014/07用來存放CPU寫入8253的方式選擇控制字。§4.5.3

8253A控制字及工作方式2014/07

1、8253的控制命令在8253的初始化編程中,由CPU向8253的控制寄存器輸出一個控制字,用來選擇計(jì)數(shù)器,設(shè)定工作方式和計(jì)數(shù)格式。

2、8253的設(shè)置初值命令控制字寫入8253后,設(shè)置初值命令,所謂設(shè)置初值就是設(shè)置計(jì)數(shù)的初始值,其初始值可以是8位的,也可以是16位,則要用兩條輸出指令完成計(jì)數(shù)初值決定,先送低字節(jié),后送高字節(jié)。§4.5.48253A初始化編程2014/07例1:設(shè)8253端口地址為40H~43H,通道0工作于方式0,用二進(jìn)制計(jì)數(shù),其初始值為4。其初始化程序:

MOVAL,10H;控制字(0001000B)

OUT43H,AL;寫入控制寄存器

MOVAL,4;計(jì)數(shù)初值,只送低8位

OUT40H,AL;初值送通道02014/07鎖存命令是配合CPU讀計(jì)數(shù)器當(dāng)前值而設(shè)置的。在讀計(jì)數(shù)值時(shí),必須先用鎖存命令,將當(dāng)前計(jì)數(shù)值在輸出鎖存器中鎖定,由CPU讀取。③.8253的鎖存命令

注意:當(dāng)CPU將鎖定值用輸入指令在讀走時(shí),鎖存器自動失鎖,又跟隨減法計(jì)數(shù)器工作,在鎖存和讀出計(jì)數(shù)值的過程中,不影響計(jì)數(shù)進(jìn)行。2014/078253A有6種工作方式,基本原則:①控制字寫8253,控制邏輯復(fù)位,OUT進(jìn)入初始態(tài)。②裝入計(jì)數(shù)初值后,經(jīng)過一個時(shí)鐘周期,計(jì)數(shù)器工作,下降沿計(jì)數(shù)器減1計(jì)數(shù)。初值最大值是0:

二進(jìn)制計(jì)數(shù)=216;BCD計(jì)數(shù)=104

③一般情況下,CLK上升沿,采樣門控信號。門控信號觸發(fā)方式電平觸發(fā)方式邊沿觸發(fā)方式(在每個時(shí)鐘脈沖的上升沿采樣邊沿觸發(fā)器,檢測是否被外部門控脈沖觸發(fā)過)§4.5.58253A的工作方式2014/071.計(jì)數(shù)過程由軟件啟動,每設(shè)置一次初值,只啟動一次計(jì)數(shù)過程;2.寫入控制字后,OUT初態(tài)為低,在計(jì)數(shù)過程中一直保持為低電平,當(dāng)計(jì)數(shù)器減到0時(shí),OUT立即變成高電平。①.工作方式0—計(jì)數(shù)結(jié)束中斷2014/073.

門控GATE為1,正常計(jì)數(shù),門控為0,計(jì)數(shù)暫停,其計(jì)數(shù)值保持不變,再為1,接著前次繼續(xù)計(jì)數(shù);計(jì)數(shù)暫停,保持不變2014/07立即有效4.

計(jì)數(shù)中,改變初值立即有效,即重新寫入初值時(shí)停止計(jì)數(shù);當(dāng)寫完初值后,在CLK的下降沿,開始新的計(jì)數(shù)初值計(jì)數(shù)。2014/07門控觸發(fā)初態(tài)為高開始計(jì)數(shù)后輸出N個CLK寬度的低電平1.計(jì)數(shù)器只能由門控脈沖GATE的上升沿啟動,即計(jì)數(shù)器只能由硬件啟動,不能用軟件啟動;②.工作方式1—可編程單脈沖發(fā)生器2014/072.

寫入控制字后,OUT初態(tài)為高電平,GATE啟動后,獲得N個CLK的低電平;計(jì)數(shù)到0,再次由外部觸發(fā)啟動,重新自動賦值計(jì)數(shù)2014/073.計(jì)數(shù)輸出時(shí),改變計(jì)數(shù)初值不影響本次計(jì)數(shù);只有GATE為高后,才以新的計(jì)數(shù)初值計(jì)數(shù),即計(jì)數(shù)值是下次有效的。2014/071.計(jì)數(shù)器既可用軟件啟動,又可用硬件啟動;2.

寫入控制字后,OUT初態(tài)為高電平,裝入初值后開始計(jì)數(shù)(軟件啟動);計(jì)數(shù)到1,輸出1個低電平信號;輸出(N-1)個高電平。(周期重復(fù))③.工作方式2—速率發(fā)生器2014/073.當(dāng)OUT為高,若GATE為0,停止計(jì)數(shù)。直到GATE出現(xiàn)上升沿,計(jì)數(shù)器重新開始計(jì)數(shù)輸出(硬件啟動);2014/074.

當(dāng)OUT為高,改變計(jì)數(shù)初值,對正在進(jìn)行的計(jì)數(shù)過程沒有影響。改變計(jì)數(shù)是下次有效的。2014/071.

與方式2類似,輸出信號為方波,周期為N個CLK。若初值N為偶數(shù),輸出N/2個CLK高電平,N/2個CLK低電平;若N為奇數(shù),(N+1)/2個高電平,(N-1)/2個低電平。N=4,方波④.工作方式3—方波發(fā)生器2014/07(N-1)/2,低電平N=5,奇數(shù)(N+1)/2,高電平2014/072.GATE為0停止計(jì)數(shù),GATE上升沿重新啟動計(jì)數(shù)周期;2014/073.

重新寫入初值,本次OUT不受影響,下一周期按新值輸出。計(jì)數(shù)值下次有效。2014/071.計(jì)數(shù)由軟件啟動,每設(shè)置一次初值,只啟動一次計(jì)數(shù)過程;2.寫入控制字后,OUT初態(tài)為高,計(jì)數(shù)過程中一直保持為高電平;當(dāng)計(jì)數(shù)器減到0時(shí),輸出為一個CLK的低電平,接著又為高電平。⑤.工作方式4—軟件觸發(fā)方式2014/073.

門控GATE為1,正常計(jì)數(shù),門控為0,計(jì)數(shù)停止,再為1,重新從計(jì)數(shù)初值開始計(jì)數(shù)。2014/074.

計(jì)數(shù)中,改變初值立即有效,即重新寫入初值時(shí)停止計(jì)數(shù);當(dāng)寫完初值后,在CLK的下降沿處,開始以新的計(jì)數(shù)初值計(jì)數(shù)。2014/07門控觸發(fā)開始計(jì)數(shù)后輸出1個CLK低電平1.

計(jì)數(shù)器只能由門控脈沖GATE的上升沿啟動,即計(jì)數(shù)器只能由硬件啟動,不能用軟件啟動;⑥.工作方式5—硬件觸發(fā)方式2014/072.OUT初態(tài)為高電平;GATE啟動后,減1計(jì)數(shù),計(jì)數(shù)到0,OUT出現(xiàn)一個CLK的負(fù)脈沖,又變?yōu)楦唠娖健?.在計(jì)數(shù)中,若GATE為上升沿,則計(jì)數(shù)器重新觸發(fā),即在下一個時(shí)鐘周期開始計(jì)數(shù);2014/07重裝下次有效4.改變計(jì)數(shù)初值不影響本次計(jì)數(shù),只有在GATE信號后才重新開始以新的計(jì)數(shù)初值計(jì)數(shù),即計(jì)數(shù)值是下次有效的。2014/07在6種方式中,只有方式0,在寫入控制字后OUT為低,其余都是OUT為高做初態(tài);方式1與方式5,在寫入計(jì)數(shù)值后,需GATE的上升沿才開始計(jì)數(shù)——硬啟動;方式0與方式4,寫入初值后,需GATE的高電平軟啟動,改變初值立即有效;計(jì)數(shù)器減到0后并不是停止不動,定時(shí)方式(方式2與方式3)為重裝計(jì)數(shù)初值。方式2與方式3是定時(shí)方式(周期信號),其他為計(jì)數(shù)方式(一次計(jì)數(shù)結(jié)束);方式4與方式5,計(jì)數(shù)到0,OUT出現(xiàn)一個CLK的負(fù)脈沖,然后變?yōu)楦唠娖???偨Y(jié):2014/07

所謂串行通信就是使數(shù)據(jù)一位一位的進(jìn)行傳輸而實(shí)現(xiàn)的通信,串行通信具有傳輸線少,成本低的優(yōu)點(diǎn),適合于遠(yuǎn)距離傳輸,速度慢。計(jì)算機(jī)計(jì)算機(jī)或外設(shè)串行通信4.6

串行通信及其控制芯片8251A§4.6.1

串行通信基礎(chǔ)知識2014/07 按照數(shù)據(jù)流的方向,串行通信分成三種方式:單工:只能單方向傳送信息。如鍵盤與主機(jī)之間。半雙工:可以雙向傳送信息;由于通過同一個通道傳送信息,所以同一時(shí)刻只能單向傳送;全雙工:采用兩條通道,可以同時(shí)發(fā)送和接收信息。如計(jì)算機(jī)之間的通信。TR(a)單工TR(c)全雙工RTTT(b)半雙工RR1、串行通信數(shù)據(jù)傳輸方式2014/072、串行通信的數(shù)據(jù)格式分類串行通信的兩種基本方式:異步串行通信

異步串行通信協(xié)議同步串行通信

同步串行通信協(xié)議異步通信和同步通信必須共同遵守的協(xié)定:

發(fā)送方和接收方必須具有相同的數(shù)據(jù)傳送格式(同步或異步)、起始標(biāo)志、結(jié)束標(biāo)志、校驗(yàn)標(biāo)志、通信速率等。1)異步通信方式:以字符/字節(jié)為單位傳送,通信雙方需約定協(xié)議(格式,速率等)。2014/07a.數(shù)據(jù)的格式——數(shù)據(jù)傳送時(shí),必須有1位起始位(‘0’),結(jié)束有(1/1.5)/2個停止位(‘1’)。01b.校驗(yàn)位奇校驗(yàn):字符加上校驗(yàn)位有奇數(shù)個1;偶校驗(yàn):字符加上校驗(yàn)位有偶數(shù)個1。校驗(yàn)位產(chǎn)生和檢查由串行通信控制器內(nèi)部自動產(chǎn)生,停止位也是由硬件自動產(chǎn)生的。(偶數(shù)個錯誤不能檢測)。2014/07

將許多字符組成一個信息組(稱為幀),字符一個接一個地傳輸。在每幀的開始處加上同步字符,沒有信息傳輸時(shí),填上空字符,同步傳輸不允許字符與字符之間有間隙。同步字符數(shù)據(jù)CRC1CRC2一幀(單同步)同步字符同步字符數(shù)據(jù)CRC1CRC2(雙同步)一幀2)同步通信方式利用同步字(SYN)獲得雙方的同步信息,數(shù)據(jù)之間無間隔符(數(shù)據(jù)流),所以傳輸速率較高。2014/07異步串行通信和同步串行通信特點(diǎn):異步串行通信同步串行通信在通信的數(shù)據(jù)流中,字符間異步,字符內(nèi)各位間同步。在通信的數(shù)據(jù)流中,字符與字符之間以及字符內(nèi)部的位與位之間都必須保持同步。信息傳送單位(1幀數(shù)據(jù))為1個字符,即1幀數(shù)據(jù)中只包括1個字符的有效數(shù)據(jù)。字符與字符之間通信沒有嚴(yán)格定時(shí)要求。信息傳送單位(1幀數(shù)據(jù))為數(shù)據(jù)塊(字符塊),即1幀數(shù)據(jù)中包括1個或多個字符的有效數(shù)據(jù)。2014/073、串行通信時(shí)鐘與波特率1)發(fā)送脈沖和接收脈沖

發(fā)送方要靠發(fā)送脈沖(移位脈沖)將數(shù)據(jù)移出,經(jīng)TXD引腳→對方。

接收方要靠接收脈沖(移位脈沖)將數(shù)據(jù)接入,經(jīng)RXD引腳→串口。2014/072)檢測脈沖

接收方需對發(fā)送方發(fā)來的數(shù)據(jù)位進(jìn)行檢測,以決定是‘0’,還是‘1’。通常檢測脈沖是移位脈沖的16和64倍(常選16)。檢測脈沖的上升沿采樣RxD線,每當(dāng)連續(xù)采樣RxD線上8個低電平(起始位之半)后,便確認(rèn)對方發(fā)送的是起始位,認(rèn)為下一位送來的應(yīng)是數(shù)據(jù)位。此后,便每隔16個檢測脈沖連續(xù)采樣RxD線三次,按三中取二的原則確定采到的數(shù)據(jù)位是0還是1,作為輸入數(shù)據(jù)。2014/073)波特率(bps)例:數(shù)據(jù)傳送速率為120字符/秒,每幀包括10位數(shù)據(jù),則波特率為:120×10=1200位/秒=1200bps

常用的異步通信的波特率的值為:150、300、600、1200、2400、4800、9600、14400、28800。衡量數(shù)據(jù)在線路上傳輸速率的單位。指每秒鐘傳輸?shù)亩M(jìn)制位數(shù),以位/秒(b/s)表示。也稱為數(shù)據(jù)位率(b/s)。2014/07§4.6.2

8251A內(nèi)部結(jié)構(gòu)及引腳功能可用于同步和異步傳送。同步傳送:58bit/字符,內(nèi)部或外部同步,可自動插入同步字符。異步傳送:58bit/字符,時(shí)鐘頻率為通信波特率的1,16或64倍。可產(chǎn)生終止字符(1,1.5或2位停止位),可檢查假啟動位,自動檢測和處理終止字符。波特率:DC19.2Kb/s(異步),DC64Kb/s(同步)全雙工,雙緩沖發(fā)送和接收器。具有奇偶、溢出和幀錯誤等檢測電路。與Intel8080,8085,8086及8088CPU兼容。2014/07數(shù)據(jù)總線緩沖器D7~D8串→并轉(zhuǎn)換接收緩沖器RXDRESETCLK讀/寫控制邏輯電路C/DRDWRCS調(diào)制/解調(diào)控制電路DSRDTRCTSRTS內(nèi)部總線發(fā)送緩沖器并→串轉(zhuǎn)換TXD接收控制電路RXRDYRXCSYNDET發(fā)送控制電路TXCTXEMPTXRDY2014/071、與外設(shè)接口一部分是發(fā)送數(shù)據(jù),另一部分是接收數(shù)據(jù)部分,都包含緩沖器和控制電路,脈沖控制下將數(shù)據(jù)進(jìn)行串/并轉(zhuǎn)換。2、調(diào)制/解調(diào)控制電路用來簡化8251A和調(diào)制解調(diào)器的連接,提供了一組通用的控制信號,使得8251A可以直接和調(diào)制解調(diào)器連接。2014/071)數(shù)據(jù)總線緩沖器:三態(tài)雙向8位緩沖器,它使8251A與系統(tǒng)數(shù)據(jù)總線相連接。3、與CPU接口2)讀/寫控制邏輯電路:用來配合數(shù)據(jù)總線緩沖器工作。寫信號WR:有效時(shí)將來自CPU的數(shù)據(jù)和控制字寫入8251A;讀信號RD:有效時(shí)將數(shù)據(jù)或狀態(tài)字從8251A送往數(shù)據(jù)總線;C/D信號:將此信號和讀/寫信號合起來通知8251A,當(dāng)前讀/寫的是數(shù)據(jù)還是控制字、狀態(tài)字;時(shí)鐘信號CLK:完成8251A的內(nèi)部定時(shí);復(fù)位信號RESET:使8251A處于空閑狀態(tài)。2014/07

操作說明

0

0

1

0CPU從8251A讀數(shù)據(jù)

0

1

1

0CPU從8251A讀狀態(tài)字

0

0

0

1CPU寫數(shù)據(jù)到8251A

0

1

0

1CPU寫命令到8251A

1

X

X

XUSART總線浮空(無操作)2014/07譯碼D7~D0M/IOCSABA0C/DRDRDWRWRTXRDYTXERXRDYSYNDETRESET80868251A外設(shè)(MODEM)DTRDSRRXDCTSRTSTXDCLKTXC計(jì)數(shù)器/定時(shí)器RXC2014/074、MODEM控制信號

DTR—DTE準(zhǔn)備好(輸出,低電平有效),CPU通過命令可使之有效,通知外部設(shè)備,CPU已準(zhǔn)備就緒。DSR—DCE準(zhǔn)備好(輸入,低電平有效),表示當(dāng)前外設(shè)已經(jīng)準(zhǔn)備好。CPU通過讀取狀態(tài)寄存器的D7位來實(shí)現(xiàn)對信號的檢測。RTS—請求發(fā)送信號(輸出,低電平有效),CPU可以通過編程命令使變其為有效電平,通知DCE,CPU已準(zhǔn)備發(fā)送數(shù)據(jù)。CTS—清除請求發(fā)送(輸入,低電平有效),是對RTS的響應(yīng)信號,當(dāng)其有效時(shí)8251A才能執(zhí)行發(fā)送數(shù)據(jù)操作。2014/075、發(fā)送器有關(guān)信號TXD—發(fā)送數(shù)據(jù)。CPU送往8251A的并行數(shù)據(jù)被轉(zhuǎn)變?yōu)榇袛?shù)據(jù)后,通過TXD送往外TXRDY—發(fā)送器準(zhǔn)備好信號,高電平有效。有效時(shí)表示發(fā)送緩沖器空,CPU可以向芯片送入新數(shù)據(jù)。若為中斷方式,則作為中斷請求信號;若為查詢方式,可作聯(lián)絡(luò)信號。TXE—發(fā)送器空信號,高電平有效,用來表示此時(shí)8251A發(fā)送器中沒有要發(fā)送的字符;當(dāng)CPU送入一個字符時(shí)被復(fù)位。TxC—發(fā)送時(shí)鐘,控制8251A發(fā)送字符的速度。異步時(shí):為數(shù)據(jù)速率的1、16或64倍;同步時(shí)與數(shù)據(jù)速率相同。2014/074.接收器有關(guān)信號RXD—接收外設(shè)送來的串行數(shù)據(jù),數(shù)據(jù)進(jìn)入8251A后被轉(zhuǎn)變?yōu)椴⑿袛?shù)據(jù)送到數(shù)據(jù)總線緩沖器。RXRDY—接收器準(zhǔn)備好信號,高電平有效,表示已從外設(shè)接收到一個字符,正等待CPU取走。中斷方式時(shí),作為中斷請求信號;查詢方式時(shí),用來作為聯(lián)絡(luò)信號。SYNDET—同步和終止信號。工作在同步方式時(shí)用做同步檢測端(檢測到同步字符,則SYNDET便變?yōu)楦唠娖剑?;異步時(shí)用做終止檢測輸出。RxC—接收時(shí)鐘,控制8251A接收字符的速度。時(shí)鐘速率規(guī)定與TxC相同,一般將TxC和RxC連在一起,用同一時(shí)鐘源。2014/078251A編程命令:方式控制字:指定通信方式、數(shù)據(jù)格式。命令控制字:指定某種操作(如發(fā)送、接收)或處于某種狀態(tài)(如DTR),以便發(fā)送/接收數(shù)據(jù)。狀態(tài)字:確定8251當(dāng)前內(nèi)部狀態(tài)。§4.6.3

8251A控制字及工作方式1、方式控制字確定8251A的工作方式、校驗(yàn)方式、波特率和數(shù)據(jù)位數(shù)等。2014/07D7D6D5D4D3D2D1D0工作方式及波特率選擇00:同步方式01:異步方式,波特率系數(shù)=110:異步方式,波特率系數(shù)=1611:異步方式,波特率系數(shù)=6400:5位01:6位10:7位11:8位X0:無奇偶校驗(yàn)位01:奇校驗(yàn)11:偶校驗(yàn)設(shè)定停止位的位數(shù)01:1位停止位10:1.5位停止位11:2位停止位設(shè)定同步方式00:內(nèi)同步,2個同步字符10:內(nèi)同步,1個同步字符X1:外同步若為異步方式(D1,D0≠00)若為同步方式(D1,D0=00)奇偶校驗(yàn)方式設(shè)定異步方式字符位數(shù)選擇2014/07TxEN(TransmitEnable):發(fā)送允許,D0=1,允許進(jìn)行并/串轉(zhuǎn)換并發(fā)送;D0=0禁止發(fā)送。DTR(DataTerminalReady):數(shù)據(jù)終端就緒,D1=1,置/DTR引腳有效0電平;D1=0,置/DTR無效。RxE(ReceiveEnable):接收允許,D2=1允許CPU讀數(shù)據(jù)輸入緩沖器的內(nèi)容;D2=0,禁止接收。EHIRRTSERSBRKRXEDTRTXEND7D6D5D4D3D2D1D02、命令控制字2014/07SBRK(SendBreakcharacter):發(fā)中止字符,D3=1,迫使TxD引腳發(fā)空號;D3=0,正常操作.ER(ErrorReset):錯誤標(biāo)志復(fù)位,D4=1,使錯誤標(biāo)志PE、OE、FE復(fù)位;RTS(RequestToSend):請求發(fā)送,D5=1,迫使/RTS引腳為有效電平。IR(InternalReset):內(nèi)部復(fù)位,D6=1,重新開始設(shè)置模式寄存器,即回到初始化編程階段;D6=0正常進(jìn)行。EH(EnterHuntmode):進(jìn)入搜索同步字符模式,D7=1,搜索同步字符。2014/07DSRSYNDETFEOEPETXERXRDYTXRDYD7D6D5D4D3D2D1D03、狀態(tài)字PE(ParityError):奇/偶校驗(yàn)錯。D3=1,有奇/偶校驗(yàn)錯;D3=0無奇/偶校驗(yàn)錯。OE(OverrunError):數(shù)據(jù)覆蓋錯,接收移位寄存器將數(shù)據(jù)輸入緩沖器中尚未被CPU讀取的數(shù)據(jù)覆蓋而產(chǎn)生的錯誤,D4=1,產(chǎn)生數(shù)據(jù)覆蓋。FE(FramingError):幀出錯,檢測不到幀停止位的錯誤,僅用于異步幀方式,D5=1時(shí)產(chǎn)生幀錯誤。SYNDET:內(nèi)同步字符檢測位,D6=1:檢測到同步字符;D6=0:未檢測到同步字符。DSR:數(shù)據(jù)設(shè)備準(zhǔn)備好。由DSR引腳信號設(shè)置。D7=1,DSR引腳信號有效低電平。DSR狀態(tài)位與/DSR引腳信號狀態(tài)相反。2014/07§4.6.4

8251A的初始化是同步方式?輸出通信方式選擇命令字兩個同步字符?復(fù)位?傳送完?輸出工作命令字傳送數(shù)據(jù)輸出第一個同步字符是否否否復(fù)位操作是輸出第二個同步字符是否是2014/074.7可編程DMA控制器8237ADMA控制器的基本功能:

(1)可編程設(shè)定DMA的傳輸模式、所訪問的內(nèi)存地址及其字節(jié)數(shù)。(2)對I/O設(shè)備的DMA請求可編程地進(jìn)行屏蔽或允許,當(dāng)有多個I/O設(shè)備同時(shí)請求時(shí),還要進(jìn)行優(yōu)先級排隊(duì)。(3)向CPU轉(zhuǎn)達(dá)DMA請求,提出總線請求信號。(4)接收CPU的總線響應(yīng)信號,并接管總線控制權(quán)。(5)在傳送過程中進(jìn)行存儲器的地址修改和字節(jié)計(jì)數(shù)。在傳送完要求的字節(jié)數(shù)后,發(fā)出結(jié)束信號,撤銷總線請求,于是CPU收回總線的控制權(quán),繼續(xù)執(zhí)行指令。2014/07§4.7.1

8237A的內(nèi)部結(jié)構(gòu)及引腳功能2014/071、與外設(shè)接口(1)8237A中有4個獨(dú)立的DMA通道,但需要與一片8位地址鎖存器(如8282)配合使用。(2)每一個通道的DMA請求都可以分別被允許和禁止。(3)每一個通道的DMA請求有不同的優(yōu)先權(quán),優(yōu)先權(quán)可以是固定的,也可以是旋轉(zhuǎn)的。

DMA請求線DREQ0~DREQ3,由請求傳送數(shù)據(jù)的外部設(shè)備輸入,高電平有效;~DMA認(rèn)可線,由8237A取得總線控制權(quán)后向發(fā)出請求的外部設(shè)備輸出,低電平有效。實(shí)際上,它是DREQ的回答信號。2014/072、與CPU的接口1)數(shù)據(jù)總線緩沖存儲器一個雙向三態(tài)8位緩沖存儲器,是與系統(tǒng)數(shù)據(jù)總線的接口。當(dāng)8237A處于從屬狀態(tài)時(shí),CPU通過這個緩沖存儲器對8237A進(jìn)行讀/寫操作。當(dāng)8237A處于主控狀態(tài)時(shí),在DMA周期內(nèi),8237A將所選通道的地址寄存器的高8位地址碼(A15~A8)經(jīng)過這個緩沖存儲器鎖存到8282中,然后該緩沖存儲器將處于浮空狀態(tài)。2014/07DB0~DB7:數(shù)據(jù)線。用于8237A與微處理器進(jìn)行數(shù)據(jù)交換。A0~A3:地址線。用以選擇芯片內(nèi)部寄存器。CS*:片選。低有效時(shí),微處理器與8237A通過數(shù)據(jù)線通信,主要完成對8237A的編程。IOR*:I/O讀。讀取8237A內(nèi)部寄存器。IOW*:I/O寫。寫入8237A內(nèi)部寄存器。CLK:時(shí)鐘??刂菩酒瑑?nèi)部操作和數(shù)據(jù)傳輸。RESET:復(fù)位。使8237A處于初始狀態(tài)。2014/072)讀/寫邏輯部件

8237A可處于兩種不同的工作狀態(tài),在8237A未取得總線控制權(quán)以前,CPU處于主控狀態(tài),而8237A處于從屬狀態(tài);一旦8237A取得總線控制權(quán)后,8237A便上升為主控狀態(tài),完全在8237A控制下完成存儲器和外設(shè)之間的數(shù)據(jù)傳送功能,CPU不再參與數(shù)據(jù)傳送的操作。當(dāng)8237A處于從屬狀態(tài)時(shí),用來接收由CPU輸入的讀/寫控制信號和端口地址等信息;當(dāng)8237A處于主控狀態(tài)時(shí),通過它發(fā)出讀/寫控制信號和地址信息。2014/07DB0~DB7:數(shù)據(jù)線。用于8237A與微處理器進(jìn)行數(shù)據(jù)交換。A0~A3:地址線。用以選擇芯片內(nèi)部寄存器。CS*:片選。低有效時(shí),微處理器與8237A通過數(shù)據(jù)線通信,主要完成對8237A的編程。IOR*:I/O讀。讀取8237A內(nèi)部寄存器。IOW*:I/O寫。寫入8237A內(nèi)部寄存器。CLK:時(shí)鐘??刂菩酒瑑?nèi)部操作和數(shù)據(jù)傳輸。RESET:復(fù)位。使8237A處于初始狀態(tài)。2014/073)控制邏輯部件

控制邏輯部件主要用來向CPU發(fā)出總線請求,得到CPU認(rèn)可后,8237A進(jìn)入主控狀態(tài),并發(fā)出各種控制信號。A4~A7:地址線。輸出高4位存儲器地址。MEMR*:存儲器讀。有效將數(shù)據(jù)從存儲器讀出MEMW*:存儲器寫。有效將數(shù)據(jù)寫入存儲器2014/07HRQ:總線請求。8237A輸出有效的HRQ高電平,向CPU申請使用系統(tǒng)總線。HLDA:總線響應(yīng)。8237A接受來自CPU的響應(yīng)信號HLDA,取得了總線的控制權(quán)。ADSTB:地址選通。DMA傳送開始時(shí),輸出高有效,把在DB0~DB7上輸出的高8位地址鎖存在外部鎖存器中。AEN:地址允許。輸出高有效,將鎖存的高8位地址送入系統(tǒng)總線,與芯片此時(shí)輸出的低8位地址組成16位存儲器地址。READY:準(zhǔn)備好。DMA傳送的S3下降沿檢測到為低時(shí),插入等待狀態(tài)Sw,直到READY為高才進(jìn)入第4個時(shí)鐘周期S4。EOP*:過程結(jié)束。DMA傳送過程結(jié)束,輸出一個低有效脈沖。外部輸入低脈沖信號,則終結(jié)DMA傳送。2014/07

§4.7.2

8237A工作時(shí)序8237A采樣到外設(shè)有DMA請求,就脫離空閑周期進(jìn)入有效周期。8237A作為系統(tǒng)的主控芯片,控制DMA傳送操作。DMA傳送借用系統(tǒng)總線完成,其控制信號以及工作時(shí)序類似CPU總線周期。進(jìn)入DMA傳送時(shí)序2014/07空閑狀態(tài)SI準(zhǔn)備狀態(tài)S0工作狀態(tài)S1、S2、S3、Sw、S4S1狀態(tài)——輸出16位存儲器地址AEN輸出高電平,表示DMA傳送S2狀態(tài)——輸出DMA響應(yīng)信號和控制信號DMA讀:MEMR*和IOW*有效DMA寫:IOR*和MEMW*有效S3和Sw狀態(tài)——檢測數(shù)據(jù)傳送是否能夠完成,決定是否插入等待狀態(tài)SwS4狀態(tài)——完成數(shù)據(jù)傳送2014/071、單字節(jié)傳送方式2、數(shù)據(jù)塊傳送方式3、請求傳送方式4、級聯(lián)傳送方式§4.7.3

8237A工作方式2014/07§4.7.4

8237A的寄存器組

4個DMA通道結(jié)構(gòu)完全相同。一個基地址寄存器(16位)基字節(jié)計(jì)數(shù)器(16位)當(dāng)前地址寄存器(16位)當(dāng)前字節(jié)計(jì)數(shù)器(16位)工作方式寄存器(8位)2014/071、DMA通道0~通道3

16位寄存器,用來保存DMA傳送當(dāng)前數(shù)據(jù)的地址,每次傳送后,這個寄存器的值自動加1或減1。該寄存器由CPU來寫入或讀出。a.當(dāng)前地址寄存器b.當(dāng)前字節(jié)計(jì)數(shù)器

16位的寄存器,其低14位(C13~C0)用來保存DMA傳送的剩余字節(jié)數(shù),每次傳送后,這個計(jì)數(shù)器的值減1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論