迅为i.MX6ULL开发板原理图分析介绍
终结者资料全开源,不买也可以自由下载软硬件资源
您只需要关注VX公众号:迅为电子 , 回复 :终结者,免费获取产品资料
i.MX6ULL终结者手册下载链接
https://pan.baidu.com/s/171NHz6_sVMGIQ3g7GcCqOQ 提取码:n3og
i.MX6ULL开发板是北京迅为电子推出的一款Cortex-A7架构的开发板。采用核心板+底板的方式,底板尺寸190mm*125mm,核心板尺寸42*38mm。
1 核心板接口
I.MX6ULL 终结者开发板采用核心板+底板的方式,核心板与底板硬件连接形式上采用的是邮票孔的方式,相比起连接器的方式此种方式具有连接性稳定,抗震动等优点。底板上相应的原理图如下图所示:
从上图我们可以看到邮票孔的封装一共引出了 146 个引脚,其中 i.MX6ULL 引出了 120 个 IO,另外还有电源,GND。考虑到信号完成性的要求,连接器上引出了尽可能多的 GND。
1.3.2 启动方式原理部分
I.MX6ULL 支持很多种启动方式,我们可以通过设置与启动方式有关的 IO 状态来选择启动方式,具体的原理如下图所示:
从上图我们可以看到,启动方式的 IO 中大多数的 IO 都是通过电阻下拉了,只有 8 位 IO 可以通过一个 8 位的拨码开关来选择对应的状态。具体的启动方式设置我们整理成了下面表格(关于启动方式更详细的说明, 大家可以参考下 5.1 章节):
1.3.3 系统电源接口
I.MX6ULL 开发板的电源供电部分原理如下图所示:
从上图我们可以看到电源部分使用了一个 DCDC 的电源芯片 U24,外部输入电源首先从 JACK1 输入,经过防反接二极管 D7 到达电源开关(J1),当我们按下电源开关(J1)的时候,电源会到达电源芯片(U24) 的输入端,最终经过电源芯片会输出 5V 的电源给系统供电。由于我们使用的电源芯片 U24 是个宽电压芯片,允许输入的电压是 5V~16V 直流电源,所以我们可以很方便的就能找到一个与之匹配的电源适配器来使用,采用宽压电源芯片的优点是如果错接了 12V 的电源,板子也不会因为输入电压过高,而导致器件损坏(默认我们提供 5V 的电源适配器)。
1.3.4 复位电路
i.MX6ULL 终结者开发板的复位原理如下图所示:
从上图我们可以看到开发板是低电平产生复位。i.MX6ULL 终结者开发板通过专用的复位芯片来实现系统的复位。因为我们真正做产品的时候,有可能我们产品工作在环境非常恶略的环境下,比如电磁干扰之类的,复位引脚有可能在受到干扰的情况下,会发生瞬间的复位信号,如果这个信号直接接到处理器的复位引脚,处理器收到这个复位信号可能就会执行复位了,可是实际上我们并没有要求系统复位。因此我们可以使用专门的复位芯片,它能够排除瞬间的干扰,又可以防止系统在启动和关闭期间的误操作,保证系统的稳定。所以我们的终结者开发板不仅仅是一款学习板,而且也可以拿来作为参考,设计真真正的产品。
1.3.5 纽扣电池电路
i.MX6ULL 终结者开发板的纽扣电池用来给 i.MX6ULL 的 SNVS 模块供电,保证在系统电源断电的情况下给SNVS 模块提供持续的电源,原理图如下图所示:
在上图中 VDD_COIN_3V 是连接到核心板的,最终给 i.MX6ULL 的 SNVS 模块供电,DCDC_3.3V 和纽扣电池(BAT1)同事给 VDD_COIN_3V 提供电源。DCDC_3.3V 是系统电源 5V 转换出来的,当系统电源断开以后,DCDC_3.3V 电源就会停止输出,此时纽扣电池会继续给 VDD_COIN_3V 提供持续的电源,最终使得 i.MX6ULL的 SNVS 模块有 3V 的电源,从而使得 RTC 时钟模块继续运行(RTC 时钟买模块属于 SNVS 模块)。
1.3.6 CAN 接口电路
i.MX6ULL 终结者开发板板载了两路 CAN 接口,原理图如下图所示:
CAN1 原理图
CAN2 原理图
i.MX6ULL 处理器芯片内部集成了两路 CAN 控制器,我们在底板上通过两个 CAN 的协议转换芯片(TJA1040T)分别引出了两路标准的 CAN 接口(H,L),其中 R1031 和 R1032 分别是两路 CAN 的终端匹配电阻。另外我们分别在两路 CAN 的数据线上加了 TVS 保护器件(D77,D78,D79,D80),使其能够达到抗静电的效果。
1.3.7 RS485/TTL 串口选择电路
I.MX6ULL 终结者开发板板载了一个 RS485 接口,该 485 接口和 UART3 是复用的,因此我们增加了一个 RS485和 UART3 的选择接口,原理图如下图所示:
从上图我们可以看到这个选择接口是用一个 2x3 的排针引出的,通过跳线帽可以选择是使用 RS485,还是使用 TTL 串口功能。例如,我们使用 RS485 功能,可以把上图中的 1 和 3、2 和 4 分别通过跳线帽短接起来;如果我们使用 TTL 串口功能,我们需要把 3 和 5、4 和 6 分别通过跳线帽短接起来。
1.3.8 GPIO 接口电路
为了便于功能扩展,i.MX6ULL 终结者开发板通过一个 20pin 的排座,引出了一个 GPIO 扩展接口,原理如下图所示:
从上图可以看出该接口引出了两路 ADC,一路 SPI,一路 TTL 串口,一路 I2C。5 个 GPIO。通过这些接口我们可以很容易的扩展其他外设。
1.3.9 RS485 电路
I.MX6ULL 终结者开发板板载了一路 RS485 接口,原理图如下图所示:
从上图我们可以看到 RS485 实际上是串口通过一个 485 协议转换芯片(SP3485EN)转换出来的,由于SP3485EN 这个芯片是半双工的(收发不能同时进行),所以需要一个收发方向的控制引脚(SP3485EN 芯片的 2、3 引脚),一般这两个收发方向控制的引脚会连接到 CPU 处理器,软件除了要操作串口的收发,还需要控制这两个引脚的状态,这样会增加软件的工作量。为了减少软件的工作量,我们的原理设计使用的是自收发的控制,参照我们的原理设计,我们的软件只需要实现串口的收发功能就可以,而不用去考虑设置SP3485EN 的收发控制引脚的状态了。为了提高 485 接口的抗静电能力,我们在 485 的数据总线上加了 TVS静电保护(D55,D76)电路。
1.3.10 USB 转串口电路
I.MX6ULL 终结者开发板板载了一个 USB 串口,原理图如下图所示:
USB 转串口我们使用的是 CH340G 芯片,该芯片是由南京沁恒微电子研发生产的一款国产芯片。CH340G的工作电压支持 3.3V、5V,甚至是 3V,从上图可以看到我们给 CH340G 的电压是 5V,并且是 Mini USB 接口提供的 5V 电源,与开发板上的电源是独立的,只要我们接上 USB 线 CH340G 就会上电。USB 转串口最终通过一个 Mini USB 座子(J49)引出。
1.3.11 LED 电路
I.MX6ULL 终结者开发板板载了两个 LED 发光二极管,原理图如下图所示:
其中上面的 LED1 是系统电源指示灯。LED2 是用户 LED 灯,正极通过 510 欧的电阻连接到 3.3V 电源上,负极连接到 i.MX6ULL 的 GPIO_IO03 引脚上。
1.3.12 按键电路
i.MX6ULL 终结者开发板板载了一个输入按键,原理如下图所示:
按键 KEY0 作为普通那件输入,一端接在 GND 上,另一端连接在 i.MX6ULL 的 UART1_CTS 引脚上,并且通过一个 10K 的电阻上拉到 3.3V。默认情况下 UART1_CTS 的引脚是高电平状态,按下按键的时候,UART1_CTS引脚和 GND 直接连在一起,电平就会变成低。
1.3.13 蜂鸣器电路
i.MX6ULL 终结者开发板板载了一个有源蜂鸣器,原理如下图所示:
蜂鸣器有两种:有源蜂鸣器和无源蜂鸣器。有源蜂鸣器内部自带了震荡电路,只需要接上电源,就会震荡发声;无源蜂鸣器需要外接一个定频(2~5KHz)的驱动信号,才会发声。为了电路设计简单,方便大家使用,我们使用的是有源蜂鸣器。蜂鸣器的开关通过控制三极管的通断来实现,我们使用 i.MX6ULL 的SNVS_TAMPER1 这个 IO 来控制三极管的通断。
1.3.14 TF 卡电路
i.MX6ULL 终结者开发板板载了一个 TF 卡接口,原理如下吐所示:
开发板采用标准的 TF 卡插座,采用 USDHC 驱动,SD1_DATA0、SD1_DATA1、SD1_DATA2、SD1_DATA3是 4 位数据总线,分别连接到 i.MX6ULL 的 SD1_DATA0~SD1_DATA03 引脚上面。SD1_CMD 和 SD1_CLK 分别是 USDHC 的命令和时钟线,分别接到了 i.MX6ULL 的 SD1_CMD 和 SD1_CLK 引脚上了。SD1_CD 是 TF 卡的插拔检测引脚,通过该引脚状态可以检测是不是有 TF 卡连接。
1.3.15 EEPROM 电路
i.MX6ULL 终结者开发板板载了一个 EEPROM 存储芯片,原理如下图所示:
EEPROM 存储芯片我们使用的是 AT24C02 芯片,该芯片的容量是 2K bit,它与 i.MX6ULL 通过 I2C 总线进行通信。
1.3.16 音频电路
i.MX6ULL 终结者开发板板载了一个音频编解码芯片 WM8960,原理如下图所示:
WM8960 是一款低功耗、立体声编解码芯片,内部集成了 24 位高性能的 DAC/ADC,并且支持 3D 音效等功能。采用 D 类扬声器驱动器,为 8Ω负载提供每通道 1W 功率。集成完整的麦克风接口和立体声耳机驱动器。由于无需单独的麦克风、扬声器或耳机放大器,因此显著降低了外部元件的需求。 高级片上数字信号处理功能为麦克风或线路输入执行自动电平控制。
图中的 WM8960 的 SPK+和 SPK-分别通过两组排针引出,方便用户连接 8Ω 1W 的喇叭。J16(Mic In) 是通过 3.5mm 的耳机接口实现立体声录音。J17(SPEAKER)是 3.5mm 的耳机接口,用来实现音频的输出。
WM8960 芯片与 i.MX6ULL 通过 SAI 接口连接,图中的 SAI2_MCLK、SAI2_BCLK、SAI2_SYNC、SAI2_TXD、
SAI2_RXD 分别接在 i.MX6ULL 的 JTAG_TMS、JTAG_TDI、JTAG_TDO、JTAG_TRST、JTAG_TCK 引脚上。
WM8960 还通过 I2C 连接到 i.MX6ULL 的 I2C2 总线上了,在使用 WM8960 之前,我们需要通过这个 I2C 接口对他进行配置。
1.3.17 RGB 屏幕电路
i.MX6ULL 终结者开发板板载了一路 RGB 屏幕接口,如下图所示:
上图中 CN1 是 RGB 的屏幕接口,通过一个 40pin 的 FPC 座子引出,同时也支持触摸屏。该接口仅支持 RGB 接口的屏幕,目前迅为电子的 RGB 接口屏幕有 4.3 寸(480*272),5 寸(800*600),7 寸(1024*600)。
上图中的 BLT_PWM 是控制屏幕背光的引脚,他连接到了 i.MX6ULL 的 GPIO1_IO08 引脚。SNVS_TAMPER9 是控制触摸芯片复位的,它连接到了 i.MX6ULL 的 SNVS_TAMPER9 引脚上面。GPIO_9 是触摸的中断引脚,它连接到了 i.MX6ULL 的 GPIO1_IO09 引脚上面。I2C2_SDA 和 I2C2_SCL 是用于和触摸芯片通信的,他们分别连到了 i.MX6ULL 的 UART5_RX_DATA 和 UART5_TX_DATA 的引脚上面。
1.3.18 LVDS 屏幕接口
I.MX6ULL 开发板板载了两种不同接口形式的 LVDS 接口,原理如下图所示:
从上图我们可以看到 LVDS 接口是 RGB 信号通过芯片 GM8285C(U13)转换出来的,GM8285C 最大支持将28 位并行数据转换为 4 对串行 LVDS 差分信号,同时并行输出 1 路 LVDS 差分时钟信号。I/O 电压支持1.8V/3.3V。
在上图我们看到有两种 LVDS 屏幕接口:J18(30pin 的 FPC 座子)和 CON3(HDMI 座子)。这两个接口实际上是一路 LVDS 信号,只是对外引出的方式不一样,因为迅为电子的 LVDS 屏幕有两种接口(30pin FPC座子和 HDMI 接口),所以为了适配迅为电子屏幕的接口,i.MX6ULL 终结者底板引出了这两种接口。(大家一定要注意下:CON3(HDMI 座子)只能用来连接迅为电子的 LCD 屏幕,不能用来连接电脑显示器!!!)。
1.3.19 USB OTG 电路
I.MX6ULL 终结者开发板板载了一路 USB OTG 接口,原理如下图所示:
上图中 USB OTG 接口的 USB_OTG1_DN 和 USB_OTG1_DP 分别接到了 i.MX6ULL 的 USB_OTG1_DN 和USB_OTG1_DP 引脚上了。USB OTG 接口通过一个 Mini USB 座子引出,我们可以通过此接口给开发板烧写镜像。
1.3.20 USB HOST 接口
i.MX6ULL 终结者开发板提供两路 USB HOST 接口,原理如下图所示:
从图中我们可以看到两路 USB HOST 是 i.MX6ULL 的 USB OTG2 接口(USB_OTG2_DP,USB_OTG2_DN)通过一个芯片 FE1.1S(U15)扩展出的。FE1.1S 是一款高性能,低功耗的 USB HUB 芯片,他支持 USB2.0 协议, 可以把一路 USB HOST,能扩展出 4 路 USB HOST 接口。
上图中的 J20 和 J21 是 FE1.1 扩展出的其中两路 USB HOST,通过这两个 USB 接口我们可以链接 USB Device (例如:U 盘,鼠标,键盘等等)。
1.3.21 CSI 摄像头接口电路
i.MX6ULL 终结者开发板板载了一路 CSI 的摄像头接口,原理如下图所示:
图中的 J22 接口可以用来连接迅为电子的 500w 摄像头模块。其中的 CSI_MCLK、CSI_PIXCLK、CSI_HSYNC、CSI_VSYNC、CSI_DATA0、CSI_DATA1、CSI_DATA2、CSI_DATA3、CSI_DATA4、CSI_DATA5、CSI_DATA6、CSI_DATA7这些信号连接到 i.MX6ULL 摄像头模块相应的引脚上。
图中的 I2C2_SDA 和 I2C2_SCL 连接到 i.MX6ULL 的 I2C2 总线上,摄像头模块需要 i.MX6ULL 通过 I2C 初始化配置以后才能正常工作。GPIO_2控制摄像头模块的复位,它连接到i.MX6ULL的GPIO1_IO02引脚上。GPIO_4控制摄像头模块的开关使能,它连接到 i.MX6ULL 的 GPIO1_IO04 引脚上。
1.3.22 WIFI/蓝牙电路
i.MX6ULL 终结者开发板板载了一个 WIFI/蓝牙二合一的模块,原理如下图所示:
我们使用的 WIFI/蓝牙二合一模块型号是 RTL8723,这个模块的电路非常简单,使用 3.3V 电源,与i.MX6ULL 通过 USB 总线传输数据,对外引出了 ipex 的天线接口(U58)。
1.3.23 PCIE 4G 模块电路
i.MX6ULL 终结者开发板板载了一个 Mini PCIE 的 4G 模块接口,原理如下图所示:
上图中 U25 是 Mini PCIE 座子,可以用来连接 Mini PCIE 的 4G 模块,比如移远的 EC20 模块,高新兴的ME3630 模块。虽然我们使用的是 Mini PCIE 接口,实际上传输数据用到的是 USB 接口(使用的 FE1.1S 扩展出来的一路 USB 接口)。上图中的 CON5 是 SIM 卡插座,使用 4G 模块联网,我们必须要插入 SIM 卡。
1.3.24 六轴传感器电路
i..MX6ULL 终结者开发板板载了一个 6 轴重力加速度计,原理如下图所示:
从上图我们可以看到 6 轴重力加速度计芯片是 MPU6050(U36),该芯片内部集成了:三轴加速度传 感器和三轴陀螺仪。我们使用 I2C 来访问它。
I2C1_SCL 和 I2C1_SDA 分别连接到 i.MX6ULL 的 UART4_TX_DATA、 UART4_RX_DATA 这两个 IO 上面了。
1.3.25 光环境传感器电路
i.MX6ULL 终结者开发板板载了一个光环境传感器,如下图所示:
上图中的 U37 是光环境传感器 AP3216C,该芯片可以感应周围光线的强弱,接近距离和红外强度,使用的是 I2C 的接口,I2C1_SCL 和 I2C1_SDA 分别连接到 i.MX6ULL 的 UART4_TX_DATA、UART4_RX_DATA 这两个 IO 上面了,GPIO_1 是 AP3216C 的中断输出引脚,连接在 i.MX6ULL 的 GPIO1_IO01 上面了。
1.3.26 温湿度传感器电路
I.MX6ULL 终结者开发板板载了温湿度传感器接口,原理如下图所示:
从上体可以看到该接口可以兼容 DHT11(温湿度采集模块)和 DS18B20(温度采集模块)。该接口的电路比较简单,3.3V 电源供电,一个数据引脚直接连到 i.MX6ULL 的 SNVS_TAMPER2 引脚上了。
1.3.27 ADC 电位器电路
i.MX6ULL 终结者开发板板载了一个电位器,原理如下图所示:
从上图可以看到电位器(R1036)的原理很简单,使用 3.3V 供电,输出引脚通过 GPIO_5 链接到 i.MX6ULL的 GPIO1_IO05 引脚上了。GPIO1_IO05 可以复用成 ADC 功能,这样就能够实现电位器的电压采集了,我们调节电位器上的旋钮,ADC 采集到的电压会在 0~3.3V 范围内变化。
1.3.28 红外接收电路
i.MX6ULL 终结者开发板板载了一个红外接收模块,原理如下图所示:
从上图可以看到红外接收模块(U38)使用的是 HS0038B 模块,该模块的原理很简单,使用 3.3V 供电,数据输出引脚 UART2_RXD 连接到 i.MX6ULL 的 UART2_RX_DATA 引脚上面了。
1.3.29 HDMI 接口电路
i.MX6ULL 终结者开发板板载了一路 HDMI 接口,原理如下图所示:
I.MX6ULL 处理器本身是不支持 HDMI 接口的,从上图我们可以看到 HDMI 接口是 RGB 接口通过 Sil9022A (U43)转换出来的。Sil9022A 可以将 24 位的 RGB 数据转换成标准的 HDMI 信号,i.MX6ULL 的 RGB 模块相 关的引脚与该芯片直接相连。另外该还需要通过 I2C(I2C2_SCL、I2C2_SDA)与 i.MX6ULL 进行连接,因为在 使用之前,需要通过 I2C 对该芯片进行配置。CON22 是标准的 HDMI 接口,我们可以通过 HDMI 线,连接显 示器到该接口。
1.3.30 以太网电路
i.MX6ULL 终结者开发板板载了两路以太网接口,分别是 ETHERNET1 和 ETHERNET2,其中 ETHERNET1 的原理如下图所示:
ETHERNET1 的原理如下图所示:
I.MX6ULL 内部集成了两个 MAC 控制器,每个 MAC 外接一个 PHY 芯片,就可以实现网络通信功能。我 们使用的是 KSZ8081RNB 这个 PHY 芯片,该芯片一端与 i.MX6ULL 通过 RGMI 接口连接,另一端连接到带网 络变压器的 RJ45 接口,组成一个 10M/100M 自协商的网卡。
ETNERNET1 和 ETHERNET2 通过 MDIO 接口与 i.MX6ULL 连接在一起,通过 MDIO 接口 i.MX6ULL 可以读写 PHY 芯片的寄存器,从而可以对 PHY 芯片进行配置。MDIO 接口由两根线组成 ENET_MDIO 和 ENET_MDC。这两 根线分别连接到了 i.MX6ULL 的 GPIO1_IO06 和 GPIO1_IO07 引脚上面了。另外 ETHERNET1 和 ETHERNET2 分 别有一个复位引脚,这两个复位引脚是 SNVS_TAMPER7 和 SNVS_TAMPER8,这两个引脚连接到 i.MX6ULL 的 SNVS_TAMPER7 和 SNVS_TAMPER8 引脚上了。