草庐IT

【正点原子FPGA连载】第三十一章基于lwip的echo server实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

第三十一章基于lwip的echoserver实验随着物联网的兴起,万物互联需要一个强大而又灵活的协议体系,TCP/IP协议得天独厚,而在嵌入式网络设备中,由于硬件资源的限制,需要特殊的实现方式。LWIP作为TCP/IP协议的一种轻量级实现方式,满足了这一要求。本章我们利用VITIS软件自带的lwIPEchoServer例程模板,初步了解lwip的使用。本章包括以下几个部分:3131.1简介31.2实验任务31.3硬件设计31.4软件设计31.5下载验证31.1简介1)TCP/IP协议简介TCP/IP协议中文名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、In

FPGA实现简易的自动售货机模型

文章目录前言一、系统设计1、模块框图2、状态机框图3、RTL视图二、源码1.蜂鸣器驱动模块2.按键消抖模块3、PWM模块4、sale_goods模块(状态机部分)5、数码管驱动模块6、Sales(顶层模块)三、效果四、总结五、参考资料前言环境:1、Quartus18.12、vscode3、板子型号:EP4CE6F17C8N要求:自动售货机功能:1.两个按键用于投币,1个1元,1个5角2.一个按键用于商品选择,农夫山泉2块,干脆面1块53.找零设计:我们选择使用四个按键,分别用于投币一元、五角、商品选择、结算四个功能。用六位数码管进行展示,高两位表示投币金额,中间两位表示所选商品类型('10’表

FPGA优质开源项目 – PCIE通信

本文介绍一个FPGA开源项目:PCIE通信。该工程围绕Vivado软件中提供的PCIE通信IP核XDMAIP建立。Xilinx提供了XDMA的开源驱动程序,可在Windows系统或者Linux系统下使用,因此采用XDMAIP进行PCIE通信是比较简单直接的。本文主要介绍一下XDMAIP核的使用和Vivado工程的源代码结构。文章末尾有该工程源码获取方式,有需要的小伙伴可自取。希望小伙伴们点赞、分享支持一下~一、软硬件平台软件平台:Vivado2017.4;硬件平台:XC7Z035FFG676-2;二、IP核参数配置​2.1XDMAXDMA(DMASubsystemforPCIExpress)是

基于FPGA的2ASK、2FSK、2PSK的调制解调

文章目录前言一、顶层原理图二、signalTapII上的仿真图三、部分代码贴出总结前言这是自己的毕设总结,主要就是基于FPGA的调制解调器的设计。涉及到2ASK、2FSK、2PSK的调制解调,利用VerilogHDL进行底层设计,顶层为了直观用的原理图方法。这里没有用modelsim仿真,直接上板子用的signalTapII观测的波型一、顶层原理图该总体框图包括分频器、载波生成模块、m序列生成模块、调制解调模块和选择模块。二、signalTapII上的仿真图2ASK用的解调方法是包络检波法,以上是各节点的波形图。2FSK用的解调方法是过零检测法,以上是各节点的波形图。2PSK用的解调方法是相干

RK3588+FPGA+Cameralink高速相机解决方案

1.视频接入,其中可见使用LVDS,红外使用cameralink2.H264低倍率压缩编码本地存储3.H264压缩使用同步422接口或者网口UDP协议输出实时码流4.使用串口进行通讯,进行类似于可见、红外或者激光器或者地面控制软件等之间的通讯5.使用网络连接基于UDP协议的通讯控制6.集成相关光电载荷常用算法    a.目标定位、目标测速测向    b.目标跟踪    c.动目标检测    d.电子稳像    e.目标检测    f.......7.预计添加伺服控制算法,采用spi或者串口等接口接入编码器、陀螺等数据,进行伺服控制(下一阶段完成) RK3588+FPGA高速图像处理通信处理机解

FPGA_学习_04_Verilog基础语法和Modelsem仿真

前言:对于以前学过C/C++/C#的作者来讲,Verilog的基础语法算是特别简单的。本文主要介绍Verilog的基础语法和Modelsem仿真。Verilog的基础语法1模块声明FPGA开发是以模块为基础的,每个可综合的.v文件都是一个模块,模块由module和endmodule来声明。在这两个关键字的内部,完成模块功能的实现。在Vivado的一个空项目中,新建一个.v源文件,会自动生成以下代码(我把多余的注释删除了)`timescale1ns/1ps //这行以后代码经常会见,表示时间单位是1ns,精度是1psmoduleverilog_base( //module模块名( ... //

基于ARM+FPGA (STM32+ Cyclone 4)的滚动轴承状态监测系统

状态监测系统能够在故障早期及时发现机械设备的异常状态,避免故障的进一步恶化造成不必要的损失,滚动轴承是机械设备的易损部件,本文对以滚动轴承为研究对象的状态监测系统展开研究。现有的监测技术多采用定时上传监测数据,在滚动轴承整个寿命周期内上传的大部分数据为正常运行数据,造成资源的浪费。本文针对滚动轴承生命周期进行分析,根据滚动轴承退化阶段在整个寿命周期占比低的特点,提出了一种滚动轴承状态监测系统。该系统对滚动轴承实时监测,在滚动轴承异常时上传采集数据,并根据状态监测系统的需求设计了监测装置。2.2滚动轴承故障诊断方法目前有关滚动轴承状态监测与故障诊断方面的研究大部分采用的是振动信号数据,振动分析法

FPGA:三大协议(UART、IIC、SPI)之SPI

摘要:1、本文介绍SPI物理层面连接(通过哪几条线通信),2、本文介绍SPI时序(通过哪种方式进行器件之间交流)。3、提供主机和从机verilog代码。4、仅供自己参考一、SPI物理层连接(1)有四根线连接:CS_N(片选信号--主机发出)、miso(从机发出,主机接收)、mosi(主机发出,从机接收)、SCLK(时钟信号,主机发出,作为数据传输的参考时钟)。(2)结构图:(3)总结:1、SPI是一种全双工,同步通信总线,需要四根信号线(可用于FLASH器件的控制);2、SPI通信有主从之分,可以实现一主多从或者是一主多从,但是不能实现多主多从,因为从器件只有一根cs_n片选信号线,没办法知道

基于FPGA的串口发送

基于FPGA的串口发送(E/FPGACode/uart_tx_new)一、串口串口简称UART设计的目的是用来发送数据的,因此需要有一个数据输入端口,用来发送这8bit数据。类似于实验中的Ctrl,用来指定亮灭模式支持不同的波特率,所以需要有一个波特率设置端口。类似于计数器实验中的Time如下图所示,本质是把这8位的并行数据通过一根信号线在不同的时刻分别以高低电平一位一位得传出去。并行输入,串行输出以1位的低电平标志串行传输的开始,待8位数据传输完成之后,再以1位的高电平标志传输的结束。数据什么时候发?答:发送开始信号-Send_en一串数据什么时候发送结束?答:发送完成标志信号-Tx_Don