首頁>Club>
求大神解答,具體該考慮哪些方面來決定用哪個微控制器?萬分感謝
15
回覆列表
  • 1 # 玩轉嵌入式

    STM32是價效比非常高的32位微控制器,片上資源豐富、價效比高、效能不錯;而C51微控制器是8位的微控制器,應用廣泛、資料眾多,很多人的微控制器都是從51微控制器入門的。現在的51微控制器國內被宏晶STC發揚光大。這兩款微控制器如何選型?

    在設計產品時,能實現功能的方案可能有很多、晶片也有很多選擇,主要從功能需求、物料成本、供應商關係、供應週期等一系列因素去綜合考慮。題目是想用微控制器來設計電壓檢測系統,單純的從這一個單一的需求考慮,不會對微控制器的選型造成困擾,因為微控制器都能實現這個功能。

    電壓檢測電路,從簡單了講就是透過多個電阻串聯分壓,用微控制器採集精密電阻兩端的電壓然後根據比例關係計算所要採集的電壓。只要微控制器具有AD取樣埠,那麼這個功能都是可以實現。早期的51微控制器沒有AD功能,需要外掛一顆AD取樣晶片。但是現在的51微控制器也是具有AD取樣功能的。所以,STM32和51微控制器都能實現這個功能。

    在選擇微控制器時,可能需要考慮如下幾個方面:

    1 功能需求&片上資源

    電路的設計來源於需求,需求決定了技術方案、實現原理以及晶片的選型。有些需求可能用到微控制器的片上資源,比如採集脈衝,會用到微控制器的CCP功能;取樣電壓訊號,需要用到微控制器的AD功能;實現通訊功能,需要用到微控制器的UART串列埠。所以,需求是決定選型因素之一。

    2 物料成本決定了選型

    設計產品時,成本越低那麼所能獲取利潤的空間也就越大。在滿足需求的前體現,選擇成本低的物料永遠是正確的。

    3 供應商關係以及採購週期

    這個在做產品時非常重要,公司都有自己的供應商花名冊,和供應商關係的好壞決定了採購成本、供貨週期等問題。你可能會說,關係不好換一家就可以了,但是很多大公司都有系統供應商,不能隨便更換或者新增供應商,所以會有一批專門做供應商管理的崗位。

    4 技術資料的豐富程度

    如果是個人做個板子實現功能的話,這個很重要,資料越多越容易入手。但是從公司層面,除了行業內的頭部公司,技術往往不是限制產品量產的因素。

    就設計電壓檢測系統而言,用51或者STM32都是可以的。如果有很多功能的話,優先選擇STM32吧。

  • 2 # Qi朱哥說

    STM32和51微控制器的選擇,要看具體的專案應用綜合考慮,要做電壓檢測就要有高精度的AD轉換功能,如果沒有要求 高取樣率 ,51微控制器其實也行,資料量大了就要用到STM32了。

    小功能,低成本,低速率,資料量少,低端產品選51;中高階產品選STM32。

    51微控制器

    51微控制器是對所有相容Intel 8031的的統稱。該系列微控制器的始祖是的8004微控制器,後來隨著Flash rom技術的發展,8004微控制器取得了長足的進展,成為應用最廣泛的8位微控制器之一,其代表型號是的AT89系列,它廣泛應用於工業測控系統之中。很多公司都有51系列的相容機型推出,今後很長的一段時間內將佔有大量市場。51微控制器是基礎入門的一個微控制器,還是應用最廣泛的一種。需要注意的是51系列的微控制器一般不具備自程式設計能力。

    STM32

    STM32系列專為要求高效能、低成本、低功耗的嵌入式應用設計的ARM Cortex®-M0,M0+,M3, M4和M7核心,在STM32F105和STM32F107互連型系列微控制器之前,意法半導體已經推出STM32基本型系列、增強型系列、USB基本型系列、互補型系列;新系列產品沿用增強型系列的72MHz處理頻率。記憶體包括64KB到256KB快閃記憶體和 20KB到64KB嵌入式SRAM。

    51微控制器過時了嗎?

    這個問題,相信大家很多人都在問,也有很多人想知道,還有很多人有自己的看法。在大學裡,51微控制器仍是電子類專業必修的課程,然而這幾年隨著ARM的火爆,很多51的學習者有了專業一個疑問:為什麼還要學51?

    微控制器和ARM的關係,微控制器是“單片微型計算機”的簡稱;ARM是Advanced RISC Machines的簡稱,它只是一家微處理器設計企業的名字,因此ARM是他們設定的微處理器的統稱;瞭解了這些,我們可以說微控制器是所有所有MCU(微型控制單元)的統稱,ARM是DSP只是他們的一 種,ARM屬於用公司名稱的一種稱呼,而DSP則是根據功能(數字處理)命名的一種稱呼。但是,在行業內,微控制器一般特指8位或16位的MCU,在本文中 仍採用大家熟悉的叫法,把微控制器和ARM放在並列的位置。

    要解決這一個問題,首先得搞清楚51微控制器在市場中的應用情況以及將來的發展情況。眾所周知,自從ARM出現以來,短短的幾年內便出現 了ARM7、ARM9、M3、M4、A8、A9、A10等等多個系列,其效能也得到了飛速發展,以其高效能,低價格,低功耗等優勢迅速佔領了MCU的江 山,比起當年的51有過之而無不及。作為32位機,其效能是毋庸置疑的,即便是相同的時鐘速率,32位機的處理一些資料的速度也要快於8位機,如一個32 位的加法運算,8位機至少需要4個週期,而32位機只需要一個週期即可完成。ARM的優勢在於較高的處理速度,還有豐富的外設資源,還有就是較大的資料和 程式儲存空間。相比之下,51微控制器就沒有優勢了嗎?當然不是,51微控制器的優勢在於小巧的核心,成熟的技術(其實現在ARM的技術也很成熟),還有就是 位操作。在相當多的應用場合,我們並不需要ARM如此強大的處理功能和速度,而是隻需要簡單的控制,51微控制器已經完全可以滿足實際的需求,這樣一 來,ARM的優勢便顯的不再重要,而51的位操作則是ARM達不到的,也許你會說ARM同樣可以實現位操作,但如果你瞭解的比較深的話會發現,ARM的位 操作是透過移位,與或等操作之後實現的,而51微控制器則又位定址空間,是真正的位操作。再一個就是價格,在價格上最便宜的ARM好像已經降到了0.5美元 (可能是這個價格,記不清了),而最便宜的51可能是0.5RMB。但一些中檔的ARM則要比高階的51微控制器便宜了。十幾或者幾十RMB的ARM的效能 是同價格的51微控制器無法比擬的。此外,由於51核心簡單,一些高階的51增加的功能使得他們的51微控制器操作起來變得異常複雜,而且不同廠家的操作完全 不同,這樣就增加是使用的難度。綜合看來,在高階或者中端應用方面,51微控制器已經沒有了任何優勢,其市場主要是一些老產品或者不想學新東西的老工程師在 支撐,其消亡也是必然的。然而在低端應用方面,51仍然可以佔有一席之地,除了操作和價格上的微弱優勢,其更大的優勢在於學習簡單。

    從學習角度來講,衡量是否學會一個MCU的標準應該是你寫的程式你應該知道他是怎麼執行的,應該具體到某一個指令所涉及到的暫存器,看到一個指令之後腦子裡應 該是一串01運算才行,而不是可以簡單的應用了。雖然現在很多公司推出的新產品都給出了韌體庫,可以使工程師更快的進行程式設計使用。但是,這樣的結果是使更 多的硬體工程師變成純軟體工程師而已。你會對一個晶片程式設計,但你並不瞭解他。也許有人說,反正我能用了就行了,幹嘛非要了解它呢。其實這樣想就錯了,要想 真正的用好一個晶片。不瞭解他是不行的,甚至不深入全面的瞭解都是不行的,一些硬體上的簡單改動有可能使系統的效能發生很大的變化。因此要想設計一個比較 好的產品,必須對晶片本身有一個深入的瞭解。在這方面,51微控制器由於核心簡單,很容易上手並容易深入瞭解。學習起來比較簡單。熟練掌握了51,再學習其 他的晶片,如ARM也是很簡單的,因為所有的微控制器的功能結構框架都是一樣的,瞭解了一種之後再學習另一種很簡單。相比複雜的ARM結構,51結構就顯 的很簡單了,甚至可以認為,ARM是在51的結構上增加的許多功能模組構成的,雖然二者的結構並不真的相同。

    我覺得,即便將來51的應用沒落了,學習51仍是一種不錯的入門手段,就行學計算機的一直在學X86一樣。作為電子產品的設計者,如何在種類繁多的MCU中選擇自己合適的一款才是最重要的。

    雖然不可否認51微控制器越來越多的被高階產品,尤其是ARM所替代,但我仍覺得51微控制器沒有過時,學習51微控制器也沒有過時!

    51微控制器可以做什麼

    51微控制器作為學習微控制器的過程中必須要經過的一個過程來講是非常重要的,原因在於51微控制器從內部的硬體到軟體有一套完整的按位作業系統,稱作位處理器,處理物件不是字或位元組而是位。不但能對片內某些特殊功能暫存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應手。

    工業控制領域方面,汽車行業,微控制器的使用領域已十分廣泛,如智慧儀表、實時工控、通訊裝置、導航系統、家用電器等,很多裝置的底層控制都是採用51微控制器實現的。儀器儀表方面,51微控制器由於成本低廉,所以很受該行業歡迎。汽車行業,一輛汽車的控制MCU很多,51微控制器也佔有一席之地。

    通訊方面,51微控制器在GPS、紅外、射頻等方面都有很廣泛的應用。航海航空,儘管ARM逐步佔有了主導地位,但是各個模組的底層51微控制器仍然再使用。

    其他各個方面,其實作為最早大量使用的微控制器之一,51微控制器在各行各業都沒有退出歷史舞臺,仍然在發揮作用。51微控制器僅有一個累加器ACC,許多處理都要透過ACC來完成,因此就需要有暫存器來儲存中間結果。訪問外部資料儲存器,只能用間接定址,可用@DPTR訪問全部64k(這裡包括你擴充套件的印表機,顯示器,鍵盤等),對於一個區域,也可以用P2配合R0或R1完成訪問,如果使用中斷,中斷中又使用比較多的暫存器,可以交換整個暫存器組,開機隱含為0組,可以換用1,2,3組。

  • 3 # 我愛製作show

    C51為核心產品一種壟斷市場,首先市場積累了大量的51類產品。其次市場積累了大量C51工程師。最後微控制器價格一直是佔據市場主要原因。現在價格某種程度上不是問題。

    初級STM32比C51更加容

    C51佔據市場時間長,積累了大量的文件、程式碼。所以開發工作相對比較容易。雖然STM32有更多的暫存器,但是廠家為我們準備了非常好的庫函式,大量的文件。大量示例程式,參考書籍非常多。程式編寫也比較容易。毋庸置疑,在將來一程式段時間會佔據市場。

    總結一下 透過上邊的對比可以看到,雖然可以使用相同的程式語言進行程式編寫,但是在程式設計方式和程式設計的快捷程度上均是STM32比較優秀。

    51確實是經典,但也確實有點過時了。而無論是51系列還STM32系列,都同屬於微控制器,可以說STM32系列是51系列的繼任者,隨著現在技術發展,對硬體的拓展性和處理能力上有了更高的要求。STM32無論是核心部分還是匯流排寬度;無論是速度、功耗、外設都比51系列強大。

    所以要選擇STM32。

  • 4 # 搞搞微控制器

    我在大學期間把STM32和51微控制器都學過了,現在是畢業的第六年,出來工作後一直從事的也是嵌入式開發相關的工作,目前是負責產品。

    STM32微控制器

    51微控制器

    我認為決定微控制器選型主要因素有技術性能、開發難度、成本價格、可獲得性等幾個方面。

    從技術的角度看,STM32微控制器和51微控制器的區別在於STM32微控制器的效能比51微控制器的好,

    1、STM32是基於ARM的Cortex核心,51微控制器是基於51核心的,Arm核心無論是執行速度上還是支援的指令集上都優於51核心。

    2、STM32外設較多,51的外設相對較少,STM32效能強大的可以支援並行匯流排FSMC、觸控式螢幕驅動、攝像頭驅動等等,普通的IIC、串列埠、SPI匯流排都是具備的,資源可以非常豐富,51微控制器相對外設就少很多。

    3、開發應用難度上,51微控制器用於上手開發,STM32則相對較難上手,兩者在網上可以找到的資料都很多。

    從產品應用角度上看,主要需要關注的是微控制器成本價格、可獲得性、穩定性三個方面看。

    成本價格:開發產品都知道,在相同效能的情況下,產品的成本越低,市場優勢越大,微控制器的選型滿足效能和功能要求即可,切勿追求技術優勢。

    可獲得性:就是採購渠道,有些偏門的微控制器訊號很難採購,一邊產品開發選型上就不建議使用,否則在產品開發和生產過程中會出現物料緊缺的情況。

    穩定性:產品一定是要穩定的,微控制器作為單板控制器的核心部件,一旦微控制器出現問題,那麼整個產品的功能全部OVER。需要結合應用的場景來確定,通常在汽車、軍工、醫療等領域要求可靠性高,家用等領域要求沒那麼高。

    不同產品選擇不同晶片

    根據產品選型

    如題所說的設計電壓檢測系統:那麼技術方面需要考慮的是電壓採集精度多少、範圍多少,如果要求精度不高,直接選用有AD採集的微控制器。該電壓檢測系統應用於什麼領域,是可靠性要求高的還是低的,結合該系統的目標成本綜合考慮以上說的因素進行選型。

  • 5 # 散居獵人

    優先選擇51相容微控制器國產宏晶8A8K。

    一說51,人們總會自然想到AT89C。事實上,在89系列之後,宏晶逐漸推出了10,11,12,15系列,近年又推出8A8K. 速度,記憶體,外設等與傳統51有天壤之別。自帶10位ADC,做電壓檢測很方便。

    用stm32F1系列當然也沒問題。選擇什麼型號的微控制器作為開發核心,要看自己最熟悉什麼,價格效能功能都不太重要,因為微控制器價格在整個專案中佔比幾乎可以忽略,效能方面也不用擔心,功能一般富富有餘。

    看自己最熟悉什麼!

  • 6 # 嵌入式小蕭

    STM32和51微控制器在應用方面如何選擇。其實並不難。STM32與51微控制器在應用上的關係。簡單來說就是包含和被包含的關係。就是說51微控制器能完成的事情,STM32也能完成。STM32能完成的事情,簡單的51也可以完成。在應用上如何選擇需要考慮的因素有成本、片上資源、工作電壓、晶片外圍元件,自己現有元件,自己能力。

    成本。成本是我們做硬體的一個重要因素。如果專案後期可以量產的話,幾分幾角也會相差很大的成本總價。

    片上資源。考慮晶片上是否已經集成了專案所需要的硬體資源可以提供直接使用。比如說電壓檢測需要用到的是模電轉換為數電的功能, 那麼就要考慮所選晶片上是否用這個功能。STM32系列的晶片基本上都支援模數轉換,51有一部分支援模數轉換。如果選擇的晶片都支援模數轉換那麼還需要考慮的是轉換的精度以及程式設計實現的難度。

    工作電壓。按照硬體系統的供電電壓來考慮使用哪一種晶片。51系列晶片多數都是5V的工作電壓,STM32是3.3V的工作電壓。如果系統供電是5V你使用STM32,那麼你就還需要在硬體上增加電壓轉換部分的硬體,那麼就需要增加成本。

    晶片外圍元件。其實就是晶片能夠正常工作的最小系統復不復雜。

    自己現有元件。如果專案只是一個工程樣板,需要短時間看見結果,最好的方法就是用現有的元件去搭建。如果使用現在沒有的元件那就 需要採購新的元件,時間上就會延長。

    自己能力。是指自己對那種晶片使用上更容易完成專案的要求。比如說你一直都在使用51微控制器,叫你馬上使用STM32,那你是不是要去熟悉一下STM32的相關知識。

    我的建議就是,最終你的這個專案如何選用晶片就看你自己的實際情況。

  • 7 # 技術閒聊

    根據提問者的意思:打算設計一個電壓檢測系統,在STM32和C51微控制器上不知該如何選型,需要考慮哪些因素呢?

    電壓檢測系統設計原理

    設計電壓檢測系統,最關鍵是電壓採集精度問題。電壓檢測屬於模擬量轉化為數字量即A/D轉換,需要使用微控制器的ADC介面。

    其基本設計原理是:

    1)直流電壓檢測:外部直流電壓先經過隔離,模擬量隔離的方式一般有線性光耦、隔離運放等(不作要求也可以不可隔離),然後透過運放進行降壓,再經過RC濾波電路後接入ADC介面,如下圖為本人常用的直流電壓取樣電路,直流28V電壓經過高精度電阻網路降壓後,再經過差分運放進行隔離,透過差分運放可以將輸入電源地(28GND_IN)與採集電路模擬地AGND隔離,然後透過RC電路進行濾波,最後接入處理器ADC介面;

    2)交流電壓檢測:外部交流電壓先經過隔離(一般採用電壓互感器隔離)、變壓、整流、變壓、RC濾波然後接入ADC介面。如下圖為本人常用的一種交流電壓取樣電路,下圖取樣的是400HZ交流電電壓,交流電壓先經過差分運放進行隔離,然後透過AD736晶片進行有效值轉換(該晶片能將交流電壓轉化為直流電壓),然後透過運放放大,在經過RC電路進行濾波(未畫出,原理和上圖一樣),最後接入ADC介面。

    如何選擇微控制器,需考慮哪些因素?

    瞭解了電壓取樣的原理之後,該如何選擇合適的微控制器呢?單片機種類很多,選型確實是令人頭疼的事,但是有很重要,有很多不得不考慮的細節。微控制器選型既要考慮是否能夠滿足功能要求,還要考慮可靠性、經濟型、供貨情況等,一般從以下幾個方面進行選型:

    2、其它介面功能是否滿足系統要求,比如普通IO口的數量是否滿足要求,整個電壓採集系統是否需要SCI通訊、CAN通訊、I2C通訊、SPI通訊等介面,定時器、外部中斷介面、PWM介面等時候滿足實際要求,以及儲存器RAM、flash空間大小,能否滿足程式資料儲存等。

    3、效能方面,微控制器支援的最高時鐘頻率,選擇8位、16位還是32位微控制器?微控制器位數決定了處理資料的匯流排寬度,如16位的資料使用16位微控制器一次就可完成,使用8位微控制器則需分兩次進行。還有其功耗對比,處理器都講究低功耗,功耗越低晶片的發熱量越小,效能越穩定,可靠性越高。

    4、價格方面,其它功效能引數都差不多的情況下,綜合考慮價格問題,節約經濟成本。

    5、供貨情況,是否大公司生產的晶片,該晶片是否停產?能夠長期供貨?等。

    2、C51微控制器屬於8位的微控制器,其常用的型號有89C51、89S51、80C51、87C51等,C51微控制器經過迭代升級,其功能還是不錯的,C51微控制器的時鐘頻率一般33MHZ以內,有的具有ADC介面有的沒有,一般具有8位、10位和12位的ADC介面,完全可以滿足一般精度的模擬量採集。常用的一些SCI、SPI、I2C、PWM、定時器、中斷等介面都有,推薦選C8051系列微控制器,是比較高階的微控制器,內部集成了很多常用的外設。

    總結:STM32和C51兩種型別的微控制器都是可以滿足電壓系統檢測功能的,C51微控制器較容易入門,應用非常廣泛,資料也多,而STM32微控制器比C51高階得多,比較難入門。若是新手還是建議使用C51微控制器更容易實現,若想最求高階,好學有時間,有精力可以使用STM32增長知識,積累經驗也是不錯的選擇。

  • 中秋節和大豐收的關聯?
  • 泰森和最頂級武僧對決,誰獲勝機率大?