今天由小编总结下在 FETMX6UL-C 项目中遇到过的一些问题和解决办法,分享给大家,希望对您的开发过程有些帮助。
NXP i.MX6UltraLite 扩展了 i.MX6 系列,它是一个高性能、超高效处理器子系列,采用先进的 ARM Cortex-A7 内核,运行速度高达 528MHz。i.MX6UltraLite 应用处理器包括一个集成的电源管理模块,降低了外接电源的复杂性,并简化了上电时序。
目前飞凌基于此 CPU 推出了——FETMX6UL-C 核心板,其中包含:NANDFLASH 版本、EMMC 版本。
EMMC 版
NAND 版
可以通过观察法区别 NAND 版本和 EMMC 版本,可以看到 NAND 芯片两侧是有引脚和焊盘的,而 EMMC 芯片周围是没有焊盘的。
当用户使用 FETMX6UL-C 核心板时,无论是 NAND 版还是 EMMC 版,有一些引脚是不能用的,用户设计底板时需要注意。
下面列出底板不能使用的引脚,L 代表核心板左侧引脚,R 代表核心板右侧引脚。(箭头标志朝上)
1:L_26,GPIO_5,此引脚在核心板上用作了 SD1 的高低速选择功能。
2:L_78,PMIC_STBY_REQ,此引脚是核心板电源管理芯片的 Standby 信号,用于动态调节 VDD_SOC_IN 的电压。
3:L_56,SNVS_TAMPER3,此引脚是 GPIO_DVFS 信号,用于 dvfs 调频。
4:R_31/R_33/R_35/R_37/R_39/R_41/R_43/R_45/R_47/R_49,这些引脚是核心板 NAND 接口的数据和读写控制信号,默认悬空。
5:R_56/R_58/R_60/R_62/R_64/R_66/R_68,这些引脚在 NAND 版的核心板不能使用。
用户在设计底板的时候,首先可以参照硬件手册把最小系统原理图做出来,最小系统包括核心板、电源+上电时序、BOOT 启动项、调试串口、烧写电路。(详细可见开发板硬件手册的附录四)
在最小系统的基础上添加所需的接口。
1、上电时序是要确保核心板先上电,底板再上电,可以使用 PMIC_ON_REQ(L_76)引脚来控制开关管导通,具体顺序为:核心板 VCC_5V 先上电,L_76 输出高电平,控制 MOS 管导通,底板上电。
2、BOOT 启动项要保证核心板启动时,BOOT 涉及到的引脚需要有一个确定的电平,系统读取到这些引脚的电平状态之后才能确定启动方式,进而成功启动。在设计底板时,需要对这些引脚加上下拉,或者仿照飞凌方案,设计成拨码开关的形式。
3、调试串口强烈建议加上,如果没有调试串口,将无法判断系统有没有正常启动,各个功能有没有正常工作,而且如果出现问题,也看不到报错信息,排查起来会很麻烦。
4、烧写电路是为了更新程序使用,FETMX6UL-C 支持 USB 烧写和 SD 卡烧写,用户可以保留任何一种形式。
另外,核心板还有一些引脚不能用作普通的 GPIO。
具体引脚有:
L_71/L_69/L_67/L_61/L_59/L_57/L_53/L_51 这部分是 USB 相关信号,只有 USB 功能。
L_76/L_74/L_72/L_70/L_56/L_26 这部分是核心板的电源,复位和一些被核心板使用的引脚。
R_31/R_33/R_35/R_37/R_39/R_41/R_43/R_45/R_47/R_49/R_60 这部分是 NAND 的相关信号,同时 EMMC 版的核心板也不可用,原因是这些信号也与 EMMC 的 SD 信号连在了一起。
R_56/R_58/R_62/R_64/R_66/R_68 这部分信号是 NAND 的控制信号,如果是 EMMC 版的核心板,这些就可以复用成 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 启动有关,系统上电时会用几百毫秒的时间读取这些引脚的电平状态,读取之后这些引脚的电平再变化就不会影响系统了,所以不能在系统上电时有外部设备影响到这些引脚电平,飞凌方案是加上了缓冲芯片。
有一部分引脚用作 GPIO 输出能力很弱,需要注意。具体引脚有
L_44/L_46/L_48/L_50/L_52/L_54/L_60/L_62/L_64
另外需要注意的点有:
1、L_76 引脚电流驱动能力太弱,需要使用电压控制型开关元件,仿照飞凌使用 AO3416 时,栅极需要加 100K 的下拉电阻,否则无法关断开关管。此引脚是电源管理芯片输出的,无法被 CPU 控制,在内部有 100K 的上拉,所以默认输出一个高电平。
2、L71 和 L61 引脚是 USB_VBUS 引脚,无论是否用 USB 功能,这两个引脚都需要加 5V 电源,否则系统会一直报错。
3、音频芯片 WM8960 的 7 脚需要连接到核心板 L_54 脚,否则会导致插入耳机不识别。
4、使用 CAN 收发器 MCP2551 芯片时需要注意,RX 端是 5V 电平,CPU 引脚为 3.3V 电平,需要做电平转换。
5、SD 卡信号线需要做阻抗控制和等长处理,且加上拉电阻防止总线浮动。
6、如果调试串口使用 5 线串口,断电后可能导致 SD 卡复位不正常,用户可以使用三线串口。
强烈建议用户在设计底板时,仔细阅读一下开发板硬件手册,这样可以减少设计弯路。
进入飞凌嵌入式官网,了解关于 FETMX6UL-C 核心板的更多信息。