回覆列表
  • 1 # 科技九一哥

    一般來說DMA屬於內部匯流排,iic等這些是外設。所以這注定了DMA用來連線晶片內部的外設和ram。而外設用來連線晶片外部的裝置。當然DMA也不是都不能連線晶片外裝置,比如有些微控制器的rom或者ram需要外接時候,可以用DMA直接操作,但這也是極少數。

  • 2 # 豬頭三70587229

    看了幾個答案,來個簡單解答吧。

    iic是系統與外部器件的一種通訊協議,類似的協議世界上有很多,可以直接在網上查到協議規定。

    DMA是晶片內部的資料傳輸,可以是片上外設和記憶體之間,也可以記憶體之間,還可以是外設與外設之間直接傳輸資料,具體設定參考晶片說明書。好處是設定好DMA引數以後不需要另外再寫通訊控制協議,很好用。這樣能節省很多CPU計算控制資源。另外注意一下用DMA時會用掉一半的通訊匯流排頻寬,要控制好這時的總線上裝置的資料傳輸量。

  • 3 # YFJ1993

    IIC是跟SPI,UART這些等同關係的通訊方式或者說是協議!DMA是一種讀取記憶體的方式或者技術,兩者沒聯絡

  • 4 # IT自動化交流

    小C原來是x市某星級酒店的廚師,廚藝精湛,深為食客稱道。

    近年來,國家大力提倡發現休閒農業和鄉村旅遊,受這些宣傳的耳濡目染,小c在衝動之下辭去了收入豐厚的廚師工作,攜妻兒老小返回了老家,利用自家老宅辦起了農家樂。

    剛開始,不知道前景,任何投入都精打細算,並沒有請人幫忙,只是小C小兩夫妻擼起了袖子幹了起來。

    小C夫人負責洗菜洗碗,上菜收錢,招呼客人;小C則發揮特長,顛勺炒菜。

    畢竟在星級酒店掌過幾年勺,小C的廚藝迅速收穫了廣大遊客的味蕾,再加上小C夫人長相甜美,待客有道,回頭客慢慢多了起來。在附近十里八鄉也慢慢有了名氣,甚至不少城裡的市民利用週末時間驅車光顧小C的農家樂。

    小C夫婦也開始忙的不可開交。特別是小C這裡,剛起好了鍋熱好了油,又要忙著轉身到身後的菜架上取食材;剛顛了兩小勺,旁邊的湯鍋也噗噗噗沸騰了起來;門外空等了半天的遊客又不耐煩的敲起了桌子。

    雖然如此,小C夫婦的荷包也鼓了起來,日子通並快樂著。不久以後的意外又讓這個稍有起色的生活起了波瀾,甚至差點讓整個家庭又跌倒了谷底。

    某日,小C忙中出錯,炒菜時不小心碰到了起鍋的熱湯,滾燙的熱燙潑在了大腳上。

    大腳被嚴重燙傷的小C被送到了醫院住院治療了幾個月。

    這個系統主要有幾部分組成,編址智慧菜架、智慧炒鍋、控制面板,食材傳送帶。編址智慧菜架被分割成若干個小格,每一個小格有單獨的倉門控制,可以用於放置食材、調料等,其對外提供地址線,當智慧選單通過地址線檢測到地址訊號(如第1排第1格),則開啟對應的倉門,將食材或者調料投放到下方的傳送帶,傳送帶將其傳送到智慧炒鍋,並投入其中進行炒制。

    控制面板是整個系統的控制中心,可以事先存入各道菜的製作方法,包括菜的配方、投料順序,火候大小,各火候的控制時間等;

    操作者只需要在控制面板上選擇相應的菜名,並啟動炒菜流程。

    則控制面板從系統庫中調取相應的製作方法,按照投料的順序將不同配料在智慧菜架上的地址訊號通過地址線傳送給智慧菜架,將各種配料按時間順序通過傳送帶投入炒鍋;同時,根據火候的要求通過時間繼電器控制火候的大小的時序。

    有了這樣的系統之後,小C的工作輕鬆了不少,只需要在控制面板上操作按鍵,監控機器執行新動態。可以專心全程跟蹤炒菜過程,不需要時不時被打斷去做其它事情。

    嚐到了甜頭的小C又進一步把供應商送貨的流程也做了一些改進;

    他找人設計了另一個自動收貨系統,與供應商之間制定了類似“我是西瓜”,“我是土豆”之類的通訊協議。

    供應商送貨來了之後,只要說出相應的命令,則收貨系統會自動定位到智慧菜架的不同倉格,將配料或者領料放在對應的位置。

    大概過程如下圖:

    有了兩個系統之後,小C的農家樂更加蒸蒸日上。後來,他還組織村民成立了合作社,將系統推薦給他們使用,帶領大家一起發家致富。

    這個”星級酒店名廚師辭去高薪工作,返鄉創業歷經波折年賺千萬“的致富經故事講完了。那麼問題也來了,題主能不能在故事中找以哪一個是CPU,哪一個是DMA,哪一個是IIC通訊協議。

  • 5 # 玩轉嵌入式

    DMA和IIC是兩種完全不同的東西。IIC是一種通訊方式、一種通訊協議,用於晶片之間或者用於板子之間等近距離的通訊。而DMA是一種控制器、微控制器的片上資源,是直儲存器訪問的意思。IIC可以使用DMA進行資料傳輸。下面分別介紹。

    1IIC通訊協議介紹

    IIC是晶片間常用的一種近距離通訊方式,常用的通訊速率有100Kbit/s,400Kbit/s等,具有SDA和SCL兩根線。SCL是通訊時鐘線,SDA是資料傳輸線,每個IIC裝置都有一個唯一的裝置地址,地址為1個位元組,高七位為裝置地址,低一位為讀/寫操作。其匯流排拓撲結構如下圖所示。

    IIC通訊比較典型的應用就是AT24C04,該儲存晶片的通訊方式為IIC,只需要兩根線即可實現資料的通訊,在硬體電路的設計上一般要在通訊總線上加兩個上拉電阻。如下圖所示。

    2DMA直接儲存器訪問介紹

    DMA是直接儲存器訪問,不經過CPU而直接從記憶體存取資料的資料交換方式。傳統的資料互動方式,比如有兩個儲存器要進行資料互動的話,需要通過微控制器從儲存器1獲取資料後再轉送給儲存器2,微控制器必須要做倒手處理。而DMA就是不通過微控制器,即可實現儲存器1和儲存器2的資料互動,而微控制器只需要向DMA下達控制指令即可。DMA可以用在IIC,SPI,UART,AD等資源中。多個器件在進行資料互動時不再需要微控制器的參與,而只需要DMA完成後通知微控制器即可。

  • 6 # 季鵬

    I2C是通訊協議,就是MCU對外用來通訊的。和USART,SPI,CAN這種一樣,而dma是MCU內部的一個功能部件,叫直接儲存器訪問,用於外設和儲存器或者儲存器與儲存器之間的資料傳輸。DMA的目的是在無需CPU控制的情況下快速移動資料。

    舉個例子,我剛做的一個應用。CPU先控制ADC進行取樣,然後將取樣資料傳送給上位機。那我CPU和上位機之間就是通過串列埠進行連線,DMA沒有辦法連線到外面。然後我由於取樣頻率特別高,然後我採集到的資料還得計算,這樣的話,整個流程就是:採集資料—處理資料—傳輸資料,這樣迴圈。前面說了,我這個頻率特別高,那這樣一個流程下來是需要時間的,頻率就受限制了。那這時候我就使用DMA,在處理資料之後,資料儲存在flash中,這時候傳輸資料就可以用DMA來控制,DMA從flash中取出資料,放到USART的傳送快取中,這樣就不用CPU進行控制了,CPU就處理完資料後返回採集資料就行,就能有效提高頻率。

    一般DMA可以配合I2C,SPI,USART等等進行操作,也可以脫離這些,單純從一塊flash搬運到另一塊flash,DMA的主要目的是減少CPU的參與,使CPU有更多時間去做別的事。DMA就一控制器,沒有辦法與外部進行連線。

  • 中秋節和大豐收的關聯?
  • 應該選擇p40pro,還是應該選擇一臺價格相近的單反或者無反?