單片機必備技術(shù):總線擴展
出處:互聯(lián)網(wǎng) 發(fā)布于:2020-06-24 15:08:08
總線概述
計算機系統(tǒng)是以微處理器為的,各器件要與微處理器相連,且必須協(xié)調(diào)工作,所以在微處理機中引入了總線的概念,各器件共同享用總線,任何時候只能有一個器件發(fā)送數(shù)據(jù)(可以有多個器件同時接收數(shù)據(jù)) 。
計算機的總線分為控制總線、地址總線和數(shù)據(jù)總線等三種。而數(shù)據(jù)總線用于傳送數(shù)據(jù),控制總線用于傳送控制信號, 地址總線則用于選擇存儲單元或外設(shè)。
二、單片機的三總線結(jié)構(gòu)
系列單片機具有完善的總線接口時序,可以擴展控制對象,其直接尋址能力達(dá)到 64k( 2 的 16 次方) 。在總線模式下,不同的對象共享總線,獨立編址、分時復(fù)用總線,CPU 通過地址選擇訪問的對象,完成與各對象之間的信息傳遞。
單片機三總線擴展示意如圖 1 所示。
、數(shù)據(jù)總線
單片機的數(shù)據(jù)總線為 P0 口,P0 口為雙向數(shù)據(jù)通道,CPU 從 P0 口送出和讀回數(shù)據(jù)。
、地址總線
系列單片機的地址總線為 16 位。
為了節(jié)約芯片引腳,采用 P0 口復(fù)用方式,除了作為數(shù)據(jù)總線外,在 ALE 信號時序匹配下,通過外置的數(shù)據(jù)鎖存器,在總線訪問前半周期從 P0 口送出低 8 位地址,后半周期從 P0 口送出 8 位數(shù)據(jù)。
高 8 位地址則通過 P2 口送出。
、控制總線
系列單片機的控制總線包括讀控制信號 P3.7 和寫控制信號 P3.6 等,二者分別作為總線模式下數(shù)據(jù)讀和數(shù)據(jù)寫的使能信號。
三、單片機總線時序分析
單片機總線時序如圖 2 所示。
從圖 2 中可以看出,完成總線( 讀寫) 操作周期為 T,P0 口分時復(fù)用,在 T0 期間,P0 口送出低 8 位地址,在 ALE 的下降沿完成數(shù)據(jù)鎖存,送出低 8 位地址信號。在 T1 期間,P0 口作為數(shù)據(jù)總線使用,送出或讀入數(shù)據(jù),數(shù)據(jù)的讀寫操作在讀、寫控制信號的低電平期間完成。
需要注意的是,在控制信號( 讀、寫信號) 有效期間,P2 口送出高 8 位地址,配合數(shù)據(jù)鎖存器輸出的低 8 位地址,實現(xiàn) 16 位地址總線,即 64kB 范圍的內(nèi)的尋址。
由于 CPU 不可能同時執(zhí)行讀和寫操作,所以讀、寫信號不可能同時有效。
四、常見單片機編址電路
、簡單地址擴展
單片機的 P2 口可以直接作為高 8 位地址總線使用,在一些簡單系統(tǒng)電路中,常使用 P2 口直接編址驅(qū)動。
下面以使用數(shù)據(jù)緩沖器 74LS273 驅(qū)動數(shù)碼顯示為例,分析 P2 口編址驅(qū)動的靜態(tài)數(shù)碼顯示電路的設(shè)計。
一位 LED 數(shù)碼顯示單元電路如圖 3 所示。
與 A8( P2.0) 相或提供 74LS273 的時鐘信號,當(dāng)執(zhí)行“MOVX @DPTR,A”指令時,地址信息由 DPTR 寄存器確定,會出現(xiàn)有效的寫信號 WR,只有當(dāng)?shù)刂?A8 為滿足“0”時,寫信號才可以作為 74LS273 的時鐘信號輸入,完成數(shù)據(jù)鎖存。
口為 A8~A15 的 8 位地址線,很容易擴展到 8 只 LED 數(shù)碼管,WR 信號分別與 A8~A15 按或關(guān)系連接,每位地址線均為低電平有效,即可實現(xiàn) 8 個有效地址。
該方案電路簡單,但有效地址數(shù)太少,不適用于復(fù)雜系統(tǒng)設(shè)計。
、低 8 位地址鎖存
通常的設(shè)計電路是使用 8D 鎖存器 74LS373 實現(xiàn)地址鎖存,74HC573 與之邏輯功能相同,只是引腳布局不一樣,使用 74HC573 布線更容易。
在輸出允許 OE 為 L、控制使能 LE 為 H 時,輸出為跟隨狀態(tài);OE 為 L、LE 為 L 時,輸出為保持狀態(tài)。
地址鎖存電路如圖 5 所示。OE 接地,LE 接單片機的 ALE 腳將產(chǎn)生滿足時序的低 8 位地址信號。
執(zhí)行以下三條指令會得到如圖 6 所示的時序圖。
,# 0FF55H; 低 8 位地址為
,# 0AAH; 待發(fā)送數(shù)據(jù) 0AAH→A( 55H 取反
,@DPTR,A; A 中的 0AAH 送地址為 0FF55H 的對象中會。
從圖 6 中可以看出,P0 口先送 55H,在 ALE 下降沿實現(xiàn)地址鎖存,隨后送出數(shù)據(jù) 0AAH,在 WR 有效( 低電平) 期間鎖存器輸出低 8 位地址 55H,P0 口送出數(shù)據(jù) 0AAH。
、帶譯碼器的復(fù)雜地址接口電路
理論上高 8 位地址線可以產(chǎn)生 256 個有效地址,如何實現(xiàn)地址“擴展”呢? 地址擴展準(zhǔn)確描述是地址譯碼,例如 3 根地址線可以譯碼成 8 個地址,4 根譯碼成 16 個有效地址。這里選擇 3-8 譯碼器實現(xiàn)地址譯碼,電路圖以及對應(yīng)的編址如表 1 所示。
五、單片機總線編址電路實例
總線擴展接口的單片機系統(tǒng),包括外部 32k RAM 擴展、LCD1602 接口、輸入輸出口。
~D7 接數(shù)據(jù)總線 P0 口,地址線 A0~A14 接單片機地址總線低 15 位,單片機地址線 A15 接 RAM 片選信號,低電平有效,這樣 RAM 地址分配從 0000H 到 7FFFH,與 74138 譯碼地址不沖突。
、RW 分別接 A12、A13,使能信號編址為 Y7,這樣 LCD 的四個驅(qū)動地址( 數(shù)據(jù)讀寫和命令讀寫) 為 0CFFFH 到 0FFFFH ( 無關(guān)位為 1) 或者 8700H 到 0B700H( 無關(guān)位為 0)。
利用 74HC573( 74LS373) 的高阻態(tài)功能,將其輸出 Q0~Q7 接 P0 口,在滿足總線地址讀操作中,可以把輸入 InPORT 的數(shù)據(jù)讀入單片機的累加器,地址為 0F8FFH 或 8000H。
利用 74LS273 數(shù)據(jù)鎖存功能,在滿足總線地址寫操作中,可以把單片機累加器里的數(shù)據(jù)寫入 273 鎖存輸出,地址為 0F8FFH 或 8000H。由于所用控制總線不同,可以和輸入共用地址。
六、結(jié)束語
總線擴展是設(shè)計單片機控制電路必須掌握的技術(shù),大量的特殊功能 IC 都支持總線接口, 如 ADC0809,TLC7528,DDS 器件 AD9851 等。
總線接口的要點就是在嚴(yán)格的控制時序下,總線被分時復(fù)用,以實現(xiàn)復(fù)雜系統(tǒng)設(shè)計。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 51單片機電平特性是什么2025/9/26 13:11:43
- 單片機檢測直流信號:常用電路全解析2025/8/21 15:49:26
- 探秘三極管在單片機中的關(guān)鍵作用2025/8/18 16:24:42
- 51單片機和52單片機有什么區(qū)別2025/8/8 16:52:42
- DSP與單片機到底有什么區(qū)別2025/7/28 17:02:00