FPGA实现索尼传感器subLVDS接口接收(以IMX178为例)

网上关于这方面的文章很少(好吧实际上是没有)。虽然很多厂商提供了IP核,但一来他们是黑盒设计,二来要钱,三来对FPGA芯片有限制。 Github上有个开源的subLVDS接收设计,但是没有文档,然后他用的Xilinx和我Lattice有区别。最后还是只能靠自己摸索了。 本文同步在我的B站专栏发布 理论 索尼subLVDS传输协议 emmm,这个从哪里开始说起…

1评论

(开源)做一个带DDR3内存的Lattice ECP5开发板!(功能验证已通过)

先说明一点,这个板子最初设计的目的是用来驱动IMX178传感器的(更多内容即将到来),也就是想做一个针对应用特化的板子,没有往开发板那方向去想。 不过后面研究了一下,发现扩展性也还说的过去,勉强算个开发板? 另外市面上开源的、带DDR3内存的开源Lattice板子很少,所以打算单独开个文写一写。 和往常一样,该板子的设计全部开源在Github上,地址文末可以…

4评论

搓一个FPGA FM收音机–从仿真到实现

前情提要 前段时间我在b站发了这篇专栏:玩玩八毛钱的有源混频器:IAM81008 文章末尾提到了接下来将转入数字域,完成信号解调。那今天就把这坑给填上 做这块板子的根本目的还是为了完成我的课设,同时学习一些数字信号处理知识。 另外这也是我本人第一次做射频相关的板级设计,其中设计有很多不足。不过第二版已经在规划了,希望不久后能做一个关于此的完整视频。 这也是我…

4评论

由半双工SPI和电平转换器双重debuf带来的奇怪故障

有一AD9643模块,其数字部分电平为1.8V,为了能够跟3.3V电平的主机进行通信,需要使用电平转换器。而又因AD9643的SPI为半双工,因此需要使用一双向电平转换芯片。 为了实现该应用,我们使用德州仪器TXS0108E芯片,注意区分型号,同系列有多个不同功能的转换器。 原理图如下图所示: 在使用过程中,发现SPI一直有误码,导致芯片不能够被正常的配置。…

0评论

让ZYNQ的两个串口UART0和1都可以愉快的printf

序章 在日常使用串口通信的时候,我们更倾向于使用printf来进行各种信息的输出,尤其是当我们需要使用明文传输时,例如驱动一个串口屏,使用printf函数可以大大简化代码的工作量,避免我们使用非常底层的串口发送函数。 在Xilinx SDK中可以使用两种printf函数,一种是包含stdio.h后可以使用的printf,另一种是包含xil_printf.h后…

0评论

【DAQ Systems】高速ADC的HDL设计(一)“触发-采样-传输”系统

【DAQ Systems】异步高速ADC的HDL设计(一)“触发-采样-传输”系统 0. 前言 在接下来的一段时间内,我将结合我的工作内容对数据采集系统(DAQ)进行讨论。 高速ADC是数据采集系统中极为重要的组成部分。在日常的设计中,我们会遇到各种各样不同参数、不同种类的ADC。而本文主要介绍异步高速ADC驱动模块的一种基础思想。 首先,本文主要讨论的是异…

0评论

【Arty-A7填坑笔记】03:为Microblaze定制AXI总线接口的PWM外设

【Arty-A7填坑笔记】03:为Microblaze定制AXI总线接口的PWM外设 0.前言 0.1.自定义IP 上回我们使用了Microblaze软核使用AXI-GPIO驱动LED以及RTL计数器分频驱动LED两种方法完成了点灯。这次我们还是尝试一个玩单片机的保留项目——呼吸灯。 不过呢,暂且不用Xilinx提供的定时器IP,我们使用Vivado的自定义…

0评论

【Arty-A7填坑笔记】02:Microblaze软核与HDL点灯对比

【Arty-A7填坑笔记】02:Microblaze软核与HDL点灯对比 0.前言 在上一期中我们大概了解了Arty-A7板卡的各方面信息并准备好了开发环境,那么现在我们就来尝试一下喜闻乐见的点灯吧。 0.1.为什么要使用Microblaze 对于Arty-A7板卡上搭载的XC7A35T这一纯FPGA(没有嵌入式硬核)来说,最直白的点灯方式就是用硬件描述语言…

0评论