查艷芳 劉輝 陳強
【摘 要】目前市場上的嵌入式開發(fā)平臺多是以某款智能芯片為核心,集合多個外圍設備的開發(fā)板,這種類型的開發(fā)板往往會使得某些未使用到的外設在開發(fā)板上面被閑置,同時開發(fā)板上的外設也無法進行復用。為了解決這個問題,本論文提出了基于STM32的模塊化硬件設計平臺。該平臺選擇STM32芯片為核心,采用模塊化的思想進行硬件開發(fā)平臺的設計。通過模塊化的硬件開發(fā)平臺,使得各個模塊相互“獨立”,可以很好的提高各個模塊的利用率和復用率,同時各個模塊根據需求可以任意“組合”,減少外設的閑置幾率。
【關鍵詞】STM32;模塊化;嵌入式;硬件
中圖分類號: TP332 文獻標識碼: A 文章編號: 2095-2457(2018)28-0043-002
DOI:10.19694/j.cnki.issn2095-2457.2018.28.017
【Abstract】At present, the embedded development platform on the market is mostly a development board that integrates multiple peripheral devices with a certain smart chip as the core. This type of development board tends to make some unused peripherals idle on the development board, and peripherals on the development board cannot be reused. In order to solve this problem, this paper proposes a modular hardware design platform based on STM32. The platform selects the STM32 chip as the core and adopts the modular idea to design the hardware development platform. Through the modular hardware development platform,each module is “independent” with each other, which can improve the utilization rate and reuse rate of each module.At the same time, each module can be “combined” according to requirements, reducing the idle probability of peripherals.
【Key words】STM32;Modular;Embedded;Hardware
0 引言
STM32系列是基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的,以ARM Cortex為內核的芯片。STM32系列芯片以其優(yōu)越的性能,能應用于智能驅動、工業(yè)控制、智能顯示、網絡應用等硬件的應用領域。在嵌入式產品的早期設計過程中,很多嵌入式產品的設計開發(fā)人員和愛好者多采用一些硬件開發(fā)板進行前期的設計和開發(fā),因此各類硬件開發(fā)板也是目前智能硬件開發(fā)市場上較為火熱的產品之一。而本論文根據模塊化設計的思想,以STM32芯片為核心,將各個嵌入式硬件模塊獨立化,以“獨立”和“組合”的方式將模塊化的硬件應用于嵌入式專業(yè)。
1 MCU控制模塊的選擇
在進行嵌入式硬件設計研發(fā)的過程中,選擇一款合適的MCU控制芯片是非常重要,目前市場上各類MCU控制芯片種類繁復,功能價格不一,因此在個芯片選擇的過程中,既要從功能出發(fā),選擇具有較高的性能,同時也要從經濟出發(fā),即具有較高的信價比。從綜合方面考慮,最終選擇了STM32系列芯片,該芯片搭載ARM公司最新的、具有先進架構的Cortex-M3內核,優(yōu)先級搶占的中斷控制器,支持中斷自動嵌套,硬件完成現(xiàn)場保護與恢復,中斷嵌套時,只需保護和恢復一次現(xiàn)場,即使在恢復現(xiàn)場的時候再次中斷也不需要再次保護現(xiàn)場,只需6個clk的調整時間,同時裝備了可編程的掉電監(jiān)測器,有帶電池供電的數(shù)據備份寄存器,芯片進入低功耗模式后可以通過“事件”喚醒,而無須執(zhí)行中斷子程序,定時器居然有前置的倍頻器等。STM32系列芯片除了具有以上強大的功能以外,該芯片的市場售價僅為十幾元,性價比高。
在嵌入式控制方面,傳統(tǒng)的單片機以51系列為主,最近幾年基于ARM的STM32系列芯片也在嵌入式控制方面應用的非常廣泛,還有以TMS320系列為代表的DSP芯片等在嵌入式設計方面應用的也比較多。在眾多嵌入式控制芯片中,由于STM32本身成本較低,因此應用STM32為MCU控制部分的整個智能硬件的開發(fā)成本也不會太高。同時,目前STM32的應用比較廣泛,網絡上針對STM32的應用實例和應用接口代碼也很多。在嵌入式專業(yè)中,無論教學還是科研,都是需要利用控制類芯片實現(xiàn)嵌入式產品的設計和開發(fā)。無論是作為教學工具的嵌入式開發(fā)板,還是作為研發(fā)基礎的嵌入式控制核心板,在選擇控制芯片時,都需要在滿足開發(fā)所需的性能的同時、考慮芯片的成本,以及芯片在軟件設計時的便利性等問題。因此,通過綜合考慮,為了滿足嵌入式專業(yè)在教學和科研為中對控制芯片的需求,最終選擇高性能、低成本、應用實例和應用接口代碼豐富的STM32作為智能硬件的MCU控制核心。
2 模塊化設計思想
目前市場上也有一些基本各類芯片的硬件開發(fā)板,但是這些硬件開發(fā)板有一個共同的問題就是它們往往是將智能控制系統(tǒng)、液晶等顯示系統(tǒng)、數(shù)據采集系統(tǒng)、網絡通信系統(tǒng)等集成于一塊開發(fā)板上。由于購買時需要購買一個完整的開發(fā)板,所以在實際應用的過程中,可能某些外設在應用中并未被使用到,這就會使得這些外設在開發(fā)板上被閑置。例如,目前市場上的嵌入式開發(fā)板都帶有藍牙或無線收發(fā)設備,但是在教學和科研過程中,可能根本不需要用到藍牙或無線的功能,此時,藍牙和無線部分就被閑置了。同時,由于是一個完整的開發(fā)板,所以某塊開發(fā)板上面的外設是無法被其它開發(fā)板進行再次利用的。例如在測溫時,如果需要多個溫度傳感器,但某塊開發(fā)板上的溫度傳感器卻無法被其它開發(fā)板使用,即無法實現(xiàn)外設的復用。所以無論是傳統(tǒng)的硬件開發(fā)平臺造成的外設的閑置,還是無法復用,這都造成了經濟上的浪費。
因此本論文提出了模塊化的思想來進行智能硬件的設計,即將設計過程中所涉及的功能系統(tǒng),如MCU系統(tǒng)、電機驅動系統(tǒng)、液晶顯示系統(tǒng)、數(shù)據采集系統(tǒng)、網絡通信系統(tǒng)等分別設計成一個個模塊(智能控制模塊、電機驅動模塊、液晶顯示模塊、數(shù)據采集模塊、網絡通信模塊等),共同構成一個開發(fā)設計開發(fā)平臺。在使用的過程中,可以將模塊化的各個部分進行靈活應用,將需要應用到的部分相關模塊與控制系統(tǒng)核心模塊相連接,即可以實現(xiàn)不同智能硬件產品的設計和開發(fā)。
基于模塊化的思想進行設計的,即將智能硬件平臺根據功能不同劃分為不同的模塊,在模塊劃分的過程中,既要考慮模塊的獨立性和在實際應用過程中的可復用性,也要考慮模塊與模塊之間的數(shù)據傳輸?shù)谋憬菪?,以及各模塊本身的實用性和利用率等問題,因此如何將智能硬件設計平臺中的各模塊進行合理的劃分至關重要。從綜合方面考慮,本論文中將整個智能硬件設計平臺劃分為MCU控制模塊、鍵盤模塊、電機驅動模塊、顯示模塊、傳感器模塊、網絡模塊和接口模塊。模塊化硬件的模塊劃分如圖1所示。
由于在智能硬件開發(fā)平臺的設計過程中,將整個平臺劃分成一個個模塊進行設計,所以在具體智能硬件產品的設計和開發(fā)過程中,也是將各個模塊綜合應用之后才能實現(xiàn)一個具體的智能硬件產品。因此在設計的過程中,不同模塊之間數(shù)據的傳輸是非常重要的,在每個功能模塊設計時,既要考慮實行本模塊的基本功能,也要注意本模塊與其余模塊進行數(shù)據傳輸?shù)慕涌诓糠值脑O計。同時在開發(fā)平臺中還加入了接口模塊,實現(xiàn)不同數(shù)據之間的轉換和傳輸。
采用模塊化的思想進行智能硬件的開發(fā)平臺的設計就能很好的避免以上問題,一方面模塊化的設計在智能硬件的設計開發(fā)過程中能更方面的使用各個模塊,提高各個模塊的利用率;另一方面來說模塊化的設計思想也在后期部分硬件芯片升級過程中,也能減少由此產生的其它硬件的折損率。
3 模塊化硬件在嵌入式專業(yè)的應用
對于嵌入式專業(yè)而言,其科研和教學的主要目標,都是圍繞嵌入式產品的設計和開發(fā)進行的。尤其是在教學過程中,學生通常需要應用相關的開發(fā)板進行嵌入式相關知識的學習,以及軟硬件產品的設計和開發(fā),甚至是畢業(yè)設計的研究和完成。因此嵌入式開發(fā)板的選擇和應用對嵌入式專業(yè)來說是非常重要的。
根據模塊化設計的思想,將嵌入式硬件的各個部分設計成單獨的模塊,在實際的嵌入式硬件設計和研發(fā)的過程中,可以根據嵌入式產品設計的實際需求,將需要的模塊進行靈活的組合應用,完成不同智能硬件產品的設計和開發(fā)。例如可以將以STM32為核心的MCU模塊與電機驅動模塊組合,構成四軸飛行器;也可以將MCU核心模塊與電機驅動模塊、智能傳感模塊、網絡通信模塊、顯示模塊等進行組合,共同構成智能機器人的應用等;同時,還可以通過不同的模塊的組合,設計和研制應用于智能家居、智能汽車、醫(yī)療健康、智能玩具、機器人等物聯(lián)網和人工智能領域的產品。
4 結論
目前市場上比較多的開發(fā)平臺多是以某款智能芯片為核心,并將智能芯片和外圍設備集成于一整塊開發(fā)板,這種方式一方面使得某些未使用到的外設在開發(fā)板上面被閑置,另一方面也使得某些外設無法為開發(fā)板之外的其余系統(tǒng)進行使用,即無法實現(xiàn)外設的復用。因此本論文提出了基于STM32的模塊化硬件設計平臺。該平臺選擇具有高性能、低成本、低功耗、強大的軟件支持、全面豐富的技術文檔的STM32芯片為核心。同時,采用模塊化的思想進行硬件開發(fā)平臺的設計。這種開發(fā)平臺,對于嵌入式專業(yè)來說,無論是常規(guī)教學,還是教師的科研,通過模塊化的硬件開發(fā)平臺,一方面平臺中的各個模塊相互“獨立”,可以很好的提高各個模塊的利用率和復用率;另一方面平臺中的各個模塊根據需求可以任意“組合”,實現(xiàn)開發(fā)人員所需的“特定”功能。
【參考文獻】
[1]劉清.《基于STM32微處理器的嵌入式教學實驗平臺開發(fā)》[J].中國現(xiàn)代教育裝備.2016年第17期, p20-22.
[2]陸翔.《基于STM32的嵌入式綜合實驗開發(fā)平臺研究》[J].實驗室研究與探索.2017年第10期,p57-60.
[3]王鵬舉.《STM32嵌入式處理器模塊化實驗平臺設計與實現(xiàn)》[J].軟件導刊,2016年第5期,p90-91.
[4]黨會.《積木式模塊化結構的嵌入式系統(tǒng)實驗教學研究》[J].實驗科學與技術.2016年第1期,p158-159,163
[5]金子程.《模塊化思想在嵌入式系統(tǒng)設計中的應用》[J].無線互聯(lián)科技.2015年第20期,p126-127.
[6]孔軼艷.《模塊化嵌入式實驗教學平臺研制》[J].大眾科技.2015年第5期,p128-129,137.