自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

米联客(milianke)

FPGA开发

  • 博客(36)
  • 收藏
  • 关注

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-26 RS485串口程序收发环路设计

本文主要介绍了使用IP模块和FIFO实现RS485单工通信测试的设计方案,重点讨论了RS485芯片在单工通信方式下的信号控制逻辑设计。RS485驱动芯片SP3485是一款3.3V低功耗半双工收发器,符合RS-485和RS-422串行协议的规范,能够在负载下达到最高10Mbps的通信速度。该设计通过IP模块管理RS485的收发信号,利用FIFO缓冲区实现数据的稳定传输和接收,从而确保通信的可靠性和效率。

2024-07-23 19:03:48 842

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-25 ADC模块FEP-DAQ9248采集显示波形方案

DAQ9248是一款14位双通道20/65MSPS的ADC采集模块,采用ADI的AD9248芯片。方案中,利用示波器显示驱动,将DAQ9248采集的数据实时显示在屏幕上。系统框图显示,数据通过前面的测试程序进行改进,使用从ADC采集的数据。硬件电路分析和数据模式设置部分详述了AD9248的引脚定义、工作模式和数据格式配置。最后,文章展示了硬件接线和测试结果,表明FPGA能够有效地同步并显示ADC采集的波形数据。本方案通过FPGA实现了低成本、高效的波形数据采集和显示,适用于多种应用场景。

2024-07-23 18:55:10 374

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-24 基于FPGA简易示波器显示驱动设计

本文研究了基于FPGA的简易示波器显示驱动设计。该设计旨在通过FPGA内部资源实现实时采集的波形数据在显示器上的直观显示,具有较低的成本和实用价值。设计中采用了BRAM来存储有效数据点,并通过数据比对的方式仅输出有效数据点到显示器上,以最少的FPGA资源完成示波器的功能。示波器的设计结构包括波形显示部分,通过给出波形时钟、数据有效和波形数据信号来实现波形的简单展示。未来计划进一步升级完善该示波器IP,使其具备更复杂的功能。

2024-07-22 19:51:34 599

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-23 RGB转HDMI显示方案

本实验旨在通过FPGA内部资源实现HDMI协议,使用HDMI直接驱动显示器,实现成本低廉、支持1080P@60fps的视频输出。实验中采用VTC模块生成视频时序,TPG模块生成测试图形,仅通过HDMI接口显示图像,不传输音频。HDMI传输包括视频数据、控制数据和一些数据包,由四组TMDS通道组成,HDMI发送音频和视频信号使用同一条线材,简化了系统线路的安装难度。HDMI Transmitter设计最高支持1080p60显示分辨率,包含协议层、EDID接收模块,并支持两路音频输入、RGB444和YUV444

2024-07-22 19:41:19 651

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-22 TPG图像测试数据发生器设计

视频时序控制器(VTC)是FPGA图像和视频方案中的关键模块,用于生成视频时序信号。本实验中,我们学习了如何通过VTC模块驱动视频显示,实现彩条、渐变、纯色和棋盘格等测试图案的RGB数据序列化显示。VTC模块通过行、列计数器和同步信号控制视频数据的有效显示区域,确保图像稳定和清晰。此外,视频测试模式发生器(TPG)模块则负责生成不同颜色和样式的测试图案,为视频数据通路的测试提供基础。整个系统包括VTC、TPG和用户控制模块,通过协同工作实现对显示器和视频处理器功能的全面验证和测试。

2024-07-19 19:08:08 783

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-21 VTC视频时序控制器设计

Video Timing Controller (VTC) 是 FPGA 图像和视频方案中用于产生视频时序的控制器。本课以 VGA 为切入点,介绍视频传输的基本知识和相关概念,以及视频时序控制器的相关内容。显示器技术经历了从黑白 CRT 到 MicroLED 的飞跃,显示画质不仅依赖于显示器本身,还与视频接口息息相关。常见的视频接口包括 CVBS、S-Video、VGA 和 DVI。

2024-07-19 18:59:10 1062

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-20 读写I2C接口的RTC时钟芯片

利用I2C总线控制器对RTC时钟芯片DS1337进行读写访问,以验证设计的I2C控制器的可靠性。这节课基于已编写的I2C控制器应用展开,侧重于实际应用,不再提供RTL级别的仿真结果,而是直接通过控制器访问DS1337芯片。在进行本实验之前,先确保已完成前面的实验,包括掌握了相关知识。这段内容强调了实践应用的重要性,为读者提供了一个轻松学习的机会,并为进一步探索I2C总线控制器的功能和性能打下基础。文章的重点在于实际操作和验证,让学习者通过与DS1337芯片的互动更好地理解和运用所学的知识。

2024-07-18 19:09:09 1080

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-19 读写I2C接口EEPROM实验

本文介绍了米联客I2C Master控制器的实现原理和功能。文章开始强调使用该控制器实现后续涉及的I2C总线相关内容,同时指出本实验使用该控制器对EEPROM进行访问。在这之前,读者需要完成一些前置实验,包括modelsim的安装、TD库的编译,以及通过do文件启动仿真。EEPROM作为一种带电可擦可编程只读存储器,与传统ROM不同之处在于它可以多次擦除和编程,并且在掉电后数据不会丢失。文章还提及了EEPROM的发展过程,从最初的ROM发展到目前的EEPROM,突出了其特殊的存储特性和应用前景。

2024-07-18 18:55:26 1085

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-18 I2C MASTER控制器驱动设计

本文讨论了I2C Master控制器的系统框图和关键信号,包括I2C操作请求、总线忙指示、时钟分频器、发送和接收移位模块等。通过SCL时钟和I2C状态机控制SCL和SDA的输出逻辑和时序。文章还介绍了状态机设计和总线错误指示模块。总的来说,文章主要涵盖了I2C通信协议的工作原理和关键部件的功能。

2024-07-17 17:21:39 828

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-17 I2C通信协议原理

I2C总线是一种广泛应用的通信接口,可用于配置寄存器、EEPROM等操作,同时支持连接多种外设。其特点包括低速器件访问时节省IO资源、简便的标准总线接口以及OC开路、支持双向传输的特性。I2C总线由SDA(串行数据线)、SCL(串行时钟线)和上拉电阻组成,物理连接简单。在I2C总线上可以挂载多个主设备和从设备,支持多主控,任何能进行发送和接收的设备都可以成为主总线。每个主控在任何时间点上只能有一个,控制信号传输和时钟频率。

2024-07-17 17:06:51 863

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-16 SPI LOOP环路实验

本文对SPI收发驱动进行环路测试,通过仿真及在线仿真验证SPI的收发应用。实验在前面课程的基础上进行,要求完成TD软件安装、modelsim安装和TD库编译,掌握modelsim通过do文件启动仿真。实验目标包括实现UART串口发送控制器设计、在主程序中调用串口发送控制器发送字符“HELLO FPGA”、编译并使用chipwatcher观察芯片内部信号。SPI收发环路简介:主机通过MOSI数据线发送数据,从机通过MISO返回数据,收发同时进行,数据按最高位先移出,传输可持续任意时钟周期

2024-07-16 15:40:32 937

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-15 SPI接收程序设计

SPI(串行外围设备接口)通信协议是一种广泛应用于各种设备的高速、全双工、同步通信总线。其驱动程序设计围绕SPI_CLK和SPI_RX接收数据总线的时序展开,支持四种工作模式:CPHA=0 CPOL=0、CPHA=1 CPOL=0、CPHA=0 CPOL=1和CPHA=1 CPOL=1。其中,CPHA决定接收器的数据采样时钟位置,CPOL则设置SPI_CLK的初始电平。SPI协议在硬件设计中非常重要,特别是在需要高速和可靠性的应用中,例如FPGA的配置和外围设备的通信。

2024-07-16 15:22:45 970

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-14 SPI MASET发送程序设计

SPI的驱动程序设计围绕SPI_MOSI和SPI_SCLK展开,支持四种情况:CPHA=0 CPOL=0、CPHA=1 CPOL=0、CPHA=0 CPOL=1和CPHA=1 CPOL=1。CPHA控制接收器的采样时钟位置,CPOL设置SCLK的初始电平。发送驱动程序包括时钟分频器、数据控制器、并串移位模块、CPOL和CPHA控制。系统时钟通常较高,SCLK需要通过分频器产生。当spi_en拉高启动传输时,clk_div开始计数并在计满后清0,SCLK模块支持CPOL=0空闲状态输出低电平。

2024-07-15 15:59:47 984

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-13 SPI通信协议原理

SPI(串行外围设备接口)通信协议是一种高速、全双工、同步通信总线。它通过四根管脚实现控制和数据传输,广泛应用于EEPROM、Flash、RTC、ADC、DSP等设备,是一种重要的低速通讯协议。SPI协议具有高速、全双工、同步、主从式等特点,接口速度最高可达上百兆,因此不仅适用于低速设备,也能用于高速串行外设通信。例如,FPGA的配置FLASH可以支持100Mbps以上。SPI Master(主设备)通过发送时钟信号(SCLK)同步数据传输,决定通信速率。

2024-07-15 15:37:04 961

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-12 串口程序收发环路设计

本文介绍了通过 FPGA 实现 UART 串口通信的双向数据传输。前几节课中,我们成功测试并实现了 FPGA 向 PC 主机发送“HELLO FPGA”信息的功能,PC 主机显示接收成功。然而,目前的串口接收程序仅通过模拟仿真进行验证,尚未在实际硬件上测试。本文进一步提出了将 UART 接收程序和发送程序连接起来的方案,使得 FPGA 能够接收从 PC 端通过 USB 发送的数据,并将接收到的数据再通过发送程序返回给 PC 机,实现双向通信的完整功能。

2024-07-14 11:00:00 786

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-11 UART串口接收驱动设计

本文介绍了 UART 通信的原理及其在 FPGA 上的实现方法。UART(通用异步收发传输器)是一种广泛应用的串行异步通信方式,常用的接口标准包括 RS-232、RS-422 和 RS-485。文章详细描述了 UART 串口发送控制器的设计过程,并通过 FPGA 实现了发送字符“HELLO FPGA”的功能。实验步骤包括完成 ModelSim 软件的安装及 TD 库的编译,掌握仿真环境的设置和使用 do 文件启动仿真。随后,通过 ModelSim 进行仿真验证,并将编译后的程序固化到 FPGA 上进行验证

2024-07-14 10:00:00 597

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-10 UART串口发送驱动设计

本文介绍了 UART 通信的原理及其在 FPGA 上的实现方法。UART(通用异步收发传输器)是一种广泛应用的串行通信方式,本文详细讲解了如何设计 UART 串口发送控制器,并通过 FPGA 实现字符“HELLO FPGA”的发送。实现过程中涉及波特率发生器、发送使能模块和移位模块等关键组件。实验前需确保完成 ModelSim 软件安装及 TD 库的编译,并掌握仿真环境的设置和仿真启动方法。最终,通过 ModelSim 进行仿真验证,并将编译后的程序固化到 FPGA 上进行实际验证。

2024-07-14 09:00:00 735

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-09 UART串行通信协议介绍

UART(通用异步收发传输器):用于串行数据的发送和接收,适用于短距离、低速率的通信。RS-232:规定了电气特性和物理特性,广泛应用于传统计算机和外设间的通信。RS-422:改进了 RS-232,支持单机发送、多机接收的平衡传输,适用于更长距离和更高速度的通信。RS-485:采用半双工工作方式,支持多点数据通信,具有较强的抗干扰能力,适用于复杂网络结构。此外,本文还讨论了在高速数据传输中使用锁相环(PLL)进行时钟恢复以补偿延迟,确保数据传输的稳定性和可靠性。总结了各种通信协议的优缺点及其适用场景,

2024-07-13 17:48:15 1050

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-08 FPGA多路分频器实验

本文介绍了如何使用 Verilog 代码设计分频器电路。分频器的工作原理是通过计数输入时钟的上升沿或下降沿,根据预设的分频数控制输出信号的高低电平翻转,从而将高频输入信号转换为低频输出信号。根据分频比例(晶振频率/分频后频率)的不同,分频器分为偶数分频器和奇数分频器。本文详细演示了这两种分频器的设计方法。

2024-07-13 17:14:27 746

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-07 FPGA按键消抖实验

本文探讨了按键消抖的原理与实现方法。按键是电子设计中常见的元器件,但在按键闭合或松开的瞬间会产生一连串的抖动,这种抖动会影响系统的稳定性和响应灵敏度。因此,必须进行消抖处理。文章详细介绍了机械按键的构造与原理,并设计了具体的按键消抖方案。在进行本实验前,建议读者确保已经完成前面的实验,并掌握以下能力:完成 TD 软件安装。

2024-07-13 17:12:33 1098

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-06 PWM呼吸灯实验

本文介绍了如何在 FPGA 控制主板上实现呼吸灯,通过 PWM(脉宽调制)技术调节呼吸灯的亮度,模拟呼吸灯的2秒亮灭周期。文章提供了一个可实操的小程序,读者可以自行编写代码并通过仿真测试代码的正确性,最终将代码下载到开发板上观察实际运行效果。在开始实验前,建议确保已完成前置实验,特别是掌握 ModelSim 的使用。这些基础知识和技能将帮助读者更好地理解和实现PWM技术在不同领域的应用,包括测量、通信和功率控制等。

2024-07-13 16:04:26 919

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-05 FPGA流水灯实验

流水灯以及 Helloworld 实验是初学者首次接触编程时必做的实验,通过完成这些实验,编程者能够初步掌握编程工具的使用和基本的编程能力,象征着进入编程世界的第一步。在开始流水灯实验之前,需确保已完成前置实验,包括完成 modelsim 的安装及 TD 库的编译,并掌握通过 do 文件启动仿真的方法。本实验的主要目的是掌握流水灯的实现。

2024-07-13 15:53:21 587

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-04 安路TD开发工具在线调试FPGA

本节旨在教程如何使用ChipWatcher在线逻辑分析仪来监测电路内部信号的变化情况。通过ChipWatcher,用户可以添加多个信号,并设置采样时钟、采样深度、触发条件等参数,然后重新编译、下载和触发,即可查看指定条件下的信号变化情况。该工具能够提高开发效率并发现潜在的设计问题。

2024-07-12 19:55:35 526

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-03 安路TD结合modelsim仿真

本文旨在引导读者掌握在FPGA开发中利用ModelSim进行代码仿真的重要性和步骤。详尽的测试条件有助于提前发现设计隐患,因此对于初学者而言,在实现功能表面之外,严谨地进行代码仿真验证是至关重要的。在实验中,需要预先安装ModelSim软件版本为modelsim-win64-10.6d-se。实验目的包括掌握ModelSim如何编译TD的FPGA库、设置ModelSim仿真、以及从TD调用ModelSim的仿真方法。具体步骤涵盖了在ModelSim安装目录下新建文件夹、编译仿真库等操作。

2024-07-12 19:45:08 1021

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-02 使用安路TD开发工具创建FPGA工程

本文主要介绍了如何在FPGA项目中新建代码文件、添加PLL IP核、调用PLL、添加约束文件、工程编译以及下载演示的步骤。通过新建FPGA代码文件并添加PLL IP核,可以实现对FPGA的功能扩展和调用。同时,通过添加约束文件,可以对FPGA的引脚和时序进行约束,确保项目的正确性和稳定性。最后,通过工程编译和下载演示,可以将设计好的FPGA项目烧录到实际硬件中并进行验证。整个流程清晰明了,有助于开发者快速上手FPGA项目的开发和调试工作。

2024-07-12 15:20:42 794

原创 [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-01 软件工具环境搭建

本章节重点介绍软件工具环境的搭建,主要包含了安装编辑器VSCode,安路开发工具TD和FD安装介绍,第三方编辑工具设置,以及安路下载器JTAG驱动安装

2024-07-10 18:05:35 1045

原创 米联客FDMA IP在安路FPGA上实现DDR视频缓存(带源码)

如下图所示,从MIPI IP出来的数据,每4个时钟拼接为64bit写入到uidbuf IP的FIFO中,而uidbuf IP中FIFO的读端口数据位宽为512bit(AP102的DDR的内部数据位宽是512位),因此需要写入8个64bit的数据才能从FIFO输出512bit的数据,也就是要经过32个MIPI时钟输出的数据到FIFO,FIFO的读端口才能输出一次512bit数据。如果fdma的数据长度大于256,那么当axi_wlast有效的时候,自动计算下次axi的burst地址。

2024-03-11 09:51:56 1696 1

原创 RTL8211D(I)业级网口芯片bsp自适应修改

XILINX官方默认的lwip bsp驱动暂时不支持RTL8211网口芯片,在使用该网口的时候需要自己手动修改库文件以支持该芯片,不同版本工具之间的修改方式大同小异,这边仅以Vitis 2019.2为例。PS端网口以米联客MZU07A board为例:Step1:首先,找到vitis ide安装目录下的LWIP库的路径,将其拷贝一份放到工程目录下:Step2:修改lwip211_v1_1\data\lwip211.mld文件(可用Notapad++等编辑器打开),将其中的版本编号OPTI

2021-04-26 08:30:50 4758 7

原创 米联客 ZYNQ/SOC精品教程 S01-CH07 FPGA多路分频器实验

软件版本:VIVADO2017.4操作系统:WIN10 64bit硬件平台:适用米联客 ZYNQ系列开发板米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!7.1 概述在FPGA中,时钟分频是经常用到的。本节课讲解2分频、3分频、4分频和8分频的Verilog实现,以及如何实现仿真调试。和前面课程采用(*mark_debug = "true"...

2019-08-26 14:25:31 1455 1

原创 米联客 ZYNQ/SOC精品教程 S01-CH06 FPGA按钮去抖实验

软件版本:VIVADO2017.4操作系统:WIN10 64bit硬件平台:适用米联客 ZYNQ系列开发板米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!6.1 概述按键的消抖,是指按键在闭合或松开的瞬间伴随着一连串的抖动,这样的抖动将直接影响设计系统的稳定性,降低响应灵敏度。因此,必须对抖动进行处理,即消除抖动的影响。实际工程中,有很多消...

2019-08-17 16:45:17 1407

原创 米联客 ZYNQ/SOC精品教程 S01-CH05 FPGA程序的固化和下载

软件版本:VIVADO2017.4操作系统:WIN10 64bit硬件平台:适用米联客 ZYNQ系列开发板米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!5.1概述在前面一节做了流水灯实验,但是对于FPGA bit程序断电后就丢失了,所以本课讲解把上一课的流水灯程序可以实现固化到FLASH或者SD卡的方法。5.2什么是固化前面章节内...

2019-08-17 15:27:57 5371

原创 米联客 ZYNQ/SOC精品教程 S01-CH04 VIVADO创建工程之流水灯

软件版本:VIVADO2017.4操作系统:WIN10 64bit硬件平台:适用米联客 ZYNQ系列开发板米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!4.1 概述本章课程以大家熟悉的流水灯为例子,详细讲解了VIVADO软件的使用,包括创建FPGA工程,编写Verilog代码,添加管脚约束,最后编译,下载bit文件到开发板测试。对于初...

2019-08-17 15:15:36 1677 2

原创 米联客 ZYNQ/SOC精品教程 S01-CH03 FPGA设计Verilog基础(三)

一个完整的设计,除了好的功能描述代码,对于程序的仿真验证是必不可少的。学会如何去验证自己所写的程序,即如何调试自己的程序是一件非常重要的事情。而RTL逻辑设计中,学会根据硬件逻辑来写测试程序,即Testbench是尤其重要的。Verilog测试平台是一个例化的待测(MUT)模块,重要的是给它施加激励并观测其输出。逻辑模块与其对应的测试平台共同组成仿真模型,应用这个模型可以测试该模块能否符合自己的设...

2019-08-17 15:00:39 744

原创 米联客 ZYNQ/SOC精品教程 S01-CH02 FPGA设计Verilog基础(二)

2.1 状态机设计状态机是许多数字系统的核心部件,是一类重要的时序逻辑电路。通常包括三个部分:一是下一个状态的逻辑电路,二是存储状态机当前状态的时序逻辑电路,三是输出组合逻辑电路。通常,状态机的状态数量有限,称为有限状态机(FSM)。由于状态机所有触发器的时钟由同一脉冲边沿触发,故也称之为同步状态机。根据状态机的输出信号是否与电路的输入有关分为Mealy型状态机和Moore型状态机。电路的...

2019-08-17 14:52:53 639

原创 米联客 ZYNQ/SOC精品教程 S01-CH01 FPGA设计Verilog基础(一)

1.1 FPGA技术背景大规模集成电路设计制造技术和数字信号处理技术,近三十年来,各自得到了迅速的发展。这两个表面上看来没有什么关系的技术领域实质上是紧密相关的。因为数字信号处理系统往往要进行一些复杂的数学运算和数据的处理,并且又有实时响应的要求,它们通常是由高速专用数字逻辑系统或专用数字信号处理器所构成,电路是相当复杂的。因此只有在高速大规模集成电路设计制造技术进步的基础上,才有可能实现真正...

2019-08-17 14:51:19 3914

原创 XILINX 7系列GTP通信之HDMI视频传输

XILINX 7系列GTP通信之HDMI视频传输软件版本:VIVADO2017.4 操作系统:WIN10 64bit硬件平台:适用XILINX 7系列FPGA(包括A7/K7/Z7/ZU/KU等)米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!1.1概述8B/10B编码是1983年由IBM公司的Al Widmer和PeterFran...

2019-06-27 13:29:54 9473 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除