HDMI中checksum计算法

在AVI传输过程中有三个字节没有被传输。这是在HDMI1.4B中找到的前三个字节的数据。

>> hex2dec('82')
ans =
130
下图中的数据中在HDMI中接收到的一串数据,最低位A6是校验位,把第一个字节相加,然后再加上前面的三个字节的数据,刚好是512,正好是256的位数,这说明我有猜想是正确的。

166(a6h)+17(11h) + 168(a8h) + 16(10h) =

>> hex2dec('a6')
ans =
166
>> hex2dec('a8')
ans =
168
>> 166+17+168+16 ans = 367
>> 367+145
ans =
512

这是第二组数据


>> hex2dec('b1')
ans =
177
>> hex2dec('28')
ans =
40
>> hex2dec('84')
ans =
132
>> hex2dec('10')
ans =
16
177+40+132+16+2
ans =
367

下面是写的一个Matlab小程序实现校验值求法

function checksum = checksum_128b(varargin)
%%输入是所有字节,输入的每个字节要求为16进制数据
%输出是校验值,校验值是16进制
nVararg = length(varargin);
for i = 1:nVararg
data(i) = hex2dec(varargin(i));
end
sum_data = sum(data); checksum = 256 - mod(sum_data,256 );
checksum =dec2hex(checksum);
以第一个例子来看下
>> checksum_128b('82','02','0d','11','a8','10')
ans =
A6

在应用Altera HDMI IP的过程中,虽然没有提供数据包的Header部分,但是在实际的计算中一定要从HDMISpecification中找到相应的部分,再计算检验码。
比如下面语音数据包的头部分。一开始没用加上Header部分,计算出的结果是E6H,但是与接收到的部分不一样,原来它的计算过程中是添加了Header,正确的结果为57H

|
1
2
3
4
5
6
7
8
9
10
11
12
|
>> checksum_128b('09','11')ans =E6>> checksum_128b('09','11','84','01','0a')ans =57 |
HDMI中checksum计算法的更多相关文章
- HDMI中的AVmute是什么功能
1. HDMI AVMute是HDMI TMDS数据岛周期General Control Packet中的一个标示. 2. AVMute字面意思是Audio Video Mute声音图像消隐,简单来说 ...
- hdmi中深度色彩像素打包
4个色彩像素包模式:24- 30- 36- 48- 不同模式下tmds时钟与与像素的比是位宽与24的比值 . 24 bit mode: TMDS clock = 1.0 x pixel clock ( ...
- HDMI相关知识
HDMI热插拔检测原理 HDMI(19Pin)/DVI(16 pin)的功能是热插拔检测(HPD),这个信号将作为主机系统是否对HDMI/DVI是否发送TMDS信号的依据.HPD是从显示器输出送往计算 ...
- 【转】HDMI控制与组态剖析
HDMI能够称霸为王者之尊吗?目前消费者陷入的困境就是Audio/Video的连接线数量过度庞大,而HDMI最大卖点之一就是可使用单一的连接线完全取代众多的影音连接线,简洁又方便.缺点是技术版本变动太 ...
- 转载: HDMI 基础知识
转自:http://www.cnblogs.com/TaigaCon/p/3840653.html HDMI,全称为(High Definition Multimedia Interface)高清多媒 ...
- HDMI接口与协议
深入了解HDMI接口 一.HDMI接口的工作原理这张图是HDMI接口的架构示意图.从左边的信号源中你可以看到,HDMI接口的信源可以是任何支持HDMI输出的设备,而接入端也可以是任何带有HDMI输 入 ...
- ids & hdmi 原理
http://www.taiwanwebinar.com/zh_TW/STATIC/SITE/dwc_hdmi_tx.pdf http://blog.csdn.net/g_salamander/art ...
- HDMI介绍与流程
HDMI接口 http://baike.c114.net/view.asp?id=17671-21565442 DDC(Display Data Channel)通道用于HDMI发送和接收端之间交换一 ...
- 【转】 HDMI介绍与流程
转自:https://www.cnblogs.com/TaigaCon/p/3840653.html HDMI,全称为(High Definition Multimedia Interface)高清多 ...
随机推荐
- python学习-类属性和实例属性
#类属性和实例属性 class Tool(object): #类属性 total = 0 #静态方法 @classmethod def say(self): print("hello wor ...
- AttributeError: 'WebDriver' object has no attribute 'switchTo'
不在错误中爆发,就在错误中死亡呀. from selenium import webdriver from selenium.webdriver.support.ui import WebDriver ...
- vue 获取组件 和 dom 对象 ref/el
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- iOS.XcodeUsage
1. Customizing Xcode File Templates http://blog.highorderbit.com/2009/03/15/customizing-xcode-cocoa- ...
- linux网卡绑定脚本
2013-08-20 15:30:51 此脚本适用于CentOS5.x和CentOS6.x. #!/bin/bash #**************************************** ...
- UI设计教程分享:PS故障风海报制作教程
1.首先找一张看起来很酷的图(也可以选择自己喜欢的图片): 2. 复制图层,点击添加图层样式,选择混合选项,在高级混合里面的通道选项,有R.G.B三个通道选项,默认是全部勾选的状态,选择其中一个勾 ...
- [Jmeter] Run Command to generate a specific listener’s chart report
Run Command to generate a specific listener’s chart report: Download cmdrunner-2.0.jar : https://jme ...
- ApplicationContext(三)BeanFactory 初始化
ApplicationContext(三)BeanFactory 初始化 上节我们提到容器初始化的第一步首先进行了属性的检验,下面就要开始第二步:进行 beanFactory 的初始化工作了. App ...
- The prefix "mvc" for element "mvc:annotation-driven" is not bound 异常
https://www.cnblogs.com/maodot/p/7531042.html The prefix "mvc" for element "mvc:annot ...
- .net判断当前时间是否在工作时间段内
整理代码,判断当前时间是否在配置的工作时间段内,代码如下: public static bool getTimeSpan(string _strWorkingDayAM, string _strWor ...