时间:20160912

一、电源时序排查

1、保证正确的上电时序,一般都会在CPU数据手册中提到。通常不会规定具体的上电先后时间的要求,多数情况下会要求前一个电平上升到90%满幅度之后才可以有下一个电平的开始上升。对于使用TPS65910作为电源管理单元的时候,上电时序会自动完成控制,只要正确的配置PMU的BOOT模式,具体配置要求为:BOOT1=1,BOOT0=0;  所以排查时序,你需要做的事情就是检查CPU与PMU之间的连接是否正确。

2、确保来自PMIC的所有电源轨的电平值都是正确的。检查所有电源轨的稳定电平值,MPU端电源轨电平值不稳定的情况很可能是由于没有正确连接VDDS_MPU_MON而导致的,参考相关EVM设计确认VDDS_MPU_MON是正确连接的,再次需要确认下VDDS_SRAM_CORE_BG 以及VDDS_SRAM_MPU_BB 是否正确连接到1.8V的电压源。

3、检查某些内部LDO输出的电压是否正确(注意这些电压都是内部LDO输出的,相应端口不需要再外接电压源,也不能被用作某些电路的供电电源)。通常这类电源叫做CAP_XXX,如果以下列出的项目电平值不正确,说明内部的某些电源轨配置不正确:

1)CAP_VDD_SRAM_CORE = 1.2V

2)CAP_VDD_SRAM_MPU = 1.2V

3)CAP_VBB_MPU = 1.1V

4)CAP_VDD_RTC = 1.1V (注意:如果RTC_KALDO_ENn管脚配置为低电平,那么CAP_VDD_RTC管脚为内部LDO输出1.1V;如果 RTC_KALDO_ENn管脚配置为高电平,那么CAP_VDD_RTC管脚为电源输入脚,需要外接1.1V的电压源,具体可参考:AM335x Schematic Checklist - RTC Section )

4、系统时钟检查)(19.2, 24, 25, 26 MHz)。

1)如果使用外部振荡器,保证震荡频率落在相应的频域内。

2)如果外接晶体(使用AM3352内部振荡器),务必在 XTALIN 脚有相应频率的正弦波信号, XTALOUT 脚正弦波允许小微的失真。

3)直接连接晶体到AM3352的 XTALIN 和 XTALOUT 之间,确保使用正确的电容取值。

5、检查上电复位信号PORZ。复位信号必须一致保持低电平在整个上电时序过程中,并且等到电源以及时钟频率都稳定后才可以拉高。

二、测试系统是否alive

1、如果有预留Debug串口(UART0),连接串口设备到PC端的串口调试工具,上电会发现串口有不断地打印“CCCC.......”,如果看到如上现象说明ROM已经运行并且正在尝试加载UBOOT。

当然前提是在BOOT启动配置包含串口启动这一项,系统上电后会按照BOOT启动配置进行加载,按照优先级逐个尝试,当前设备无法成功加载的话会自动转到下一级设备尝试启动。如主板BOOT配置如下,则优先级为NAND--NANDI2C--MMC0--UART0,

2、如果BOOT配置了UART0,而上电后看不到串口打印“CCC....”,考虑串口通信有问题。

1)用示波器探头测试UART_TX信号线上是否有信号波形,如果有波形数据而在PC端看不到数据考虑如下几点:是否串口参数设置问题,是否串口芯片有问题,是否串口线有问题

2)串口芯片问题检查技巧(以SP3232为例):

SP3232这类串口芯片原理就不再赘述,简单测试几个点就可以确定芯片是否正常。如下SP3232连接图,

①检查电源VCC是否正常

②测试pin1与pin3   pin4与pin5间电容两端是否有充放电波形,有充放电波形说明功能正常

③测试V+端电压是否为+5.5V, V-端电压是否为-5.5V

以上三项简单测试即可以判断串口芯片是否正常工作。

3、利用CLKOUT1  CLKOUT2输出验证内部系统时钟是否正常。

1)设置 SYSBOOT[5] = 1,会输出系统时钟到CLKOUT1,如果能在CLKOUT1测试到系统时钟信号,则表明内部系统时钟跑起来了。

三、SD卡插入检测不正常问题。

1、采用Micro SD卡进行系统启动,发现BOOT加载失败,测试MMC0与CPU的CLK信号正常。

2、测试SD卡Detect脚电平,未插入SD卡电平上拉为3.3V;插入SD卡,电平没有按照预设的结果电平被拉低,而是仍然保持3.1V的高电平,Deteect检测错误。

3、排查原因,发现是接地的问题。

1)Micro SD卡插入检测原理:Micro SD卡座的第9脚为检测脚,未插入SD卡时电平被上拉到3.3V高电平,插入SD卡时,第9脚弹片被挤压与卡座外壳接触,卡座外壳是接地设计的,所以会将Detect脚电平拉低,从而检测到有卡插入。

2)电路设计问题:系统地与保护地隔离设计,导致出现浮地现象出现,从而造成检测错误。

[原创]AM3352 + TPS65910 调试方法+调试记录的更多相关文章

  1. 工具使用——MATLAB基本调试方法

    作者:桂. 时间:2017-02-28  07:06:30 链接:http://www.cnblogs.com/xingshansi/articles/6477185.html 声明:转载请注明出处, ...

  2. MATLAB(1)——基本调试方法(Debug)

    作者:桂. 时间:2017-02-28  07:06:30 链接:http://www.cnblogs.com/xingshansi/articles/6477185.html 声明:转载请注明出处, ...

  3. VS2013中带命令行参数的调试方法---C++

    今天先记录一下(也是传说中大神喜欢装逼的comment line)c++中向主函数int main(int argc,char** argv )传递4中方法,欢迎添加新方法, 然后可以参考别人写的很好 ...

  4. Linux内核调试方法总结【转】

    转自:http://my.oschina.net/fgq611/blog/113249 内核开发比用户空间开发更难的一个因素就是内核调试艰难.内核错误往往会导致系统宕机,很难保留出错时的现场.调试内核 ...

  5. 【转】Linux内核调试方法总结

    目录[-] 一  调试前的准备 二  内核中的bug 三  内核调试配置选项 1  内核配置 2  调试原子操作 四  引发bug并打印信息 1  BUG()和BUG_ON() 2  dump_sta ...

  6. VxWorks操作系统shell命令与调试方法总结

    VxWorks下的调试手段 主要介绍在Tornado集成开发环境下的调试方法,和利用支撑定位问题的步骤.思路. 1         Tornado的调试工具 嵌入式实时操作系统VxWorks和集成开发 ...

  7. Linux内核调试方法总结

    Linux内核调试方法总结 一  调试前的准备 二  内核中的bug 三  内核调试配置选项 1  内核配置 2  调试原子操作 四  引发bug并打印信息 1  BUG()和BUG_ON() 2   ...

  8. erlang调试方法

    第一种方式,加打印记录 %%-define(debug, ok). -ifdef(debug). -define(LOG(X), io:format("pid:~p , {~p,~p}: ~ ...

  9. Django的调试方法

    web程序调试起来和桌面程序有着很大的差别,对于Django程序来说调试更是个问题.我们可以用postman发送http请求,下面就介绍几种调试方法: 1.在Eclipse+Pydev中调试Djang ...

随机推荐

  1. 继承(引用~析构~virtual)

    [1]程序1 #include <iostream> using namespace std; class Base { private: int m_nBase; public: Bas ...

  2. chrome调试找不到 XXXX.min.map 原因及解决办法

    什么是source map文件. source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压缩后原变量是m ...

  3. Linux Kernel中断子系统来龙去脉浅析【转】

    转自:http://blog.csdn.net/u011461299/article/details/9772215 版权声明:本文为博主原创文章,未经博主允许不得转载. 一般来说,在一个device ...

  4. MySQL对于数据库应该如何如何配置安全问题了

    mysql 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统.它具有功能强.使用简便.管理方便.运行速度快.安全可靠性强等优点,用户可利用许多语言编写访问m ...

  5. XCode属性面板使用说明

    Xcode 中Interface Builder 工具 是一个功能强大的“所见即所得”开发工具.本文主要介绍属性面板 和  对象库面板 对象库面板: 提供了所有Cocoa Touch 库给我们定义好的 ...

  6. JavaEE基础(二)

    1.Java语言基础(常量的概述和使用) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常量 用 ...

  7. C++ Template Operator

    #include <iostream> #include <string> #include <deque> #include <stdexcept> ...

  8. android 数据库操作详解

    请看郭大神的八篇专栏,包含sql语句  android封装的databasehelper 和郭大神自己的LitePal  三种使用详解 http://blog.csdn.net/column/deta ...

  9. rtc关机闹钟3 IAlarmManager

    vim framework/base/core/java/android/app/IAlarmManager.aidl import android.app.AlarmManager;import a ...

  10. 【转】Program Files (x86)文件夹是干什么的

    转载地址:http://leonax.net/p/2373/what-program-files-x86-folder-for/ 今天在微博上看到有人问这个问题.在装好64位的Windows之后,能在 ...