03.06 STM32和C51在應用方面如何選擇,比如設計電壓檢測系統?

蔥花炒雞蛋


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

電壓檢測系統設計原理

設計電壓檢測系統,最關鍵是電壓採集精度問題。電壓檢測屬於模擬量轉化為數字量即A/D轉換,需要使用單片機的ADC接口。

其基本設計原理是:

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

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

如何選擇單片機,需考慮哪些因素?

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

1、單片機是否有ADC接口(模數轉換接口),ADC接口的數量,ADC接口的分辨率多少?比如10位、12位等,以及ADC採樣速率等,這是首要考慮的問題。ADC接口數量及有無直接影響該功能,接口數量最好能滿足模擬量採集要求,比如有3路模擬量則選擇單片機時ADC接口至少3路以上,沒有ADC接口的單片機也不是一定不能使用,可以通過AD接口芯片外擴實現,但是增加電路設計麻煩及設計成本。ADC接口的分辨率直接影響AD的採集精度,AD的位數越高其分辨率越高,8位AD的分辨率只有Vref/255,10位AD的分辨率為Vref/1023,12位的AD分辨率為Vref/4095,其中Vref為單片機的基準源(參考源)。比如要求0~10V的輸入電壓採樣精度為0.5%(滿偏),則採用8位、10位的AD都達不到要求,只有12位以上的AD才可以(頭條@技術閒聊原創),這只是軟件誤差,採樣精度還包括硬件線路、器件等誤差。AD的採樣速率直接影響AD數據的更新頻率,採樣速率也不是選擇越高越好,能夠滿足實時更新頻率要求即可。

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

3、性能方面,單片機支持的最高時鐘頻率,選擇8位、16位還是32位單片機?單片機位數決定了處理數據的總線寬度,如16位的數據使用16位單片機一次就可完成,使用8位單片機則需分兩次進行。還有其功耗對比,處理器都講究低功耗,功耗越低芯片的發熱量越小,性能越穩定,可靠性越高。

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

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

STM32和C51單片機比較

1、STM32單片機是意法半導體生產的32位單片機,屬於ARM內核的一個版本,比傳統的51單片機高級很多!具有很多強大的資源,比如包含USB通訊接口。其主頻有24MHZ、32MHZ、48MHZ、72MHZ、84MHZ、100MHZ、180MHZ(頭條@技術閒聊原創)等等,AD分辨率有12位、14位、16位等,還具有DAC接口(數模轉換接口),定時器、中斷口、PWM接口等等,其功能只會比51單片機多,是功能很強大的一款單片機,絕對能夠滿足系統設計要求。

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增長知識,積累經驗也是不錯的選擇。

以上是本人的回答,答題不易,如果覺得還可以別忘了點個贊哦!若還有什麼不明白的地方請評論區下方留言,若想了解更多相關知識,請關注本頭條號,會持續更新內容,謝謝支持!

技術閒聊


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組。


Qi朱哥說


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吧。

以上就是這個問題的回答,感謝留言、評論、轉發。更多電子設計、硬件設計、單片機等內容請關注本頭條號:玩轉嵌入式。感謝大家。

玩轉嵌入式


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

初級STM32比C51更加容

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

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

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

所以要選擇STM32。


我愛製作show


我在大學期間把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採集的單片機。該電壓檢測系統應用於什麼領域,是可靠性要求高的還是低的,結合該系統的目標成本綜合考慮以上說的因素進行選型。


搞搞單片機


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

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

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

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

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

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

自己能力。是指自己對那種芯片使用上更容易完成項目的要求。比如說你一直都在使用51單片機,叫你馬上使用STM32,那你是不是要去熟悉一下STM32的相關知識。

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



嵌入式小蕭


優先選擇51兼容單片機機國產宏晶8A8K。

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

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

看自己最熟悉什麼!


分享到:


相關文章: