复旦微ZYNQ硬件电路上电调试

2023-12-06 02:50

本文主要是介绍复旦微ZYNQ硬件电路上电调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一,加电之前的观察:

复旦微的FMOL45T900 ZYNQ芯片
国微SM25QH256MX    FLASH芯片 读写测试,及速率测试 
D2LED(核心板)D3LED底板(PSMIO15) 
DDR3(PS2片 256M16)(PL1片256M16)      
eMMC8G  读写及速率测试  
逻辑复位功能(需在底板TP4、5焊接一个按钮). 测试复位脉冲是否有抖动 
PLL时钟BUF的质量CDCI6214
PL/PS串口输出功能

FMQL45T900 验正板使用公司通用测试工装 ZYNQ100 核心板印制板和原理设计,主要根据官方手册对核心板以下内容进行修改:
1,主芯片直接领料、焊接复旦微提供的样品,进口 zynq芯片未领料。

2,复旦微DDR部分设计区分:修改DDR控制器,VREFP(ZQ)接 240 欧姆 1%精度电阻到地,VREFN悬空。

3,DDR0.75V 转换电路,+1.5V 和 1V5 标记错误,未连接到 1.5V 电压网络,已飞线。

了解硬件配置和加电电源,眼睛观察各个器件是否正确焊接,检查板上各个芯片的方向是否正确,无虚焊和短路现象,其次检查有极性器件的焊接方向是否正确,方向以印制的标识为准。上电前检查的方面有:检查供电过来的每路VCC,检查各路供电方向的电容,电感,磁珠对应的电压和电阻。不上电需要检查的项目:用万用表测量电路板电源对地阻值。万用表切换到电阻档位,一端表笔接地,另一端接对应测试点。

二,上电后需要检查的项目:

1,用万用表测量电路板电源大小。万用表切换到电压档位。

2,晶振检查:用示波器测量电路板各晶振频率。

示波器先校,再auto查看正弦波形。主要是PS晶振和PL晶振,还有AD晶振时钟,还有网口晶振(可以跳过不用查)。

三,硬件调试
为测试复目微的核心板功能,借用 DC信息处理板的设计底板,进行参考设计,焊接部分器件即可调试复旦微的核心板,主要对底板进行如下修改:

1,变压器偏置电压给错,应为1.8V,飞线解决:TP3-1V8V 至 TP19. b)核心板输出有3.3V,无需底板转换,飞线解决:TP2-3V3 至 TP12
2,为兼容 CAN 口接口转换芯片:TJA10505V 供电,将整个底板输入电源改为 5V输入,
禁止提高输入电压,核心板最低工作电压要求为 4.5V,满足供电要求。
3, TJA1050 RX 输入为 5V TTL 电平,串联 200 欧姆电阻后接入核心板,防止损坏核心
板,已飞线。
4, B2磁珠短接,为核心板供电。

四,改整个电路完成后测试发现故障(PL无法连接仿真器),根据了手册和官方开发如下排查修改:
1,PL端JIAG 改为 1CK 1K 下拉(底板)一仍然故障
2,PS和 PL间JAG 级联模式改为独立模式,MIO2 改为上拉(核心板)--仍然故障
3,VCCBAT 开发板供了1.8V,于是我们接地,修改为 1.8V 供电,一仍然故障
4,检查上电时许,1.8和3.3等时序错误且 Tack 模式设计问题,飞线后时序改为:1.0V-1.8V-(1.5V、3.3V、12V等)。 一仍然故障
5,检查板卡所有时钟信号,发现 50MHz无输出,重新焊接后恢复-----故障解除。
6,时钟恢复后测试 12V 供电可以常连接仿真器,5V 供电电源无法加电(推测应该是bootrom 启动导致功耗增大,线路损耗过大,低于芯片要求最低输入电压范围),因此后续仍采用 12V 供电。


五,问题总结:基础问题是方法问题,应注意分析问题策划好排查流程再开展排查工作。

电源、时钟,复位作为板卡基础测试应首先进行排查,电源时序、上下拉、信号波形等是专项排查手段,在板级故障排查或维修中,应首先进行基础排查(只要一个示波器,万用表无法观察信号质量不建议采用),基础排查之后再进行专项细节分析,列出可能的故障进行排查。

XILINX ZYNQ在 ps 端时钟异常时可以正常进行PL仿真,国产ZYNQ调试,我们也受到进口器件特性影响,认为 ps与pl 无关,后仔细分析手册发现,zyng内部 bootrom 必须启动并在某些阶段才给JTAG 赋予访问的权限。因此,ps 无时钟,bootrom无法启动,自然 jtag无响应。
 

这篇关于复旦微ZYNQ硬件电路上电调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/460118

相关文章

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能