IIC接口E2PROM(AT24C64) 读写VERILOG 驱动源码+仿真激励文件:module i2c_dri #( parameter SLAVE_ADDR = 7'b1010000 , //EEPROM从机地址 parameter CLK_FREQ = 26'd50_000_000, //模块输入的时钟频率 parameter I2C_FREQ = 18'd250_000 //IIC_SCL的时钟频率 ) ( input clk , input rst_n , //i2c interface input i2c_exec , //I2C触发执行信号 input bit_ctrl , //字地址位控制(16b/8b) input i2c_rh_wl , //I2C读写控制信号 input [15:0] i2c_addr , //I2C器件内地址 input [ 7:0] i2c_data_w , //I2C要写的数据 output REG [ 7:0] i2c_data_r , //I2C读出的数据 output REG i2c_done , //I2C一次操作完成 output REG i2c_ack , //I2C应答标志 0:应答 1:未应答 output REG scl , //I2C的SCL时钟信号 inout sda , //I2C的SDA信号 //user interface output REG dri_clk //驱动I2C操作的驱动时钟 );//localparam definelocalparam st_idle = 8'b0000_0001; //空闲状态localparam st_sladdr = 8'b0000_0010; //发送器件地址(slave address)localparam st_addr16 = 8'b0000_0100; //发送16位字地址localparam st_addr8 = 8'b0000_1000; //发送8位字地址localparam st_data_wr = 8'b0001_0000; //写数据(8 bit)localparam st_addr_rd = 8'b0010_0000; //发送器件地址读localparam st_data_rd = 8'b0100_0000; //读数据(8 bit)localparam st_stop = 8'b1000_0000; //结束I2C操作//REG defineREG sda_dir ; //I2C数据(SDA)方向控制REG sda_out ; //SDA输出信号REG st_done ; //状态结束REG wr_flag ; //写标志REG [ 6:0] cnt ; //计数REG [ 7:0] cur_state ; //状态机当前状态REG [ 7:0] next_state; //状态机下一状态REG [15:0] addr_t ; //地址REG [ 7:0] data_r ; //读取的数据REG [ 7:0] data_wr_t ; //I2C需写的数据的临时寄存REG [ 9:0] clk_cnt ; //分频时
标签: iic 接口 e2prom at24c64 verilog 驱动 仿真
上传时间: 2021-11-05
上传用户:
mkbus 一、安装原版程序安装文件; 二、安装 HASPEmulPE-XP_2_33_a002W .EXE 三、运行 KEYGEN.EXE 四、导入密狗注册表文件和上步生成的注册表文件 haspemul.REG 五、运行第 2 步安装的 HASP Emulator PE V2.33 六、启动 HASP Emulator PE V2.33 后点击左边第一个按钮“HASP EMUL" 七、你的程序就可以运行了。 展开
上传时间: 2021-11-11
上传用户:a273245914
AC220V转DC(12V15W )电源板AD设计硬件原理图+PCB文件,2层板设计,大小为100*55mm, ALTIUM设计的原理图+PCB文件,可以做为你的学习设计参考。主要器件型号如下:Library Component Count : 24Name Description----------------------------------------------------------------------------------------------------2N3904 NPN General Purpose Amplifier2N3906 PNP General Purpose AmplifierBRIDGE1 Diode BridgeCON2 ConnectorCap CapacitorCap Pol1 Polarized Capacitor (Radial)D Zener Zener DiodeDIODE Diode 1N914 High Conductance Fast DiodeECELECTRO2 Electrolytic CapacitorFP103 FUSE-HHeader 2 Header, 2-PinINDUCTOR2 NMOS-2 N-Channel Power MOSFETPC837 OptoisolatorRES2-B Res Varistor Varistor (Voltage-Sensitive Resistor)T TR-2B TRANS1UCC28051 Volt REG Voltage REGulator
上传时间: 2021-11-21
上传用户:kent
ad9280_9708 ADDA模块硬件资料+PDF原理图+AD、PADS、CADENCE3中格式原理图库PCB封装库文件:原理图库:Library Component Count : 41Name Description----------------------------------------------------------------------------------------------------AD8065ARTAD9280ARSZRL AD9708ARUZB5S_0 C1608CT2012_0 CT2012_0_1INDUCTOR INDUCTOR_1 LED_0 LED GRN SGL 25MA 0603LQH32C_0 LQH32C_0_1 MC34063AD 1.5-A PEAK BOOST/BUCK/INVERTING SWITCHING REGULATORS, -40 to 85℃RES_ADJ_0 Single Turn Top Adjust, 3362PTL072 TLV1117-33 IC REG LDO 3.3V 1A SOT223ZDIODE_0 DIODE ZNR -- 0.2W 5.1V AEC-Q101 SOD523PCB封装库:Component Count : 17Component Name-----------------------------------------------3386P-1C0603DIP-2X20_2P54EC6P3L0603L1210L7373LED0603R0603R2512SMASMA_THVT_312X312SOP8SOT23-5SOT223SSOP28_0R65_10R2X7R8TSSOP28_0R65_9R7X4R4
上传时间: 2021-12-04
上传用户:
FPGA片内FIFO读写测试Verilog逻辑源码Quartus工程文件+文档说明,使用 FPGA 内部的 FIFO 以及程序对该 FIFO 的数据读写操作。FPGA型号Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////module fifo_test( input clk, //50MHz时钟 input rst_n //复位信号,低电平有效 );//-----------------------------------------------------------localparam W_IDLE = 1;localparam W_FIFO = 2; localparam R_IDLE = 1;localparam R_FIFO = 2; REG[2:0] write_state;REG[2:0] next_write_state;REG[2:0] read_state;REG[2:0] next_read_state;REG[15:0] w_data; //FIFO写数据wire wr_en; //FIFO写使能wire rd_en; //FIFO读使能wire[15:0] r_data; //FIFO读数据wire full; //FIFO满信号 wire empty; //FIFO空信号 wire[8:0] rd_data_count; wire[8:0] wr_data_count; ///产生FIFO写入的数据always@(posedge clk or negedge rst_n)begin if(rst_n == 1'b0) write_state <= W_IDLE; else write_state <= next_write_state;endalways@(*)begin case(write_state) W_IDLE: if(empty == 1'b1) //FIFO空, 开始写FIFO next_write_state <= W_FIFO; else next_write_state <= W_IDLE; W_FIFO: if(full == 1'b1) //FIFO满 next_write_state <= W_IDLE; else next_write_state <= W_FIFO; default: next_write_state <= W_IDLE; endcaseendassign wr_en = (next_write_state == W_FIFO) ? 1'b1 : 1'b0; always@(posedge clk or negedge rst_n)begin if(rst_n == 1'b0) w_data <= 16'd0; else if (wr_en == 1'b1) w_data <= w_data + 1'b1; else w_data <= 16'd0; end///产生FIFO读的数据always@(posedge clk or negedge rst_n)begin if(rst_n == 1'b0) read_state <= R_IDLE; else read_state <= next_read_state;endalways@(*)begin case(read_state) R_IDLE: if(full == 1'b1) //FIFO满, 开始读FIFO next_read_state <= R_FIFO; else next_read_state <= R_IDLE; R_FIFO: if(empty == 1'b1)
上传时间: 2021-12-19
上传用户:20125101110
ADS8329 Verilog fpga 驱动源码,2.7V 至 5.5V 16 位 1MSPS 串行模数转换器 ADC芯片ADS8329数据采集的verilog代码,已经用在工程中,可以做为你的设计参考。( input clock, input timer_clk_r, input reset, output REG sample_over, output REG ad_convn, input ad_eocn, output REG ad_csn, output REG ad_clk, input ad_dout, output REG ad_din, output REG [15:0] ad_data_lock);REG [15:0] ad_data_old;REG [15:0] ad_data_new; REG [19:0] ad_data_temp; REG [15:0] ad_data;REG [4:0] ad_data_cnt;REG [4:0] ad_spi_cnt; REG [5:0] time_dly_cnt; parameter [3:0] state_mac_IDLE = 0, state_mac_0 = 1, state_mac_1 = 2, state_mac_2 = 3, state_mac_3 = 4, state_mac_4 = 5, state_mac_5 = 6, state_mac_6 = 7, state_mac_7 = 8, state_mac_8 = 9, state_mac_9 = 10, state_mac_10 = 11, state_mac_11 = 12, state_mac_12 = 13, state_mac_13 = 14, state_mac_14 = 15; REG [3:0] state_curr;REG [3:0] state_next;
上传时间: 2022-01-30
上传用户:1208020161
FPGA Verilog HDL设计温度传感器ds18b20温度读取并通过lcd1620和8位LED数码管显示的QUARTUS II 12.0工程文件,包括完整的设计文件.V源码,可以做为你的学习及设计参考。module ds18b20lcd1602display ( Clk, Rst, DQ, //18B20数据端口 Txd, //串口发送端口 LCD_Data, //lcd LCD_RS, LCD_RW, LCD_En, SMData, //数码管段码 SMCom //数码管位码 );input Rst,Clk;output Txd,LCD_RS,LCD_En,LCD_RW;inout DQ;output[7:0] LCD_Data;output[7:0] SMData;output[3:0] SMCom;wire DataReady;//测温完成信号wire [15:0] MeasureResult;//DS18B20测温结果REG [15:0] Temperature;//产生LCD的位码和段码LCD1602Display Gen_LCD(.resetin(Rst),.clkin(Clk),.Data16bIn(Temperature),.lcd_data(LCD_Data),.lcd_rs(LCD_RS),.lcd_rw(LCD_RW),.lcd_e(LCD_En)/*,.SMCom(SMCom)*/);//DS18B20测温和发送 DS18B20 TmpMeasureAndTx(.Rst(Rst),.Clk(Clk),.DQ(DQ),.Txd(Txd),.FinishFlag(DataReady),.Data16b(MeasureResult));//产生数码管的位码和段码SMDisplay Gen_SM(.Rst(Rst),.
标签: fpga verilog hdl 温度传感器 ds18b20 lcd1620 数码显示
上传时间: 2022-01-30
上传用户:
spi 通信的master部分使用的verilog语言实现,可以做为你的设计参考。module spi_master(rstb,clk,mlb,start,tdat,cdiv,din, ss,sck,dout,done,rdata); input rstb,clk,mlb,start; input [7:0] tdat; //transmit data input [1:0] cdiv; //clock divider input din; output REG ss; output REG sck; output REG dout; output REG done; output REG [7:0] rdata; //received dataparameter idle=2'b00; parameter send=2'b10; parameter finish=2'b11; REG [1:0] cur,nxt; REG [7:0] tREG,rREG; REG [3:0] nbit; REG [4:0] mid,cnt; REG shift,clr;
上传时间: 2022-02-03
上传用户:
verilog实现I2C通信的slave模块源码状态机设位计可做I2C接口的仿真模型//`timescale 1ns/1psmodule I2C_slv (input [6:0] slv_id,input RESET,input scl_i, //I2C clkinput sda_i, //I2C data ininput [7:0] I2C_RDDATA,////////////////////////output REG sda_o, //I2C data outoutput REG REG_w, //REG write enable pulse (1T of scl_i)output REG [7:0] I2C_ADDR,output REG [7:0] I2C_DATA); parameter ST_ADDR = 4'd0; parameter ST_ACK = 4'd1; parameter ST_WDATA1 = 4'd2; parameter ST_WACK1 = 4'd3; parameter ST_WDATA2 = 4'd4; parameter ST_WACK2 = 4'd5; parameter ST_WDATA3 = 4'd6; parameter ST_WACK3 = 4'd7; parameter ST_RDATA1 = 4'd8; parameter ST_RACK1 = 4'd9; parameter ST_IDLE = 4'd15;//---------------------------------------------------------------------------// Signal Declaration//--------------------------------------------------------------------------- REG i2c_start_n, i2c_stop_n; //wire RESET_scl; wire i2c_stp_n, i2c_RESET; REG [3:0] i2c_cs, i2c_ns; REG [3:0] cnt_bit; REG [7:0] d_vec; REG i2c_rd, i2c_ack; REG [7:0] I2C_RDDATA_latch;
上传时间: 2022-02-03
上传用户: