FPGA技术
文章平均质量分 79
爱吃蛋挞的Dolly
数字芯片设计方向小白成长记
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Verilog常用的数据选择语句vect[a +: b]或vect [a -: b]
Verilog语法中有一个常用的选择语句,其语法形式为: vect[a +: b]或vect [a -: b]; vect为变量名字,a为起始位置,加号或者减号代表着升序或者降序,b是进行升序或者降序的宽度。 vect[a +: b]等同于vect[a : a+b-1],vec...转载 2021-10-15 15:29:03 · 1586 阅读 · 0 评论 -
复位策略
在IC系统中,复位的目的是为了将芯片强制到一个已知的状态。同步复位与异步复位都能达到这个目的。两者的区别在于:同步复位需要时钟有效沿到达时才能起作用,而异步复位不需要。在同步复位方式,复位信号与数据进行组合操作,作为寄存器的D端输入,如下图所示实现同步复位寄存器的代码如下module reg_syn(q1,d,clk,rst_n);ouput q1;input d,clk,rst_n;reg q1;always @(posedge clk)if(!rst_n) q1<=1'b0;e原创 2021-04-27 09:57:01 · 880 阅读 · 0 评论 -
自适应陷波器的设计
文章目录1. 自适应陷波器原理2. 自适应陷波器的MATLAB仿真1. 自适应陷波器原理陷波器也是一种滤波器,其主要特点在于对输入信号的某些已知频率信号进行滤除。这里所说的已知频率信号,是指已知干扰信号的频率,不知信号的相位和幅度信息。例如,由于我国采用的是50Hz的交流电,所以在需要对信号进行采集处理和分析时,经常会存在50Hz工频信号,对有用信号的处理造成很大的干扰,因此很有必要设计50Hz的陷波器,对这个已知频率信号进行滤除。所谓自适应陷波器,就是可以根据干扰信号频率的相位和幅度,自适应地调整滤原创 2021-04-21 12:40:43 · 7893 阅读 · 2 评论 -
快速傅里叶变换FFT
文章目录1. 离散傅里叶变换2. DFT存在的问题2.1 栅栏效应和序列补零2.2 频谱泄漏和混叠失真2.3 频率分辨率与DFT参数的选择3. FFT算法4. FFT算法的MATLAB仿真1. 离散傅里叶变换时域离散线性时不变系统理论和离散傅里叶变换是数字信号处理的理论基础,数字滤波和数字谱分析是数字信号处理的核心。快速傅里叶变换并不是一种新的变换,而是离散傅里叶变换(Discrete Fourier Transform,DFT)的一种高效算法。如果信号在频域是离散的,则该信号在时域就表现为周期性的时原创 2021-04-20 20:59:43 · 1395 阅读 · 0 评论 -
基于OV5640数字识别
文章目录1. 数字识别简介2. 程序设计2.1 系统框图2.2 色彩空间转换2.3 二值化2.4 投影分割2.3 源码1. 数字识别简介数字识别一般通过特征匹配及特征判别的方法来进行处理。前者一般适用于规范的印刷体字符识别,现今技术基本成熟;后者多用于手写字符识别,其研究还处于探索阶段,识别率还比较低。数字特征识别是通过对数字的形状以及结构等集合特征进行分析与统计,通过对数字特征的匹配从而达到对图像中数字的识别。下表不仅表示数字与y轴的交点,以及关于y轴对称的左右两边与x的交点2. 程序设计原创 2021-04-12 13:12:31 · 1560 阅读 · 0 评论 -
FFT—音频频谱设计
文章目录1. 频谱简介1.1 FFT简介2. 程序设计2.1 系统框图2.2 源码1. 频谱简介频谱:信号的一种新的表示方法1.1 FFT简介在数字信号处理中常常需要用到离散傅里叶变换(DFT),以获取信号的频域特征。传统的DFT算法计算量大,耗时长,不利于计算机实时对信号进行处理。FFT是一种DFT的高效算法,称为快速傅里叶变换(Fast Fourier Transform),它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。假设信号频率为F,采样频率为Fs,原创 2021-04-12 12:22:14 · 3128 阅读 · 0 评论 -
以太网通信及设计
文章目录1. 以太网简介1.1 以太网概述1.2 MII接口与时序2. 以太网通信协议2.1 以太网数据格式2.2 IP协议(Internet Protocol)2.3 UDP协议3. 以太网通信设计3. 以太网传输图片(VGA显示)1. 以太网简介1.1 以太网概述以太网(Ethernet),是当今现有局域网采用的最通用的通信协议标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。优点:成本低、通信速率高、抗干扰性强以太网分类标准以太网:10Mbit/s快速以太网:100Mbit原创 2021-04-09 16:59:56 · 8079 阅读 · 1 评论 -
SD卡相关应用
文章目录1. SD卡简介1.1 SD卡概述1.2 SD卡常用命令2. SD卡操作时序2.1 SPI接口与时序2.2 SD卡初始化2.3 SD卡读写操作3. SD卡读写测试3.1 系统框图3.2 程序设计1. SD卡简介1.1 SD卡概述SD卡(Secure Digital Card,安全数字卡,又叫做安全数码卡)。特点:体积小、传输速度快、支持热插拨SD卡在MMC(MultiMedia Card,多媒体卡)的基础上发展而来,增加了更高的安全性和更快的读写速度。SD卡从存储量上分为三个级别:SD原创 2021-04-09 11:16:54 · 1576 阅读 · 0 评论 -
OV7725摄像头显示VGA/LCD
文章目录1. OV7725摄像头1.1 简介1.2 SCCB接口1.3 图像输出时序2. 程序设计2.1 系统框图2.2 SDRAM乒乓存储2.3 源码2.4 LCD显示1. OV7725摄像头1.1 简介OV7725是OmniVision(豪威科技)公司生产的CMOS图像传感器,该传感器功耗低、可靠性高一级采集速率快,主要应用在玩具、安防监控、电脑多媒体等领域。OV7725感光阵列达到640*480,功能最快60fps VGA分辨率的图像采集。传感器内部集成了图像处理的功能,包括自动曝光控制(A原创 2021-04-07 16:56:37 · 2984 阅读 · 0 评论 -
录音机
文章目录1. WM8978简介2. 程序设计2.1 系统框图2.1 源码1. WM8978简介WM8978在音频环回中做了详细介绍,这里不再赘述。2. 程序设计在开发版上的WM8978实现录音机的功能。按下KEY2按键开始录音,松开时结束录音;按下KEY1按键时开始播放录音(录音文件用SDRAM存储)。2.1 系统框图2.1 源码录音机的设计源码...原创 2021-04-07 14:25:53 · 432 阅读 · 0 评论 -
SDRAM
文章目录1. 存储器简介1.1 存储器类型1.2 SDRAM内部结构2. SDRAM操作时序2.1 初始化2.2 读写操作2.3 刷新3. SDRAM读写测试3.1 系统框图3.2 程序设计1. 存储器简介1.1 存储器类型1.2 SDRAM内部结构SDRAM:同步动态随机存储器优点:空间存储量大、读写速度快、价格相对便宜。缺点:控制逻辑复杂SDRAM 寻址SDRAM的存储空间被分为4个L-Bank,在寻址时需要先指定其中一个L-Bank,然后在这个选定的L-Bank中选择相应的行与列进原创 2021-04-07 12:43:37 · 706 阅读 · 0 评论 -
音频环回
文章目录1. WM8978简介1.1 控制接口1.2 数据传输1.3 数据时序2. 程序设计2.1 系统框图2.2 源码1. WM8978简介WM8978是一个低功耗、高质量的立体声多媒体数字信号编译码器,它结合了一个高质量的立体声音频DAC和ADC,带有灵活的音频线输入、麦克风输入和音频输出处理。其主要作用是用于便携式应用,可以应用到可携式数码摄影机或数码相机等设备。1.1 控制接口WM8978内部有58个寄存器。每个寄存器的地址为7位,数据位为9位。可通过控制接口配置相应的寄存器以打开相应的原创 2021-04-06 17:19:45 · 1655 阅读 · 0 评论 -
AD-DA
文章目录1. PCF8591简介1.1 PCF8591框图1.2 PCF8591器件地址1.3 PCF8591状态寄存器1.4 PCF8591写数据(DA转换)1.5 PCF8591读数据(AD转换)2. 程序设计2.1 系统框图2.2 源码1. PCF8591简介PCF8591是一个单片集成、单电源供电、低功耗的8位CMOS数据采集转换(AD/DA)器件,具有4个模拟输入、1个模拟输出和1个串行IIC总线接口。1.1 PCF8591框图1.2 PCF8591器件地址A0/A1/A2用于开发板上原创 2021-04-06 15:48:36 · 439 阅读 · 0 评论 -
RTC实时时钟
文章目录1. PCF8653简介1.1 PCF8563寄存器描述1.2 PCF8563秒寄存器(地址:0x02)BCD码1.3 PCF8563星期寄存器(地址:0x06)BCD码1.4 PCF8563月份寄存器(地址:0x07)BCD码1.5 PCF8563年份寄存器(地址:0x08)BCD码1.6 PCF8563写寄存器1.7 PCF8563读寄存器2. 程序设计2.1 系统框图2.2 源码1. PCF8653简介PCF8653是PHILIPS公司推出的一款工业级多功能时钟/日历芯片,具有报警功能、定原创 2021-04-06 15:07:10 · 3081 阅读 · 0 评论 -
环境光传感器
文章目录1. AP3216C简介1.1 AP3216C特点1.2 AP3216C框图1.3 AP3216C寄存器描述1.4 AP3216C写寄存器1.5 AP3216C读寄存器2. 程序设计1. AP3216C简介AP3216C是一款三合一环境传感器,它内部集成了:数字环境光传感器(Ambilent Light Aensors,ALS)、距离传感器(Proximity Sensor,PS)和一个红外LED(Infrared Radiation LED,IR LED),该芯片通过IIC接口和FOGA连接。原创 2021-04-04 19:49:48 · 6120 阅读 · 0 评论 -
EEPROM读写--IIC协议
文章目录1. EEPROM简介2. IIC通信协议2.1 AT24C64单次写时序2.2 AT24C64当前地址读时序2.3 AT24C64随机地址读时序3. 程序设计1. EEPROM简介EEPROM即电可擦除可编程只读存储器,是一种常用的非易失性存储器(掉电后,数据不丢失)。AT24C64内部分成256页,一页32个字节,总容量是8K(64K/8)个字节。接口:IIC上图中A0/A1/A2时地址控制位,WP写保护,当WP=1时,只能读,当WP=0时,既能读也能写;SCL、SDA是IIC接口,SD原创 2021-04-04 18:56:59 · 8297 阅读 · 2 评论 -
温湿度复合传感器
文章目录1. DHT11简介1.1 数据格式1.2 数据时序2. 程序设计1. DHT11简介DHT11是一款温湿度复合传感器,传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。1.1 数据格式DHT11采用单总线通信,一次传送40位数据,高位先出。校验位为前面四个字节之和的末8位:00110101+00000000+00011000+00000100=01010001温度小数部分的最高位为1,则表示负温度,否则表示正温度。1.2 数据时序用户主机(原创 2021-04-04 15:32:26 · 510 阅读 · 0 评论 -
数字温度传感器
文章目录1. DS18B20简介1.1 命令1.2 数据格式1.3 数据时序2. 程序设计1. DS18B20简介DS18B20是常用的数字温度传感器,其输出数字信号来表示温度,具有体积小,硬件开发开销低,抗干扰能力强,精度高的特点。由于封装形式多样,适用于各种狭小空间设备数字测温和控制领域,也可应用于锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种场合。DS18B20测量温度范围为-55~+125℃,精度为+/-0.5℃,最大转换时间为750ms。1.1 命令DS18B20的命原创 2021-04-04 14:40:09 · 1868 阅读 · 0 评论 -
红外遥控设计
文章目录1. SOC常见问题1. SOC常见问题1.SOC FPGA中的ARM是软核还是硬核?ARM核的外设是软核还是硬核?SOC FPGA中的ARM是硬核,所以简称HPS,Hardware Processor System.2.ARM处理器核是包含FPGA逻辑单元内部的吗?刚开始接触SOC FPGA就可以认为,FPGA和ARM处理器只是封装到同一个芯片中,JTAG接口、电源引脚和外设的接口引脚都是独立的。...原创 2021-04-02 16:29:53 · 2655 阅读 · 0 评论 -
FPGA与CPLD的比较
FPGA基于SRAM的架构,集成度高,以Slice为基本单元,有内嵌Memory、DSP等,支持丰富的IO标准,具有易挥发性,需要有上电加载过程。在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域有广泛应用,如Xilinx Virtex系列以及Altera Stratix系列。CPLD基于EEPROM工艺,集成度低,以MicroCell为基本单元。具有非挥发特性,可以重复写入。在粘合逻辑、地址译码、简单控制、FPGA加载等设计中有广泛应用,如Xilinx CoolRunner系列以及Al原创 2021-03-24 13:31:11 · 2646 阅读 · 0 评论 -
FPGA基本设计流程
FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。FPGAde开发流程一般如下图所示,包括电路设计、设局输入、功能仿真、综合优化、综合后仿真、实现与布局布线、时序仿真与验证、板级仿真与验证,以及芯片编程与调试等主要步骤。1.电路设计在系统设计之前,首先要进行的是方案验证、系统设计和FPGA芯片选择等准备工作。系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把原创 2021-03-24 11:27:03 · 7252 阅读 · 0 评论 -
CIC抽取滤波器MATLAB仿真和FPGA实现
CIC抽取滤波器MATLAB仿真和FPGA实现(1) 设计理想滤波器目标:1、滤波器在有效频段内纹波满足设计要求。2、抽取或内插处理后在有效频段内不产生混叠。3、滤波器实现简单,需要资源较少。这个文章主要讲CIC理论基础,下个文章讲FPGA实现。 级联积分梳状滤波器又称CIC。这...转载 2021-03-08 21:01:05 · 6761 阅读 · 4 评论 -
FPGA知识点---任意分频电路设计
学习之前,先理解一下什么叫占空比?占空比:对于一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲中周期的比值,叫做这个方波的占空比。偶数倍分频偶数倍分频应该是大家比较熟悉的分频,也是最简单的分频计数器,完全可以通过计数器直接实现的。例如进行N倍数偶数分频,那么可以通过待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出的时钟进行翻转,并且将计数器复位,是的下一个时钟从零开始计数。以此循环,即可实现任意偶数倍分频奇数倍分频奇数倍分频常常在论坛上有人问起,实际上,奇数倍分频有两种实现方原创 2020-09-09 10:45:16 · 1832 阅读 · 2 评论 -
FPGA设计中大位宽、高时钟频率时序问题调试经验总结
文章目录跨时钟域信号的约束写法判断条件过长的问题if else嵌套层数过多逻辑信号扇出过大数据选择器过大大位宽RAM数据总线约束跨时钟域信号的约束写法问题一:没有对设计进行全面的约束导致综合结果异常,比如没有设置异步时钟分组,综合器对异步时钟路径进行静态时序分析导致误报时序违例。约束文件包括三类,建议用户应该将这三类约束文件分开写在三个xdc/sdc文件中。第一类是物理约束,它主要对设计顶层的输入输出引脚的分配约束、电平标准的约束,如下图所示:在Vivado环境下,对rst_n和sys_clk_PC原创 2020-09-07 14:31:07 · 8659 阅读 · 4 评论 -
低功耗设计
概念功耗的构成:三个主要的功耗源:浪涌、静态功耗和动态功耗**浪涌电流:**指器件上电时产生的最大瞬时输入电流,称为启动电流;浪涌电流与设备相关;浪涌功耗不是我们需要关注的地方,因此这里只是说明这个功耗存在。静态功耗:也称待机功耗,静态功耗主要由晶体管的漏电流所导致的功耗。动态功耗:包括开关功耗或者成为翻转功耗、短路功耗或者称为内部功耗;动态功耗影响因素:门寄生电容、时钟翻转翻转、时钟频率、供电电压;降低功耗:应当在所有涉及层次上进行,即系统级、逻辑级和物理即,层次越高对功耗降低越有效;在系统原创 2020-09-03 12:28:20 · 3413 阅读 · 0 评论 -
万物皆可状态机
学习摘抄自公众号数字ICer状态机的基本概念状态机是一种思想方法相信大多数工科学生在学习数字电路时都学习过状态机的基本概念,了解一些使用状态机描述时序电路的基本方法。但是,笔者希望大家能扩展思维,认识到状态机不仅仅是一种时序电路设计工具,它更是一种思想方法。我们先看下面一个简单的例子。在大学生活中,某学生的在校的学习生活可以简单地概括为宿舍、教室、食堂之间的周而复始,用下图就可以形象地表现出来。这里画这张图,并不是要讨论这个学生是否是一个“乖乖”类型学生,请大家注意,如果将图中的“地点”认为是“状态原创 2020-09-03 11:06:20 · 1222 阅读 · 0 评论 -
如何提高FPGA工作频率?影响FPGA运行速度的几大因素
对于设计者来说,我们当然希望我们设计的电路的工作频率(在这里如无特别说明,工作频率指FPGA片内的工作频率)尽量高。我们也经常听说用资源换速度,用流水的方式可以提高工作频率,这确实是一个很重要的办法,今天我想进一步分析该如何提高电路的工作频率。我们先分析一下是什么影响了电路的工作频率。我们电路的工作频率主要与寄存器到寄存器之间的信号传播时延及clock shew有关。在FPGA内部如果走长线的话,clock skew很小,基本可以忽略,在这里为了简单起见,我们只考虑信号的传播延时的因素。信号的传播延时包原创 2020-09-03 09:47:25 · 4776 阅读 · 0 评论 -
FPGA信号截位策略
在FPGA中,随着信号处理层次加深,对信号进行乘、累加、滤波等运算后,可能输入时仅为8位位宽的信号会扩展成几十位位宽,位宽越宽,占用的硬件资源越多,但位宽超过一定范围后,位宽的增宽并不会对处理精度带来显著的改善,这时就需要对信号进行截位。写过FPGA HDL代码的童鞋应该都知道,截位是最为经常的一种操作。一般来说,截位只需要截掉低几位即可,这时最简单的做法:对于无符号数来说,这样做也没有问题;当然也有四舍五入的截位方法,就是给地位加1后再进行截位。下面讨论三种截位策略:1)直接截位;2)复数截位后加1;转载 2020-09-03 09:25:45 · 3184 阅读 · 2 评论 -
FPGA知识点---跨时钟域处理
单bit信号慢时钟到快时钟,两级触发器同步。快时钟到慢时钟,如果是下面第一个图,clkb可以采样到signal_a_in,但是如果只有单脉冲,如第二个图所示,怎不能确保采样到signal_a_in。这个时候可以展宽signal_a_in,至少为clkb的一个时钟周期宽度。通常处理方法是使用反馈机制将输入信号展宽。//在clka下,生成展宽信号signal_aalways @(posedge clka oe negedge rst_n) begin if(rst_n == 1'b0) si原创 2020-09-01 20:13:10 · 1467 阅读 · 0 评论 -
FPGA知识点---建立/保持时间分析
文章目录1. 建立和保持时间2. 发射沿(launch edge)与锁存沿(latch edge)3. 数据达到时间4. 时钟到达时间5.时钟偏斜6. 数据需求时间7. 建立余量8. 保持余量9. 周期约束10. 建立时间保持时间违例修复静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。1. 建立和保持时间建立时间就是时钟有效沿到来之前数据必须保持稳定的最小时间;保持时间就是时钟有效沿到来之后数据必须保持稳定的最小时间。2. 发射沿(launch edge)与锁存沿(latch原创 2020-09-01 18:38:18 · 2014 阅读 · 0 评论 -
FPGA知识点---FIFO深度计算
简单粗暴公式:写时钟频率 w_clk,读时钟频率 r_clk,写时钟周期里,每B个时钟周期会有A个数据写入FIFO读时钟周期里,每Y个时钟周期会有X个数据读出FIFO则,FIFO的最小深度是?计算公式如下:fifo_depth = burst_length - burst_length * X/Y * r_clk/w_clk写时钟快于读时钟,写和读的过程中没有空闲周期,也即在突发(burst)过程中,读和写都在各自的时钟域内连续进行。写时钟周期T_A = 1000/80 ns = 12原创 2020-09-01 18:23:25 · 1410 阅读 · 0 评论 -
FPGA知识点---同步/异步逻辑
同步逻辑:时钟之间有固定的因果关系,各触发器的是何种端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。异步逻辑:各时钟之间没有固定的因果关系。电路状态的改变由外部输入的变化直接引起。同步电路:存储电路中所有触发器的是何种输入都接在一个时钟脉冲源,因为所有触发器的状态的变化都与所加时钟脉冲信号同步。异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲相连,只有这些触发器的状态与时钟脉冲同步,而其他的触发器的状态不与时钟脉冲同步。在设计可综合模块时,避免使用原创 2020-09-01 18:09:06 · 1718 阅读 · 0 评论 -
FPGA知识点---竞争冒险及消除办法
如果在某一个时刻,从组合逻辑的某一个输入端到其输出端存在两条以上的电信号通路时,就称该组合逻辑在当前状态下针对这个输入存在竞争。当B=1、C=1时,电路可简化为:输入A先于!A到达或门,因此,会导致有一小段零脉冲出现在输出中,这是非预期的。信号由于经由不同路径传输到达某一汇合点的时间有先有后的现象,就称之为竞争,由于竞争现象引起的电路发生瞬时错误的现象,称之为冒险。FPGA设计中最简单的避免方法是尽量使用时序同步逻辑同步输入输出。解决方法:时序采样法:只要是时序电路,就使用了时序采样法来消除原创 2020-09-01 17:58:22 · 2199 阅读 · 0 评论 -
FPGA知识点---时钟
文章目录1. 时钟描述2. 基本时钟3. 虚拟时钟4. 门控时钟5. 时钟抖动(Jitter)和时钟偏斜(Skew)1. 时钟描述Clk0的时钟特性:周期为10ns,占空比为50%,相移为0ns;Clk1的时钟属性:周期为8ns,占空比为75%,相移为2ns;(也就是相移为90。)则上图中的描述方法可以为:clk0: period = 10, waveform = {0 5}clk1: period = 8, waveform = {2 8}2. 基本时钟一个基本时钟是指PCB上的时钟原创 2020-09-01 17:45:36 · 3695 阅读 · 0 评论 -
FPGA知识点---复位
复位1.亚稳态2. 恢复时间、撤销时间3. 异步复位4. 同步复位5. 异步复位,同步释放1.亚稳态在FPGA系统中,如果数据传输不满足触发器的Tsu和Th,或者复位过程中复位信号的释放相对于有效时钟的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。这段时间称为决断是阿金(resolution time)。经过resolution time之后Q端将稳原创 2020-09-01 17:16:17 · 1184 阅读 · 0 评论 -
SDRAM操作时序
存储器类型SDRAM:Synchronous Dynamic Random Access Memory同步动态随机存储器优点:空间存储量大、读写速度快、价格相对便宜缺点:控制逻辑复杂SDRAM寻址SDRAM的存储空间被划分为4个L-Bank,在寻址时需要先指定其中一个L-Bank,然后在这个选定的L_Bank中选择对应的行与列进行寻址。SDRAM存储容量上图中存储单元容量就为数据的位宽大小SDRAM总存储容量=L_Bank的数量 x 行数 x 列数 x 存储单元容量存储单元:1bi原创 2020-08-31 19:45:55 · 788 阅读 · 0 评论 -
VGA彩条/方块移动实验
VGA Video Graphics Array视频图形阵列,一种使用模拟信号进行视频传输的标准接口定义行同步时序行扫描,一行扫描周期扫完后继续下一行扫描场同步时序一次场扫描周期中可以完成一帧图像的显示,单位是一个完整的行扫描周期分辨率@60:每秒钟刷新60次时钟计算:800x525x60=25200000,与时钟周期有微小差异系统框图:顶层模块原理图代码module vga_colorbar( input sys_clk, input sys_rst_n原创 2020-08-31 17:06:42 · 1560 阅读 · 1 评论 -
串行通信原理及实验仿真
1. 处理器与外部设备通信的两种方式:并行通信和串行通信并行通信是指数据的各个位用多条数据线同时进行传输优点:传输速度快缺点:占用引脚资源多串行通信是将数据分成一位一位的形式在一条传输线上逐个传输优点:通信线路简单,占用引脚资源少缺点:传输速度慢2. 串行通信的通信方式:同步通信和异步通信同步通信:带有时钟同步信号的数据传输;发送方和接收方在同一时钟的控制下,同步传输数据。异步通信:不同时钟同步信号的数据传输。发送方和接收方使用各自的时钟控制数据的发送和接收过程。3. 串行通原创 2020-08-31 15:59:57 · 4283 阅读 · 0 评论 -
DAC配置—SPI的使用
SPI总线详解见:SPI总线协议DAC3282的datasheet可去免费下载:DAC3282datasheet免费下载本文基于TI公司的DAC3283进行讲解,通过SPI对其进行讲解,并且配有详细的Verilog代码和testbench。DAC寄存器:一共有32个寄存器,每个寄存器的详细配置手册上均有写。每个寄存器可以写入的数据为5Byte,其中第1Byte的用法在Table2中详细说明,包括读写控制,剩余4Byte的用法,寄存机地址等。读写时序如下图所示:Figure32中的写时序中,原创 2020-08-27 08:55:43 · 5364 阅读 · 3 评论 -
SPI总线协议
SPI(Serial Peripheral Interface),串行外围设备接口,是一种高速的,全双工,同步的通信总线,在芯片的管脚上占用四根线。SPI是一个环形总线结构,由cs,sck,sdi,sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收,高位先发送。上升沿来的时候,sdo上的电平将被发送到从设备的寄存器中。下降沿来的时候,sdi的电平将被接收到主设备中。接口定义内部结构时钟极性和时钟相位时钟极性(CPOL)设置时原创 2020-08-25 18:45:55 · 997 阅读 · 0 评论
分享