版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、CPUsz總線的概念與分類zPC的總線與接口z嵌入式系統(tǒng)總線zIO 接口電路z中斷總線z計算機系統(tǒng)中模塊到模塊間傳送信息的一束信號線z總線實現(xiàn)了CPU、內(nèi)存和I/O設(shè)備之間的通信.z定義了通信協(xié)議.總線的分類y按功能分:x地址總線x數(shù)據(jù)總線x控制總線y按層次結(jié)構(gòu)分:x內(nèi)部總線x系統(tǒng)總線系統(tǒng)總線x外部總線外部總線y按通信方式分:x串行總線x并行總線CPUz總線的概念與分類zPC的總線與接口z嵌入式系統(tǒng)總線zIO 接口電路z中斷CPU內(nèi)存I/O接口I/O設(shè)備數(shù)據(jù)總線DB地址總線AB控制總線CB主機數(shù)據(jù)總線、控制總線是雙向的,地址總線是單向的地址總線用來尋址內(nèi)存單元和外設(shè)端口計算機組成數(shù)據(jù)總線數(shù)據(jù)總
2、線DB(Data Bus)雙向傳送數(shù)據(jù)(指令、數(shù)值)雙向傳送數(shù)據(jù)(指令、數(shù)值)地址總線地址總線AB(Address Bus)發(fā)送數(shù)據(jù)的來源地址和目的地址發(fā)送數(shù)據(jù)的來源地址和目的地址控制總線控制總線CB(Control Bus)發(fā)送各種控制指令信息發(fā)送各種控制指令信息計算機系統(tǒng)中模塊到模塊間傳送信息的一束信號線總線PC I/O PORTPC I/O PORTUSB音頻音頻網(wǎng)口PS2IDE串口并口IEEE1394PCIUSB+藍牙+WIFI 搞定一切CPUz總線的概念與分類zPC的總線與接口z嵌入式系統(tǒng)總線zIO 接口電路z中斷10MPU總線單總線多總線結(jié)構(gòu)z多總線結(jié)構(gòu):y低速設(shè)備連到低速總線上.
3、y高速設(shè)備連到高速總線.z橋?qū)崿F(xiàn)高速總線和低速總線的互聯(lián).CPUslow devicememoryhigh-speeddevicebridgeslow deviceARM總線結(jié)構(gòu)z兩類總線:yAHB 高速總線: AHB 支持 流水線,突發(fā)傳輸,分離事務(wù)和多總線控制器.yAPB 低速總線:所有低速設(shè)備連接到AHB上.ARM總線結(jié)構(gòu)DMAzDirect memory access (DMA) 允許不由CPU控制讀寫的總線操作.y總線請求.y總線授權(quán).zDMA 控制器.常見的片內(nèi)外設(shè)zTimerzAD/DAz外部中斷接口zGPIOzUARTzI2C/USB/SPI外部總線 CPUz總線的概念與分類z
4、PC的總線與接口z嵌入式系統(tǒng)總線zIO 接口電路z中斷嵌入式系統(tǒng)應(yīng)用多樣性嵌入式計算系統(tǒng),lecture1-118n打印機、路由器n汽車:發(fā)動機、剎車等.n飛機:發(fā)動機、飛行控制、導(dǎo)航、通信.n數(shù)字電視.n家用電氣.n手環(huán)、手表、插座、窗簾n智能車、機器人、物聯(lián)網(wǎng)設(shè)備n智能手機、平板(趨向于通用平臺)多種多樣的外設(shè)z工作原理不同比如鍵盤:機械、電子、機電、電磁z傳送信息類型多樣比如傳感器:數(shù)字量、模擬量、開關(guān)量z傳送速度差別極大z傳送方式不盡相同串行、并行z編碼方式不同二進制、BCD碼、ASCII碼I/O接口基本概念為什么需要I/O接口(電路)?z外部設(shè)備多種多樣z工作原理、驅(qū)動方式、信息格式
5、、以及工作速度、時序方面與CPU不匹配z必須經(jīng)過中間電路再與系統(tǒng)相連z這部分電路被稱為I/O接口電路多種外設(shè)多種外設(shè)I/O接口基本概念(續(xù)1)什么是I/O接口(電路)?zI/O接口是位于系統(tǒng)與外設(shè)間、用來協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路系統(tǒng)總線I/O接口基本概念(續(xù)2)什么是接口技術(shù)?z處理CPU與外設(shè)間聯(lián)系的技術(shù)z注意其軟硬結(jié)合的特點z根據(jù)應(yīng)用系統(tǒng)的需要,使用和構(gòu)造相應(yīng)的接口電路,編制配套的接口程序,支持和連接有關(guān)的設(shè)備接口技術(shù)是編程人員的一項基本技能。接口技術(shù)是編程人員的一項基本技能。嵌入式系統(tǒng)中的常用I/O接口zGPIO通用I/O接口zUART串口,數(shù)據(jù)通信zI2CIC器件之間的通信
6、zSPIIC器件之間的通信zCAN高性能和可靠性的串行通信協(xié)議zUSB通用串行總線zA/D and D/A數(shù)模轉(zhuǎn)換,模數(shù)轉(zhuǎn)換應(yīng)用示例應(yīng)用示例GPIOSPI溫濕度傳感I2CI2CAT86RF231-SPIRF 模塊UARTGPIOGPIO的作用的作用z輸出數(shù)據(jù)/控制yLED的控制z輸入數(shù)據(jù)y讀取當(dāng)前LED的狀態(tài)y按鍵STM32的GPIO功能實驗課的LEDz如何連接的?zI/O端口選擇的是輸入還是輸出?z輸入輸出的模式?GPIO基本輸入結(jié)構(gòu)GPIO 輸入電路工作原理工作原理弱上拉輸入弱上拉弱上拉輸入下拉輸入如何實現(xiàn)?下拉輸入總結(jié)推挽輸出電路推挽輸出電路推挽輸出電路推挽輸出推推挽輸出挽總結(jié)開漏輸出開
7、漏輸出雙向開漏雙向開漏雙向開漏開漏輸出開漏輸出總結(jié)GPIO與復(fù)用I/OSTM32 I/OCPUz總線的概念與分類zPC的總線與接口z嵌入式系統(tǒng)總線zIO 接口電路z中斷61I/0編程z使用I/O設(shè)備:y通過CPU讀取和寫入I/O設(shè)備的寄存器z使用I/O設(shè)備要解決的問題:yI/O寄存器的地址問題yI/O寄存器的讀寫問題I/0編程z有兩種方式可以是I/O端口程序控制:yI/O指令指令:I/O提供單獨的地址空間,用特殊的 I/O 指令進行操作;xIntel x86y內(nèi)存映射內(nèi)存映射I/O: I/O地址映射到內(nèi)存地址,通過內(nèi)存 load/store指令操作.x其他CPUs:ARM,MIPSARM me
8、mory-mapped I/Oz定義 I/O設(shè)備在內(nèi)存單元中的名稱: DEV1 EQU 0 x1000z讀寫代碼:LDR r1,#DEV1 ; /set up device adrsLDR r0,r1 ; /read DEV1LDR r0,#8 ; /set up value to writeSTR r0,r1 ; /write value to deviceC語言#define DEV1 0 x1000/讀操作int peek(char *location) return *location; dev_status = peek(DEV1);/寫操作void poke(char *locat
9、ion, char newval) (*location) = newval; poke(DEV1, 8);I/O操作忙等 I/O#define OUT_CHAR Ox1000#define OUT_STATUS Ox1001char *current_char = “hello world!”;while (*current_char != 0) poke(OUT_CHAR,*current_char); /write a charpoke(OUT_STATUS,1);/read statuswhile (peek(OUT_STATUS) != 0); /status !=0: busycu
10、rrent_char+;/ next輸入復(fù)制到輸出while (TRUE) /* read */while (peek(IN_STATUS) = 0); /status, =0: no inputchar achar = (char)peek(IN_DATA);/* write */poke(OUT_DATA,achar);poke(OUT_STATUS,1);while (peek(OUT_STATUS) != 0);忙等 I/O:前臺程序: 輸入/輸出CPUI/O設(shè)備查詢設(shè)備狀態(tài)(輪詢)設(shè)備操作 時間中斷中斷 I/Oz忙等I/O效率低yI/O事務(wù)未完成,CPU不能執(zhí)行其他操作 y不能同時執(zhí)
11、行I/Oz中斷中斷機制允許設(shè)備發(fā)送信號到CPU, 改變CPU程序執(zhí)行過程yCPU調(diào)用子程序處理設(shè)備操作(中斷處理程序)中斷接口CPU狀態(tài)寄存器數(shù)據(jù)寄存器設(shè)備管理機制PC中斷請求中斷應(yīng)答數(shù)據(jù)/地址IR中斷行為描述z基于子程序調(diào)用機制z中斷發(fā)生時強制CPU執(zhí)行一段特定代碼(中斷處理程序)y存儲當(dāng)前正在執(zhí)行的程序地址,執(zhí)行中斷處理程序后能夠返回到被中斷的程序y“上下文”切換到中斷服務(wù)程序中斷物理接口zCPU和設(shè)備之間通過CPU總線連接zCPU和設(shè)備的握手過程:y設(shè)備向CPU發(fā)送中斷請求y當(dāng)CPU能夠處理該中斷時,向設(shè)備發(fā)送發(fā)送中斷應(yīng)答中斷中斷機制:前臺程序:輸入/輸出:中斷處理CPUI/O設(shè)備其他操
12、作設(shè)備操作 時間實例3.4:應(yīng)用中斷將字符從輸入設(shè)備復(fù)制到輸出設(shè)備/*輸入中斷處理程序*/void input_handler() /achar = IN_DATA; /全局變量gotchar = TRUE; /通知主程序IN_STATUS=0;/設(shè)置狀態(tài)值#define IN_DATA (*(volatile unsigned byte *) 0 xE0028018) /輸入寄存器#define IN_STATUS (*(volatile unsigned byte *) 0 xE002801C)/輸入狀態(tài)寄存器中斷驅(qū)動的main程序main() while (TRUE) if (gotch
13、ar) OUT_DATA = achar;/寫入字符OUT_STATUS = 1;/設(shè)置狀態(tài)值gotchar = FALSE; /重設(shè)標志位#define OUT_DATA (*(volatile unsigned byte *) 0 xE0028020) /輸出寄存器#define OUT_STATUS (*(volatile unsigned byte *) 0 xE002802C)/輸出狀態(tài)寄存器Example: interrupt-driven main program executionmainInput_handlerpeek a charpeek a charpeek a cha
14、rpoke a charwhilepoke a charwhilepoke a charwhile:Input:Output中斷代碼調(diào)試z中斷處理程序有錯誤,可能導(dǎo)致:y前臺程序發(fā)生奇怪的錯誤yBug很難復(fù)現(xiàn)取決于中斷的頻率.Context save/restore中斷代碼調(diào)試舉例:/*輸入中斷處理程序*/void input_handler() /achar = IN_DATA; /全局變量gotchar = TRUE; /通知主程序通知主程序IN_STATUS=0;/設(shè)置狀態(tài)值#define IN_DATA (*(volatile unsigned byte *) 0 xE0028018)
15、 /輸入寄存器#define IN_STATUS (*(volatile unsigned byte *) 0 xE002801C)/輸入狀態(tài)寄存器中斷優(yōu)先級和中斷向量z有兩種機制可以使中斷機制更有效:y中斷優(yōu)先級決定了哪個中斷被CPU優(yōu)先執(zhí)行y中斷向量允許中斷設(shè)備指定其中斷處理程序z多數(shù)CPU同時支持這兩種機制帶優(yōu)先級的中斷機制CPU設(shè)備 1設(shè)備 2設(shè)備 nL1 L2 . Ln中斷應(yīng)答中斷優(yōu)先級z 中斷屏蔽 (Masking):優(yōu)先級低于當(dāng)前中斷的不被執(zhí)行,直到當(dāng)前中斷處理程序執(zhí)行完畢z 不可屏蔽中斷 (Non-maskable interrupt,NMI): 最高優(yōu)先級中斷,不被屏蔽y通常
16、為由電源故障引發(fā)的中斷準備例子: 優(yōu)先級中斷A prior B, B prior C中斷向量z需求舉例:y設(shè)備只有一個中斷管腳,但是有多個中斷源y例如:射頻芯片有發(fā)送完成中斷、接收中斷、異常中斷等等中斷向量z硬件結(jié)構(gòu)支持中斷處理程序 0中斷處理程序 1中斷處理程序 2中斷處理程序 3中斷向量表表頭設(shè)備CPU中斷請求中斷響應(yīng)向量中斷向量獲取:CPU:設(shè)備收到中斷請求收到中斷應(yīng)答收到中斷向量中斷執(zhí)行過程zCPU 響應(yīng)中斷請求z設(shè)備發(fā)送中斷向量zCPU 調(diào)用中斷處理程序z執(zhí)行中斷處理程序zCPU恢復(fù)執(zhí)行前臺程序中斷開銷z分支跳轉(zhuǎn)及返回開銷z額外的時鐘周期應(yīng)答中斷和獲取中斷向量z寄存器的保存與恢復(fù).z流水線相關(guān)的開銷.zCache相關(guān)的開銷.ARM interruptszARM7 支持兩種中斷:y快速中斷請求(FIQs).y一般中斷請求(IRQs).z中斷向量表保存在內(nèi)存低地址部分,一般從 0 地址開始.管態(tài)、異常和陷阱z管態(tài):提供用戶態(tài)不具有的特權(quán)指令,避免用戶態(tài)時錯誤程序?qū)е碌南到y(tǒng)安全保護z異常:CPU內(nèi)部硬件檢測到的錯誤事件,提供應(yīng)付這類事件的一種機制;異常類似中斷,必須有優(yōu)先級z陷阱:也稱軟件中斷,由程序指令觸發(fā)進入某種預(yù)先定義處理的機制,如進入CPU管態(tài)協(xié)處理器z在指令系統(tǒng)層次上提供CPU之外的特殊處理硬件:如浮點運算協(xié)處理器y預(yù)留操作碼yCPU收到協(xié)處
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45109.1-2024智慧城市城市數(shù)字孿生第1部分:技術(shù)參考架構(gòu)
- 2024版建筑工程泥工施工勞務(wù)合同
- 二手商品房買賣合同范本2024年版(買賣雙方權(quán)益保障)
- 二零二五版廣東教育機構(gòu)勞務(wù)派遣服務(wù)協(xié)議3篇
- 二零二五年建筑公司項目管理團隊勞動合同3篇
- 2025年房產(chǎn)社交媒體營銷合同3篇
- 二零二五年文化旅游產(chǎn)業(yè)PPP項目特許經(jīng)營合同3篇
- 二零二五年度高效復(fù)合肥生產(chǎn)與銷售合作框架協(xié)議3篇
- 個性化2024版民間資金借貸擔(dān)保協(xié)議版B版
- 二零二五版光纖熔接項目融資服務(wù)合同范本3篇
- 割接方案的要點、難點及采取的相應(yīng)措施
- 2025年副護士長競聘演講稿(3篇)
- 2025至2031年中國臺式燃氣灶行業(yè)投資前景及策略咨詢研究報告
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試語文試題(解析版)
- 新人教版七年級數(shù)學(xué)上冊全冊專項訓(xùn)練大全
- 標準預(yù)防--ppt課件
- 壓力管道氬電聯(lián)焊作業(yè)指導(dǎo)書
- 審計資料封面(共6頁)
- 加油站施工情況報告安裝
- 分子標記及遺傳連鎖圖譜
- 防火墻施工組織設(shè)計
評論
0/150
提交評論