复旦微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

相关文章

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

前端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#编写软件时候,如