06 2022 档案

摘要:一开始连接显示器之后一直出现那个框框,修改系统的设置之后一直没法消除。 后面才发现连接到了笔记本的集成显卡里 要在这个设置里面修改哦。 成功解决。 阅读全文
posted @ 2022-06-30 20:41 little_breeze 阅读(633) 评论(0) 推荐(0)
摘要:上一次设计的动态扫描数码管显示电路模型如上,这是一个32位并行数据[31:0]disp_num选通输出并行数据[7:0]select和[7:0]段选的电路。因此需要输出16个信号 而在开发板上的电路与这个的接口不同,如下: 这个开发板设计的fpga只有有三个输出,接到2片级联的74HC595芯片上, 阅读全文
posted @ 2022-06-18 14:14 little_breeze 阅读(969) 评论(0) 推荐(0)
摘要:vivado中定义了但没用上的寄存器变量,在综合时会被移除,即没有综合出来。(如下cnt,虽然在y的过程块中用了cnt作为判断条件,但实际上cnt用了跟没用效果一样,所以综合时cnt_reg就被放弃了),这将导致虽然观察波形时可以看cnt变量,但他恒等于X(未定态)。 [Synth 8-6014] 阅读全文
posted @ 2022-06-16 22:42 little_breeze 阅读(695) 评论(0) 推荐(0)
摘要:在逻辑设计的过程中,有时候需要特定周期的时钟信号来控制输出,fpga板上的时钟不符合要求,就需要自己来设计产生一个时钟。 常规思路是使用一个计数器来根据全局时钟产生特定周期的时钟(代码如下),然后使用这个sl_clk时钟接入其他电路触发器的clk接口来驱动其他电路。 reg [] counter a 阅读全文
posted @ 2022-06-16 12:59 little_breeze 阅读(161) 评论(0) 推荐(0)
摘要:一个数码管有九个引脚,控制八段二极管的亮灭,用以显示需要的数字。 当有N个数码管时,一个一个控制的话需要N x 9 个引脚,消耗资源较多。 因此可以利用动态显示的方案通过人眼的视觉暂留特性达到静态显示的效果(动态显示周期<20ms),只需N+8个引脚。节省了大量资源。(动态静显) 数码管动态显示的逻 阅读全文
posted @ 2022-06-13 13:49 little_breeze 阅读(1890) 评论(0) 推荐(0)
摘要:先从图片解释一下: Tsu(建立时间):触发器的时钟信号触发沿到来以前,数据稳定不变的时间。若建立时间太短,数据将不能在这个时钟触发沿被稳定输入触发器, Th(保持时间) :触发器的时钟信号触发沿到来以后,数据稳定不变的时间。同上。 Tco(输出时间):触发器的时钟信号触发沿到来至稳定输出输出所需时 阅读全文
posted @ 2022-06-11 22:58 little_breeze 阅读(477) 评论(0) 推荐(0)
摘要:介绍:按键的物理结构导致了会有抖动现象的出现,判断按键是否真正按下,需要把抖动的部分滤波。根据经验可知,抖动一般在20ms内,所以常规的消抖方法是从变化沿出现时刻开始,延时20ms后判断按键的状态。这种方法适用范围不广,因为精度不高(如下图,会判断出错)。 本次设计通过状态机的设计提高了按键消抖的性 阅读全文
posted @ 2022-06-09 10:53 little_breeze 阅读(720) 评论(0) 推荐(0)
摘要:功能描述: 使用遵循uart协议的接收模块接收控制信号,用来控制led的闪烁。 设计输入: 1.uart输入信号 2.时钟信号 3.复位信号 4.led信号 设计思路: 总体上:前面已经写了串口接收模块,led闪烁模块。现在要把接收到的多个数据对应传送给led闪烁模块的输入(闪烁周期,亮灭模式设置) 阅读全文
posted @ 2022-06-08 13:28 little_breeze 阅读(980) 评论(0) 推荐(0)
摘要:1.功能描述 设计一个串口数据接收模块。能够以设定的波特率(与发射端口速率匹配)接收数据,并输出保存到一个寄存器中。 2.过程描述 ①边沿检测器,识别出起始位时让接收使能端有效。这里需要排除边沿脉冲的干扰,识别出的起始位不能是个瞬时脉冲。 ②采样脉冲:区别于发射端,接收端需要对接收的数据进行采样。为 阅读全文
posted @ 2022-06-06 13:48 little_breeze 阅读(322) 评论(0) 推荐(0)
摘要:1.串口这些功能实现下来,我发现从第一节最简单的只发送一串固定长度的数据开始,到后面用状态机实现任意长度数据的发送。这个过程 是一步步实现的,也就是说,要先从简单的发送一个8位数据的功能先写起,后面再调用此模块,就可以。所以先写最基本功能,再调用,是需要学习的地方。 2.一开始想着怎么实现任意长度的 阅读全文
posted @ 2022-06-02 16:27 little_breeze 阅读(53) 评论(0) 推荐(0)
摘要:上一节中成功实现了发送多个字节的数据。把需要发送的数据分成多段遵循uart协议的数据依次发送。上一节是使用状态机实现的,每发一次设定为一个状态,所以需要发送的数据越多,状态的个数越多,代码越长,因而冗长且适应范围不广 。 在这里,我通过优化代码,实现了把发送状态固定为3个,并且能适用任意长度的输入数 阅读全文
posted @ 2022-06-02 15:49 little_breeze 阅读(238) 评论(0) 推荐(0)
摘要:上一节中,我们遵循uart协议,它发送一次只能发送6/7/8位数据,我们不能随意更改位数(虽然在代码上可行),不然就不遵循uart协议了,会造成接收端无法接收。 在现实生活中,我们有时候要发的数据不止8位,这时候就得多次发送了。分多段发送,就是说发送一次数据的时间里发送系统有多个状态,这便是状态机。 阅读全文
posted @ 2022-06-01 10:51 little_breeze 阅读(1322) 评论(0) 推荐(0)