今天由小編總結(jié)下在 FETMX6UL-C 項(xiàng)目中遇到過的一些問題和解決辦法,分享給大家,希望對(duì)您的開發(fā)過程有些幫助。
NXP i.MX6UltraLite 擴(kuò)展了 i.MX6 系列,它是一個(gè)高性能、超高效處理器子系列,采用先進(jìn)的 ARM?Cortex-A7 內(nèi)核,運(yùn)行速度高達(dá) 528MHz。i.MX6UltraLite 應(yīng)用處理器包括一個(gè)集成的電源管理模塊,降低了外接電源的復(fù)雜性,并簡(jiǎn)化了上電時(shí)序。
目前飛凌基于此 CPU 推出了——FETMX6UL-C 核心板,其中包含:NANDFLASH 版本、EMMC 版本。
EMMC 版
NAND 版
可以通過觀察法區(qū)別 NAND 版本和 EMMC 版本,可以看到 NAND 芯片兩側(cè)是有引腳和焊盤的,而 EMMC 芯片周圍是沒有焊盤的。
當(dāng)用戶使用 FETMX6UL-C 核心板時(shí),無論是 NAND 版還是 EMMC 版,有一些引腳是不能用的,用戶設(shè)計(jì)底板時(shí)需要注意。
下面列出底板不能使用的引腳,L 代表核心板左側(cè)引腳,R 代表核心板右側(cè)引腳。(箭頭標(biāo)志朝上)
1:L_26,GPIO_5,此引腳在核心板上用作了 SD1 的高低速選擇功能。
2:L_78,PMIC_STBY_REQ,此引腳是核心板電源管理芯片的 Standby 信號(hào),用于動(dòng)態(tài)調(diào)節(jié) VDD_SOC_IN 的電壓。
3:L_56,SNVS_TAMPER3,此引腳是 GPIO_DVFS 信號(hào),用于 dvfs 調(diào)頻。
4:R_31/R_33/R_35/R_37/R_39/R_41/R_43/R_45/R_47/R_49,這些引腳是核心板 NAND 接口的數(shù)據(jù)和讀寫控制信號(hào),默認(rèn)懸空。
5:R_56/R_58/R_60/R_62/R_64/R_66/R_68,這些引腳在 NAND 版的核心板不能使用。
用戶在設(shè)計(jì)底板的時(shí)候,首先可以參照硬件手冊(cè)把最小系統(tǒng)原理圖做出來,最小系統(tǒng)包括核心板、電源+上電時(shí)序、BOOT 啟動(dòng)項(xiàng)、調(diào)試串口、燒寫電路。(詳細(xì)可見開發(fā)板硬件手冊(cè)的附錄四)
在最小系統(tǒng)的基礎(chǔ)上添加所需的接口。
1、上電時(shí)序是要確保核心板先上電,底板再上電,可以使用 PMIC_ON_REQ(L_76)引腳來控制開關(guān)管導(dǎo)通,具體順序?yàn)椋汉诵陌?VCC_5V 先上電,L_76 輸出高電平,控制 MOS 管導(dǎo)通,底板上電。
2、BOOT 啟動(dòng)項(xiàng)要保證核心板啟動(dòng)時(shí),BOOT 涉及到的引腳需要有一個(gè)確定的電平,系統(tǒng)讀取到這些引腳的電平狀態(tài)之后才能確定啟動(dòng)方式,進(jìn)而成功啟動(dòng)。在設(shè)計(jì)底板時(shí),需要對(duì)這些引腳加上下拉,或者仿照飛凌方案,設(shè)計(jì)成撥碼開關(guān)的形式。
3、調(diào)試串口強(qiáng)烈建議加上,如果沒有調(diào)試串口,將無法判斷系統(tǒng)有沒有正常啟動(dòng),各個(gè)功能有沒有正常工作,而且如果出現(xiàn)問題,也看不到報(bào)錯(cuò)信息,排查起來會(huì)很麻煩。
4、燒寫電路是為了更新程序使用,F(xiàn)ETMX6UL-C 支持 USB 燒寫和 SD 卡燒寫,用戶可以保留任何一種形式。
另外,核心板還有一些引腳不能用作普通的 GPIO。
具體引腳有:
L_71/L_69/L_67/L_61/L_59/L_57/L_53/L_51 這部分是 USB 相關(guān)信號(hào),只有 USB 功能。
L_76/L_74/L_72/L_70/L_56/L_26 這部分是核心板的電源,復(fù)位和一些被核心板使用的引腳。
R_31/R_33/R_35/R_37/R_39/R_41/R_43/R_45/R_47/R_49/R_60 這部分是 NAND 的相關(guān)信號(hào),同時(shí) EMMC 版的核心板也不可用,原因是這些信號(hào)也與 EMMC 的 SD 信號(hào)連在了一起。
R_56/R_58/R_62/R_64/R_66/R_68 這部分信號(hào)是 NAND 的控制信號(hào),如果是 EMMC 版的核心板,這些就可以復(fù)用成 GPIO。
除此之外還有一些引腳不能直接用成 GPIO。
具體引腳有
L_68/L_66
R_2/R_4/R_6/R_8/R_10/R_12/R_14/R_16/R_20/R_22/R_24/R_26/R_28/R_30/R_32/R_34/R_38/R_40/R_42/R_44/R_46/R_48/R_50/R_52 即 LCD_DATA0~LCD_DATA23
原因是這些引腳和 BOOT 啟動(dòng)有關(guān),系統(tǒng)上電時(shí)會(huì)用幾百毫秒的時(shí)間讀取這些引腳的電平狀態(tài),讀取之后這些引腳的電平再變化就不會(huì)影響系統(tǒng)了,所以不能在系統(tǒng)上電時(shí)有外部設(shè)備影響到這些引腳電平,飛凌方案是加上了緩沖芯片。
有一部分引腳用作 GPIO 輸出能力很弱,需要注意。具體引腳有
L_44/L_46/L_48/L_50/L_52/L_54/L_60/L_62/L_64
另外需要注意的點(diǎn)有:
1、L_76 引腳電流驅(qū)動(dòng)能力太弱,需要使用電壓控制型開關(guān)元件,仿照飛凌使用 AO3416 時(shí),柵極需要加 100K 的下拉電阻,否則無法關(guān)斷開關(guān)管。此引腳是電源管理芯片輸出的,無法被 CPU 控制,在內(nèi)部有 100K 的上拉,所以默認(rèn)輸出一個(gè)高電平。
2、L71 和 L61 引腳是 USB_VBUS 引腳,無論是否用 USB 功能,這兩個(gè)引腳都需要加 5V 電源,否則系統(tǒng)會(huì)一直報(bào)錯(cuò)。
3、音頻芯片 WM8960 的 7 腳需要連接到核心板 L_54 腳,否則會(huì)導(dǎo)致插入耳機(jī)不識(shí)別。
4、使用 CAN 收發(fā)器 MCP2551 芯片時(shí)需要注意,RX 端是 5V 電平,CPU 引腳為 3.3V 電平,需要做電平轉(zhuǎn)換。
5、SD 卡信號(hào)線需要做阻抗控制和等長(zhǎng)處理,且加上拉電阻防止總線浮動(dòng)。
6、如果調(diào)試串口使用 5 線串口,斷電后可能導(dǎo)致 SD 卡復(fù)位不正常,用戶可以使用三線串口。
強(qiáng)烈建議用戶在設(shè)計(jì)底板時(shí),仔細(xì)閱讀一下開發(fā)板硬件手冊(cè),這樣可以減少設(shè)計(jì)彎路。
進(jìn)入飛凌嵌入式官網(wǎng),了解關(guān)于 FETMX6UL-C 核心板的更多信息。