[原创]AM3352 + TPS65910 调试方法+调试记录
时间: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 调试方法+调试记录的更多相关文章
- 工具使用——MATLAB基本调试方法
作者:桂. 时间:2017-02-28 07:06:30 链接:http://www.cnblogs.com/xingshansi/articles/6477185.html 声明:转载请注明出处, ...
- MATLAB(1)——基本调试方法(Debug)
作者:桂. 时间:2017-02-28 07:06:30 链接:http://www.cnblogs.com/xingshansi/articles/6477185.html 声明:转载请注明出处, ...
- VS2013中带命令行参数的调试方法---C++
今天先记录一下(也是传说中大神喜欢装逼的comment line)c++中向主函数int main(int argc,char** argv )传递4中方法,欢迎添加新方法, 然后可以参考别人写的很好 ...
- Linux内核调试方法总结【转】
转自:http://my.oschina.net/fgq611/blog/113249 内核开发比用户空间开发更难的一个因素就是内核调试艰难.内核错误往往会导致系统宕机,很难保留出错时的现场.调试内核 ...
- 【转】Linux内核调试方法总结
目录[-] 一 调试前的准备 二 内核中的bug 三 内核调试配置选项 1 内核配置 2 调试原子操作 四 引发bug并打印信息 1 BUG()和BUG_ON() 2 dump_sta ...
- VxWorks操作系统shell命令与调试方法总结
VxWorks下的调试手段 主要介绍在Tornado集成开发环境下的调试方法,和利用支撑定位问题的步骤.思路. 1 Tornado的调试工具 嵌入式实时操作系统VxWorks和集成开发 ...
- Linux内核调试方法总结
Linux内核调试方法总结 一 调试前的准备 二 内核中的bug 三 内核调试配置选项 1 内核配置 2 调试原子操作 四 引发bug并打印信息 1 BUG()和BUG_ON() 2 ...
- erlang调试方法
第一种方式,加打印记录 %%-define(debug, ok). -ifdef(debug). -define(LOG(X), io:format("pid:~p , {~p,~p}: ~ ...
- Django的调试方法
web程序调试起来和桌面程序有着很大的差别,对于Django程序来说调试更是个问题.我们可以用postman发送http请求,下面就介绍几种调试方法: 1.在Eclipse+Pydev中调试Djang ...
随机推荐
- Yii2下拉框实现
详细介绍yii2下拉框的实现方法,以商品分类的下拉框为例: 第一种方法:使用Html的activeDropDownList(),该方法的优点是:可以自定义下拉框的样式.具体实现如下: 1.控制器中,获 ...
- js数组基础知识链接
http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html 小案例: <script language=&quo ...
- 指针二次释放(_BLOCK_TYPE_IS_VALID)
[1]_BLOCK_TYPE_IS_VALID是什么错误? (1)最简单的示例代码如下: void main() { ); delete pA; delete pA; } (2)运行后崩溃截图如下: ...
- 阿里BCG重磅报告《人工智能,未来致胜之道》
阿里BCG重磅报告<人工智能,未来致胜之道> 阿里云研究中心.波士顿咨询公司以及Alibaba Innovation Ventures合作共同推出的<人工智能:未来制胜之道>这 ...
- 关于web开发前端h5框架的选择
关于web开发前端h5框架的选择 看了很多移动版框架都是基于app混合式开发的,不是单独h5网站的基于h5开发的web框架从组件丰富度,兼容性,相关教程来说bootstrap还是最好的react和vu ...
- UTF8转码, 考虑利用app转好再传, CC2541转太麻烦了...
- Creater中选择一行的方法
1. 在表布局中增加一单选钮列,给单选钮的属性name任意设定一个值.2. 选择单选钮对应列,将其selectID设为单选钮的ID;将onclick设为setTimeout('initAllRow ...
- minio-dotnet --云存储服务
inio是一家成立于2014年的生产开源云存储产品的新兴创业公司.这家创业公司是其创始人继Gluester之后的又一杰作,Gluester公司已经在2011年被Red Hat公司以1.36亿美元的价格 ...
- 转:redis常用命令
一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...
- SpringMVC 接收复杂对象
要发送的数据为:String topicId,String topicName,String summarize,List<ModuleParam> parentList 前端页面ajax ...