天天看點

微機硬體接口 提綱挈領

微機各種常見接口,GPIO,I2C,SPI,DMA 等

1.GPIO接口,邏輯最簡單的IO口

在嵌入式領域,常有這樣的需求,很多裝置隻需要控制開關即可,如信号燈,繼電器電路…隻需要0/1控制即可,其他接口顯得大材小用了。我們可以使用GPIO接口。
微機硬體接口 提綱挈領
此外MCU一般有 GPIO控制寄存器,GPIO資料寄存器,控制寄存器 控制GPOI口的資料流向,資料寄存器資料與GPIO口的高低電位對應,可以讀取或者發送信号。

以下較複雜的接口都需要相應的協定。協定主要包括1規則,如一串資料中哪一位是開始哪一位是終止,2速度。

2.UART接口,電氣特性好,用途及其廣泛的接口

Universal Asynchronous Receiver/Transmitter,通用異步 輸入輸出 。
微機硬體接口 提綱挈領

核心是兩條資料線,每條單向傳輸,對于每一端,一條發送,一條接收。

注意PC的COM口使用RS232标準邏輯1的電平為-3~-15V,邏輯0的電平為+3~+15V,需要轉換。

VCC:供電引腳,一般是3.3v

GND:接地引腳,有的時候rx接受資料有問題,就要接上這個pin,一般也可不接

RX:接收資料引腳

TX:發送資料引腳

過程1設定速度:波特率,波特率即每秒傳輸的bit位數。每個位的時間T=1/波特率

2設定起始位3傳輸資料位數(一般設為8位)

3設定奇偶校驗

4設定停止要幾個T

這些都是要手動設定的

5通訊:發送一個T的低電平,告訴對方要開始通訊,發送規定的資料+校驗位 發送規定的高電平告訴對方完成通訊

3.SPI接口,用三根線 速度快的串行通訊方案

4.I2C接口,用兩根線 程式設計簡單 的串行通訊方案

微機硬體接口 提綱挈領

核心是兩個線路,SDA(資料)SCL(時鐘),每次傳輸一個位元組。通過這兩根線,先進行選片,再傳輸資料。以下是過程細節。

兩個線,通過組合産生各種信号,配合發送資料

1起始信号:SCL維持高電平,SDA從低到高 一次變化。

2結束信号:SCL維持高電平,SDA從高到低 一次變化。

發送時,SCL時鐘信号開始,接收方在SCL每個周期的高電平期間取走SDA資料,在此期間要求SDA保持穩定。

微機硬體接口 提綱挈領

a主機發送起始信号,I2C裝置開始準備,接下來SDA上的傳來的位址資料要是比對自己,就開始工作。

b每次發送數之前會進行選片,發送8bit,其中前7位是從機位址,第8位(0表示主機發送資料,1表示主機讀入資料),接下來主機再接收一位低電平表示有外設應答了。

c發送8bit,接下來發送方,接收1位 低電平,表示發送成功。

重複b過程,完成資料發送

d,主機接收完資料後,回應高電平,從機不在發送,主機再差生一個停止信号,釋放總線。

可以看出,整個過程以主機為主導,主機可以選擇從機,停止從機的發送資料。