海思CEA-861时序配置
配置时序
在sample中只需要设置为User时序即可,如下图:
用户时序的结构体:
typedef struct tagVO_SYNC_INFO_S
{
HI_BOOL bSynm; /* sync mode(0:timing,as BT.656; 1:signal,as LCD) */HI_BOOL bIop; /* interlaced or progressive display(0:i; 1:p) */HI_U8 u8Intfb; /* interlace bit width while output */HI_U16 u16Vact ; /* vertical active area */HI_U16 u16Vbb; /* vertical back blank porch */HI_U16 u16Vfb; /* vertical front blank porch */HI_U16 u16Hact; /* herizontal active area */HI_U16 u16Hbb; /* herizontal back blank porch */HI_U16 u16Hfb; /* herizontal front blank porch */HI_U16 u16Hmid; /* bottom herizontal active area */HI_U16 u16Bvact; /* bottom vertical active area */HI_U16 u16Bvbb; /* bottom vertical back blank porch */HI_U16 u16Bvfb; /* bottom vertical front blank porch */HI_U16 u16Hpw; /* horizontal pulse width */HI_U16 u16Vpw; /* vertical pulse width */HI_BOOL bIdv; /* inverse data valid of output */HI_BOOL bIhs; /* inverse horizontal synch signal */HI_BOOL bIvs; /* inverse vertical synch signal */
} VO_SYNC_INFO_S;
如SDK中默认的PAL时序:
{0,0,0, 288,22,2 ,720,132,12, 1, 288,23,2, 126,3, 0,0,0}
上面部分属性,与显示通道的总体控制寄存器DHDCTRL(0x205ca000)是对应的。
常用到的属性是如下:
这里u16Vbb在隔行输出时是指顶场垂直消隐后肩,逐行输出时:垂直消隐后肩加垂直脉冲的宽度,单位是行。u16Vfb与u16Vbb对应,指的是前肩,两者加在一起的和应该一个定值的。u16Hbb是水平消隐后肩,u16Hfb是水平消隐前肩,单位为像素,两者加起来的和也应该是为一定的值。所以我们一般可以通过修改这两对值,来实现画面在一定的范围内,在显示器上的上下左右移动。可以通过接口配置,也可以直接修改寄存器(Vbb和Vfb与DHDVSYNC寄存器0x205ca004对应,Hbb和Hfb与DHDHSYNC1寄存器0x205ca008和DHDHSYNC2寄存器0x205ca00c对应)。
u16Bvbb指隔行输出时,底场垂直消隐后肩,u16Bvfb指隔行输出时,底场垂直消隐前肩,单位为行。这里注意,如果是隔行输出,修改了顶场图像的前后肩,则应该对应修改底场图像的前后肩,否则可能出现图像抖动。
以1080i0HZ为例说明个别参数:
底场垂直消隐后肩为垂直消隐+1,底场垂直消隐前肩为垂直消隐前肩,如下图:
垂直的有效行数等于垂直后肩有效行数,水平有效像素数为1920,底场水平有效像素数为 == 水平像素数-空白像素数)/2 + 偏移像素数, 即((1920-280)/2 +88),如下图
2、配置时钟
我们以3531为例,在一些特殊分辨率,像640x480@60,在vo设备中没有支持这个时序,但是HDMI有支持这个时序,所以可以用vo的用户时序来实现,只需要配置好上吗的User 时序和HDMI后,配置相应的vo的时钟。就可以正常输出。
表3-3 Hi3531 PLL 与各功能模块对应关系
这里可以看到,对于VDP模块,是由VPLL0或VPLL1来分配时钟。其中注意的是VPLL1会2分频后作为VDP HD/HDMI源时钟
一、这里,首先需要确认的是,当前的芯片,HDMI 时钟源选择。
例如,跑./sample_vio 0 读取寄存器0x20030038,结果如下:
值为:0x02017cfe
对应的第22位的值为0,所以此HDMI时钟选择,为HD0
对应的第17到19位的值为000,所以此HD0的时钟选择为VPLL1 DIV2时钟
所以如果需要配置的时钟为VPLL1。
二,计算VPLL1各个寄存器的值
Hi3531芯片手册中,表3-4列出了方法,这里我举一个例子
以配置VPLL1 为例,VPLL1 输出FOUTPOSTDIV 的2 分频给VDP 模块。
最终的VO时钟是FOUTPOSTDIV = FOUTVCO / (pstdiv1 x pstdiv2);
FOUTVCO = 24 x (fbdiv + frac / 2^24) /refdiv
pstdiv1、pstdiv2、fbdiv、frac和refdiv的值,都将通过配置进寄存器。
这里,refdiv为分频系数,像在配置VPLL1的时候,文档中写到二分频后作为VDP HD/HDMI源时钟。所以refdiv为2.
FOUTVCO的值有要求,应该大于等于800MHz,小于等于2.4GHz。
而frac一般都配置为0
所以需要进行凑的数,就是fbdiv、pstdiv1 和 pstdiv2。
这三个变量的意义如下:
PERI_CRG4(0x20030010)寄存器的
和PERI_CRG5(0x20030014)寄存器的
由上面的值得知,我们在搭配的时候,pstdiv1 和 pstdiv2的取值范围是0到7.
例如当HDMI需要输出640x480@60的时候,需要的时钟是50.4M,
FOUTPOSTDIV = (24 x (fbdiv + frac / 2^24) / refdiv) / (pstdiv1 x pstdiv2)
50.4M = (24 x (84 + 0 / 2^24) / 2) / (4 x 5)
所以fbdiv = 84、frac = 0、refdiv = 2、pstdiv1 = 4,pstdiv2 = 5.
综上,修改的寄存器值为:
将地址为0x20031010的值修改为0x25000000,
地址为0x20030014的值修改为0x006C2054。
这样就配置出了640x480的时钟。
详细见网址:
https://blog.csdn.net/huangyangquan/article/details/77487626
https://www.cnblogs.com/kongqiweiliang/p/3243610.html
https://wenku.baidu.com/view/331f712ca22d7375a417866fb84ae45c3b35c208.html
海思CEA-861时序配置相关推荐
- 海思hi3516dv300 配置uart3
目前uart3发送和接收正常. 通过Hi3516DV300 专业型 Smart IP Camera SoC 用户指南.pdf文档得到hi3516dv300共有5个串口, 板子卖家给的资料中串口没有标注 ...
- 1.海思项目整理 编译烧录+启动参数+sample编译+bayeRGBYUV+MPP(VB+VI+VPSS)
1.1.2.检测开发板 (4)SecureCRT监视打开,开发板开机,自动挂载到/home/aston/rootfs中 (5)自动加入/mnt中,执行./sample_venc即可 (6)在vlc中输 ...
- 海思HI35xx平台软件开发快速入门之H264解码实例
前言 H264视频编码技术诞生于2003年,至今已有十余载,技术相当成熟,它的优势在于有高的视频的压缩率,利用帧间和帧内预测(Estimation).变换(Transform)和反变换.量化(Quan ...
- 海思3559万能平台搭建:OSD功能的优化
前言: 功能测试的OSD使用还是比较简单的,随便找个位置做个时间戳,背景还是黑色,且只能显示一行,很明显效果并不是那么理想,这里做一个升级,对海思区域叠加的配置以及osd窗口的创建等都在本文一并写 ...
- 海思Hi3531A芯片设备添加测试UART1-3
Hi3531A芯片共有四个uart单元,uart0是调试串口默认是打开的,uart1-3需要重新配置.操作如下. 1.确定内核加载了串口uart驱动程序 可以参考 "hi3531 添加uar ...
- 海思3516D闪屏问题-修复
海思3516D闪屏问题-修复 结论: 闪屏原因: 以前使用错误: 相机还存在问题: ISP调试问题总结 问题:在室内开灯场景下,屏幕闪烁. 问题:图像从暗到亮的时间过长 问题:人脸图像过暗 问题:图像 ...
- 设置海思的HDMI2.0自定义显示时序-Hi3536
Hi3536的SDK定义了一些常见的分辨率,诸如3840X2160@30/1920X1080@60/3840X2160@60等: typedef enum hiVO_INTF_SYNC_E {VO_O ...
- 通过配置NFS使Ubuntu和海思3559A板子共享目录
之前在Ubuntu和海思3559A板子之间来回拷贝文件都是用的scp命令,不是很方便,这里通过配置NFS来实现它们之间共享目录,操作步骤如下: 1. 在Ubuntu上安装NFS,执行以下命令,执行结果 ...
- 海思芯片固件修改工具_地平线X3开发板开箱、固件刷写、环境配置
经过一个多月,我终于抽出时间去写这个系列的文章.很开心可以参加这次地平线举办的开发板体验活动.最开始拿到的是1.1.6版本的工具链以及103版本的镜像,而官方在8月发布了0827的镜像以及1.1.12 ...
- 配置海思开发板的网络(永久修改)
刚拿到的海思开发板(我的是hi3516dv300)里面默认的网络配置通常是不可用的(比如默认的网段跟我们自己的不一样.没法ping通外网等),这时候需要我们修改相关的配置文件. 1.可以先用ifcon ...
最新文章
- 医学图像分类_TauMed:医学诊断领域中的图像分类测试数据扩增
- 【Servlet】ServletContext、ServletConfig对象学习、用户登录系统完善
- POJ 2798:二进制转换十六进制
- c语言辗转相除法求最大公约数_趣味探究:妙法求“最大公因数”,比书上难一点,你敢挑战吗?(适合56年级)...
- anaconda moviepy_Anaconda、Jupyter Notebook安装与使用
- 又一个半成品库 weblog rpc client
- oracle查询不等于1000,解决oracle查询时 in 大于1000的办法
- 印度:10美元电脑与全民免费上网
- 求数列的最大子段和java_十大经典排序算法(Java版本)
- hpm1216nfh驱动程序_惠普m1216nfh打印机驱动
- 一个很好的多代理服务器调度软件-ProxyExpert(绿色软件) - 『 软件使用交流 』 - 赢政天下 - YingZheng.com - Powered by Discuz!...
- C# DIRECTX INPUT 模拟 (鼠标玩FBA街机)
- 利用echarts中的map地图中的中国地图,并使中国地图显示效果为轮廓显示到市级级别效果(真实项目中亲测有效~)
- 哄人必备-女友道歉信生成工具吾爱版
- 对比企业邮箱服务的好处
- iOS APP上线App Store流程(包括.p12导出)
- 纯html加css象棋棋盘,纯CSS实现的国际象棋棋盘
- 对于计算机学科的认识和一些感想
- C#如何获取本机网络ip地址
- ios删除字符串第一位_ios-删除字符串中的最后两个字符(Swift 3.0)
热门文章
- Day213.讲师详细页、课程列表页面、课程详细页、阿里云视频播放测试、阿里云云视频播放器 -谷粒学院
- Latex排版—(2)基本结构
- 谈一谈曾经的中国互联网吧
- 详述 MIMIC 数据库 26张数据表(二)之 五种字典表
- Loadrunner中几个超时函数的用法
- 继域名解析后------------我的网页进不去了!!!(修复方法)
- android edittext 过滤英文名称,Android 限制edittext 整数和小数位数 过滤器(详解)
- 旧金山大学 计算机,旧金山大学
- ThinkSNS安装手记
- 菜刀php教程,中国菜刀的功能介绍和使用方法(黑站利器与后门利用测试工具)