刻蓇铭鑫
工程爱好者
展开
-
FPGA控制AD7606进行数据采集
一、AD7606数据手册 1.ADC采样原理 在实际的工程中,经前端传感器出来的信号基本都是模拟信号,而后端mcu主控芯片是基于数字信号进行处理的,因此需要用到ADC进行模数转换。ADC包括三个基本功能:抽样、量化和编码。抽样过程是将模拟信号在时间上离散化,使之成为抽样信号;量化是将抽样信号的幅度离散化使之成为数字信号;而编码则是将数字信号转换成数字系统所能接受的形式。如何实现这三个功能就决定了ADC的形式和性能。同时,ADC的分辨率(即采样精度)越高,需要的转换时间就......原创 2022-06-09 09:51:33 · 18748 阅读 · 10 评论 -
FPGA与单片机之间的数据通信
一、pandas是什么?二、使用步骤1.引入库代码如下(示例):import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore') import ssl ssl._create_default_https_context = ssl._create_unver...原创 2022-03-28 17:58:09 · 8155 阅读 · 3 评论 -
以太网通信(1)UDP —— 数据发送
目录一、以太网通信简介1.OSI七层模型2.以太网数据包解析3.IP首部校验和计算与检验二、以太网通信实例1.整体实验框图2.发送部分时序图3.实验代码及仿真结果总结一、以太网通信简介 前文我们讲述了多种通信协议(串口、IIC、SPI等协议),而以太网通信是相对比较高速的一种通信方式。目前,以太网是指遵守 IEEE 802.3 标准组成的局域网,由 IEEE 802.3 标准规定的主要是位于参考模型的物理层(PHY)和数据链路层中的介质访问控...原创 2022-02-22 12:52:22 · 6409 阅读 · 0 评论 -
格雷码与二进制之间的转换
一、格雷码简介 格雷码(Binary Gray Code),是指在一组数的编码中,任意两个相邻的代码只有一位二进制数不同,这使得它在递增或递减的过程中,每次只变化一位。但是相对于二进制计数,它也有它的不足,那就是循环技术深度必须是2的N次幂,否则就失去了每位只变化一位的特性。下边给出了深度为16的二进制及格雷码递变表。 Binary Gray 0000 0000 0001 0001 0010 ...原创 2022-01-12 13:31:37 · 6210 阅读 · 1 评论 -
异步FIFO的设计
一、FIFO概述 FIFO,本质上来说还是一个RAM,是一种先进先出的数据缓存器,它主要应用于FPGA中不同时钟域之间的切换、不同位宽之间的数据匹配、数据的缓存等方面,极大提高了数据传输的效率。根据FIFO工作的时钟域分为同步/异步FIFO,同步FIFO是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写;异步FIFO读写时钟不一致,读写相互独立。二、设计原理...原创 2022-01-12 13:29:33 · 1448 阅读 · 0 评论 -
三大通信协议(3)SPI续——基于flash的读操作
一、实例 将任意一个程序下载到FPGA的外部flash芯片中,编写Verilog程序,通过FPGA读取flash中的内容,并将读取的内容通过串口发送出来。本篇是接着上一篇实例,继续完成剩余部分。 下图是整个系统的模块框图: 上一篇文章中已经完成了spi_read模块程序的编写,剩余的按键检测消抖模块和串口发送模块分别在“三大通信协议(2)IIC 续”、“三大通信协议(1)UART”两篇文章中都有说明,这里直接给出程序代码。`timescale 1ns/1n...原创 2021-10-29 11:54:46 · 416 阅读 · 0 评论 -
三大通信协议(3)SPI——基于flash的读操作
目录一、数据手册分析 二、实例总结一、数据手册分析 以黑金的开发板EP4CE6F17C8为核心,外部的flash芯片为M25P16,首先给出M25P16官方手册的时序图。 首先使能信号CS_N拉低,时钟信号上升沿读取MOSI中的数据,下降沿进行数据更新,MOSI先发送一个字节的读指令,然后发送三个字节的地址信号(扇区地址、页地址、字节地址),MISO从该地址中输出存储的数据,紧接着输出下一个地址中的数据,依次输出,直到使能信号CS_N拉...原创 2021-10-29 11:54:10 · 1635 阅读 · 1 评论 -
三大通信协议(3)SPI——flash擦除实验
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结一、知识储备 在编写完Verilog程序后,需要将程序下载到硬件FPGA中进行上板验证,通常有两种下载方式:1.直接生成.sof文件,通过JTAG接口下载到FPGA中,这种方式下载速度较快,操作简单,但是由于它是将程序直接烧录到FPGA内部的SRAM中,因此,断电后程序自动丢失。2.通过转换,将生成的.so...原创 2021-10-28 21:06:23 · 3621 阅读 · 3 评论 -
三大通信协议(2)IIC 续
文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结一、实例 通过外部按键进行输入控制,向EEPROM中写入若干数据,然后再通过外部按键进行读操作,读取EEPROM中写入的数据。本篇文章是继上篇文章后,继续完成控制读写操作模块、按键控制模块和数码管显示模块的编写。总结 初次创作,难免文章中存在错误,希望读者能够及时纠正并给予私信,望大家共同进步!...原创 2021-07-18 10:35:28 · 363 阅读 · 0 评论 -
三大通信协议(2)IIC
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数..原创 2021-07-17 19:16:56 · 4804 阅读 · 0 评论 -
十进制转8421_BCD码
目录一、BCD码简介二、十进制转8421BCD码转换思路三、程序编写四、仿真验证总结一、BCD码简介 BCD码(Binary-Coded Decimal),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,常应用于计算机内部十进制与二进制之间的转换。 BCD码可分为有权码和无权码两类。其中,常见的有权BCD码有8421码、2421码、5421码;无权BCD码有余3码、余3循环码、格雷码。8421码,顾名思义,自高...原创 2021-07-15 10:59:40 · 55328 阅读 · 0 评论 -
三大通信协议(1)UART
文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结一、UART通信协议简介 UART是一种通用串行数据总线,用于异步通信,是一种低速、全双工的通信数据总线,在FPGA中,UART常应用于PC与FPGA之间的慢速通信。UART有tx(发送数据线),rx(接收数据线)两条数据传输线,因此是一种全双工的通信模式。在通信的过程中,双方需要事先约定好通信速率,UART常用的通信速率为9600bite/s、19200bite/s、115200bit...原创 2021-06-26 18:46:39 · 7191 阅读 · 0 评论