這個 PCB電路設計 嵌入式微控制器的需求是一個巨大的項目. 用於高級微控制器, 單是資料表和科技檔案就可能長達數百頁.
在開始設計電路之前,最好繪製本主題中所有主要組件的操作流程圖,包括與微控制器有介面的所有周邊設備。
ARM Cortex-M微控制器
本文將重點介紹PCB 電路板 導入所需的設計注意事項 ARM Cortex-M微控制器. ARM Cortex-M微控制器不同的晶片製造商提供不同版本的.
與典型的8比特微控制器相比,32比特架構的ARM Cortex-M特別適合密集型和計算密集型工作。 如果有需要更多記憶體容量或可以簡化系統平臺遷移以滿足未來擴展需求的應用程序,32比特微控制器也具有優勢。
我們討論的ARM Cortex-M微控制器是ST Microelectronics生產的STM32系列; 更準確地說,我們將關注STM32F4系列。
然而,STM32系列實際上包括許多型號,例如超低功耗STM32L系列和效能高於或低於STM32F4版本的系列。 最高效的版本是STM32F7,它每秒可以執行10億條指令。 效率最低的模型是STM32L0,它每秒僅執行2600萬條指令。
電源設計
電路的電源是硬體設計中最重要的方面之一; 不要等到設計後期才决定電源和接地的配寘。
微控制器使用的電流由多個因素决定,例如工作電壓、時鐘頻率和輸入/輸出引脚上的負載。
MCU上的每個電源VDD引脚應盡可能靠近1uF和100nF陶瓷電容器(如圖1中的C7和C8),以提供電源去耦。 此外,應在提供VDD的主電路接線上的IC位置附近安裝一個4.7uF陶瓷電容器(圖1中的C1)。
具有模數轉換器(ADC)的微控制器通常也具有專用於類比信號的獨立電源(VDDA)和接地引脚(VSSA)。 這些引脚需要特別避免譟音。
如果電源電壓高於微控制器輸入電壓的上限,則通常需要降壓線性穩壓器。 例如,德克薩斯儀器公司生產的TPS795xx具有特別低的雜訊特性,可以提供高達500mA的電流。
如果您的電源電壓明顯高於微控制器所需的電壓,降壓開關穩壓器將是更好的選擇。 當輸入電壓顯著高於輸出電壓時,線性穩壓器將浪費太多功率。
然而,通常最好用線性穩壓器對開關穩壓器的輸出電壓進行二次調節,因為線性穩壓器提供的電壓雜訊要低得多。
時鐘
STM32F4可以使用內部或外部系統時鐘執行。 啟動時使用的系統時鐘是內部時鐘((16 MHz))。 系統初始化後,可以通過軟件選擇外部時鐘源。
STM32F4上的時鐘引脚可以驅動外部4至26 MHz石英晶體(見圖1中的X1),或者可以使用高達50 MHz的外部時鐘源。
晶體的配寘必須嚴格遵循資料表上的說明。 一般來說,接線應短,晶體上的負載電容應與晶體製造商推薦的值相同。
GPIO
微控制器上的通用輸入和輸出引脚是可程式設計的,可以通過軟件設定為輸入或輸出。
例如,圖1中的S1是一個連接到程式設計為輸入的GPIO引脚的按鈕。 STM32提供內寘上拉電阻器,囙此該按鈕無需安裝外部上拉電阻器。 本例中的GPIO輸出用於驅動LED。
大多數GPIO引脚還具有其他功能,晶片上的各種週邊組件通過這些多功能引脚與外界通信。
並非所有內部功能都可以通過每個GPIO引脚使用,並且需要觀察嚴格的引脚映射,囙此在選擇要使用的引脚時,請務必參攷資料表。
GPIO引脚可用於驅動各種負載,大多數引脚可提供或承受高達25mA的電流。 然而,一般來說,使用外部驅動電路來减少微控制器GPIO驅動器的負載是一種更好的設計。 有關MN1驅動LED的示例,請參閱圖1。
STM32的每個引脚都有一個額定電流上限,以及所有GPIO引脚總電流的上限。
連接週邊組件
STM32通過UART、I2C、SPI和USB介面提供串列訊號連接。
例如,在圖1中,有一個溫度感測器(U2-LM75BDP)通過I2C匯流排連接到微控制器。 I2C匯流排上需要兩個上拉電阻器(R2、R3)才能連接到開漏驅動器。
對於大多數應用程序,例如低速感測器,我更喜歡使用I2C作為串列協定,因為它只使用兩根導線進行通信。 此外,與SPI不同,它需要額外的晶片來選擇一個工作埠來處理每個週邊組件,I2C使用單個地址。
SPI匯流排連接到由Invense生產的MPU-9250九軸運動感測器。 MPU-9250包含一個3軸加速計、一個3軸陀螺儀和一個3軸磁強計。
程式設計連接器
STM32F4提供兩個系統內程式編輯(ISP)介面:串列線路調試(SWD)和JTAG。 STM32的低價版本僅提供SWD介面。 SWD和JTAG是微控制器最常用的兩種程式設計介面。
總之
在本文中, 我們討論了 PCB電路 design 微控制器的, 並介紹了可以讀取輸入按鈕的STM32F4, 駕駛 LEDs, 並與I2C溫度感測器和SPI運動感測器通信.