freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

44通用io接口的設(shè)計(jì)(已修改)

2025-10-11 10:16 本頁面
 

【正文】 1 通用 I/O接口的設(shè)計(jì) ? 通常,嵌入式系統(tǒng)的 I/O接口與處理器之間的連接大多不使用系統(tǒng)總線,而是直接連接在處理器的引腳上。例如, PXA255共有 81個 GPIO管腳,每個 GPIO管腳都可以被設(shè)置為輸入和輸出用來撲捉輸入和產(chǎn)生輸出信號。當(dāng)設(shè)置為輸入時, GPIO管腳也可以作為中斷源來用,當(dāng)系統(tǒng)復(fù)位后,所有 GPIO管腳的默認(rèn)值為輸入。 ? GPDR(GPIO Pin Direction Register)寄存器設(shè)置GPIO的輸入輸出功能。當(dāng)某 GPIO管腳設(shè)置為輸出模式,GPSR(GPIO Pin Output Set Register)可以設(shè)置 GPIO管腳上的高低電平值。當(dāng)某一管腳設(shè)置為輸入模式時,讀GPLR(GPIO Pin Level Register)寄存器的內(nèi)容可以反映當(dāng)前 GPIO管腳的狀態(tài)。 2 ? 在并行信號傳輸中,要求由多條數(shù)據(jù)導(dǎo)線構(gòu)成數(shù)據(jù)總線,另外還需要有相應(yīng)的控制線和電源線,此時每條數(shù)據(jù)導(dǎo)線傳輸一個數(shù)據(jù)位。這是要求數(shù)據(jù)總線長度必須較短,這樣并行通信的數(shù)據(jù)通過能力強(qiáng)。否則會因?yàn)殚L導(dǎo)線會導(dǎo)致有較高的電容值,而在具有高電容值的總線上傳送數(shù)據(jù)需要有更多時間來進(jìn)行充放電。此外,并行總線中各導(dǎo)線長度上的小差異,也可能導(dǎo)致所接受的數(shù)據(jù)字各位的抵達(dá)時間不同,隨著并行總線長度的增加,這種數(shù)據(jù)不齊的現(xiàn)象更為嚴(yán)重。 ? ARM架構(gòu)中的處理器內(nèi)核和處理器核一般都沒有 I/O的部件和模塊,可以通過先進(jìn)微控制總線架構(gòu) AMBA來擴(kuò)展宏單元和 I/O部件,為微處理器提供了 32位地址信號、 32位數(shù)據(jù)信號和一些讀 /寫、時鐘、外圍復(fù)位、選通等控制信號。 3 ? ARM采用了存儲器映像 I/O的統(tǒng)一編址方式,即把 I/O端口當(dāng)作為特殊的存儲器地址來對待處理。 ? 比如三星公司生產(chǎn)的 S3C44B0X微處理器芯片,芯片內(nèi)部具有 71個通用多功能輸入輸出引腳,這些 I/O口的應(yīng)用是 S3C44BOX處理器的基礎(chǔ)應(yīng)用,分別包含在如下 7組端口中: ?1個 10位輸出端口 〔 端口 A〕 ; ?1個 11位輸出端口(端口 B); ?1個 16位輸入/輸出端口(端口 C); ?2個 8位輸入/輸出端口(端口 D和 G); ?2個 9位輸入/輸出端口(端口 E和 F)。 4 中斷接口概述 ? 在使用 I/O的數(shù)據(jù)量比較大,中斷處理事件比較頻繁的場合時,這是會很明顯地影響嵌入式系統(tǒng)的性能。因此,許多微處理器內(nèi)部都包含了直接存儲器 DMA。這樣使用 DMA方式, I/O的數(shù)據(jù)塊傳送至存儲器的緩沖器區(qū)域就不需要微處理器介入,提高了微處理器的工作效率。 ? 但對一些沒有 DMA的微處理器,為了要提高 I/O高速數(shù)據(jù)處理的能力,微處理器系統(tǒng)本身設(shè)計(jì)有快速中斷FIQ能力;而對其余的一般 I/O源可安排為一般中斷源IRQ。 ? 通常終端源有硬件和軟件相關(guān)的中斷源、軟件錯誤相關(guān)的中斷源、為調(diào)試程序而攝制的中斷源和系統(tǒng)分時所用的中斷源。 ? 從系統(tǒng)的角度看,中斷是一個流程,一般來說,中斷要經(jīng)過 3個環(huán)節(jié):中斷響應(yīng)、中斷處理和中斷返回。 5 在系統(tǒng)對外部事件做出反應(yīng)的過程中,中斷響應(yīng)是第一個環(huán)節(jié),主要是確定中斷源,而后根據(jù)中斷源指引 CPU進(jìn)入具體的中斷處理程序。因此,中斷響應(yīng)在整個中斷機(jī)制中起樞紐作用。由于在現(xiàn)有的技術(shù)條件下,芯片的引線數(shù)量受到很大的限制,因此很難為了快速確定中斷源而讓 CPU芯片帶足夠多的中斷請求線。這樣一來,為了確定中斷源的來源,就需要有一些輔助的手段,使 CPU在響應(yīng)中斷的時候,能迅速確定中斷源。 輔助手段主要有以下 3種形式: ? ( 1) CPU在響應(yīng)中斷時進(jìn)入一個特殊的中斷響應(yīng)周期,向外發(fā)一個 “ 中斷響應(yīng)( ACK) ” 信號,要求中斷源通過數(shù)據(jù)總線提供一個代表具體設(shè)備的數(shù)值,稱為“ 中斷向量 ” 。但要求發(fā)出中斷請求的外設(shè)必須在接受中斷響應(yīng)信號時發(fā)出這個中斷向量。同時為了防止多個外設(shè)同時發(fā)出中斷向量而形成沖突的情況,還需要把所有可能成為中斷源的設(shè)備連接成一條 “ 中斷鏈 ” ,在“ 中斷鏈 ” 的不同位置應(yīng)具有不同的優(yōu)先級。 6 ? ( 2)在外部提供一個 “ 集線器 ” ,稱為 “ 中斷控制器 ” 。它為外設(shè)提供多條中斷請求線,但是將這些中斷請求線(相或)合并成一條。與此同時,在中斷控制器中還要提供一個寄存器,記錄當(dāng)前的(綜合)中斷請求來自哪幾條外部中斷請求線,而 CPU則可以像訪問外設(shè)一樣讀出這個寄存器的內(nèi)容,以確定中斷請求的來源。 ? ( 3)將中斷控制器集成在 CPU芯片中,設(shè)法 “ 挪用 ”或 “ 復(fù)制 ” 原有的若干引線,而并不實(shí)際增加引線的數(shù)量。這樣由外設(shè)產(chǎn)生的中斷請求都由芯片上的中斷控制器匯總成一個 IRQ中斷請求。此外,中斷控制器還向 CPU提供一個中斷請求寄存器和一個中斷控制寄存器。寄存器中的每一位都代表一個中斷源,通過中斷請求寄存器可以知道中斷請求來自何處,通過中斷控制寄存器則可以屏蔽或者連通特定的中斷源。 ? GPIO是一個通用的可編程的 I/O接口,其接口寄存器中的每一位都可以分別在程序的控制下設(shè)置成用于輸入或者輸出。而且,當(dāng)用于輸入的時候,還可以讓每一位的狀態(tài)變化都引發(fā)一個中斷請求。 7 例如 S3C44BOX具有 30個中斷源,包括 1個看門狗定時器 ,6個定時器 ,6個 UART,8個外部 ,4個DMA,2個 RTC,1個 ADC,1個 IIC和 1個 SIO共 30個中斷源。 ? ?? S3C44B0X支持新的中斷處理模式稱為矢量中斷模式。中斷控制器的角色,就是響應(yīng)來自FIQ(快速中斷請求 )或 IRQ(普通中斷請求 )的中斷,并請求內(nèi)核對中斷進(jìn)行處理。 ? ?? 多個中斷請求發(fā)生時,由硬件優(yōu)先級邏輯確定應(yīng)該有哪個中斷源得到服務(wù),同時硬件邏輯使中斷向量表的跳轉(zhuǎn)指令加載到( 0X18或0X1C)位置,在該位置執(zhí)行跳轉(zhuǎn)指令使程序跳到相應(yīng)的中斷服務(wù)線程,因此相對于傳統(tǒng)的 ARM的軟件方法能夠大大減少中斷進(jìn)入延時。 8 控制中斷的寄存器有如下 8個: ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? ?? ? 9 外部中斷的應(yīng)用 Ⅰ (1). I/O口設(shè)置 ? 首先對 PG口的工作模式進(jìn)行設(shè)置,要讓 PG4~7工作在外部中斷輸入狀態(tài)。因此,要將 PG口設(shè)置在功能 3模式下,采用語句 : ? rPCONG= 11 11 11 11 xx xxxxxxB; ? 如果希望采用內(nèi)部上拉,則語句為 : ? rPUPG= 0000xxxxB。 10 ? (2).外部中斷觸發(fā)模式設(shè)置利用外部中斷控制寄存器來設(shè)置外部中斷的觸發(fā)模式.由于采用電平觸發(fā)容易引起重復(fù)觸發(fā),因此建議采用下降沿或上升沿觸發(fā),不同觸發(fā)方式的語句如下 :?? ? ①采用下降沿觸發(fā)時 : rEXTINT=01x 01x 01x 01x xxx xxxxxxxxxB。?? ? ②采用上升沿觸發(fā)時 : rEXTINT=10x 10x 10x 10x xxx xxxxxxxxxB。?? ? ③采用邊沿觸發(fā)時 : rEXTINT=11x 11x 11x 11x xxx xxxxxxxxxB。?? ? ④采用低電平觸發(fā)時 : rEXTINT=000 000 000 000 xxx xxxxxxxxxB。 11 RS232C串行接口 ? 目前 RS232是 PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。RS232被定義為一種在低速率串行通信中增加通信距離的單端標(biāo)準(zhǔn)。美國電子工業(yè)協(xié)會( EIA)把 RS232C定義為: “ 在數(shù)據(jù)終端設(shè)備和數(shù)據(jù)通信設(shè)備之間使用串行二進(jìn)制數(shù)據(jù)交換的接口 ” 。RS232C標(biāo)準(zhǔn)是一種硬件協(xié)議,用于連接 DTE(數(shù)據(jù)終端設(shè)備)和 DCE(數(shù)據(jù)通信設(shè)備 )兩種設(shè)備。 RS232C定義包括接口以下三個方面: ? 機(jī)械特性(一般為 9針); ? 電氣信號特性(負(fù)載電容不超過 2500P,負(fù)載電阻在 3K~7K歐姆之間,電壓在 3V~15V和 +3V~+15V之間); ? 交換特性(允許全雙工方式) 在實(shí)際的應(yīng)用中,利用 RS232C的通信最少可使用其中的 3根線,即 TxD、 RxD和 GND。通信距離一般在幾十米內(nèi),通信速率較低。 12 串行通信概述 ? 串行數(shù)據(jù)傳送模式: ?單工 ?半雙工 ?全雙工 ? 串行通信方式: ?同步通信 ?異步通信 13 S3C44BOX內(nèi)部集成的 UART ? S3C44B0X UART單元提供了兩個異步串口( SIO),每個SIO可以操作在中斷模式或 DMA模式,支持波特率最大為, 每個 SIO通道包含都有一個 16字節(jié)的接收與發(fā)送 FIFO緩沖區(qū)。 ? 每個 UART模塊包含以下幾個部件:波特率發(fā)生器,發(fā)送器,接收器和控制單元。每個 UART能將從 RXD端接收的串行數(shù)據(jù)轉(zhuǎn)換為并行的數(shù)據(jù)。并且還能夠?qū)碜蕴幚砥鞯牟⑿袛?shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù),然后通過 TXD發(fā)送出去。 14 ? 檢錯是接收端檢測在數(shù)據(jù)字或包傳輸過程中可能發(fā)生的錯誤的能力。最常見的錯誤類型是位錯誤( bit error)和突發(fā)位錯誤( burst of bit error)。位錯誤就是數(shù)據(jù)字或包中有一個位接受不正確,即 1變?yōu)?0或 0變?yōu)?1。突發(fā)位錯誤是數(shù)據(jù)字或包中連續(xù)多個位接收不正確。如果檢測到錯誤,糾錯( error correction)就是通過接收器和發(fā)送器合作以更正錯誤的能力。檢錯和糾錯能力通常是總線協(xié)議的一部分。以下討論總線協(xié)議中常用的奇偶校驗(yàn)( parity)以及校驗(yàn)和 (checksum)檢錯算法。 ? 校驗(yàn)和是一種更強(qiáng)的檢錯方式,用于數(shù)據(jù)包的檢查。一個數(shù)據(jù)包含有多個數(shù)據(jù)字。當(dāng)使用奇偶校驗(yàn)時,每個字要增加一位,以幫助檢錯。使用校驗(yàn)和時,每個包要增加一個字,目的也是幫助檢錯。例如,可以計(jì)算數(shù)據(jù)包中所有數(shù)據(jù)字的異或和,并將該值與數(shù)據(jù)包一起發(fā)送;接收器在接收到數(shù)據(jù)包字和檢查字后,計(jì)算所接收到的所有數(shù)據(jù)字的異或和,如果所計(jì)算的校驗(yàn)和字等于所接受到的校驗(yàn)和字,則認(rèn)為所接收到的數(shù)據(jù)包是正確的,否則認(rèn)為是錯誤的。同樣地,不是所有的錯誤組合都可以用這種方式檢測到。當(dāng)然,也可以同時使用奇偶校驗(yàn)與校驗(yàn)和兩種檢錯方式,以得到更強(qiáng)的檢錯能力。 15 ? 在一般的微處理器中都集成了 TTL 電平的串行接口,可以直接使用,為了和標(biāo)準(zhǔn) RS232C串行設(shè)備通信,采用了一塊 SP3243或MAX3223芯片用于電平的轉(zhuǎn)換。將微處理器中的邏輯 1信號變成 3V~15V,將微處理器中的邏輯 0信號變成 +3V~+15V電平進(jìn)行通信。 RS232串行接口電路設(shè)計(jì) 16 RS232電平 ? 232電平或者說串口電平,有的甚至說計(jì)算機(jī)電平,所有的這些說法,指得都是計(jì)算機(jī) 9針串口 ( RS232)得電平,采用負(fù)邏輯, ? - 15v ~ - 3v 代表 1 ? + 3v ~ + 15v 代表 0 17 RS232 串口電路的設(shè)計(jì)( 9線方式) 18 RS232 串口電路的設(shè)計(jì)( 3線方式) 19 RS485電平和 RS422電平 ? 由于兩者均采用 差分傳輸(平衡傳輸)的方式,所以他們的電平方式,一般有兩個引腳 A,B 發(fā)送端 AB間的電壓差 ? + 2 ~ + 6v 1 ? - 2 ~ - 6v 0 接收端 AB間的電壓差 ? 大于 + 200mv 1 ? 小于 - 200mv 0 定義邏輯 1為 BA的狀態(tài) 定義邏輯 0為 AB的狀態(tài) ? AB之間的電壓差不小于 200mv 20 一對一的接頭的情況下 ? RS232 可做到雙向傳輸,全雙工通訊 最高傳輸速率 20kbps ? RS422 只能做到單向傳輸,半雙工通訊,最高傳輸速率 10Mbps ? RS485 雙向傳輸,半雙工通訊 , 最高傳輸速率 10Mbps 21 現(xiàn)在常用的電平標(biāo)準(zhǔn)有 TTL、 CMOS、 LVTTL、 LVCMOS、 ECL、PECL、 LVPECL、 RS23 RS485等,還有一些速度比較高的 LVDS、 GTL、 PGTL、 CML、 HSTL、 SSTL等。下面簡單介紹一下各自的供電電源、電平標(biāo)準(zhǔn)以及使用注意事項(xiàng)。 ? TTL: TransistorTransistor Logic 三極管結(jié)構(gòu)。 Vcc: 5V; VOH=; VOL=; VIH=2V; VIL=。 因?yàn)? 5V之間還有很大空閑,對改善噪聲容限并沒什么好處,又會白白增大系統(tǒng)功耗,還會影響速度。所以后來就把一部分 “ 砍 ” 掉了。也就是后面的LVTTL。 ? LVTTL又分 、 LVTTL(Low Voltag
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1