| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Lattice CrosslinkNx LIFCL-40应用连载5:如何使用MIPI D-PHY硬核IP -> 正文阅读 |
|
[网络协议]Lattice CrosslinkNx LIFCL-40应用连载5:如何使用MIPI D-PHY硬核IP |
作者:Hello,Panda 一、目标配置CMOS Sensor OV9734,并通过MIPI DPHY硬核接收数据。
二、软件设计?本例涉及到使用RISC-V软核,MIPI DPHY硬核,I2C FIFO和MIPI CSI解析层等。软件架构如下图1所示。 ?图1 FPGA软件总体框图 2.1 RISC-V软核软核在propel Builder开发环境中进行例化和配置,如下图2所示,例化了RISC-V软核、本地32KB运行RAM、Ahb2Apb桥、Apb interconnect、GPIO和UART等基础IP,另外自定义一个Apb export IP用于给引出到外部的APB总线分配地址。 ?图2 RISC-V软核配置 2.2 MIPI DPHY硬核Crosslink-NX器件有两个2.5Gbps lane速率的MIPI D-PHY硬核。使用硬核IP MIPI_DPHY(V1.3.0)模组进行例化(注:在Radiant中,不同版本的IP端口相差很大),例化参数如下图3。 图3 例化参数 在本例中,结合OV9734的配置,接口时钟为180MHz,Lane(bus width)数为1,时钟模式为continuous,Gearing Ratio为1:8,模式为包括控制模块CIL。 MIPI硬核在使用前需通过lmmi总线对其内部寄存器进行配置,配置寄存器空间见下图4,详细的寄存器描述请参考官方数据手册,lattice文档编号为:FPGA-IPUG-02061-1.5。 图4 寄存器地址空间 针对本例的D-PHY接口参数,配置值见下图5(请特别注意,虽然在IP生成器里面进行了参数例化,还必须通过lmmi总线向寄存器控制配置正确的值硬核才可正常工作)。 图5 本例寄存器空间配置值 按照之前相关连载文章的示例,编译和在线下载bit文件,运行Lattice Propel下的RISC-V软核C代码配置好OV9734,系统即可正常采集到MIPI输出的图像数据,如下图6所示。 图6 在线调试抓取到的D-PHY硬核输出数据 2.3 CSI层Lattice Radiant开发环境中提供了官方IP,CSI-2/DSI D-PHY Receiver这个IP,内容很全面,但是需要购买付费授权,以熊猫君羞涩的口袋,自然是购买不起,咱只能自己手撸一个针对本例的CSI解析代码,说实在的,做一个能稳定针对特定格式的代码,解析帧头,做一个帧头效验和数据效验,并将其转化为stream格式输出,不难,一会儿就做好了。下图7是在线调试抓取到的CSI-2解析后的数据。 图7 在线调试抓取到的CSI-2层解析后的数据 2.4 Video Bridge该模块将来自CSI层数据按照DT指定的格式拼接并生成标准的视频时序。后端即可接入通用的ISP处理模块进行进一步的算法运算处理。 三、结语因Crosslink-NX集成了2.5Gbps Lane速率的MIPI硬核,因此开发变得像通用处理器一样简单,只要认真阅读手册,很快就能上手出图。另外,针对特定DT格式的CSI层的协议解析也很容易,可以不依赖官方的付费IP,对熟悉的同学们而言,几乎就是一日之功而已。最后,欢迎大家加入QQ讨论群或关注“ZYNQ分享客”微信公众号,共同讨论进步! |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 8:18:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |