视频解码芯片SAA7111A的初始化
为了完成SAA7111A的初始化,FPGA需要完成I2C控制器的设计。
之前本科的时候初步接触过I2C,但是编写一个Verilog的控制器还是觉得有点难度的。说实话,那时候都无从下手,对实现这样一个协议完全没有思路。后来发现夏宇闻教授的那本经典教材上有关于I2C协议的内容,如获至宝的感觉。书中介绍的是EEPROM的读写控制,但这没有影响,学习了书上的代码,这时心里就有数了。然后参考师兄的代码(原来师兄有这个代码TOT),修改了初始化参数和代码,但是初始化配置一直没有成功。后来借助实验室的逻辑分析仪,抓信号,研究时序,发现了时序问题,不符合I2C协议,最后经过一番调试,终于完成了初始化配置。还是有点莫名其妙的,借助示波器看了几个主要信号输出都没有问题。硬件调试就是这么让人蛋疼,但是调试成功的喜悦也是无法比拟的。
说实话,师兄的代码也是参考夏宇闻书上的,这代码不是很好,比如协议中的应答就没有进行检测,只是让状态机等待了一个时钟,这是不完整的。其实现在再看看代码,我对这协议的实现又没了多少印象,要我现在写一个估计是写不出来的。还是需要不断温习和充电,等有机会再熟悉下,并学习下其他的优秀代码。
视频解码芯片SAA7111A的初始化的更多相关文章
- I2C通信
项目之前研究了I2C通信协议的实现,完成FPGA对视频解码芯片SAA7111A的初始化配置,设计实现了I2C主机对从机(SAA7111A)32个寄存器的写操作,因此只简单实现了I2C的写时序. 这次重 ...
- (视频) 《快速创建网站》 2.3 WordPress初始化和功能简介
本文是<快速创建网站>系列的第4篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...
- DAVINCI DM6446 开发攻略——V4L2视频驱动和应用分析
针对DAVINCI DM6446平台,网络上也有很多网友写了V4L2的驱动,但只是解析Montavista linux-2.6.10 V4L2的原理.结构和函数,深度不够.本文决定把Montavis ...
- 基于DM642 RAW采集格式的视频驱动开发及应用
摘 要:为解决C64X系列数字信号处理器(DSP)视频驱动不能应用于原始数据格式(RAW)采集格式的问题,设计了DM642和电耦合元件(CCD)高清传感器的数据传输接口,并分析.修改用于标准格式的视频 ...
- html5 播放多个视频。一个接一个的播放
new个video,指定播放列表的第一个视频路径为src.监听end事件,回调里面把video的src改成列表的下一个,再play. 示意代码:var vList = ['视频地址url1', 'ur ...
- Android SurfaceView + MediaPlayer实现分段视频无缝播放
Android当中实现视频播放的方式有两种,即:通过VideoView实现或者通过SurfaceView + MediaPlayer实现. 由浅至深,首先来看下想要在Android上播放一段视频,我们 ...
- IOS开发---视频录制
今天研究了一下使用app录制视频的功能,感觉还是挺简单的.使用了AVFoundation框架,代码比较死,按步骤调用就行. 分享一下今天做的Demo的步骤 一,初始化输入设备,这里涉及到前,后摄像头: ...
- 嵌入式LINUX环境下视频采集知识
V4L2是Linux环境下开发视频采集设备驱动程序的一套规范(API),它为驱动程序的编写提供统一的接口,并将所有的视频采集设备的驱动程序都纳入其的管理之中.V4L2不仅给驱动程序编写者带来极大的方便 ...
- 利用MPMoviePlayerViewController 播放视频 iOS
方法一: @property (nonatomic, strong) MPMoviePlayerController *player; NSString *url = [[NSBundle mainB ...
随机推荐
- 光栅化规则(Rasterization Rules)
光栅化规则不是唯一的,只要能满足在扫描线填充过程中,对于一条分割线两边的像素能够被不重复不遗漏地填充即可. 在gdi3d中目前使用的是下面光栅化规则: xLeft_int=ceil(xLeft-0.5 ...
- Atitit.跨语言反射api 兼容性提升与增强 java c#。Net php js
Atitit.跨语言反射api 兼容性提升与增强 java c#.Net php js 1. 什么是反射1 1.1. 反射提供的主要功能:1 1.2. 实现反射的过程:1 ...
- Atitit。sql2016标准化的规划方案 v3 q2a
Atitit.sql2016标准化的规划方案 v3 q2a 1. Sql标准化的历史3 1.1. Sql92标准4 1.2. Sql99标准4 1.3. SQL:2003为例,它包括以下9个部分 5 ...
- 代码转换工具 Java to C#
http://www.tangiblesoftwaresolutions.com/ (Java 2 C#) http://www.tangiblesoftwaresolutions.com/Produ ...
- Python内置函数之isinstance()
isinstance(object,classinfo)用来判断对象是否为某种数据类型. 例子: >>> isinstance(,object) True >>> ...
- Google Chrome v48.0.2564.
http://www.pcpop.com/doc/1/1819/1819996.shtml 摘要:谷歌浏览器Chrome Stable 稳定版迎来例行升级,新版本号为v48.0.2564.82,上一版 ...
- iOS10开发需要注意的一些问题(转)
兼容iOS 10 资料整理笔记 2016-09-17 判若两人丶 CocoaChina ▲点击上方“CocoaChina”关注即可免费学习iOS开发 原文链接:http://www.jianshu.c ...
- NSCondition(转)
NSConditionLock 继承类NSObject 遵从的协议NSLocking NSObject NSConditionLock 类定义特定的.用户定义的条件锁 协议NSLocking 方法 l ...
- Servlet Cookie 处理
Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...
- onlyoffice 中文支持稳定操作方法
网上的都是抄来抄去,不如我这个简单粗暴: 1. 没装过先安装 sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver2 .查看conta ...