草庐IT

DSP+FPGA

全部标签

【接口协议】FPGA实现IIC协议对EEPROM进行数据存储与读取(AT24C64)

0.序言使用vivado实现IIC协议对EEPROM进行数据存储与读取。本文是基于正点原子的“达芬奇”开发板资料进行学习的笔记,对部分地方进行了修改,并进行了详细的讲解。1.IIC协议简介(1)简介IIC(Inter-IntegratedCircuit),即集成电路总线,是一种同步半双工串行总线,用于连接微控制器及外围设备,是用于数据量不大及传输距离不大的场合下的主从通信。IIC是为了与低速设备通信而发明的,所以IIC的传输速率比不上SPI。(2)物理层接口协议IIC一共有两根总线:一条是主设备提供给从设备的串行时钟线SCL,一条是双向传输的串行数据线SDA;SCL:Serialclockli

fpga verilog rs232 发送模块实现

RS-232是一种串行通信协议,用于在计算机和其他外部设备之间进行数据传输。RS-232定义了电气特性、信号级别、机械特性和传输速率等规范,为串行通信提供了一种标准化的接口。RS-232通常使用DB9连接器,用于传输和接收数据、控制信号以及地线连接。但除了235脚其它基本都省略了,一个发送一个接收还有个地。rs232是单端传输,还有485,422差分传输,485半双工,422全双工,原理差不多下面是verilog代码。tx.vmoduletx(inputwireclk,inputwirerst_n,inputwiretx_begin,inputwire[7:0]tx_pdata,outputr

FPGA编程入门

文章目录一、任务二、过程2.1在线Verilog编程网站学习2.1.1门电路练习2.1.2组合电路练习2.1.3时序电路2.2Logisim的全加器实现2.2.11位全加器2.2.24位全加器2.3Quartus的全加器的实现2.3.1原理图方式一位全加器四位全加器2.3.2verilog方式(4位全加器)三、学习心得四、参考链接一、任务一.在线Verilog编程网站学习:https://hdlbits.01xz.net/wiki/Main_PageHDLBits—VerilogPractice在线练习网站(参考HDLBits中文导学https://zhuanlan.zhihu.com/c_1

FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(二)

   通过上面的介绍相信大家对数字变频已经有了一个较为整体性的认识,下面笔者来对照XILINX的DDSIP核对数字变频技术展开更进一步的说明,做到了理论和实践很好地结合,这样大家再带入Modelsim进行仿真测试就不仅掌握了数字变频的理论知识,也明白了其IP核的使用方法。    查阅XILINX的DDSIP核官方手册pg141-dds-compiler,如图1所示是DDSIP核的简化图,大家可以看到这里和前面数字变频理论基础介绍大同小异,XILINX的DDSIP核内部由累加器、寄存器、查找表等组成。图1DDSIP核的简化图   如图2所示是DDSIP核的频率控制字计算说明,这里XILINX也举

FPGA之Quartus II 自带的IP核的使用(IP核仅自己学习,未完成)

1、锁相环:   锁相环是对接收到的信号进行处理,并从其中提取某个时钟的相位信息。锁相环由鉴相器、环路滤波器和压控振荡器组成。 锁相环原理图鉴相器:    用来鉴别输入信号输入信号Ui与输出信号输出信号Uo之间的相位差相位差,并输出误差电压Ud。Ud中的噪声噪声和干扰成分被低通性质的环路滤波器滤除,形成压控振荡器的控制电压Uc。Uc作用于压控振荡器的结果是把它的输出振荡频率fo拉向环路输入信号频率fi,当二者相等时,环路被锁定,称为入锁。维持锁定的直流控制电压由鉴相器提供,因此鉴相器的两个输入信号间留有一定的相位差。2、使用QuartusII自带的IP核第一步:新建一个工程,点击tools,再

DDS信号发生器Verilog波形发生器FPGA

名称:DDS信号发生器Verilog波形发生器软件:Quartus语言:Verilog要求: 1.可产生正弦波,锯齿波,三角波,方波4种波形,频率可调 2.具有波形选择、起动、停止功能。代码下载:DDS信号发生器Verilog波形发生器_Verilog/VHDL资源下载代码网:hdlcode.com部分代码展示`timescale 1ns / 1ps//输出频率f=clk_50M*frequency/2^10module DDS_top(    input clk_50M,//时钟输入 input wave_en,//波形起的停止开关    input [1:0] wave_select,//

FPGA巩固基础:秒表的设计

设计要求:6位8段数码管,低三位显示毫秒计数,最高位显示分钟,其余两位显示秒计数。开始案件与暂停按键,复位按键直接全部归零。扩展部分:每计满一次,led移位一次。框图设计: 思路讲解:首先按键信号经过消抖再用,然后把产生的标志信号传给控制模块,由于控制逻辑很简单就把这部分控制逻辑放进“数据产生模块中了”;然后把数码管与led接口模块interface放进去。按理来讲,应该重新定义个接口模块再把led与nixie放进去,比较规范。模块讲解:值得一提就是数据产生模块与数码管接口模块:数据产生模块: 其实输出端口是几个级联得计数器。代码奉上:`include"para.v"moduledata_ge

【紫光同创国产FPGA教程】——(PGL22G第一章)LED流水灯实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com) 适用于板卡型号:紫光同创PGL22G开发平台(盘古EU22K)一:盘古EU22K开发板简介盘古EU22K开发板共有11个翠绿LED灯,其中1个是电源指示灯(POWER);2个是FPGA的运行状态指示灯:INIT和DONE;有8个用户LED灯(LED1~8),FPGA输出高电平时对应的LED灯亮灯(详情请查看“MES22GP开发板硬件使用手册”)。二:实验目的控制8个LED灯按顺序依次点亮和熄灭。三:实验原理通常的时,分,秒的计时进位大家应该不陌生;1小时=60分钟=360

FPGA学习实践之旅——前言及目录

很早就有在博客中记录技术细节,分享一些自己体会的想法,拖着拖着也就到了现在。毕业至今已经半年有余,随着项目越来越深入,感觉可以慢慢进行总结工作了。趁着2024伊始,就先开个头吧,这篇博客暂时作为汇总篇,记录在这几个月以及之后从FPGA初学者到也算有一定理解程度的学习过程。前言回想我的编程之旅其实挺坎坷的,在我初高中的时候完全没接触过电脑,只有个老人机用于打打电话,看看小说,所以第一次接触程序设计时完全跟天书一样。最最开始写程序应该是Matlab上机作业,这个是靠抄书磕磕绊绊做完的。然后大一下的时候教C++程序设计,在当时看来真的太抽象了,老师上课也没有手把手带着学,现在来看,编程这东西,看的再

FPGA学习实践之旅——前言及目录

很早就有在博客中记录技术细节,分享一些自己体会的想法,拖着拖着也就到了现在。毕业至今已经半年有余,随着项目越来越深入,感觉可以慢慢进行总结工作了。趁着2024伊始,就先开个头吧,这篇博客暂时作为汇总篇,记录在这几个月以及之后从FPGA初学者到也算有一定理解程度的学习过程。前言回想我的编程之旅其实挺坎坷的,在我初高中的时候完全没接触过电脑,只有个老人机用于打打电话,看看小说,所以第一次接触程序设计时完全跟天书一样。最最开始写程序应该是Matlab上机作业,这个是靠抄书磕磕绊绊做完的。然后大一下的时候教C++程序设计,在当时看来真的太抽象了,老师上课也没有手把手带着学,现在来看,编程这东西,看的再