- 博客(3)
- 收藏
- 关注

原创 iic协议通讯驱动
模块特点利用状态机完成iic的驱动,将重复的状态进行合并,使代码更简单;由于iic不能连续完成读写操作,在STOP状态后又加了一个DELAY (延迟)状态,延迟了5ms,可以保证程序不会卡死;为体现iic的节能特点,使用了三态门,在空闲状态下,sda和scl线处于释放状态;为了使一次通讯稳定运行,在通讯刚开始时对数据进行寄存,而且在通讯过程中不能发生变化;iic协议读/写数据步骤iic协议读数据时序图iic协议写数据时序图iic协议通讯驱动模块module i2c_driver(
2020-12-25 17:17:40
376
1
原创 UART
uart_rx`define NONE 0`define ODD 1`define SEVEN 2`define SPACE 3`define MARK 4 `define STOP_ONE 0`define STOP_ONEHALF 1`define STOP_TWO 2module uart_rx#( parameter CLK = 50_000_000, parameter BAUD = 9
2020-12-30 22:23:01
125
原创 任意整数分频时钟的建立
1.该程序使用Verilog语言,用状态机实现任意整数分频的时钟;2.偶数分频和奇数分频都能实现;2.在运算中把除法和取余逻辑上比较好理解的运算符,改变成右移位和减法实现,可以大量节省FPGA资源;module div(input wire clk,input wire rst,input wire [31:0] a, //任意分频倍数output wire clk_a);reg clk1;reg clk2;wire [31:0] T_H;wire
2020-12-25 21:15:50
293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人