当前位置: 首页 > news >正文

沧州网站建设联系电话图片生成二维码软件

沧州网站建设联系电话,图片生成二维码软件,网站设计服务费英文,百度搜索软件本文对以太网传输图片的工程曾经出现过的问题及解决思路进行整理#xff0c;便于日后出现类似问题能够快速处理。也指出为什么前文在FIFO IP设计时为啥强调深度的重要性。 1、问题 当工程综合完毕之后#xff0c;下载到板子#xff0c;连接以太网口#xff0c;相关硬件如下…  本文对以太网传输图片的工程曾经出现过的问题及解决思路进行整理便于日后出现类似问题能够快速处理。也指出为什么前文在FIFO IP设计时为啥强调深度的重要性。 1、问题 当工程综合完毕之后下载到板子连接以太网口相关硬件如下所示 图1 硬件平台 PC向开发板发送ARP请求和回显请求通过Wireshark软件都能抓取开发板的应答数据报文证明以太网链路畅通。 图2 arp请求和回显请求 之后通过网络调试助手向开发板传输图片数据当图片传输完毕后显示器上显示的界面如下图所示。 图3 显示器显示图片 为了对比下图是显示器需要显示的图片上图中部分左侧的像素显示在了显示器的右边。 图4 显示器需要显示的图片 2、分析 由于上位机是将一张图片的像素数据依次传输给开发板的每行像素并没有其实标志只能通过像素的个数来判断像素位于哪一行。上位机是别人开发一直在用的应该不会出问题那么应该就只会存在一种问题会导致这种结果。 在FPGA接收上位机的数据后像素显示在显示器上之前应该是丢失了部分像素导致剩下第一行的像素数据不足以在显示器第一行显示就取了第二行部分数据显示在第一行的后侧然后第二行取了第三行的部分像素最终导致最左侧的画面显示在了显示器最右侧。 现在问题在于确定那段程序出现问题导致数据丢失。首先可以使用Wireshark软件抓取上位机传输的图像数据然后通过ILA抓取开发板接收的上位机图像数据对比数据是否一致。 之后进一步使用ILA抓取从写FIFO存入DDR3的MIG IP的数据是否正确以及MIG IP输出的读取DDR3的数据是否正确如果前面均没有问题那么就需要抓取读FIFO输出的数据是否与以太网接收的数据一致进而排查每个阶段的数据正确性从而定位到问题的具体位置。 3、实际调试 首先将工程中的ila0和ila1注释打开抓取以太网接收并且存入DDR3读写控制模块的写FIFO的相关信号ila1抓取读、写MIG IP的相关信号进而确认以太网接收和写DDR3、读DDR3过程中是否出现问题之所以不将ila2注释打开是因为资源不够。 然后打开wireshark软件运行ila网口调试助手发送数据之后抓取开头数据进行分析即可。Wireshark为了方便查看发给开发板的数据报文建议使用ip.addr 192.168.1.10对报文进行筛选结果如下 图5 wireshark抓取报文 由于采用巨型帧传输的UDP报文长度为8192字节每个报文是显示器4行的图像数据。开头数据为128’h4438_4438_3c38_33f6_2bb6_2bd6_33f7_33f6。 图6 Wireshark抓取数据 然后查看第一帧最后的128位数据为128’h0294_0294_0294_0294_0294_0294_0274_0273前文分析过这个问题是因为后面的行最后几个数据用来下一行前几个数据导致的如果程序出现问题那么第四行的最后几个数据肯定不是上述这128位像素数据。 图7 Wireshark抓取数据 下图是ILA0抓取的第一帧数据的开始部分紫色信号是开发板以太网接收模块输出的数据与图5的开始部分一致没有问题。橙色信号是将以太网的8位数据拼接为16位数据存入DDR3的写FIFO中依次存入的数据为16’h4438、16’h 4438、16’h 3c38、16’h 33f6、16’h 2bb6、16’h 2bd6、16’h 33f7、16’h 33f6也没有问题。 图8 以太网接收模块第一帧开始数据 下图是抓取的第一帧数据结束位置的时序与图6发出的数据依旧一致结尾最后128位数据依次是16’h 0294、16’h 0294、16’h 0294、16’h 0294、16’h 0294、16’h 029、16’h 0274、16’h 0273。证明以太网接收到存入DDR3写FIFO中的数据是没有问题的。 图9 以太网接收模块第一帧结束数据 然后需要确认写入DDR3中和读出DDR3的数据是否有问题首先ILA1抓取写入DDR3第一行图像数据的开始时序如下图所示写入第一行的开始数据与图5最开始发送的128位数据一致证明开始写入数据的位置没有问题。 图10 抓取写入DDR3的第一行开始数据 由于wireshark发送一个报文显示器需要显示4行因此这里需要使用ILA抓取第4行的结尾128位数据与wireshark发送第一个报文的最后128位数据进行比较。 下图蓝色方框的数据就是黄色光标处的数据与图6最后发送的128位数据保持一致存入地址为4088的DDR3中。由此证明写入到DDR3的数据也是没有问题的。 图11 抓取写入DDR3的第四行结束数据 想要抓取从DDR3读出的数据需要等待以太网发送完一帧数据才会从DDR3中读出数据进行显示。之后需要利用一下读FIFO复位指示信号抓取复位之后的一段数据就可以抓取从DDR3中读出的第一行数据。 如下图所示当一帧图像开始显示时会先复位读FIFO读FIFO复位完成之后从DDR3起始地址读出数据存入读FIFO中。DDR3读数据会滞后读指令一段时间如下图蓝色方框所示显示从DDR3地址0读出的数据与图5上位机起始发送的128位数据一致。 图12 抓取读出DDR3的第一行开始数据 由于DDR3输出数据会滞后读指令一段时间就导致状态机在发送完读指令后回到空闲状态由于DDR3中一行数据还未全部数据读FIFO中的数据小于一行数据个数此时状态机会继续跳转到读状态在从DDR3中读取一行数据抓取的时序图会显示FIFO复位之后会连续读取2行数据到FIFO中。 图13 读FIFO复位后连续两次读 这个逻辑起始没法避免这是因为DDR3本身硬件决定的避免的方法可能有两种一种把读FIFO中存储数据的阈值减小另一种就是对读出的数据个数进行计数直到读数据与读指令个数一致时才判断读FIFO数据个数是否达到指定数据。但是这两种逻辑就会使程序复杂另一种方式就是增加FIFO容量使FIFO能够存下两行数据这是为什么最开始将FIFO深度设置为2048的原因。 图14 状态机跳转 然后通过调节HDMI刷新第2行数据时查看DDR3输出的第四行结尾数据与上位机图6发送的结尾数据是否一致如果一致则说明读DDR3的时序也是没有问题的。 下图蓝色方框的数据就是红色方框DDR3地址读出的数据与图6结尾发送的128位数据一致由此证明从以太网接收数据然后将数据存入DDR3最后读出DDR3数据的整个过程都是没有问题的。 图15 抓取读出DDR3的第四行结束数据 之后将ila0和ila1注释掉打开ila2的注释抓取读FIFO读侧相关信号查看读出的数据是否一致。 首先第一行数据显示时的从FIFO读取数据的时序如下图所示开始读出的128位数据与图5上位机发送的128位数据还是一致的证明刷新的起始位置并没有问题。 图16 刷新第零行从读FIFO读出8字节数据 然后抓取第3行刷新时结尾的128位数据如下图所示明显红色方框的数据才是图6中上位机第一帧结尾的数据而紫红色的8字节数据更像是一行数据的起始数据。 图17 刷新第三行从读FIFO读出8字节数据 由此证明是读FIFO有问题写入读FIFO的4行数据没有问题但是读出的四行数据时最后一行数据缺少了8字节数据可能是FIFO溢出导致的。 一行数据包含1024个像素点而读FIFO深度设为2048即使FIFO复位后会马上存入两行数据到读FIFO中也不会导致FIFO溢出吧。 然后回到图14最开始读FIFO应该存入两行数据但是图16开始时读FIFO中却只有2038个数据并不是2046个数据因此确定是FIFO溢出了。 图18 开始读FIFO数据时FIFO中的数据 在回到FIFO配置界面发现将深度设置为2048时该FIFO只能存储2040个数据会丢失8个数据这就与图15抓到缺少8字节数据的结果对上了。 图19 FIFO实际深度 之后将FIFO深度改为4096然后将FIFO深度相关信号位宽进行修改顶层位宽修改为9位之后重新综合就解决问题了。再次传输图像数据进行显示的结果如下问题得到解决。 图20 显示图片 4、总结 结果就是因为FIFO深度设置问题没有关注FIFO实际深度最后导致这种问题的出现。但是整个调试思路没有任何问题适用于所有的工程。 遇到问题之后首先应该仔细分析出现这种现象可能出现的原因然后去通过上位机辅助软件和ILA等在线调试工具去抓取开发板的关键信号从而排除或者确定猜想最后定位到问题根本原因解决并总结问题避免下次设计时在出现类似问题就行了。 最后需要本次工程文件在公众号后台回复“FIFO深度问题”不包括引号即可获取该工程文件便于复现。 如果对文章内容理解有疑惑或者对代码不理解可以在评论区或者后台留言看到后均会回复 如果本文对您有帮助还请多多点赞、评论和收藏⭐您的支持是我更新的最大动力将持续更新工程
http://www.zqtcl.cn/news/315794/

相关文章:

  • 云速成美站做网站好吗汕头制作网站
  • 搜狗搜索网站提交入口在哪里做卖车网站
  • 河南省百城建设提质网站新人怎么做电商
  • 建设机械网站制作创建个人网站教案
  • 无锡网站推广装修风格大全2023新款
  • 在线设计logo免费网站如何在网站上添加qq
  • 高端网站建设哪里好网站建设与管理案例教程
  • 云南专业网站建设上海百度移动关键词排名优化
  • 如何搭建一个完整的网站wordpress 小程序开发
  • 外贸网站建设关键点为网站网站做代理被判缓刑
  • 网站免费正能量小说台州百度关键词优化
  • 保定自助建站做静态网站
  • 旅游网站对比模板免费招收手游代理
  • phpstudy网站建设教程wordpress破解管理员帐号
  • 商务网站规划与建设心得北京小程序制作首选华网天下
  • 果洛电子商务网站建设多少钱公司网站建设选什么服务器
  • 莱芜做网站公司网站建设表单教案
  • 建设酒类产品网站的好处遵义网站制作费用
  • 高端网站设计价格wordpress登录下载附件
  • 国内有名的网站设计公司wordpress缓存插件比拼
  • 网站的建设和推广直播营销策划方案范文
  • 做购物平台网站 民治百度导航地图下载
  • 东莞市主营网站建设服务机构青岛建站公司电话
  • 做网站技术wordpress漂亮手机网站模板下载
  • 网站怎么更新网页内容网络推广怎么找客户
  • 如何编写网站建设销售的心得适合装饰公司的名字
  • 有什么免费建网站网站pr查询
  • flash+xml网站模板简述网站制作的一般流程
  • 成都私人做网站建设怎么切页面做网站
  • 聊城做网站的公司论坛外链代发