什么是最小系統呢?就是芯片可以真正工作所需的必要的硬件系統。如果只是把一個芯片放在你面前,你跟它說:來,輸出個占空比百分之五十的正弦波。當然不能輸出,這是毫無疑問的。那還需要什么呢?
--電源電路的設計:
它是電子芯片,想要工作是吧?最最起碼的條件,你得給人家供電吧。(--供電?這容易,我的插排上還有空余的插口,哈哈。--要是真供上220V那估計就得起火了。)根據芯片手冊上說,給STM32供電需要用3.3V的電壓。我們可以找一個5V的電壓來充當總電源,可能疑問了,剛才還說3.3V怎么就用5V呢,因為集成電路集成較高的芯片一般是3.3V供電,較低的也常常是功能較簡單的芯片一般是5V供電。因為一塊電路板上長長有各種芯片,所以要統籌兼顧。況且我們有個很簡單的方式就能把5V轉換成3.3V。 怎么轉換呢?我們又用到了一類芯片,它們可不同于我們一直心心念念的微處理器,它們從生下來就注定只能完成一件事,就是電壓轉換,但因為他們有很多的兄弟姐妹,就完成了多種電壓轉換的實現。 在這里跟大家說的是一款叫LM1117-3.3的芯片,介紹它的原因就是因為它價格便宜,體積較小而且已經足夠勝任我們的任務要求。 我們剛剛接觸一個芯片時,通常對我們最重要的資料就是芯片手冊。它通常會告訴我們比較重要的信息。
比如說元器件的封裝: ![]()
還有比較重要的參數:
下面這個圖里可以看出LM1117芯片也是一個系列,LM1117_XX,而那個XX對應的就是輸出電壓,所以我已經把我們所用的LM1117-3.3用高亮標出。可以看出,LM1117-3.3的輸入電壓范圍是4.75V-12V ![]()
下面的圖里我們可以看出:LM1117-3.3芯片理論上輸出應為3.3V,輸出最大的是3.399V,輸出最小的情況是3.201V。也就是上差下差不會大于0.1V,一看這誤差我們能接受,這就用它行。 ![]()
還有一個很重要很重要的東西,那就是典型應用電路:這個在我們實際應用中呢可以進行補充完善,但大體要尊重典型電路。 其實總有人說,該好好學學英語啊,要不然芯片手冊真心看不懂啊。
我倒是也覺得該好好學學英語,但你看我上邊那其實也是用的英文的芯片手冊,那你看我的截圖里有幾個英文呢。那幾個不認識的用有道詞典查查就行。好好學學英語是應該,但別拿英文不好當成什么很大的問題。畢竟目前接觸的東西還都很基礎,況且一個電子元件的說明書不比英文的詩歌話劇的。 下面這個圖呢,是常用的LM1117-3.3的實用電路:很簡單的,只是兩邊分別并上了兩個電容就行。
![]()
那么我們有了3.3V的電壓了要接到芯片的哪里呢? 記得上次和大家說的VDD_1、DD_2、...VDD_11和VSS_1、VSS_2、...VSS_11。大家在設計硬件電路時,其實VDD_1和VSS_1是一組的(自然VDD_2和VSS_2是也一組的,一共11組)。要把這11組引腳每組引腳間并聯一個104電容這件事嗎? 就是接到這11組上: ![]()
自然不要忘記并聯上的電容。 ![]()
當完成這些時呢,芯片的也就供上電了,但還沒有完成,因為STM32F103ZET6還有個虛擬供電部分的電路,這塊呢,既可以粗略的設計,也可以復雜的設計。因為呢這個虛擬供電部分電路是給A/D轉化器作參考用的,你對A/D轉化器要求比較高呢就復雜點設計,如果沒那么高的要求啊就簡單點設計就行。那個內容也不少,下周再說。
這里的原理圖都是自己畫的,倒不是因為為了發這個特意畫的,因為我們自己設計的麥粒夢想—S1開發板也正在一點點的萌芽,從硬件設計、C編程等等學習資料都在逐步豐富。 什么是最小系統呢?就是芯片可以真正工作所需的必要的硬件系統。如果只是把一個芯片放在你面前,你跟它說:來,輸出個占空比百分之五十的正弦波。當然不能輸出,這是毫無疑問的。那還需要什么呢?
--電源電路的設計:
它是電子芯片,想要工作是吧?最最起碼的條件,你得給人家供電吧。(--供電?這容易,我的插排上還有空余的插口,哈哈。--要是真供上220V那估計就得起火了。)根據芯片手冊上說,給STM32供電需要用3.3V的電壓。我們可以找一個5V的電壓來充當總電源,可能疑問了,剛才還說3.3V怎么就用5V呢,因為集成電路集成較高的芯片一般是3.3V供電,較低的也常常是功能較簡單的芯片一般是5V供電。因為一塊電路板上長長有各種芯片,所以要統籌兼顧。況且我們有個很簡單的方式就能把5V轉換成3.3V。 怎么轉換呢?我們又用到了一類芯片,它們可不同于我們一直心心念念的微處理器,它們從生下來就注定只能完成一件事,就是電壓轉換,但因為他們有很多的兄弟姐妹,就完成了多種電壓轉換的實現。 在這里跟大家說的是一款叫LM1117-3.3的芯片,介紹它的原因就是因為它價格便宜,體積較小而且已經足夠勝任我們的任務要求。 我們剛剛接觸一個芯片時,通常對我們最重要的資料就是芯片手冊。它通常會告訴我們比較重要的信息。
比如說元器件的封裝: ![]()
還有比較重要的參數:
下面這個圖里可以看出LM1117芯片也是一個系列,LM1117_XX,而那個XX對應的就是輸出電壓,所以我已經把我們所用的LM1117-3.3用高亮標出。可以看出,LM1117-3.3的輸入電壓范圍是4.75V-12V ![]()
下面的圖里我們可以看出:LM1117-3.3芯片理論上輸出應為3.3V,輸出最大的是3.399V,輸出最小的情況是3.201V。也就是上差下差不會大于0.1V,一看這誤差我們能接受,這就用它行。 ![]()
還有一個很重要很重要的東西,那就是典型應用電路:這個在我們實際應用中呢可以進行補充完善,但大體要尊重典型電路。 其實總有人說,該好好學學英語啊,要不然芯片手冊真心看不懂啊。
我倒是也覺得該好好學學英語,但你看我上邊那其實也是用的英文的芯片手冊,那你看我的截圖里有幾個英文呢。那幾個不認識的用有道詞典查查就行。好好學學英語是應該,但別拿英文不好當成什么很大的問題。畢竟目前接觸的東西還都很基礎,況且一個電子元件的說明書不比英文的詩歌話劇的。 下面這個圖呢,是常用的LM1117-3.3的實用電路:很簡單的,只是兩邊分別并上了兩個電容就行。
![]()
那么我們有了3.3V的電壓了要接到芯片的哪里呢? 記得上次和大家說的VDD_1、DD_2、...VDD_11和VSS_1、VSS_2、...VSS_11。大家在設計硬件電路時,其實VDD_1和VSS_1是一組的(自然VDD_2和VSS_2是也一組的,一共11組)。要把這11組引腳每組引腳間并聯一個104電容這件事嗎? 就是接到這11組上: ![]()
自然不要忘記并聯上的電容。 ![]()
當完成這些時呢,芯片的也就供上電了,但還沒有完成,因為STM32F103ZET6還有個虛擬供電部分的電路,這塊呢,既可以粗略的設計,也可以復雜的設計。因為呢這個虛擬供電部分電路是給A/D轉化器作參考用的,你對A/D轉化器要求比較高呢就復雜點設計,如果沒那么高的要求啊就簡單點設計就行。那個內容也不少,下周再說。
這里的原理圖都是自己畫的,倒不是因為為了發這個特意畫的,因為我們自己設計的麥粒夢想—S1開發板也正在一點點的萌芽,從硬件設計、C編程等等學習資料都在逐步豐富。
最小系統一般包含:供電電路、晶振電路、復位電路和下載電路。在這個基礎上,微控制器才能進行工作。
--供電電路設計:
5V輸入3.3V輸出電源: 
并聯的外加電容: 

--供電電路設計:
晶振就是諧振器和時鐘振蕩器,石英晶體構成的諧振器振蕩頻率十分準確切穩定度高,這是十分突出的優點。 晶振為微控制器提供穩定的工作節拍,重要性相當于人類的心臟。STM32主頻72Mhz,使用的是8Mhz的晶振。 
一般晶振的兩側都要加個電容,電容值是22PF、30PF都可以。如果晶振頻率比較高還可以并聯一個阻值很高的電阻,這個電阻的阻值常常是M級的,可以是1M、2M。(51單片機的晶振電路也是一樣,51單片機常用晶振是11.0592M或12M)
--復位電路:
復位就是程序跑到了一般,按了一下復位鍵,程序就會從頭開始重新跑。電路設計如下圖: 
當按鍵按下時,會給NRST引腳一個低電平,STM32檢測到這個低電平,就會復位重新跑程序。
--程序下載電路:
STM32下載電路設計有兩種,一種是JTAG下載,一種是SW下載。通過此電路把程序下載到STM32中。 
圖中有很多電阻,有的是上拉電阻(R3、R4、R5、R6、):當沒有低電平輸入時,上拉電阻可保證輸入端是穩定的高電平狀態。如果沒有上拉電阻,外界的低電平干擾很容易加到輸入端上,使出現錯誤動作。而有的是下拉電阻(R7):輸入端通過下拉電阻接地,這樣沒有高電平輸入時,可以使輸入穩定地處于低電平狀態。如果沒有下拉電阻,輸入端懸空時為高阻抗,外加高電平干擾很容易加到輸入端上。 ------------------------------
以下是本系列教程文章列表:歡迎大家踴躍討論,有問題可在51黑論壇回帖提出.
STM32教程(1)-大學里沒碰見像STM32一樣吸引我的姑娘:http://www.zg4o1577.cn/bbs/dpj-41167-1.html STM32教程(2)-各種應用和外設簡單介紹:http://www.zg4o1577.cn/bbs/dpj-41168-1.html STM32教程(3)-芯片引腳性質介紹:http://www.zg4o1577.cn/bbs/dpj-41169-1.html STM32教程(4)-最小系統的設計:http://www.zg4o1577.cn/bbs/dpj-41170-1.html STM32教程(5)-庫:http://www.zg4o1577.cn/bbs/dpj-41171-1.html STM32教程(6)-STM32的流水燈程序:http://www.zg4o1577.cn/bbs/dpj-41162-1.html
STM32編程基礎(1)-Keil編程軟件的安裝:http://www.zg4o1577.cn/bbs/dpj-41163-1.html STM32編程基礎(2)-Keil庫的修改:http://www.zg4o1577.cn/bbs/dpj-41164-1.html STM32編程基礎(3)-Keil建立工程模版:http://www.zg4o1577.cn/bbs/dpj-41165-1.html STM32編程基礎(4)-Keil工程設置http://www.zg4o1577.cn/bbs/dpj-41166-1.html
|