嵌入式系統原理與應用技術(第三版)-讀書筆記


進入異常

  1. 1. ARM狀態:LR(Link Register連接寄存器)保存下一條指令的地址(pc+4/+8)
  2. Thumble狀態:LR保存的是當前PC的偏移量(不需要確定異常是從何種狀態進入)
  3. CPSR(current program status register程序狀態寄存器)復制到相應的SPSR(saved program status register程序狀態保存寄存器)中,使CPSR模式位的值設置成對應的異常模式值。
  4. PC從相關的異常向量取下一條指令。
  5. 也可以設置中斷禁止位,阻止其他無法處理的異常嵌套。
  6. 如果異常發生時,處理器處於Thumble狀態,那么當用中斷向量地址加載PC時,自動切換到ARM狀態。

退出異常

  1. LR減去相應的偏移量,送到PC中
  2.  SPSR復制回CPSR,清除中斷禁止位標志。

專用寄存器/特殊功能寄存器SFR(special function register)
GPU圖像處理器(Graphical Processing Unit)
NPU神經網絡處理器模塊(Neuro processing Unit)
ARM11單發處理器:一次向流水線中加載一條機器指令
ARMCortexA8:同時向流水線發射兩條指令,雙發射
ARMCortex:同時發射3條指令
ARMCortexA9:亂序執行(OOE)


三態門:
高電平(上拉Pull Up )、低電平(下拉Pull Down)、高阻態

最基本的作用是:將狀態不確定的信號線通過一個電阻將其箝位至高電平(上拉)或低電平(下拉),在不同應用場合中會對電阻的阻值要求有所不同。

高阻態:指的是電路的一種輸出狀態,既不是高電平也不是低電平,可以把它看作輸出(輸入)電阻非常大,它的極限狀態可以認為懸空(開路)。


假設這個使能信號是用來控制電機的,如果懸空的話,此信號線可能在上電后(或在運行中)受到其它噪聲干擾而誤觸發為高電平,從而導致電機出現不期望的轉動,這肯定不是我們想要的,此時可以增加一個下拉電阻。而相應的,對於低有效的復位控制信號(RST#),我們希望上電復位后處於無效狀態,則應使用上拉電阻。

 拉電阻越小則表示電平能力越強(強拉),可以抵抗外部噪聲的能力也越強,但是拉電阻越小則相應的功耗也越大,因為正常信號要改變信號線的狀態也需要更多的能量。

 

STM32單片機GPIO模式即包含上拉或下拉

ARM尋址的方式

  1. 寄存器尋址:指令中地址碼給出的是寄存器的編號。ADD R0,R1,R2;R0-R1+R2
  2. 立即尋址:指令中在操作碼字段后面的地址碼部分不是操作數地址,而是操作數本身。ADD R3,R3,#10;R3-R3+10
  3. 寄存器移位尋址
  4. 寄存器間接尋址
  5. 變址尋址
  6. 多寄存器尋址
  7. 堆棧尋址
  8. 塊復制尋址
  9. 相對尋址:

ARM系統引導程序(Boot)

   嵌入式系統硬件加電 以后運行的第一段程序。主要作用就是對硬件初始化。

   引導加載程序(Bootloader):系統硬件加電到執行操作系統內核之前,執行的一段程序。為操作系統提供基本的運行環境,並啟動操作系統,將操作權交給內核。

   PC機中,引導加載程序由BIOS(Basic Input Output System,一段固件程序)和硬盤中的操作系統Bootloader共同組成。

存儲器的組織結構

 存儲器組織成金字塔結構。寄存器,cache一般在CPU的內部,外部的硬件設計主要考慮主存儲器和輔存儲器。

 

主存儲器和輔存儲器是通過地址來識別的,一個地址對應一個存儲單元。嵌入式系統存儲器部分設計時主要考慮:

1.CPU的存儲結構:CPU本身定義了能夠訪問多大的存儲空間、能夠訪問什么類型的存儲器以及訪問時序。

2.存儲器本身的工作原理。

人機接口

  1.鍵盤接口:獨立式鍵盤,行列式鍵盤(行掃描法)。

    抖動:軟件延遲,硬件R-S觸發器。

  2.LED顯示器:

    單個(發光電流5-20mA)、

    7段(8段)(共陰極或共陽極):

      靜態顯示:占有I/O資源較多,CPU時間少。

      動態顯示:所有的段選端並聯在一起,由一個輸出寄存器作I/O口,成為段選寄存器。所有的共陰極點連在一起,由一個輸出寄存器作為I/O接口,成為位選寄存器。

    點陣式:每個LED表示一個像素。單色點陣式,每個像素需要一位二進制數表示。彩色點陣式,每個像素需要更多的二進制表示,通常1個字節。

  3.LCD(Liquid Crystal Display):

    靜態驅動:

    單純矩陣驅動(被動式):TN/STN

    主動矩陣驅動:TFT(Thin Film Transistor薄膜式晶體管)背透式,相應時間塊,真彩。

  4.觸摸屏接口

    電阻觸摸屏:觸摸之后產生電壓,A/D轉換后與Vref比較,可得坐標。

    紅外線觸摸屏:光點距架框排列紅外線發射接管。不適宜戶外和公共場所使用。

    電容觸摸屏:

DMA技術:

CPU給DMA下指令,讓DMA控制器來處理數據,降低CPU資源利用率。與中斷請求的區別:

  1. DMA請求僅使CPU暫停一下,不需要對斷點和現場進行處理,外設與主存之間傳輸數據利用系統總線,無需CPU干擾,。
  2. CUP對DMA的請求是立即響應,即:在每條指令的每個階段都可以讓給DMA使用,占用CPU時間少。

DMA傳送過程:申請階段--響應階段--數據傳送階段--傳送結束階段。

  1. 外設向DMA控制器發信號,DMA再向CPU發出總線請求信號,請求獲得總線的控制權。
  2. CPU執行完當前總線周期后,響應請求並暫停主程序,釋放總線控制權。DMA通知外設,我已獲得總線控制權。
  3. 如內存向外設傳送時,DMA給總線內存地址和讀信號。DMA控制器內部的地址寄存器值加1,字節計數器減1,直至設定的字節數傳送完成。
  4. DMA將總線控制權還給CPU。

硬件請求模式下(H/W)4個DMA通道均可以從5個DMA源中選擇一個。但軟件請求模式下(S/W),DMA請求源沒有意義。

DMA模式:

  1. 請求模式:表明DMA操作是由誰發起的。
  2. 傳輸模式:詢問模式、握手模式。
  3. 服務模式:描述操作如何結束。整體服務模式和單獨服務模式。

 串行通信接口

串行通信:數據的各位按順序一位一位傳送,成本低適合長距離通信,但是傳輸效率低。

單工、半雙工、全雙工。

異步串行通信:把每個字節當作獨立的信息來傳送,字節內部各位之間按照預先定義的時序傳送,時序取決於發送端。

  1. 一個完整的字節傳送包含(幀格式):起始位+所要傳送字節的二進制位+校驗位+停止位。串行通信數據線在沒有數據時保持在某個狀態(空閑狀態),當要發送數據時,先發送一個與空閑狀態相反的狀態,再發送字節的最低有效位(LSB),再傳送一個奇偶校驗位檢測誤碼,最后至少發送一個停止位(ASCII碼傳送時為10位)。這樣的一串數據稱為1幀。各位代碼之間的時間間隔是固定的。異步串行通信允許空字符。
  2. 波特率:傳送數據位時的速率(b/s),每位的傳送時間為波特率的倒數。
  3. 校驗位:可以選擇奇校驗(字符中有奇數個1則為1)、偶校驗、無校驗。

校驗位和停止位一般是串行通信控制器內部自動產生。停止位可為1、1.5、2位,若無可能傳輸錯誤。

同步串行通信:一次傳輸一塊數據(信息幀)+同步字符+錯誤檢測數據塊(CRC循環冗余校驗:傳送的數據為被除數,發送器產生固定的除數,所得余數即為“冗余字符”。接收的數據和“冗余字符”相除,商為0表示接收數據無誤??)。在沒有字符傳輸時,要發送空閑字符或者同步字符,因為同步通信必須連續傳輸,不可以有間隙。效率高、電路復雜對硬件要求高。

 RS-232C串行通信接口

連接數據終端設備(DTE)、數據通信設備(DCE)。

板載一般是陽性插座DB9。

計算機外圍接口采用TTL標准,+5V代表1,接地代表0。RS232C-12V代表1,+12V代表0,需要電平轉換。

RS422:單機發送、多機接收,速度快距離長。

RS485


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM