硬件研發(fā)工程師需要掌握的單片機
一般情況下,硬件研發(fā)工程師需要全部掌握采用STC系列51單片機(下文簡稱:STC單片機)和STM32單片機(由于STM32在國內(nèi)比較流行,用該系列代表基于ARM公司Cortex-M3內(nèi)核的所有單片機)設計產(chǎn)品的知識、經(jīng)驗和技能。在設計產(chǎn)品過程中,硬件研發(fā)工程師會發(fā)現(xiàn)有很多具備獨立功能和可以重復使用的硬件功能模塊(下文簡稱:硬件模塊)可以像軟件對象編程中的類一樣,進行封裝和存儲后,作為自己的知識和經(jīng)驗的財富。鑒于硬件模塊相對顯性的特點,硬件研發(fā)工程師一般都會有意或無意的收集一些硬件模塊??墒?,很多硬件研發(fā)工程師由于產(chǎn)品研發(fā)進度,公司及身邊的同事不注重知識財富庫的建設,又有多少硬件研發(fā)工程師能認真和細致的建立過自己的硬件模塊庫呢?
單片機又稱單片微控制器,全稱是單片微型計算機,簡稱MCU,主要是指8位單片機。它既是典型的嵌入式微控制器,也是一種集成電路芯片,主要是把一個計算機系統(tǒng)集成到一個芯片上,相當于一個微型的計算機,其應用領域非常之廣,譬如將單片機用于筆記本電腦或者學習機上,可以減小二者的重量和大小,讓用戶攜帶起來更為方便。
在當今這個模擬電子技術看似被冷落(其實無處不在)和數(shù)字電子技術主導的信息時代,對于剛入電子信息相關專業(yè)的大中專學生或需要轉型進入電子產(chǎn)品硬件研發(fā)行業(yè)的工程師而言,首先面對的第一個問題是:8位的51單片機和32位的基于Cortex-M3內(nèi)核的STM32單片機哪一個作為電子技術入門的硬件平臺更合適?在綜合收集網(wǎng)上相關信息后,我相信很多剛入行的朋友,都應該被支持51單片機和STM32單片機任一種硬件平臺作為入門的理由搞得不知所措。
還記得12年的時候,當時市場上8位機還很多,尤其51單片機在stc的帶領下,占據(jù)著大片的單片機市場,學單片機大家都用51,大學教材也是以51來入門,雖然此時Atmel系列51單片機已經(jīng)不太常見了,但國產(chǎn)51任占據(jù)著90%的國內(nèi)51市場,可謂是51單片機經(jīng)久不衰,低端8位機市場基本不可替代,經(jīng)得住了歷史的考驗,當時8位機還有avr,16位機有msp430,其他廠家單片機還有pic,高端嵌入式處理器等市場有arm7,arm9等,各種單片機都“安分守己,各守其位,一片祥和”,可是到了14年,當我再次進行單片機開發(fā)的時候,發(fā)展stm32非?;鸨?,企業(yè)都在用stm32來做開發(fā),曾經(jīng)用8位機開發(fā)的產(chǎn)品大部分轉而用stm32開發(fā),曾經(jīng)只能用arm9能做的產(chǎn)品,現(xiàn)在stm32照樣可以做,而且做起來比arm9+linux簡單,讓我實在是又驚喜又嘆息,驚喜的是可以用性能更為強勁的mcu,嘆息的是我曾經(jīng)學的51已無用武之地了。
其實,硬件模塊庫類似于我們上學時為了寫作文而收集的美文庫和好詞庫,這是我們設計產(chǎn)品的素材、經(jīng)驗和知識財富。俗話說“天下文章一大抄,就看會抄不會抄!”。這句話的意思不是鼓勵大家抄別人的東西,而是告訴我們應該刻意建立知識財富庫和利用知識財富庫中的知識、經(jīng)驗和技能進行設計、創(chuàng)作和創(chuàng)新的方法。
由于在國內(nèi),STC系列的51單片機市場占有率最高,參考資料和使用人群眾多,因此,在下文中,我們將以STC單片機作為51單片機的代表。正如,STM32單片機作為基于ARM公司Cortex-M3內(nèi)核單片機的代表一樣。在這里STC單片機是51單片機的代表,STM32是基于ARM公司Cortex-M3內(nèi)核單片機的代表。
STC單片機和STM32單片機都是采用獨立的數(shù)據(jù)和地址總線訪問數(shù)據(jù)和程序存儲器的哈弗計算機結構。STC單片機是基于MCS-51內(nèi)核的8位單片機,STM32是基于Cortex-M3內(nèi)核的32位單片機。兩者都具備單芯片內(nèi)集成計算機的核心運算處理器和不同功能的外設。STC單片機和STM32單片機在國內(nèi)應用都非常廣泛,資料也非常多,入門需要的信息、資源、工具和軟件等等都比較豐富。這兩種芯片的這些特點和現(xiàn)實,決定了當前一個非常重要的現(xiàn)實:硬件研發(fā)工程師有必要全部掌握采用STC單片機和STM32單片機開發(fā)產(chǎn)品的技能。
當前技術發(fā)展的現(xiàn)實告訴我們一個現(xiàn)實:硬件研發(fā)工程師有必要全部掌握采用STC單片機和STM32單片機開發(fā)產(chǎn)品的技能。