为了完成SAA7111A的初始化,FPGA需要完成I2C控制器的设计。

之前本科的时候初步接触过I2C,但是编写一个Verilog的控制器还是觉得有点难度的。说实话,那时候都无从下手,对实现这样一个协议完全没有思路。后来发现夏宇闻教授的那本经典教材上有关于I2C协议的内容,如获至宝的感觉。书中介绍的是EEPROM的读写控制,但这没有影响,学习了书上的代码,这时心里就有数了。然后参考师兄的代码(原来师兄有这个代码TOT),修改了初始化参数和代码,但是初始化配置一直没有成功。后来借助实验室的逻辑分析仪,抓信号,研究时序,发现了时序问题,不符合I2C协议,最后经过一番调试,终于完成了初始化配置。还是有点莫名其妙的,借助示波器看了几个主要信号输出都没有问题。硬件调试就是这么让人蛋疼,但是调试成功的喜悦也是无法比拟的。

说实话,师兄的代码也是参考夏宇闻书上的,这代码不是很好,比如协议中的应答就没有进行检测,只是让状态机等待了一个时钟,这是不完整的。其实现在再看看代码,我对这协议的实现又没了多少印象,要我现在写一个估计是写不出来的。还是需要不断温习和充电,等有机会再熟悉下,并学习下其他的优秀代码。

转载于:https://www.cnblogs.com/aikimi7/p/3352585.html

视频解码芯片SAA7111A的初始化相关推荐

  1. video-js 删除视频列表中的某个视频后,重复初始化不成功问题(通过ID初始化)

    问题:删除剪辑视频列表中的一个视频后,添加一个视频到列表,然后打开剪辑面板时,播放器video-js初始化失败,使用了浏览器默认的播放器. 原因(猜测):由于ID格式为"videoPlaye ...

  2. MIPI DSI转LVDS东芝TC358775XBG视频解码芯片,RK3399点LVDS屏必备

    TC358775XBG是一颗将MIPI DSI信号转换成single/ dual -link LVDS的芯片,最高分辨率支持到1920x1200. 特征: MIPI接口: (1).支持1/2/3/4 ...

  3. CVBS转BT656/601,GM7150,国产视频解码芯片

    功能 GM7150是一颗CVBS TO DVP功能的桥接芯片,也支持S-Video输入. CVBS RX GM7150支持N制/PAL制的CVBS模拟信号输入. 2 .DVP TX GM7150支持B ...

  4. 观看慕课老师milanlover视频用servlet获取初始化参数+MVC

    新建Index.jsp: <%@ page language="java" import="java.util.*" contentType=" ...

  5. DM6446开发攻略:V4L2视频驱动和应用分析

    针对DAVINCI DM6446平台,网络上也有很多网友写了V4L2的驱动,但只是解析Montavistalinux-2.6.10 V4L2的原理.结构和函数,深度不够.本文决定把Montavista ...

  6. 基于GIO/FVID的DSP视频驱动程序

    随着时代的发展,DSP技术在远程监控.可视电话.工业检测等视频处理领域得到了广泛的应用,对于不同的视频处理系统,会使用不同的视频设备,所以有必要为视频没备设计驱动程序,为高层应用程序提供统一的接口来操 ...

  7. DSP上玩玩视频雨滴检测与消除

    DSP上玩玩视频雨滴检测与消除 用陈年老DSP玩一下潮流的去雨算法 理论介绍 LIP模型 连通域约束 雨滴消除 平台参数 DSP平台图像采集接口 DSP平台视频驱动接口 程序设计 核心算法 实验结果 ...

  8. 基于H.264的嵌入式无线视频监控系统

    http://www.eccn.com/design_2012041214510447.htm 1 引言 对图像监控系统,用户常常对使用环境提出一些特殊需求,他们希望能够监控距离比较远的对象,这些对象 ...

  9. 基于DM642 RAW采集格式的视频驱动开发及应用

    摘 要:为解决C64X系列数字信号处理器(DSP)视频驱动不能应用于原始数据格式(RAW)采集格式的问题,设计了DM642和电耦合元件(CCD)高清传感器的数据传输接口,并分析.修改用于标准格式的视频 ...

最新文章

  1. HDU5863 cjj's string game(DP + 矩阵快速幂)
  2. u-boot编译过程分析
  3. Codis集群的搭建与使用
  4. linux备份用户权限
  5. c# combobox集合数据不显示_VBA与数据库解决方案第9讲:如何打开数据库记录集合,并把所得的数据显示到工作表文件中...
  6. java监听表变化_「Java Web开发」Filte(过滤器)、Listener(监听器)
  7. Linux vsFTPd服务详解——本地用户登录实战
  8. [裴礼文数学分析中的典型问题与方法习题参考解答]4.5.7
  9. hdu 4599 Dice
  10. cruise软件模型,混动仿真模型,IMMD架构混联混动仿真模型
  11. matlab 画x a的直线方程式,matlab画如x=a和y=b这种水平线和垂线的命令是什么,谢谢...
  12. PostGIS空间数据库SRID背景知识 - 地理坐标系(球面坐标系)和投影坐标系(平面坐标系)...
  13. Xtend官方文档——第二部分(一)
  14. 调岗调薪带来的法律风险
  15. 新的一年,那些晴耕小筑要填的坑
  16. 几何光学学习笔记(18)- 5.1光阑在光学系统中的作用
  17. agv机器人无人仓系统-仓库控制模块设计
  18. 全文搜索 full-text search
  19. 工作邮件的若干注意事项
  20. java向MySQL插入当前时间的几种方式

热门文章

  1. python shell的交互模式和文本编辑模式
  2. 修改Linux用户的UID、GID
  3. #pragma pack (n) 惹的祸
  4. ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address   already
  5. SYS_数据访问权限Operation Unit和Ledger的访问设定(案例)
  6. 【原创】关于java中的lock
  7. 转 8天入门wpf—— 第六天 细说控件
  8. JS中URL编码方法的比较
  9. object类型replace掉$、转换成float、运算
  10. 测试面试题集-MySQL数据库灵魂拷问