【正文】
1 單片機常用接口芯片 及接口技術介紹 2 計算機結構 運算器 存儲器 I/O接口 控制器 CPU 外部設備 3 MCU基本結構 地址總線 I/O總線 MCU SCM 存儲器 輸入 /出接口 外圍設備 控制總線 數據總線 控制 CISC結構-馮 .諾依曼結構:如 8051, AT89系列 RISC結構-哈佛結構:如 PIC單片機 根據片內程序空間和數據空間、控制總線和數據總線是否分開 結構體系 指令體系 16進制- 匯編語言- C語言 4 接口的基本概念 ?什么是 I/O接口?連接 CPU與外設之間的邏輯電路稱 I/O接口電路,簡稱接口。 為什么需要 I/O接口?單片機 IO端口 只能接收和發(fā)送邏輯電平數字信號,而 IO外設輸入輸出的信號種類、信號電平各異。 如何以不變應萬變? ?接口電路的主要功能: 鎖存功能 緩沖功能 速度匹配 變換功能 5 ?數據鎖存功能 數據輸出都是通過系統(tǒng)的數據總線進行的。但是由于 CPU的工作速度快,數據在數據總線上保留的時間十分短暫,無法滿足慢速輸出設備的需要。為此在接口電路中需設置數據鎖存器,以保存輸出數據直至為輸出設備所接收。數據鎖存就成為接口電路的一項重要功能。 ?三態(tài)緩沖功能 數據輸入時,輸入設備向 CPU傳送的數據也要通過數據總線,但數據總線是系統(tǒng)的公用數據通道,上面可能“掛”著許多數據源,工作十分繁忙。為了維護數據總線上數據傳送的“秩序”,因此只允許當前時刻正在進行數據傳送的數據源占用數據總線,其余數據源都必須與數據總線處于隔離狀態(tài)。為此要求接口電路能為數據輸入提供三態(tài)緩沖功能。 6 ?速度匹配功能 由于速度上的差異,使得數據的 I/O傳送難以異步方式進行,即只能在確認外設已為數據傳送作好準備的前提下才能進行 I/O操作。而要知道外設是否準備好,就需要通過接口或產生或傳送外設的狀態(tài)信息,以此進行 CPU與外設之間的速度協(xié)調。 ?數據變換功能 CPU只能輸入和輸出并行的電壓數字信號 , 但是有些外部設備所提供或所需要的并不是這種信號形式 。 為此需要使用接口電路進行數據信號的轉換 , 主要包括模 → 數轉換 、 數 → 模轉換 、 串 → 并轉換和并 → 串轉換等 。 7 具體功能:(不同接口功能不同) ? 尋址功能 ? 傳遞功能 ? 位功能 ? 中斷功能 ? 聯(lián)絡功能 ? 變換功能 ? 可編程功能 ? 錯誤檢測功能 8 典型 I/O接口的結構 控制REG 狀態(tài)REG 數據輸出 REG 數據輸入 REG CPU 控制線 數據線 外設 數據輸入 /輸出寄存器:保存數據 控制寄存器:保存控制信息,決定接口工作方式 狀態(tài)寄存器:存放狀態(tài)信息,反映外設當前狀態(tài) 9 MCU與外設信息交互方式 ?無條件傳送方式 ? 在進行 I/O操作時,不需要測試外部設備的狀態(tài),可以根據需要隨時進行數據傳送操作。只有那些一直為數據 I/O傳送作好準備的外部設備(如發(fā)光二極管、數碼管、機械開關、 ADC, DAC),才能使用無條件傳送方式。 ?查詢方式 ?中斷方式 ?DMA方式(超 8位單片機) 10 查詢方式 ?查詢輸入 ?查詢輸出 讀 狀 態(tài) 端 口B U S Y ?輸 出 數 據NY準 備 輸 出 數 據輸 入 狀 態(tài) 信 息R e a d y ?輸 入 數 據YN在 I/O操作之前,要先檢測外設的狀態(tài),以了解外設是否已為數據輸入輸出作好了準備,只有在確認外設已“準備好”的情況下, CPU才能執(zhí)行數據輸入輸出操作。 硬件電路簡單 MCU速度高于外設 通常處于等待狀態(tài) 效率很低 11 8路模擬量輸入采集 M C U數 據 總 線端 口 3端 口 2端 口 4A / D 轉 換M U XA 0A 71 個 模 擬 量2 1 0啟 動8 位1 位 狀 態(tài)8 位 數 據數 據R E A D Y48路模擬量 多路開關 控制 ADC 指示 12 緩存技術 高 速 數 據 采 集設 備緩 存 器 M C U緩 存 控 制 器?緩存技術是高速數據采集和處理中的一項關鍵技術; ?在高速數據采集系統(tǒng)中,通常在存儲設備的前端加一級緩存,可以使低速存儲設備無丟失地記錄高速數據; ?是 CPU性能的一個重要指標; ?在實時視頻數據處理系統(tǒng)中的應用非常廣泛,特別是在圖像幀率及分辨率要求比較高的場合。 13 乒乓緩沖結構 C M O SI m a g e S e n s o rC P L D / F P G AS R A M 1S R A M 2M C UY 0?Y 7H R E FV S Y N CP C L Kn C E n O E n W EA [ ] D [ ]n C E n O E n W EA [ ] D [ ]R / WD [ ]A [ ]I N T? 這種結構是將輸入數據流通過輸入 數據選擇單元等時地將數據流分配到 兩個數據緩沖區(qū) 。 ? 在第 1個緩沖周期 , 將輸入的數據流緩存到數據緩沖模塊 1上 , 在第 2個緩沖周期 , 通過輸入數據選擇單元的切換 , 將輸入的數據流緩存到數據緩沖模塊 2, 同時 ,將數據緩沖模塊 1緩存的第 1個周期的數據通過輸出數據選擇單元的選擇 , 送到運算處理單元進行處理 , 第 3個緩沖周期 , 再次切換數據的輸入與輸出緩沖模塊 。如此循環(huán) , 周而復始 。 (雙緩沖技術 ) 14 14 C M O SI m a g e S e n s o r乒 乓緩 沖 控 制 器S R A M 1S R A M 2M C U第一周期 C M O SI m a g e S e n s o r乒 乓緩 沖 控 制 器S R A M 1S R A M 2M C U第二周期 C M O SI m a g e S e n s o r乒 乓緩 沖 控 制 器S R A M 1S R A M 2M C U第三周期 C M O SI m a g e S e n s o r乒 乓緩 沖 控 制 器S R A M 1S R A M 2M C U第四周期 15 中斷技術 ? 中斷方式與查詢方式的主要區(qū)別 :如何知道外設是否為數據傳送作好了準備 。 查詢方式是 CPU的主動形式 , 中斷方式是 CPU等待中斷請求的被動形式 。 ? 采用中斷方式進行數據傳送時 , 當外設為數據傳送作好準備之后 , 就向 CPU發(fā)出中斷請求 。 CPU接收到中斷請求后即作出響應 , 暫停正在執(zhí)行的原程序 。 而轉去為外設的數據輸入輸出服務 。 待服務完成之后 , 程序返回 , CPU再繼續(xù)執(zhí)行被中斷的原程序 。 ? 中斷源的中斷請求被 CPU響應之后 , CPU自動把中斷源的 中斷入口地址 ( 中斷矢量地址 , 固定 ) 裝入 PC, 從中斷矢量地址處獲得中斷服務程序的入口地址 。 一般在此地址單元中存放一條 絕對跳轉指令 , 可以跳至用戶安排的任意地址空間 。 16 中斷處理流程 ?中斷請求 ?中斷響應 ?中斷處理 保護現場+中斷原服務 ?中斷返回 ?中斷請求撤銷 中 斷 源 發(fā) 出 中 斷 請 求中 斷 響 應 條 件 是否 滿 足 ?查 找 中 斷 入 口 地 址判 斷 中 斷 優(yōu) 先 級當 前 指 令 執(zhí) 行完 ?執(zhí) 行 下 一 條 指 令總 中 斷 標 志E A = 1 ?關 中 斷 , 轉 中 斷 入 口NNYNYY主 程 序低 級 中 斷高級中斷服務子程序斷 點 1斷 點 2服務子程序繼 續(xù) 執(zhí) 行主 程 序響 應 低 級 中 斷 請 求 響 應 高 級 中 斷 請 求返 回 低 級 中 斷返 回 主 程 序17 中斷技術 ?程序中斷方式 , 大大提高了系統(tǒng)的效率 。 中斷可實現快速 CPU與慢速外部設備之間的并行工作 ,實現實時處理和故障處理 , 不但速度快而且可以實現多道程序方式 , 所以在計算機中被廣泛采用 。 ?但中斷請求是一種隨機事件 , 如果每傳送一個字符都要中斷消耗很大 。 為實現程序中斷 , 對計算機的硬件和軟件都有較高的要求 。 此外 , 由于 中斷處理常需現場保護和現場恢復 。 因此 , 對 CPU來說仍有較大的無用開銷 。 18 中斷類型 ?外部中斷類( INT0, INT1) 由單片機的輸入輸出設備等外部原因引起的,可設置請求信號是電平觸發(fā)還是邊緣觸發(fā)。 ?計時中斷類( TCON) 由內部計時器計數產生計數溢出時所引起的中斷,內部中斷,計時器可由用戶通過程序設定。 ?串行端口中斷類( SCON) 當串行端口接收或發(fā)送完一幀數據時,修改SCON,向 CPU申請中斷。 如何定義矢量地址和優(yōu)先級參考具體的單片機。 19 外部中斷源擴展 ?利用計時器擴充外部中斷源 當計時器設置為計數方式時,一旦外部信號從計數器引腳輸入一個負跳變信號,計數器+ 1;將計時器引腳作為外部中斷請求相連,計時器的溢出中斷標志及中斷服務程序作為擴充外部中斷源的標志和中斷服務程序。 ?中斷和軟件查詢相結合擴充外部中斷源