You are on page 1of 19

Amlogic Application Notes

l!
Application Notes

tia
en
S802 媒体盒硬件调试指南
fid
on
C
c
gi
lo

Revision :V1.0
Owner:HW MBX Team
m

Date:20131209
A

Amlogic Confidential 1/19


Amlogic Application Notes

1. 简介

本文主要针对 Amlogic S801/S802 的 MBOX 方案的硬件,进行调试方面的分析。


调试工作,主要包括以下几个方面的检查:
1) 基本检查(器件焊接,短路、断路、电源、RESET、晶振、CLK 等)
2) 启动检查(无电流、无串口信息、uboot 分析、无法升级、kernel 死机或重启、Flash 无法
读写等)
3) 显示检查(CVBS、HDMI 无输出等)

l!
4) wifi 检查(wifi 无法连接、wifi 信号质量不好等),Ethernet 连接。

tia
5) 声音检查(喇叭没有声音输出,耳机没有声音输出)
6) 其它检查(IR、传感器、USB、OTG、等)

en
fid
on
C
c
gi
lo
m
A

Amlogic Confidential 2/19


Amlogic Application Notes

2. 基本检查

序号 检查项目 检查结果
1 目测 PCBA,确保没有明显的漏焊、虚焊、短路;
2 用万用表测量各路电源,确保没有短路现象;
3 用稳压电源限流(一般限流 500mA)上电,如供电没问题,用万用表测量各
路电压及示波器其纹波(设置 20mV,1uS、1mS 间隔);
4 靠近 CPU 管脚测量 RESET_CPU 信号,确保复位信号正常;

l!
5 示波器测量 24M 晶振是否正常;

tia
6 示波器测量 SD_CLK 是否有信号输出(万用表测量约 1.5V);
7 基本电压

en
子序号 检查项目 电压(V) 纹波(mV) 备注
1 VDD_EE 0.9
2
3
VCCK
DDR3_1.5V
fid 0.9
1.5
4 VDDIO_AO18 1.8
on
5 IOREF_1V8 1.8
6 VCC1.8V 1.8
C

7 AVDD1.8V 1.8
8 VDDIO_AO29 2.9
c

9 VCC3.3V 3.3
gi

10
lo

<注 1> 调试时,请用稳压电源,限流 500mA 进行供电,避免有短路烧毁平台。


m

<注 2> 若以上条件满足,系统约 90mA @12V。


A

Amlogic Confidential 3/19


Amlogic Application Notes

3.SD 卡升级启动检查
电压正常后,确认系统的复位信号、24M 晶振输出正常,就可以通过 SD 卡或 PC 工具对平台进
行升级。
注:电压、电流正常,复位信号、24M 晶振 OK 后,焊接串口上电,会有一句打印信息。(EEEE
I3000000032940xf100000003876510EEEE I400000004294_M8_BL1_969842730383EEEE
I3000000032940xbbbb000026A22525,SD 串口除外)

检查项目 子序号 调试问题 检查结果


有电流,串口 1 找一个好的平台确认启动卡是否 OK;

l!
无打印信息 2 插入启动卡,上电,观察电流是否有变化;

tia
如果没有变化,测量 CARD_VCC、CARD_DET、CARD_EN 是
否正常,并用示波器测量 SD_D0_B 和 SD_CMD_B 是否有

en
信号;
3 确保串口线的正确连接(公板顺序为:GND、TX、RX、
VCC);用示波器测量 TX,上电时是否有信号输出;
4
fid
确保串口工具设置正确,如果是 USB 的,多试几次;
无法升级 1 敲入:mmcinfo,查看 SD 卡是否正常;
on
2 敲入:mmcinfo;fatload mmc 0 12000000
recovery.img;bootm,来进行手动升级,并观察是否能
C

够正常跑;
3 如果出现升级界面,但无法升级,那么重新插拔卡,再
c

按按键选择升级文件,以避免 SD 读卡失败造成的升级
gi

不成功;
4 换其他升级卡,避免系统挑卡造成升级失败;
lo

跑 Kernel 重启 1 u-boot 下测量 VCCK 和 DDR3_1.5V 的 DC 端和 CPU 端的电


m

压,看是否有较大压降(或示波器直接测量 CPU 端电
压,看是否存在较大跌落);
A

2 用万用表测量后端受控电压是否短路(VCCX2、VCC5V、
VCCX3 等),如无法解决,用示波器测量确认哪路电压打
开造成的重启;
跑 kernel 死机 1 万用表测量 CPU 端的 VCCK,是否达到要求;示波器测量
启动中的跌落;VDD_EE 是否正常,有无跌落
2 测量 DDR3 的频率是否 OK;
3 如果 DDR3 频率较低,查看 PCB,确认是否 Layout 造
成;否则调整其时序等参数;
注:8bit 和 16bit DDR3 需要用不同的 DDR 参数,参数

Amlogic Confidential 4/19


Amlogic Application Notes

不对,会造成 DDR 跑不起来,或不稳定。

检查项目 子序号 调试问题 检查结果


Flash 无法读 1 认真检查,确定 NAND 焊接没有问题;
写 2 确认 Nand 是否为 QPL 支持的型号,否则换成能支持的
Flash 型号;
3 确认 R/B 的上拉电阻焊接是否 OK,测量 NAND 的 R/B 信
号在平常是不是高电平;

l!
4 从串口中查看 NAND 的 ID,并找资料确认 ID 是否正确,

tia
或用万用表的二极管档测量各个信号的阻抗,是否一
致,对异常阻抗的信号进一步分析。
5 不同型号的 NAND,pin38、39 处电压可能不一样,需要

en
根据 datasheet 进行确定:
6 如果打印信息显示 Flash 受保护,那么测量 NAND 的

7 测量各信号是否存在虚焊、短路的现象;
fid
pin19 管脚是否为高电平(低电平为写保护);
on

注 1:可以从打印信息查看 SD 初始化是否成功。
C

3.1 u-boot 的烧录


c

调试中,u-boot 可能会损坏,或需要换 u-boot,此时不必要再重新升级整个 code,而是单独进行


gi

u-boot 烧录即可。u-boot 的读取:


a)把 u-boot.bin 文件放到 SD 卡中,输入:
lo

mmcinfo;fatload mmc 0 12000000 u-boot.bin;


sf probe 2;sf erase 0 60000;sf write 12000000 0 60000;
m

注:u-boot.bin 为 u-boot 的名字,如果名字不一样,需要作相应的更改。


A

b) 在串口命令行输入:loady,然后在串口上通过 Ymode 在 PC 上把 u-boot 传输到 DDR3;

Amlogic Confidential 5/19


Amlogic Application Notes

l!
tia
U-boot 烧录到 SPI Flash:sf probe 2;sf erase 0 60000;sf write 12000000 0 60000

en
注:烧录完成后,需要输入:reset 来进行重启
3.2 u-boot 的分析
u-boot 的打印信息中可以分析很多东西: fid
EEEE I3000000032940xf100000003876510EEEE I400000004294_M8_BL1_969842730383EEEE
on
I3000000032940xbbbb000026A22525
no sdio debug board detected ——表示没有 SDIO debug 小板(注 1)
TE : 128993
C

BT : 14:00:04 Nov 28 2013


voltage set from 0x18 to 0x24, addr:0x36
c

……
voltage set from 0x24 to 0x24, addr:0x50 ——PMU 各路电源寄存器设置值
gi

CPU clock is 792MHz ——目前 CPU 频率


lo

Aml log : DDR0 - init pass with


PGSR0 : 0xc0000fff
m

Aml log : DDR1 - init pass with


PGSR0 : 0xc0000fff
A

DDR clock is 696MHz with 1T mode ——DDR 频率,且 1T 模式


DDR check pass!
DDR init use : 17902 us
HHH
……
Image ucl-decompress done and time use : 36546 us
0x12345678
Boot from internal device 1st NAND ——从内部启动 u-boot
Load UBOOT total use : 193393 us
……
U-boot-00000-gf3b7c06-dirty(m8_k100_v1@jb-mr2-amlogic) (Nov 28 2013 - 13:59:53) --版本及时间

Amlogic Confidential 6/19


Amlogic Application Notes

DRAM: 1 GiB ——DDR 大小,1GB


relocation Offset is: 2fed0000
……
Nand PHY driver Version 2.01.001 (c) 2013 Amlogic Inc.
NAND device id: 2c 64 44 4b a9 0 0 0 ——NAND ID(注 2)
detect NAND device: B revision NAND 8GiB MT29F64G08CBABA
detected 2 NAND chips ——检测到 2PCS NAND
AML_NAND_NEW_OOB : new oob
bus_cycle=5, bus_timing=7,system=3.9ns,flash->T_REA =16,flash->T_RHOH=15
……

l!
注 1:有 Debug 小板时,打印信息从 SDIO 的 Debug 小板进行输出;

tia
注 2:通过 NAND ID 可以查看是否正确,并定位问题点。

en
3.3 Flash 的读写
擦除 SPI: sf probe 2
sf erase 0 100000
擦除 Nand Flash:store erase 0
fid
on
擦除 Nand Flash:store scrub 0
注:store scrub 0 会擦除 nand 原厂的标识,一般不建议使用。
擦除 NAND 的 cache、data、media 分区:把 recovery.img 文件放到 SD 卡里,u-boot 串口界面下
C

输入:mmcinfo; fatload mmc 0 12000000 recovery.img; bootm, 或者按升级键进入升级界面,手动


选择擦除。
c

注:对于一些已经用过的 NAND,再次使用时,如果用 SD 卡和 PC 工具都无法升级,nand scrub 0


gi

后,可用次方法清除 nand 的数据。此时不要放升级文件放到 SD 卡里面,否则会直接升级。


lo

3.4 普通 GPIO 的读写方式


m

GPIO 有输入、输出功能,首先必须设置 OEN,OEN 位为高,GPIO 为输入功能,OEN 位为低,为输出


A

功能;输出功能时,0 为输出低,1 为输出高。

u-boot 下 GPIO 的读写


读寄存器:md 寄存器地址
写寄存器:mw 寄存器地址 寄存器值
USB_PWR_EN 控制范例:
查找 Pinmux 知道,USB_PWR_EN(GPIOZ_1)的 OEN 为 200F[18]——寄存器 200F 的 bit18,OUT 为
2010[18];所以 u-boot 下 OEN 的控制地址为:c1100000 + 200Fx4 = c110803C,OUT 的地址为:
c110 + 2010x4 = c1108040。

Amlogic Confidential 7/19


Amlogic Application Notes

读取 OEN 的值:md c110803C


值为:7fffffff,bit[18]为 1,所以 OEN 为输入状态;如果要控制 BL_EN 为输出,必须设置
bit[18]为 0;
写 OEN 的值:mw c110803C 7ffbffff
读取 OUT 的值:md c1108040
写 OUT 的值:mw c1108040 xxxxxx
注 1:为了确保正确控制,一般先控制 OUT,在控制 OEN。
注 2:写寄存器的值时,只能更改需要更改的 bit,否则更改其他,会造成其他异常情况。
系统启动后控制

l!
方式一:
读取寄存器:echo rc0xaaaa>/sys/class/amhdmitx/amhdmitx0/debug

tia
写寄存器:echo wc0xaaaa bbbbbbbb >/sys/class/amhdmitx/amhdmitx0/debug

en
方式二:
先输入:cat /sys/class/amlogic/debug
fid
读寄存器:echo read c 0xaaaa > /sys/class/amlogic/debug
写寄存器:echo write value c 0xaaaa > /sys/class/amlogic/debug
on
C
c
gi
lo
m
A

Amlogic Confidential 8/19


Amlogic Application Notes

4.电源控制
4.1 PMU 的控制
PMU RN5T618M 的控制及读写,在整个调试中作用很大,必须学会。
uboot 下:
用命令:pmu_reg [r/w] addr [value]
例子:
pmu_reg r 0x00 --read register 0x00 of PMU
pmu_reg w 0x00 0x55 --write register 0x00 to 0x55

Kernal 下:

l!
设置操作寄存器地址:

tia
echo XX > /sys/class/power_supply/battery/rn5t618_reg_base ----设置要操作的寄存器地
址为 xx

en
读写对应寄存器:
cat /sys/class/power_supply/battery/rn5t618_reg ---- 读取要操作的寄存器
echo YY > /sys/class/power_supply/battery/rn5t618_reg ---- 将寄存器 xx 的值
设为 YY fid
rn5t618_reg_base 节点设置一次即可,后续的读写操作都是针对之前设置的地址而言,如果要更换
操作的寄存器,则需重新设置寄存器地址。
on
C
c
gi
lo
m
A

Amlogic Confidential 9/19


Amlogic Application Notes

5.HDMI

检查项目 子序号 调试问题 检查结果


HDMI 无输出 1 测量 HDMI_HPD 是否为高、HDMI_PW 是否为 5V;
2 测量 HDMI_1.8V 和 HDMI_PW 供电是否正常;
3 确认 HDMI 外围器件:9R4\9C7 焊接是否良好,值是否正
确;(HDMIREXT 处的电压应该约为 0.6V);
4 HDMI 的 I2C 通讯是否成功,有无短路现象;
5 HDMI 的高速差分信号是否有短路;HDMI 的座子是否正

l!
确,是否焊接良好;

tia
6 检查 Layout,是否 HDMI 高速差分线的过孔太多、且没
有完整的参考平面;

en
7 切换到 HDMI,并通过示波器测试以确认信号是否正确;
8 敲入:echo 480p > /sys/class/display/mode,强制切

fid
换到 HDMI 输出(可把 480p 更改为 720p 而输出 720p),
并通过示波器测量其信号;
9
on
C

如图9C9默认 NC,装
件会导致无输出
c
gi

手动切换到 HDMI
lo

echo 720p > /sys/class/display/mode


echo 1080p > /sys/class/display/mode
m
A

Amlogic Confidential 10/19


Amlogic Application Notes

6.以太网检查

检查项目 子序 调试问题 检查结果



以太网无法连 IP101GR
接 1 RJ45 座子是否有异常;
2 网络变压器焊接及供电是否正常;
3 PHY 芯片焊接是否正常,中心地焊盘是否接触良好;PHY
芯片供电是否正常;

l!
4 25M 晶振焊接是否 OK,时钟输出是否正常;

tia
5 50M CLK 的通路选择是否正确,目前我们是 PHY 芯片倍频
出 50M CLK 送给 CPU 做参考时钟,请测量 50M 是否正

en
确;
6 PHY 地址配置电阻焊接是否正常;
以太网信号质
量不好,丢包
1
2
fid
25M 晶体频偏是否偏大,要求在 30ppm 以内;
50M CLK 时钟是否稳定,是否存在较大抖动;
率太高 3 测量 Tx/Rx 信号时序是否满足 PHY 芯片规格书需求
on

IP101GR 调试注意事项
C

1) RMII & LED mode 配置要正确


c
gi
lo
m
A

2) PHY 地址配置,注意使用不带指示灯的 RJ45 座子时不能把下面 PHY 地址配置电阻删除;

Amlogic Confidential 11/19


Amlogic Application Notes

3)IP101GR 芯片正常工作后,第 28pin 电压约为 1.1V

l!
tia
en
4)IP101GR 芯片正常工作后,第 25pin 电压约为 1.2V
fid
on
C
c
gi
lo
m
A

Amlogic Confidential 12/19


Amlogic Application Notes

7. wifi 检查

检查项目 子序 调试问题 检查结果



Wifi&BT 无法 USB wifi
连接 1 确认 USBB 外围器件、wifi 等相关器件焊接良好;
2 确认软件配置正确,且 WIFI 供电正常;
AP6181/AP6210/AP6330 等
2 确定 WIFI 模块供电是否正常;

l!
3 在初始化时,确认模块的是否有稳定的 32.768KHz 时

tia
钟;
4 26M 晶振焊接是否 OK,时钟输出是否正常;确认晶体是

en
否:26M_16pF_10ppm
5 用示波器测量初始化时,确认 WIFI_PWREN(PIN12)是否

6
为高
fid
确认模块的 PIN23(电感 7L1)是否约为 1.5V,否则更换电
感。
on
7 SDIO 信号是否在复位信号稳定后输出,SDIO 的 D0-D3、
CMD 内部是否有上拉。
C

8 天线是否焊接好。
9 CPU 的 TX 接 BT 的 RX,CPU 的 TX 接 BT 的 RX;
c

如带流控,则 CPU 的 RTS 接目标设备的 CTS,CPU 的 CTS


gi

接目标设备的 RTS
10 CPU 的 PCM_DIN 接 BT 的 PCM_DOUT,CPU 的 PCM_DOUT 接
lo

BT 的 PCM_DIN;
m

wifi 信号质量 1 WIFI 天线是否焊接良好,接地端是否足够粗;


不好 2 Layout 是否对天线做 50Ω的阻抗,是否严格按照天线规
A

格书的 Layout 说明;


3 USB&SDIO 双 lay 模块,天线共享,各自分支部分需用电
阻隔开,如:装的是 USB WIFI 则到 SDIO RF pin 部分的
走线要断开,否则会引起信号衰减。
4 测量 26M 晶振的频偏,是否小于 15ppm。
5 天线是否受机构影响较大,可以单独测试 PCBA 的信号质
量;
6 天线质量是否有问题,更改其他天线试试;
7 找 WIFI 模组厂家帮忙测试 RF 的输出/接收功率是否足够

Amlogic Confidential 13/19


Amlogic Application Notes

大;

26M 晶振对 wifi 信号影响较大,BT 稳定性都有影响,晶体电容需要匹配,需要严格选型。

7.1 AMPAK wifi 调试注意事项


AMPAK 的 WIFI 有几个不同的 pin-to-pin 兼容的模块,在原理图设计和调试中,必须注意每个
不同模块对应的外围电路,做到原理图、BOM 正确,方便调试。

l!
7.1.1 通用事项

tia
A,WIFI、BT 等初始化前,32.768KHz 的 CLK 必须有输出;
B,VBAT 和 VDDIO 电源必须供电正常;

en
C,WL_REG_ON 必须等供电正常再拉高(给整个 wifi 模块供电);
D,26M 晶振的频偏对 wifi 信号质量影响较大,需要用 IQ-flex 测量并调整匹配电容确认。

fid
on
C
c
gi
lo
m

注 1:32.768KHz 的时钟不准,占空比不是 50%,wifi 也可以工作,但 BT 工作会异常;


A

注 2:WL_REG_ON 没有控制(一直为高),会导致 wifi 无法工作。

7.1.2 单 WIFI 模块——AP6181


A,26M 晶振输入为 pin10,即使用左上角的晶振(7Y2);

Amlogic Confidential 14/19


Amlogic Application Notes

l!
B,AP6181 时,PIN29 不能接电源,否则无法加载驱动(据说:PIN29 脚接电源时,选择晶振

tia
输入端为:PIN30 管脚)。

en
7.1.3 二合一模块——AP6210/AP6330
A,26M 的晶振从 pin30 管脚输入。
注 1:反相器 U11 的质量会影响时钟的质量;
注 2:此处也可以使用晶振,但成本太高。
fid
on
B,AP6330 带 FM,WIFI 支持 2.4G 和 5G 两个频段,其他和 AP6210 pin-to-pin。
C
c
gi
lo
m
A

Amlogic Confidential 15/19


Amlogic Application Notes

8、AV 接口检查

检查项目 子序号 调试问题 检查结果


左右声道没有 1 DAC 芯片 5V 供电是否正常;
声音输出 2 I2S 是否有波形,用示波器观察;
3 左右声道是否有波形输出;
4 有外加功放芯片的,检查功放 IC 是否被 mute;
5 检查功放 IC 外围参数是否正确;
CVBS 无输出 1 检查 CVBS 信号管脚是否焊接良好,阻抗是否正确

l!
2 检查π型滤波器是否配置正确,可用镊子短路π型滤波

tia
器观察是否有输出
3 检查 562R RSET 电阻焊接是否良好,阻值是否正常

en
4 检查 COMP、VREF 电容焊接是否良好

fid
on
C
c
gi
lo
m
A

Amlogic Confidential 16/19


Amlogic Application Notes

9.其它检查
检查项目 子序号 调试问题 检查结果
红外遥感无效 1 确认焊接是否正确;测量红外头供电是否正常;
2 用遥控器遥控时,用示波器测量是否有信号输出;
3 用万用表的二极管档测量确认 IR 管脚 CPU 端焊接是否
良好;
4 确认软件是否支持;
USB 无法连接 1 检查 USB 座、共模电感等否焊接良好;
鼠标、U 盘-- 2 测量 USB VCC5V 供电电平是否正常(4.75V--5.25V);

l!
USBB 口 3 检查 USBB_TXRTUNE 电阻 6R1(180R 1%)是否焊接良好;

tia
4 检查 HUB 芯片焊接、供电是否正常;
5 测量 HUB 芯片 12M 晶体是否起振;

en
6 测量 HUB 阻容复位电路是否正常,检查 RREF 680R_1%电
阻是否需焊或短路;

无法连接 PC--
7
1
观察记录串口打印信息。
fid
检查 USB 座、共模电感等是否焊接良好;
USBA 口 2 测量 USBA_VBUS 电压是否正常(4.75V-5.25V);
on
3 测量 ID1 pin 是否为高电平(若为低电平,则 USBA 作为
HOST 功能);
C

4 检查 USBA_TXRTUNE 电阻 6R2(180R 1%)是否焊接良好;


5 确认软件是否支持 USB 功能。/系统 USB 的设置是“调
c

试模式”还是“存储模式”
gi

6 观察记录串口打印信息。
lo

OTG 无效-- 1 插入 USB Device 后,测量 ID pin 是否为低电平;


USBA 口 2 测量 USB_PWR_EN(8U2.4)是否为高电平,VCC5V 电压是否
m

正常;
3 测量 USBA_VBUS 供电是否正常(4.75-5.25V);
A

4 检查 USBA_TXRTUNE 电阻 6R2(180R 1%)是否焊接良好;


5 确认软件是否支持 USB HOST 功能;观察记录串口打印
信息;

Amlogic Confidential 17/19


Amlogic Application Notes

10.其他调试命令
10.1 DDR 频率的测试:
因为内部有两倍频
d2pll 0x20232(600Mhz)
d2pll 0x1021f(744Mhz,700Mhz 以上 OD 设为 1)
注:32 为设定 DDR 的频率,为 16 进制数,设定频率为:(3x16+2)*12=600M,更改后两位设定不同
的 DDR 频率;
ddrtest 3
注:为 u-boot 下测试频率,3 为设定测试次数;

l!
设定频率后,直接跑系统,可测试该频率对系统的稳定性;

tia
10.2 手动升级

en
把升级文件放到 SD,插卡、上电启动 u-boot;
在 u-boot 下输入:mmcinfo;fatload mmc 0:1 12000000 recovery.img; bootm
敲入“回车”并启动进入升级界面,选择升级文件升级;
fid
10.3 跑其他 Kernel
on
把目标 kernel 放到 SD 卡里,插卡上电启动
mmcinfo;fatload mmc 0:1 12000000 boot.img;bootm
C

10.4 查看 CPU 的频率


c

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
gi

看到的即为现在的 CPU 频率。


lo

10.5 CPU 频率控制(定频)


m

串口输入一下命令将 CPU 频率定频 816M


write/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performance
A

write /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 816000


write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 816000

Amlogic Confidential 18/19


Amlogic Application Notes

Revision Date Owner Changes


1.0 Dec 9,2013 HW MBX Team 初稿

l!
tia
en
fid
on
C
c
gi
lo
m
A

Amlogic Confidential 19/19

You might also like