我正在開始對微控制器進行編程,並且正在閱讀一些文檔和教科書。 我對微控制器和片上系統之間的區別感到困惑嗎?
某些文檔可互換使用這兩個術語。但是,大多數教科書指出,交替使用這兩個術語是不正確的,因此必須有一些顯著的區別...
謝謝!
我正在開始對微控制器進行編程,並且正在閱讀一些文檔和教科書。 我對微控制器和片上系統之間的區別感到困惑嗎?
某些文檔可互換使用這兩個術語。但是,大多數教科書指出,交替使用這兩個術語是不正確的,因此必須有一些顯著的區別...
謝謝!
微控制器是一種內置了程序和數據存儲器的處理器。這些芯片專用於小型嵌入式控制應用,因此,將引腳留給I / O而不需要外部存儲器總線非常有用。一些微控制器只有6個引腳,可以做有用的事情。將其與用於PC的通用計算處理器進行對比。這些東西在陣列中有100個引腳,並需要大量的外部電路。
對於片上系統,這是一個定義不太明確的術語。塞浦路斯稱其某些零件為PSOC(可編程片上系統)。這些基本上是在同一芯片上具有小型FPGA的微控制器。無需內置外圍設備,您可以在FPGA的可用資源內進行所需的操作。它。當然,您嘗試進入系統的距離越遠,使用任何一套額外的硬件的可能性就越小,因此某種可配置性非常有用。但是,就目前而言,“片上系統”更多是營銷術語,而不是真實的術語。
片上系統(或SoC)是行銷人員使用的通俗易懂的詞組,實際上意義不大。還有許多變化,例如:
PSoC:賽普拉斯半導體公司的片上可編程系統。
SOPC:Altera的可編程芯片上的系統
本質上,SOC是一個單芯片,可以完成所有佔用多個芯片的工作。沒有什麼可以說必須包含CPU或RAM。因此,由於我們可以在芯片上安裝更多的晶體管,並且已經在芯片上獲得越來越多的功能,因此與10或20年前相比,幾乎所有東西都可以稱為SoC。 !
更糟糕的是:有很多被稱為SoC的示例,它們仍然需要多個芯片才能發揮作用。通常,您會遇到某種形式的CPU +外設,但仍需要外部Flash,RAM和電源。因此,甚至SoC名稱也令人誤解。
MCU可能是SoC應該是的最簡潔的示例-但這是一個非常有限的示例。
通常,將微控制器視為嵌入式設備,該嵌入式設備在內部進行編程以執行特定任務。用戶交互最少,幾乎沒有靈活性。通常,微控制器的功耗很低,僅具有少量的內存和ROM(閃存)。
相反,片上系統是另一端。它更適合於完全的靈活性和用戶交互。它通常包括諸如用於更大硬件的IO驅動程序(例如硬盤驅動器等),甚至有時還包括圖形適配器。片上系統更像是一個完整的計算機系統,是的,在芯片上。 -片上?
基本上,如果它可以完成計算機可以完成的工作,那麼它就是片上系統。例如,如果要安裝在管理您的聯繫人列表的台式電話內,鍵盤輸入系統中或在CNC機床上運行電機,那麼它就是微控制器。
ps ,請不要在此引用我的意見-正如我所說的,兩者之間存在很多交叉。 sub>
從某種意義上說,區別是與技術相關的,而不是市場營銷的,但是我建議,總體而言,微控制器的“可編程”部分僅限於一個相對狹窄的“意識流”。本質上,在任何給定的時刻,微控制器的下一個相對較小的操作都將由其編程方式決定,但是系統中的所有其他邏輯都是硬連線的,並且將在構建時執行。諸如計時器之類的東西可能會提供一些配置選項(例如,以固定速率計數而不是輸入脈衝計數),但總的來說,系統的接線是固定的。如果希望響應某些輸入信號而使輸出信號發生變化,並且不存在顯式的硬件來執行此操作,則程序將不得不定期查看輸入信號,如果更改了該信號,則切換輸出信號。如果希望輸出模擬電壓響應於輸入模擬電壓而發生變化,則處理器可以對輸入電壓進行採樣,計算所需的響應並請求所需的輸出電壓。實際上,通過讓處理器查看輸入併計算輸出可以產生所需類型的刺激/響應,但是響應時間通常比專用硬件產生的響應時間要慢幾個數量級。
總體思路片上系統的設計是為了給電路提供足夠的多路復用器和其他路由設備,以便信號可以通過電路路由,以產生許多有用類型的激勵/響應模式,而無需處理器干預。這樣的電路無法產生與處理器產生的速度一樣快的刺激/響應模式,但是在許多情況下,它們可以比處理器能夠執行的速度快幾個數量級。
我認為,SoC是一個具有很多定義的術語,實際上,它會隨著時間的推移而不斷變化。另一方面,十年後將以同樣的方式定義微控制器。當您說微控制器時,它在單個芯片上附帶了一些基本的東西,例如存儲器,IO端口,計時器和計數器等等。但是當您說SoC時,它沒有關於什麼的特定標準。它應包含的電路類型。例如,他們試圖將SoC引入其中的主要應用是Smartphone。在當前情況下,智能手機應包含一些基本的機載內容,例如
在目前的情況下,如果我想製造智能手機,我必須拿起一個CPU和一個GPU,並將所有東西都連接到它。但是SoC基於單芯片的概念,該芯片具有以上所有功能,並且具有發展的能力(儘管以非常基本的方式)。 另外,我說SoC的定義在不斷變化,因為對智能手機,計算機或任何電子設備的基本要求將日益提高,而SoC的定義也會隨著這些要求而變化。
是的,SoC基本上是一個經常使用的營銷術語。有設備和主機術語。主機是Dell,HP,IBM等大型PC製造商,它們內部使用的CPU通常由Intel,AMD等製造。因此,他們基本上在主板上提供CPU或SoC(稱為CPU),有些還提供CPU + SoC(用於特定目的以減輕外圍設備的活動,例如傳感器或GPS設備,否則本來就非常SoC有時也稱為協處理器,其工作與我先前寫的內容相同。現在,主板連接了各種外設(基本上連接到CPU或SoC) ,這些外設基本上要么通過求和總線-i2c,SPI,USB直接連接到它們(SOC或CPU),要么通常連接到微控制器。因此,要么將微控制器連接到SoC,要么將這些設備直接連接到SoC。總線。現在Qs就是為什麼外圍設備它將直接連接到微控制器而不是直接連接到總線,這是有原因的,如果外設製造商也是微控制器的製造商,他們一定會盡力將其外圍設備與微控制器一起推銷,這不僅是為了獲得更好的利潤,而且是為了更好的解決方案,因為微控制器的特性將為他們的解決方案提供雙倍的推動力。想像一下,如果他們提供藍牙外圍設備,但將其與微控制器連接將使他們提供低功耗,快速性能的藍牙微控制器解決方案。設備(外圍設備,控制器製造商)以及PC製造商的雙贏解決方案,因為他們正在獲得更好的設備(外圍設備+微控制器)。 因此,最重要的是微控制器這一術語,您會在設備端(與SoC進行接口連接(現在您知道什麼是SOC)了,而在SoC則在主機端(PC端)上看到更多) )。可以說,CPU是父親將其工作委託給SoC的代名詞,以提高設備(Micro +外圍設備)的電源功能.Soc基本上擁有更多的內存來託管OS無關的微控制器,這些微控制器最多可以支持RTO。 >
總結一下,在我看來:
MCU通過使用幾種提供不同功能的芯片來提供大量內存,VGA等接口以及GPU等功能。
MCU僅提供最少的內存,接口等,從而使所有組件都適合單個芯片。
SoC突破了單個芯片可以完成的工作,將所有東西都集成在單個芯片上。
MCU通過最小化成本來實現價值,而SoC通過最大化功能來實現價值,兩者均在單個芯片上實現。如果它與TLL邏輯競爭,則可能是MCU。如果要與微處理器(AMD,英特爾)競爭,那可能是SoC。