小巧“摳門”的FTHR-F0140開發(fā)板
緣起
工欲善其事,必先利其器。調(diào)試和開發(fā)MM32F0140這種小巧的芯片,還是需要小巧的板子去適配,搞起來才巴適。
我曾經(jīng)定義過POKT
(口袋)系列和NANO
(微小型)系列作為低成本微控制器的開發(fā)板套件,但POKT
系列的開發(fā)板受定義限制,需要把引腳按照編號整整齊齊地引出來,對走線的面積要求較高;而NANO
系列還需要配套擴展板才能引出方便易用的2.54mm間距的排針,這兩套板子在某些情況下,實際應(yīng)用起來的成本并不低。
今年半導(dǎo)體市場的整體行情不大好,大家做板子用料都比較摳門,為了進一步降低對這種小封裝芯片開發(fā)板的成本,我又定義了更輕量級的FTRH
(羽毛)系列開發(fā)板。FTHR-F0140
是FTHR
系列的第一塊板子,這個板子上連USB轉(zhuǎn)UART的CH340E芯片和Type-C的USB插座都省掉了,整塊開發(fā)板的尺寸兼容DIP40封裝的8051單片機。如果不是因為F0140微控制器要用到CAN總線接口,可能連這個SOP-8引腳封裝的PHY芯片也省掉。FTHR-F0140
電路板的外觀如圖x所示。當(dāng)然,這里也要點名感謝我的同事Hao,熟練使用KiCAD幫助我完成了PCB的設(shè)計工作。
figure-fthr-f0140-a
圖x FTHR-F0140電路板實物效果圖
到目前為止,主打摳門省錢的FTHR
系列開發(fā)板,已經(jīng)有了3個成員,按照創(chuàng)建的時間順序,分別是FTHR-F0140
、FTHR-F0160
、FTHR-G0140
。如圖x所示。
figure-fthr-boards-a
圖x FTHR系列開發(fā)板全家福
其中,FTHR-F0160
(左1)在FTHR-F0140
(右1)基礎(chǔ)上增加了硬件支持的USB Device以及對應(yīng)的Type-C插座,FTHR-G0140
(左2)在FTHR-F0140
基礎(chǔ)上移除了CAN接口電路,成為了目前FTHR
系列中最摳門的電路板。
硬件電路
使用FTHR-F0140
進行開發(fā),還需要配合調(diào)試器(J-Link)、USB轉(zhuǎn)UART(CH340G模塊)。這個電路系統(tǒng)連起來,如圖x所示。
figure-fthr-f0140-runtime
圖x FTHR-F0140開發(fā)板開發(fā)場景實物圖
這里使用了標(biāo)準(zhǔn)的JLink,以及轉(zhuǎn)換成miniJTAG插座的套件。如果開發(fā)者手頭上只有各種開源版本的Link調(diào)試器,也可以通過2.54mm間距規(guī)格的杜邦線從FTHR-F0140開發(fā)板的擴展引腳直連至SWD引腳。
主控芯片
FTHR-F0140
開發(fā)板使用MM32F0144C4P
微控制器,使用Arm Cortex-M0處理器內(nèi)核,最高可運行在72MHz主頻,片上集成64KB Flash和8KB RAM,LQFP32封裝,以及眾多的通信類外設(shè)、模擬類外設(shè)和定時器等。圖x中的表格列出了MM32F0140微控制器的所有選型。
figure-mm32f0140-ps
圖x MM32F0140選型
圖x中展現(xiàn)了MM32F0140微控制器的最小系統(tǒng),其中包含了復(fù)位按鍵的復(fù)位阻容電路、晶體振蕩器,以及最簡的電源連線。
figure-sch-mcu-core
圖x MM32F0140最小系統(tǒng)
這里要注意的是,FTHR-F0140
微控制器使用了12Mhz的晶振。因為MM32F0140
微控制器上沒有集成USB外設(shè),所以不強制開發(fā)者在設(shè)計自己的最小系統(tǒng)時使用 12MHz頻率的晶振(例如,也可以使用8MHz晶振),這里只是選了比較容易備貨的物料而已。
供電系統(tǒng)
FTHR-F0140板子上設(shè)計了一個產(chǎn)生3.3V電壓的LDO,可以從外部接收5V的供電,經(jīng)過LDO轉(zhuǎn)換成3.3V供給MM32F0140微控制器芯片。但LDO轉(zhuǎn)換產(chǎn)生的3.3V供電默認是不對板外供電的(在擴展插座上設(shè)計了3V3
的引腳),需要短接J3
插座方可。
這個設(shè)計的意義在于,考慮到一種特殊的基于CAN總線的應(yīng)用場景,當(dāng)需要將微控制器本身的電源域同CAN總線上的電源域進行隔離時(電源干擾相關(guān)),可拆掉板子上的LDO,再短接J3
插座,此時微控制器使用的3.3V供電可以通過擴展插座上的3V3
引腳供電,而CAN總線使用自己的5V供電,兩個供電域沒有直接耦合。此時,也可以驗證MM32F0140微控制器在寬電壓供電情況下的工作狀態(tài)(不限定是3.3V)。
調(diào)試器插座
FTHR-F0140
板子上使用了1.27mm間距的miniJTAG插座,以節(jié)約PCB面積,也更精致,這借鑒了一些國際大廠設(shè)計開發(fā)板常用的做法。但為了適配miniJTAG插座,還需要配套1.27間距的軟排線和對應(yīng)的轉(zhuǎn)接電路板,對于非專業(yè)開發(fā)者來說,也可能是一筆開銷。本著摳門的原則,這里將調(diào)試端口需要使用的SWCLK
、SWDIO
、RESET
等信號線引出到擴展插座上。如圖x所示。
figure-sch-debug-swd
圖x FTHR-F0140開發(fā)板的調(diào)試器接口
LED燈
FTHR-F0140
開發(fā)板上集成了2個LED燈:
按鍵
FTHR-F0140
開發(fā)板上集成了1個復(fù)位按鍵SW1,對應(yīng)MM32F0140
的硬件復(fù)位信號線。無可編程按鍵。
CAN接口電路
FTHR-F0140
開發(fā)板上集成了CAN通信PHY芯片的電路,并可通過J2
插座選擇是否由本開發(fā)板向CAN總線接入120ohm的電阻。如圖x所示。
figure-sch-can-if
圖x FTHR-F0140開發(fā)板上的CAN接口電路
關(guān)于CAN接口電路,這里還留了一個巧妙的設(shè)計,如果不想焊接PHY芯片(進一步節(jié)約成本),但仍想試用CAN總線接口,可以將PHY芯片焊接位上的標(biāo)記的兩個引腳用焊錫或者0ohm電阻短接起來,此時仍可使用J1插座對外連線。但要注意,此時J1插座上的CANH和CANL已經(jīng)不是CAN差分信號了,而是CAN_TX
和CAN_RX
,分別對應(yīng)于MM32F0140的PA10
和PA9
引腳。如圖x所示。
figure-pcb-can-if
圖x FTHR-F0140開發(fā)板上CAN接口的直連應(yīng)用
軟件資源
靈動官方的MindSDK(https://mindsdk.mindmotion.com.cn)已經(jīng)支持了MM32F0140微控制器,但目前僅有MINI-F0140
這塊板子在官方的支持清單中對應(yīng)MM32F0140
微控制器。但可以使用MINI-F0140
板子的樣例工程運行在FTHR-F0140
開發(fā)板上,因為MINI-F0140
開發(fā)板使用的是8MHz的晶振,而FTHR-F0140
開發(fā)板使用的是12MHz的晶振,此處需要調(diào)整一下clock_init.c
文件中CLOCK_BootToHSE48MHz()
函數(shù)中關(guān)于配置使用發(fā)生器PLL的代碼,指定RCC_PLLCFGR_PLLDN
的值為7
,從而基于12MHz的晶振信號源產(chǎn)生48MHz的主頻。
void CLOCK_BootToHSE48MHz(void)
{
//RCC- >APB1ENR |= (1u < < 28u); /* enable PWR/DBG. */
//PWR- >CR1 = (PWR- >CR1 & ~PWR_CR1_VOS_MASK) | PWR_CR1_VOS(1u); /* 1.65V. */
/* enable HSE. */
RCC- >CR |= RCC_CR_HSEON_MASK;
while ( RCC_CR_HSERDY_MASK != (RCC- >CR & RCC_CR_HSERDY_MASK) )
{
}
/* F_clko = F_refin * N/(M*P), F_refin = 12M. */
RCC- >PLLCFGR = RCC_PLLCFGR_PLLSRC(1) /* (pllsrc == 1) ? HSE : HSI. */
| RCC_PLLCFGR_PLLDN(7) /* N = DN+1. */
| RCC_PLLCFGR_PLLDM(1) /* M = DM+1. */
| RCC_PLLCFGR_PLLDP(0) /* P = DP+1. */
| RCC_PLLCFGR_PLLLDS(1)
| RCC_PLLCFGR_PLLICTRL(3) /* 10uA. */
;
...
}
之后,就可以使用MindSDK中為MM32F0140
微控制器提供的芯片頭文件、啟動代碼、驅(qū)動程序,以及海量的樣例工程和多操作系統(tǒng)平臺多工具鏈的支持。
figure-mindsdk-examples
圖x MindSDK中支持MM32F0140微控制器的海量樣例工程
-
接口電路
+關(guān)注
關(guān)注
8文章
466瀏覽量
57201 -
led燈
+關(guān)注
關(guān)注
22文章
1592瀏覽量
108470 -
CAN
+關(guān)注
關(guān)注
57文章
2774瀏覽量
464500 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5137瀏覽量
98356 -
硬件電路
+關(guān)注
關(guān)注
39文章
244瀏覽量
29330
發(fā)布評論請先 登錄
相關(guān)推薦
FTHR-G0140開發(fā)板LED點燈
![<b class='flag-5'>FTHR-G0140</b><b class='flag-5'>開發(fā)板</b>LED點燈](https://file1.elecfans.com//web2/M00/89/33/wKgZomR9ao6ARVByAACriY6Y36Q157.png)
TMS320F240開發(fā)板的研制
c8051f340開發(fā)板制作電子書
![c8051<b class='flag-5'>f</b>340<b class='flag-5'>開發(fā)板</b>制作電子書](https://file.elecfans.com/web2/M00/49/14/pYYBAGKhtDeAKCXqAAAN5_nVYCU008.jpg)
樹莓派Pico開發(fā)板硬件擴展接口及電源模塊解析
![樹莓派Pico<b class='flag-5'>開發(fā)板</b><b class='flag-5'>硬件</b>擴展接口及電源模塊<b class='flag-5'>解析</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32F4開發(fā)板硬件平臺簡介
![STM32<b class='flag-5'>F</b>4<b class='flag-5'>開發(fā)板</b><b class='flag-5'>硬件</b>平臺簡介](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
【STM32】STM32 F4開發(fā)板介紹
![【STM32】STM32 <b class='flag-5'>F</b>4<b class='flag-5'>開發(fā)板</b>介紹](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
MM32F0140定時器模塊計數(shù)定時功能
![MM32<b class='flag-5'>F0140</b>定時器模塊計數(shù)定時功能](https://file.elecfans.com/web2/M00/3B/C7/poYBAGJOn5uAQN40AAFhwdiBQa8543.png)
PY32F002A單片機開發(fā)板特性解析
![PY32<b class='flag-5'>F</b>002A單片機<b class='flag-5'>開發(fā)板</b>特性<b class='flag-5'>解析</b>](https://file1.elecfans.com/web2/M00/89/3C/wKgaomR-p22AZoguAAAgh2vgtk0595.jpg)
評論