侵权投诉

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

LMK04821芯片项目代码详解

HXSLH1010101010 ? 来源:FPGA技术江湖 ? 作者:阿Q ? 2021-10-08 17:51 ? 次阅读

大侠好,阿Q来也,今天是第二次和各位见面,请各位大侠多多关照。今天给各位大侠带来一篇项目开发经验分享“基于JESD204B的LMK04821芯片项目开发”第二篇,这是本人实打实的项目开发经验,希望可以给有需要的大侠提供一些参考学习作用。

以后机会多多,慢慢分享一些项目开发以及学习方面的内容,欢迎各位大侠一起切磋交流。

204B实战应用-LMK04821代码详解(二)

一、 SPI协议

通过阅读LMK04821数据手册,我们可以从中知道,可以通过SPI协议对LMK04821进行寄存器的配置工作,进而实现我们设计所需要的功能。

SPI协议部分,咱们可以用3线,或者4线,在本次设计中,使用3线。关于SPI的时序部分,这儿就不再赘述,手册里面都有详细的描述。

二、 SPI寄存器配置模块设计

c89bd168-233c-11ec-82a8-dac502259ad0.png

图2

如图2所示,就是配置LMK04821存器的单元,信号定义如下:

1、cfg_clk:系统时钟

2、cfg_rst:系统复位;

3、通过VIO控制的信号,这组信号存在的目的在于方便检测自己配置寄存器的正确性。

vio_cfg_en:配置寄存器使能信号;

vio_cfg_wr:配置寄存器读写使能,0写1读;

vio_cfg_addr:配置的寄存器地址;

vio_cfg_wdata:寄存器中配置的值;

addr_118_data:预留信号,模块中没有用;

我们在配置LMK04821寄存器时,要验证配置寄存器操作是否正确,就要有写有读,在对应的寄存器内写入对应的数值,然后进行读操作,观察正确性。本次设计是在vivado环境下进行设计,通过添加VIO的IP核,来控制读写操作。同时,添加ILA配合VIO来进行读写数据操作的观测。别的开发环境下思路一样。

该组信号仅在回读寄存器时使用,目的是为了验证寄存器读写正确性。

c8e5f4b4-233c-11ec-82a8-dac502259ad0.png

图3

4、lmk_rst:LMK04821复位信号,用于复位LMK04821,直接和LMK04821芯片相连;

5、3线制SPI信号:

lmk_spi_csn:片选;

lmk_spi_sdio:数据;

lmk_spi_clk:时钟;

6、可编程管教:主要和LMK04821内部的PLL相关,本次设计中默认为0;

lmk_clk_sel0 :sel0;

lmk_clk_sel1 :sel1;

c87e9616-233c-11ec-82a8-dac502259ad0.png

三、 SPI数据buffer定义

在本次设计中,SPI配置数据buffer,data_reg为24bit,r_w占1bit,箭头1所指包含W1、W2以及地址位占13bit,具体见SPI时序图;箭头2所指数据位8bit。

根据图5我们可以知道,要配置LMK04821我们需要配置126个寄存器,这126个寄存器来源参见第一章实战记录。

其中,126个寄存器包含必须要配的寄存器、一些无关紧要的寄存器、以及功能实现所需要的寄存器等,有些寄存器需要配置多次。

四、 SPI时序实现

设计中,我们需要按照顺序配置126个寄存器,也就是说SPI要执行126次。因此,在代码实现过程中,注意寄存器配置的顺序,并且保证每个寄存器都准确无误的配置完成,才能进行下一个寄存器的配置。如果在设计中,要求LMK004821实现不同的功能,当配置的寄存器个数不一致时,在v文件中更改图6所示的参数即可。

ca0c7070-233c-11ec-82a8-dac502259ad0.png

图6

如下:是LMK04821配置的模块,读者可以作为参考。

代码区(参考代码):

//###########################################################################//// Copyright (C) 2017, JSZX, Co. Ltd. All Rights Reserved.//###########################################################################////-- Project Name :

//-- File Name : lmk04821_spi//-- Description ://###########################################################################////---------------------------Modification History----------------------------////-- Date By Ver Comment//-- 12/04/2017 hhh 1.0 Create new//===================================================================//-- End Revision//===================================================================`

timescale 1ns / 1ps

module lmk04821_spi( input cfg_clk , //《=10MHz input cfg_rst , input vio_cfg_en , input vio_cfg_wr ,//0,write;1,read; input [12:0] vio_cfg_addr , input [07:0] vio_cfg_wdata , input [07:0] addr_118_data ,

input r_w , input lmk_cfgen , output lmk_rst , output lmk_spi_csn , inout tri lmk_spi_sdio , output lmk_spi_clk , output lmk_clk_sel0 , output lmk_clk_sel1 , output reg regdatareadvalid , output reg [7:0] regdataread , output reg lmk_cfgdone = 1‘b0 );

//parameter defination parameter NUM_REG = 8’d126 ;//需要配置的寄存器个数 parameter CFG_DONE_DLY = 32‘hF4240 ;//100ms@10Mhz; //====================================================================// //----------------------internal signals------------------------------// //====================================================================// reg [00:0] lmk_cfgen_d0 ; reg [00:0] lmk_cfgen_d1 ;

reg [00:0] lmk_cfgen_d2 ; reg [00:0] vio_cfg_en_d0 ; reg [00:0] vio_cfg_en_d1 ;

reg [00:0] vio_cfg_en_d2 ; reg [07:0] cnt_clk ;// 每个寄存器需要的时钟数计数器 reg [07:0] cnt_reg ;// 需要配置的寄存器计数器,最多255个! reg [23:0] data_reg ; reg [00:0] load_p ; reg [00:0] load_p_d0 ; reg [35:0] mid_data_o ;

reg [35:0] mid_csn_o ; reg [00:0] spi_sdo ; reg [00:0] spi_cs_n ; wire[00:0] spi_sdi ; reg [05:0] sdo_cnt ;// //====================================================================//// //-----------------------------ila debug------------------------------//// //====================================================================

//// //ila_spi// ila_spi ila_spi(// .clk ( cfg_clk ),//// .probe0 ( cnt_clk ),//8// .probe1 ( cnt_reg ),//8// .probe2 ( data_reg ),//24// .probe3 ( load_p ),//1// .probe4 ( sdo_cnt ),//6// .probe5 ( spi_cs_n ),//1// .probe6 ( spi_sdi ),//1// .probe7 ( spi_sdo ),//1// .probe8 ( lmk_cfgen_d1 ) //1// ); //====================================================================// //--------------------------main process------------------------------// //====================================================================//

//lmk_clk_sel assign lmk_clk_sel0= 1’b0 ; assign lmk_clk_sel1= 1‘b0 ; //spi signals; assign lmk_rst = cfg_rst ; assign lmk_spi_clk = (spi_cs_n) ? 1’b0 : ~cfg_clk ;

assign lmk_spi_csn = spi_cs_n ; assign spi_sdi = lmk_spi_sdio; assign lmk_spi_sdio= (data_reg[23]==1‘b1 && sdo_cnt》6’h18)? 1‘bz : spi_sdo ;

//lmk_cfgen_d0/lmk_cfgen_d1/lmk_cfgen_d2/load_p_d0 always @(posedge cfg_clk or posedge cfg_rst) begin if(cfg_rst==1’b1) begin lmk_cfgen_d0 《= 1‘b0 ; lmk_cfgen_d1 《= 1’b0 ; lmk_cfgen_d2 《= 1‘b0 ; load_p_d0 《= 1’b0 ;

vio_cfg_en_d0 《= 1‘b0 ; vio_cfg_en_d1 《= 1’b0 ; vio_cfg_en_d2 《= 1‘b0 ; end else begin lmk_cfgen_d0 《= lmk_cfgen ;

lmk_cfgen_d1 《= lmk_cfgen_d0 ; lmk_cfgen_d2 《= lmk_cfgen_d1 ; load_p_d0 《= load_p ; vio_cfg_en_d0 《= vio_cfg_en ; vio_cfg_en_d1 《= vio_cfg_en_d0 ; vio_cfg_en_d2 《= vio_cfg_en_d1 ;

end end //load_p/cnt_reg/cnt_clk always @(posedge cfg_clk or posedge cfg_rst) begin if(cfg_rst==1’b1) begin cnt_reg 《= 8‘d0 ; cnt_clk 《= 8’d36 ; load_p 《= 1‘b0 ; end else begin if(lmk_cfgen_d1==1’b1 && lmk_cfgen_d2==1‘b0) begin cnt_clk 《= 8’d0 ;

cnt_reg 《= 8‘d0 ; load_p 《= 1’b0 ;

end else if((cnt_clk==8‘d36)&&(cnt_reg《NUM_REG)) begin cnt_clk 《= 8’d0 ; cnt_reg 《= cnt_reg + 8‘h1 ; load_p 《= 1’b1 ; end else begin load_p 《= 1‘b0 ; if(cnt_clk==8’d36)//cnt_reg==NUM_REG begin cnt_clk 《= 8‘d0 ; cnt_reg 《= cnt_reg ;

end else begin cnt_clk 《= cnt_clk + 8’h1 ; cnt_reg 《= cnt_reg ;

end end end end //data_reg:VCO0,1930~2075;VCO1,2920~3080; always @(posedge cfg_clk or posedge cfg_rst) begin if(cfg_rst==1‘b1) begin data_reg 《= 24’h80_0000; end else begin case(cnt_reg)//VCO_2Ghz; // Serial Port Configuration 8‘d1 : data_reg 《= {r_w,23’h0000_80} ;//soft reset 8‘d2 : data_reg 《= {r_w,23’h0000_00} ;//

8‘d3 : data_reg 《= {r_w,23’h0100_04} ;

//500Mhz;DCLKout0: input and output drive level;device clock out divider values 8‘d4 : data_reg 《= {r_w,23’h0101_55} ;//controls the digital delay high and low count values for the device clock outputs 8‘d5 : data_reg 《= {r_w,23’h0103_00} ;

//registers control the analog delay properties for the device clocks 8‘d6 : data_reg 《= {r_w,23’h0104_22} ;//set the half step for the device clock, the SYSREF output MUX, the SYSREF clock digital delay,and half step 8‘d7 : data_reg 《= {r_w,23’h0105_00} ;

//set the analog delay parameters for the SYSREF outputs 8‘d8 : data_reg 《= {r_w,23’h0106_70} ;

//controls the power down functions for the digital delay, glitchless half step 8‘d9 : data_reg 《= {r_w,23’h0107_15} ;//configure the output polarity, and formatLVDS;15:LVPECL16; 8‘d10 : data_reg 《= {r_w,23’h0108_10} ;//125Mhz;DCLKout2;V7_IO_CLK2; 8‘d11 : data_reg 《= {r_w,23’h0109_55} ; 8‘d12 : data_reg 《= {r_w,23’h010B_00} ;

8‘d13 : data_reg 《= {r_w,23’h010C_22} ;//bit[5]:SDCLKoutY_MUX;0, Device clock output; 8‘d14 : data_reg 《= {r_w,23’h010D_00} ; 8‘d15 : data_reg 《= {r_w,23’h010E_70} ;

//bit[3]:0,enable;bit[4]:powerdown; 8‘d16 : data_reg 《= {r_w,23’h010F_11} ;//11:LVDS;15:LVPECL16 8‘d17 : data_reg 《= {r_w,23’h0110_10} ;//125Mhz;DCLKout4; 8‘d18 : data_reg 《= {r_w,23’h0111_55} ; 8‘d19 : data_reg 《= {r_w,23’h0113_00} ; 8‘d20 : data_reg 《= {r_w,23’h0114_22} ;

//bit[5]:SDCLKoutY_MUX;0, Device clock output; 8‘d21 : data_reg 《= {r_w,23’h0115_00} ;

8‘d22 : data_reg 《= {r_w,23’h0116_70} ;//bit[3]:0,enable;bit[4]:powerdown; 8‘d23 : data_reg 《= {r_w,23’h0117_11} ;//11:LVDS;15:LVPECL16 8‘d24 : data_reg 《= {r_w,23’h0118_04} ;//500Mhz;DCLKout6,FPGA;V7_IO_CLK0; 8‘d25 : data_reg 《= {r_w,23’h0119_55} ; 8‘d26 : data_reg 《= {r_w,23’h011B_00} ;

8‘d27 : data_reg 《= {r_w,23’h011C_22} ;//bit[5]:SDCLKoutY_MUX;0, Device clock output; 8‘d28 : data_reg 《= {r_w,23’h011D_00} ; 8‘d29 : data_reg 《= {r_w,23’h011E_70} ; 8‘d30 : data_reg 《= {r_w,23’h011F_11} ;//11:LVDS;15:LVPECL16 8‘d31 : data_reg 《= {r_w,23’h0120_10} ;//125Mhz;DCLKout8,FPGA MGT114 CLOCK; 8‘d32 : data_reg 《= {r_w,23’h0121_55} ; 8‘d33 : data_reg 《= {r_w,23’h0123_00} ;

8‘d34 : data_reg 《= {r_w,23’h0124_02} ;//bit[5]:SDCLKoutY_MUX;0, Device clock output; 8‘d35 : data_reg 《= {r_w,23’h0125_00} ;

8‘d36 : data_reg 《= {r_w,23’h0126_70} ; 8‘d37 : data_reg 《= {r_w,23’h0127_11} ;//11:LVDS;15:LVPECL16 8‘d38 : data_reg 《= {r_w,23’h0128_10} ;//125Mhz;DCLKout10,FPGA MGT116 CLOCK; 8‘d39 : data_reg 《= {r_w,23’h0129_55} ; 8‘d40 : data_reg 《= {r_w,23’h012B_00} ;

8‘d41 : data_reg 《= {r_w,23’h012C_02} ;//bit[5]:SDCLKoutY_MUX;0, Device clock output; 8‘d42 : data_reg 《= {r_w,23’h012D_00} ; 8‘d43 : data_reg 《= {r_w,23’h012E_70} ; 8‘d44 : data_reg 《= {r_w,23’h012F_11} ;//11:LVDS;15:LVPECL16 8‘d45 : data_reg 《= {r_w,23’h0130_04} ;//500Mhz;DCLKout12; 8‘d46 : data_reg 《= {r_w,23’h0131_55} ; 8‘d47 : data_reg 《= {r_w,23’h0133_00} ; 8‘d48 : data_reg 《= {r_w,23’h0134_22} ;

8‘d49 : data_reg 《= {r_w,23’h0135_00} ; 8‘d50 : data_reg 《= {r_w,23’h0136_70} ; 8‘d51 : data_reg 《= {r_w,23’h0137_15} ;//11:LVDS;15:LVPECL16

8‘d52 : data_reg 《= {r_w,23’h0138_00} ;//selects the clock distribution source, and OSCout parameters;VCO0; 8‘d53 : data_reg 《= {r_w,23’h0139_03} ;//sets the source for the SYSREF outputs 8‘d54 : data_reg 《= {r_w,23’h013A_00} ;

//SYSREF_DIV[12:8] DIV register 1;sysref 2000M/160=12.5Mhz; 8‘d55 : data_reg 《= {r_w,23’h013B_A0} ;//SYSREF_DIV[7:0] DIV register 0; 8‘d56 : data_reg 《= {r_w,23’h013C_08} ;//set the delay of the SYSREF digital delay value[12:8] 8‘d57 : data_reg 《= {r_w,23’h013D_00} ;

//set the delay of the SYSREF digital delay value[7:0] 8‘d58 : data_reg 《= {r_w,23’h013E_03} ;//sets the number of SYSREF pulses if SYSREF is not in continuous mode;

8‘d59 : data_reg 《= {r_w,23’h013F_04} ;//controls the feedback feature 8‘d60 : data_reg 《= {r_w,23’h0140_01} ;//13-OSCin PD; powerdown controls for OSCin and SYSREF functions;bit[0]:Powerdown SYSREF pulse generator; 8‘d61 : data_reg 《= {r_w,23’h0141_FF} ;//enables dynamic digital delay for enabled device clocks 8‘d62 : data_reg 《= {r_w,23’h0142_00} ;//sets the number of dynamic digital delay adjustments occur 8‘d63 : data_reg 《= {r_w,23’h0143_91} ;

//sets general SYNC parameters such as polarization, and mode 8‘d64 : data_reg 《= {r_w,23’h0144_00} ;//prevent a clock output from being synchronized or interrupted by a SYNC event or when outputting SYSREF 8‘d65 : data_reg 《= {r_w,23’h0145_7F} ;//Always program this register to value 127 8‘d66 : data_reg 《= {r_w,23’h0171_AA} ;// 8‘d67 : data_reg 《= {r_w,23’h0172_02} ;

// 8‘d68 : data_reg 《= {r_w,23’h0173_00} ;//bit[6]PLL2_PRE_PD; bit[5]PLL2_PD; 8‘d70 : data_reg 《= {r_w,23’h017C_15} ;//OPT_REG_1:21; 8‘d71 : data_reg 《= {r_w,23’h017D_33}

;//OPT_REG_2:51; 8‘d72 : data_reg 《= {r_w,23’h0182_00} ; 8‘d73 : data_reg 《= {r_w,23’h0183_00} ; 8‘d74 : data_reg 《= {r_w,23’h0184_00} ; 8‘d75 : data_reg 《= {r_w,23’h0185_00} ; 8‘d76 : data_reg 《= {r_w,23’h0188_00} ;

8‘d77 : data_reg 《= {r_w,23’h0146_38} ;//CLKin enable and type controls. 8‘d78 : data_reg 《= {r_w,23’h0147_02} ;//CLKin_SEL_MODE. pin select mode; 8‘d79 : data_reg 《= {r_w,23’h0148_02} ;

//CLKin_SEL0 controls 8‘d80 : data_reg 《= {r_w,23’h0149_42} ;//CLKin_SEL1 controls and register readback SDIO pin type 8‘d81 : data_reg 《= {r_w,23’h014A_02} ;//contains control of the RESET pin 8‘d82 : data_reg 《= {r_w,23’h014B_16} ;

//contains the holdover functions:start; 8‘d83 : data_reg 《= {r_w,23’h014C_00} ;// 8‘d84 : data_reg 《= {r_w,23’h014D_00} ;// 8‘d85 : data_reg 《= {r_w,23’h014E_C0} ;// 8

‘d86 : data_reg 《= {r_w,23’h014F_7F} ;// 8‘d87 : data_reg 《= {r_w,23’h0150_03} ;// 8

‘d88 : data_reg 《= {r_w,23’h0151_02} ;// 8‘d89 : data_reg 《= {r_w,23’h0152_00} ;//contains the holdover functions:end; 8‘d90 : data_reg 《= {r_w,23’h0153_00} ;//CLKin0_R[13:8] 8‘d91 : data_reg 《= {r_w,23’h0154_01} ;//CLKin0_R[7:0] 8‘d92

: data_reg 《= {r_w,23’h0155_00} ;//CLKin1_R[13:8] 8‘d93 : data_reg 《= {r_w,23’h0156_40} ;//CLKin1_R[7:0] 8‘d94 : data_reg 《= {r_w,23’h0157_00} ;//CLKin2_R[13:8] 8‘d95

: data_reg 《= {r_w,23’h0158_40} ;//CLKin2_R[7:0] 8‘d96 : data_reg 《= {r_w,23’h0159_00} ;//PLL1_N[13:8] 8‘d97 : data_reg 《= {r_w,23’h015A_01} ;//PLL1_N[7:0] 8‘d98 : data_reg 《= {r_w,23’h015B_D4} ;//PLL1 phase detector 8‘d99 : data_reg 《= {r_w,23’h015C_20} ;//PLL1_DLD_CNT[13:8] 8‘d100 : data_reg 《= {r_w,23’h015D_00} ;//PLL1_DLD_CNT[7:0] 8‘d101 : data_reg 《= {r_w,23’h015E_00} ;//contains the delay value for PLL1 N and R

delays. 8‘d102 : data_reg 《= {r_w,23’h015F_0B} ;//configures the PLL1 LD pin 8‘d103 : data_reg 《= {r_w,23’h0160_00} ;//PLL2_R[11:8] 8‘d104 : data_reg 《= {r_w,23’h0161_01} ;//PLL2_R[7:0] 8‘d105 : data_reg 《= {r_w,23’h0162_44} ;//sets other PLL2 functions:[7:5]:PLL2_P;[4:2]:OSCin_FREQ;[1]:PLL2_XTAL_EN;[0]:PLL2_REF_2X_EN; 8‘d106

: data_reg 《= {r_w,23’h0163_00} ;//PLL2_N_CAL[17:16] 8‘d107 : data_reg 《= {r_w,23’h0164_00} ;//PLL2_N_CAL[15:8] 8‘d108 : data_reg 《= {r_w,23’h0165_0C} ;//PLL2_N_CAL[7:0] 8‘d109 : data_reg 《= {r_w,23’h0166_00} ;//PLL2_N[17:16],MSB; 8‘d110 : data_reg 《= {r_w,23’h0167_00} ;//PLL2_N[15:8],---;

8‘d111 : data_reg 《= {r_w,23’h0168_0A} ;//PLL2_N[7:0],LSB; 8‘d112 : data_reg 《= {r_w,23’h0169_59} ;//controls the PLL2 phase detector 8

‘d113 : data_reg 《= {r_w,23’h016A_60} ;// 8‘d114 : data_reg 《= {r_w,23’h016B_00} ;// 8

‘d115 : data_reg 《= {r_w,23’h016C_00} ;// 8‘d116 : data_reg 《= {r_w,23’h016D_00} ;// 8

‘d117 : data_reg 《= {r_w,23’h016E_13} ;// 8‘d118 : data_reg 《= {r_w,23’h0143_90} ;// 8

‘d119 : data_reg 《= {r_w,23’h0139_00} ;// 8‘d120 : data_reg 《= {r_w,23’h0143_B0} ;// 8

‘d121 : data_reg 《= {r_w,23’h0143_90} ;// 8‘d122 : data_reg 《= {r_w,23’h0144_FF} ;// 8

‘d123 : data_reg 《= {r_w,23’h0143_10} ;// 8‘d124 : data_reg 《= {r_w,23’h0143_11} ;// 8‘d125 : data_reg 《= {r_w,23’h0139_03} ;// 8‘d126 : data_reg 《= {1’b1,23‘h0002_00} ;// default : data_reg 《= 24’h80_0000 ; endcase end end //spi_sdo/spi_cs_n/mid_data_o/mid_csn_o/mid_data_o/vio_cfg_cnt always @(posedge cfg_clk or posedge cfg_rst) begin if(cfg_rst==1‘b1) begin spi_sdo 《= 1’b0; spi_cs_n 《= 1‘b1; mid_data_o 《= 36’h0; mid_csn_o 《= 36‘hFFFFFFFFF; sdo_cnt 《= 6’b0 ; end else begin if

(load_p_d0==1‘b1) begin spi_sdo 《= 1’b0; mid_data_o 《= {data_reg[23:0],12‘hfff};//r_w:0 write;1 read; spi_cs_n 《= 1’b1; mid_csn_o 《= {24‘h0,12’hFFF}; sdo_cnt 《= 6‘h1 ; end else

if(vio_cfg_en_d1==1’b1 && vio_cfg_en_d2==1‘b0) begin spi_sdo 《= 1’b0; mid_data_o 《=

{vio_cfg_wr,2‘b00,vio_cfg_addr,vio_cfg_wdata,12’hfff};//r_w:0 write;1 read; spi_cs_n 《= 1

‘b1; mid_csn_o 《= {24’h0,12‘hFFF}; sdo_cnt 《= 6’h1 ; end else begin spi_sdo 《= mid_data_o[35]; mid_data_o 《= {mid_data_o[34:0],1‘b0}; spi_cs_n 《= mid_csn_o[35]; mid_csn_o 《=

{mid_csn_o[34:0],1’b1}; if(sdo_cnt《6‘h3f) begin sdo_cnt 《= sdo_cnt + 6’h1 ; end else

begin sdo_cnt 《= sdo_cnt ; end end end end //regdatareadvalid/regdataread always @(posedge cfg_clk or posedge cfg_rst) begin if(cfg_rst==1‘b1) begin regdatareadvalid 《= 1’b0 ; regdataread 《= 8‘b0 ;

end else begin if(spi_cs_n==1’b0) begin if(data_reg[23]==1‘b1) begin if(sdo_cnt》6’d18 && sdo_cnt《6‘d25)//2-17;18-25; begin regdatareadvalid 《= 1’b0 ; regdataread 《= {regdataread[6:0],spi_sdi}; end else if(sdo_cnt==6‘d25) begin regdatareadvalid 《= 1’b1 ; regdataread 《= {regdataread[6:0],spi_sdi};

end else begin regdatareadvalid 《= 1‘b0 ; regdataread 《= regdataread ; end end else begin regdatareadvalid 《= 1’b0 ; regdataread 《= regdataread ; end end else begin regdatareadvalid 《= 1‘b0 ; regdataread 《= regdataread ;

end end end //lmk_cfgdone always @(posedge cfg_clk or posedge cfg_rst) begin if(cfg_rst) begin lmk_cfgdone 《= 1’b0 ; end else begin if(cnt_reg》=NUM_REG) begin lmk_cfgdone 《= 1‘b1 ; end else begin lmk_cfgdone 《= 1’b0 ;

end end end //====================================================================// //------------------------------- end ------------------------------// //====================================================================//

endmodule

下一篇,将详细介绍jesd_204B IP核应用的相关知识,各位大侠,尽请关注。

责任编辑:haq

原文标题:FPGA项目开发:204B实战应用-LMK04821代码详解(二)

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    安森美智能感知技术和方案助力工业自动化创新

    安森美(onsemi)在成像领域有超过40年的丰富经验,在激光雷达(LiDAR)等深度感知领域也领先....
    发表于 01-18 11:22 ? 216次 阅读
    安森美智能感知技术和方案助力工业自动化创新

    OBD_CAN的读取代码程序下载

    OBD_CAN的读取代码程序下载
    发表于 01-18 11:01 ? 3次 阅读

    基于 Arduino 高精度简易桌面钟(Oled/DS3231)

    在网上很少能看到有关RTC时钟的教程,有的话也是语焉不详,更多的是基于ESP8266的电子时钟,可惜....
    发表于 01-18 09:53 ? 9次 阅读
    基于 Arduino 高精度简易桌面钟(Oled/DS3231)

    基于FPGA和STM32的相位差测量的相关资料分享

    说在前头这是我的第二篇博文,接上一篇,都是为了准备电赛,结果电赛没用上,特来分享。这篇文章使用的方法同时也适用测量占空比...
    发表于 01-18 07:40 ? 0次 阅读

    FPGA IIC读写时序的相关资料分享

    I2C读写时序I2CI2C写时序I2C读时序I2CI2C 总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一...
    发表于 01-18 07:30 ? 0次 阅读

    STM32单片机按键消抖和FPGA按键消抖的相关资料分享

    写在前面:STM32单片机按键消抖和FPGA按键消抖大全按键去抖:由上图可以看出理想波形与实际波形之间是有区别的,实际波形...
    发表于 01-18 06:39 ? 0次 阅读

    几种常见的通信方式比较

    uart串口的优缺点分别是什么呢? SPI接口的优缺点分别是什么呢? I2C总线的优缺点分别是什么呢? ...
    发表于 01-18 06:39 ? 0次 阅读

    今天给大家分享FPGA知识大串讲系列的教程

          FPGA知识大串讲视频,通过5个视频将FPGA的所有知识串联起来,使学生能够系统地掌握FPGA的...
    发表于 01-17 14:42 ? 202次 阅读

    ADC/DAC IC上的集成强化型DSP改进宽带多通道系统

    鉴于XCVU9P FPGA的利用率,很显然必须要用一个更大的FPGA,比如XCVU13P(包含12,....
    发表于 01-17 14:35 ? 398次 阅读
    ADC/DAC IC上的集成强化型DSP改进宽带多通道系统

    FPGA复位的正确打开方式

    ??本篇文章参考Xilinx White Paper:Get Smart About Reset: ....
    发表于 01-17 12:42 ? 8次 阅读
    FPGA复位的正确打开方式

    异步复位问题

    复位中的同步复位和异步复位问题:恢复时间是指异步复位信号释放和时钟上升沿的最小距离,在“下个时钟沿”....
    发表于 01-17 12:25 ? 2次 阅读
    异步复位问题

    基于VHDL的数码管动态扫描电路设计,四个数码管累加显示数字0000-9999,间隔1秒。FPGA型号:EP4CE6E22C8,开发环境:Quartus18.1

    一、硬件设备是FPGA入门开发板EP4CE6E22C8,数码管的原理图如下: 段选信号abcd....
    发表于 01-17 11:30 ? 4次 阅读
    基于VHDL的数码管动态扫描电路设计,四个数码管累加显示数字0000-9999,间隔1秒。FPGA型号:EP4CE6E22C8,开发环境:Quartus18.1

    怎样使用i2c通信与spi去扩展uart呢

    怎样使用i2c通信去扩展uart呢? 怎样使用去spi去扩展uart呢? ...
    发表于 01-17 08:21 ? 0次 阅读

    今天分享fpga-测试文件

         今天给大家分享一下我们 测试文件 的系列教程内容包括:测试文件编写技巧、测试文件模板、测试文件的练...
    发表于 01-15 15:46 ? 404次 阅读

    今天给大家分享FPGA-测试文件

          今天给大家分享一下我们 测试文件 的系列教程内容包括:测试文件编写技巧、测试文件模板、测试文件的...
    发表于 01-15 14:26 ? 404次 阅读

    今天给大家分享VGA系列的教程【很适合刚学零基础小白学习】

        今天给大家分享一下我们 VGA  的系列教程   内容包括:VGA显示原理及开发板VGA介绍...
    发表于 01-15 10:31 ? 506次 阅读

    【年度精选】2021年度top5榜单——FPGA技术论坛社区经验

    本榜单汇总了2021年阅读量最多的经验帖,都是深受各位开发者喜欢的项目开发经验,相信你也能从中找到适合自己的知识,快来阅读收...
    发表于 01-14 17:39 ? 707次 阅读

    嵌入式系统架构浅谈:硬件的选型(三) -------通讯接口

    1. 嵌入式的通讯接口嵌入式系统中,我们熟知的通讯接口无非有串口,SPI,IIC,CAN,USB。都....
    发表于 01-14 13:19 ? 6次 阅读
    嵌入式系统架构浅谈:硬件的选型(三) -------通讯接口

    USP是什么,如何使用USP

    在软件定义汽车的行业趋势下,SOA架构的应用让汽车软件”分层解耦”,汽车软件出现复制智能手机软件分工....
    的头像 联合电子 发表于 01-14 13:08 ? 277次 阅读

    FPGA基础知识:什么是FPGA,为何需要FPGA?

    最佳处理解决方案常常是由 RISC、CISC、图形处理器与 FPGA 的组合提供,或由 FPGA 单....
    的头像 物联网评论 发表于 01-13 14:04 ? 1651次 阅读

    用于汽车接口、安全和计算密集型负载FPGA的选择和使用

    传统上,汽车中的计算任务由微控制器单元 (MCU) 和应用处理器 (AP) 执行。一辆典型的中档汽车....
    的头像 物联网评论 发表于 01-13 14:02 ? 2785次 阅读

    数字IC设计入门(2)初识电子元件

    电阻电阻是一种限流元件,对电流起阻碍作用,阻值越大对电流的阻碍作用越大,通常用R表示。① 电阻串联串....
    发表于 01-12 17:17 ? 16次 阅读
    数字IC设计入门(2)初识电子元件

    教程:ESP8266接入机智云,成功实现代码移植

    本文主要以图文方式介绍了ESP8266接入机智云,生成MCU代码,并成功移植代码,实现APP控制硬件....
    的头像 机智小编 发表于 01-12 10:29 ? 20次 阅读
    教程:ESP8266接入机智云,成功实现代码移植

    干货 | 电源PCB设计指南(含安规/EMC/布局/热设计/工艺)

    摘要:安规距离要求部分抗干扰、EMC部分整体布局及走线部分热设计部分工艺处理部分安规距离要求部分包括....
    发表于 01-11 10:14 ? 18次 阅读
    干货 | 电源PCB设计指南(含安规/EMC/布局/热设计/工艺)

    深开鸿加速推进OpenHarmony生态建设

    为感谢深开鸿对OpenHarmony官网改版项目的大力支持,OpenHarmony工作委员会向深开鸿....
    的头像 深开鸿 发表于 01-10 18:38 ? 395次 阅读

    抓住JESD204B接口功能的关键问题

    本故障排除指南并未穷尽所有可能,但为使用JESD204B链路以及希望了解更多信息的工程师提供了一个很....
    发表于 01-10 11:06 ? 1869次 阅读
    抓住JESD204B接口功能的关键问题

    封装的种类有哪些

    什么是封装?封装即隐藏对象的属性和实现细节,将数据与操作数据的源代码进行有机的结合,那么封装的种类有....
    的头像 我快闭嘴 发表于 01-07 17:08 ? 426次 阅读

    中科亿海微亮相ICCAD 2021

    一年一度的集成电路行业盛会“中国集成电路设计业2021年会暨无锡集成电路产业创新发展高峰论坛(ICC....
    的头像 shoushuangqing 发表于 01-07 15:39 ? 42次 阅读
    中科亿海微亮相ICCAD 2021

    半导体基础知识(4):无源,有源和机电组件

    无源组件不能放大信号,并且它们不会产生机械运动。有源元件可以放大信号。机电组件将电能转换为机械运动,....
    发表于 01-07 12:19 ? 35次 阅读
    半导体基础知识(4):无源,有源和机电组件

    莱迪思FPGA助力联想下一代网络边缘AI体验

    莱迪思低功耗FPGA和机器视觉软件解决方案为联想(Lenovo?)最新的ThinkPad? X1系列....
    发表于 01-06 13:37 ? 1144次 阅读
    莱迪思FPGA助力联想下一代网络边缘AI体验

    FPGA中电源管脚在同一个BANK为何需要多个引脚?

    在此链接找到答案:http://xilinx.eetop.cn/viewthread-2281981....
    发表于 01-06 11:18 ? 17次 阅读
    FPGA中电源管脚在同一个BANK为何需要多个引脚?

    FPGA电源选择的重要性

    IF"> FPGA的电源需求通常很复杂,因为FPGA有多达至少三种供电要求,为了实现可靠的系统性能,....
    发表于 01-06 11:14 ? 13次 阅读
    FPGA电源选择的重要性

    FPGA-VGA的实现资料合集

    FPGA-VGA的实现资料合集
    发表于 01-05 15:34 ? 24次 阅读

    鸿蒙 TabList 配合 Fraction 实现顶部切换效果演示

    今天我想着配合鸿蒙里面提供的顶部切换控件 tablist,来实现顶部 tab 切换,然后下面多个 f....
    的头像 HarmonyOS技术社区 发表于 01-04 14:41 ? 244次 阅读

    鸿蒙上安装按钮实现下载、暂停、取消、显示等操作

    今天给大家分享在鸿蒙上一个按钮实现下载、暂停、取消、显示下载进度操作。
    的头像 HarmonyOS技术社区 发表于 01-04 14:32 ? 248次 阅读

    HarmonyOS基于 ArkUI 中 TS 扩展声明式开发范式

    本来计划要做一个本地数据库存储相关的项目,但是官方的小伙伴给我说,ArkUI 数据库目前不支持最新的....
    的头像 HarmonyOS技术社区 发表于 01-04 14:19 ? 253次 阅读

    如何量化高速ADC转换误差率的频率和幅度

    许多实际高速采样系统,如电气测试与测量设备、生命系统健康监护等,不能接受较高的ADC转换误差率。这些....
    的头像 Excelpoint世健 发表于 01-03 09:09 ? 254次 阅读

    INTEL FPGA学习笔记

    INTEL FPGA学习笔记第12节:语法篇_Verilog基础语法第13节:语法篇_Verilog....
    发表于 12-31 19:54 ? 44次 阅读
    INTEL FPGA学习笔记

    Tang Nano FPGA(35元开发板).初探

    ?Lichee Tang Nano基于高云小蜜蜂系列GW1N-1 FPGA的简约型开发板。该芯片搭载....
    发表于 12-31 19:20 ? 32次 阅读
    Tang Nano FPGA(35元开发板).初探

    一文了解Moku:Lab多功能电子测量仪

    Moku:Lab基于FPGA(现场可编程门阵列)开发,利用其强大的并行计算能力实现测试测量设备所需的....
    的头像 贝思科尔 发表于 12-31 15:32 ? 446次 阅读

    英特尔宣布开发基于FPGA基础设施处理单元(IPU)的解决方案

    我们与生态系统以及领先的云和通信服务提供商的联合,使开发人员能够通过CPU和IPU平台支持生态系统,....
    的头像 英特尔FPGA 发表于 12-31 13:45 ? 1718次 阅读

    工业各类场景下的虹科各类解决方案

    今年受疫情影响,响应国家政策,虹科开设线上云展厅——虹科工业数智化展厅,展示工业各类场景下的虹科各类....
    的头像 广州虹科电子科技有限公司 发表于 12-31 10:38 ? 319次 阅读

    FPGA+MicroBlaze裸机案例开发手册

    导读创龙科技TL665xF-EasyEVM评估板是一款基于TIKeyStone架构C6000系列TM....
    发表于 12-30 17:37 ? 19次 阅读

    机械键盘改罗技优联无线键盘

    心态爆炸,刚刚都编辑好了结果浏览器崩了,快速整理下这次改装过程现在市面上无线键盘多数是蓝牙模式,存在....
    发表于 12-29 19:01 ? 63次 阅读
    机械键盘改罗技优联无线键盘

    FPGA+MicroBlaze裸机程序加载与固化

    导读创龙科技TL665xF-EasyEVM评估板是一款基于TIKeyStone架构C6000系列TM....
    发表于 12-29 18:21 ? 13次 阅读

    英特尔携手合作伙伴开发基于FPGA基础设施处理单元解决方案

    与此同时,我们全新上线的“英特尔 IPU系列网络研讨会”亦在火热进行中,目前锐捷网络专场已圆满落幕(....
    的头像 英特尔FPGA 发表于 12-29 09:37 ? 327次 阅读

    FPGA的发展趋势

    公开课上,石侃老师主要从FPGA的发展简史、FPGA与云数据中心、FPGA与人工智能、FPGA的新开....
    的头像 英特尔FPGA 发表于 12-29 09:33 ? 556次 阅读

    串口转axi主机总线接口

    uart2axi_master_intf程序源码:/************************....
    发表于 12-28 20:04 ? 18次 阅读
    串口转axi主机总线接口

    USB至串口TTL转接设备及Console线

    常见芯片方案按价格从高到低排个序FTDI(英国)的FT232公认稳定可靠, 传输速率3Mbps, 功....
    发表于 12-28 20:00 ? 28次 阅读
    USB至串口TTL转接设备及Console线

    OpenHarmony Dev-Board-SIG专场:龙芯1C300芯片及代码开源介绍

    OpenHarmony Dev-Board-SIG专场:龙芯1C300芯片及代码开源介绍
    的头像 lhl545545 发表于 12-28 15:49 ? 322次 阅读
    OpenHarmony Dev-Board-SIG专场:龙芯1C300芯片及代码开源介绍

    基于DSP多核IPC通信案例开发手册

    导读创龙科技TL665xF-EasyEVM评估板是一款基于TIKeyStone架构C6000系列TM....
    发表于 12-28 15:19 ? 20次 阅读

    OpenHarmony Dev-Board-SIG专场:BearPi-HM Nano开发板提供一套数字管家开发示例代码

    OpenHarmony Dev-Board-SIG专场:BearPi-HM Nano开发板提供一套数....
    的头像 lhl545545 发表于 12-28 14:31 ? 314次 阅读
    OpenHarmony Dev-Board-SIG专场:BearPi-HM Nano开发板提供一套数字管家开发示例代码

    OpenHarmony Dev-Board-SIG专场:代码上Master所需材料

    OpenHarmony Dev-Board-SIG专场:代码上Master所需材料 审核编辑:金巧
    的头像 Les 发表于 12-28 14:27 ? 257次 阅读
    OpenHarmony Dev-Board-SIG专场:代码上Master所需材料

    OpenHarmony Dev-Board-SIG专场:Master代码三方芯片支持目录整改

    OpenHarmony Dev-Board-SIG专场:Master代码三方芯片支持目录整改
    的头像 lhl545545 发表于 12-28 14:23 ? 298次 阅读
    OpenHarmony Dev-Board-SIG专场:Master代码三方芯片支持目录整改

    开源见面会OpenHarmony Dev-Board-SIG专场:代码上库典型问题

    开源见面会OpenHarmony Dev-Board-SIG专场:代码上库典型问题 ? 审核编辑:金....
    的头像 Les 发表于 12-28 14:21 ? 264次 阅读

    OpenHarmony Dev-Board-SIG专场:代码上库典型问题

    OpenHarmony Dev-Board-SIG专场:代码上库典型问题
    的头像 lhl545545 发表于 12-28 14:18 ? 273次 阅读
    OpenHarmony Dev-Board-SIG专场:代码上库典型问题

    OpenHarmony Dev-Board-SIG专场:DAYU200开源计划—代码上Master需要的材料

    OpenHarmony Dev-Board-SIG专场:DAYU200开源计划—代码上Master需....
    的头像 lhl545545 发表于 12-28 14:14 ? 347次 阅读
    OpenHarmony Dev-Board-SIG专场:DAYU200开源计划—代码上Master需要的材料

    Fugaku超级计算机程序已实现100倍的速度提升

    在不到18个月的时间里,密歇根大学的一个团队采用GPU,为一个基于复杂数学的程序实现了20倍的提速。....
    的头像 NVIDIA英伟达企业解决方案 发表于 12-28 09:26 ? 344次 阅读

    DSP+ZYNQ双核通信案例开发手册

    导读创龙科技TL6678ZH-EVM是一款基于TIKeyStone架构C6000系列TMS320C6....
    发表于 12-28 09:23 ? 15次 阅读

    GPIO 四种编码模式的对应脚位如何查找

    嵌入式设备有个被天生赋予的重点任务,就是要成为自动控制整体方案中的一员。早期市场对自动控制的需求主要....
    的头像 NVIDIA英伟达企业解决方案 发表于 12-28 09:12 ? 404次 阅读

    AD5025 全精度12位VOUT nanoDAC?,SPI接口,4.5 V至5.5 V电源,采用TSSOP封装

    信息优势和特点 低功耗双通道12/14/16位DAC,±1 LSB INL 独立的基准电压引脚 轨到轨工作 4.5 V至5.5 V电源 上电复位至零电平或中间电平 关断模式:400 nA (5 V) 3种关断功能 各通道独立关断 上电时毛刺非常低 硬件关断闭锁功能 硬件LDAC,具有软件LDAC覆盖功能 CLR功能,清零至可编程码 SDO菊花链选项 14引脚TSSOP产品详情AD5025/AD5045/AD5065是低功耗、双通道12/14/16位缓冲电压输出nanoDAC? DAC,相对精度特性为±1 LSB INL(积分非线性),具有独立的基准电压引脚,可以采用4.5 V至5.5 V单电源供电。此外还提供±1 LSB的微分精度特性。这些器件采用多功能三线式、低功耗、施密特触发器串行接口,能够以最高50 MHz的时钟速率工作,并与标准SPI?、QSPI?、MICROWIRE?和DSP接口标准兼容。AD5025/ AD5045/AD5065的基准电压通过一个外部引脚获得,芯片上提供基准电压缓冲。AD5025/AD5045/AD5065内置一个上电复位电路,确保DAC输出上电至零电平或中间电平,并保持该电平,直到对该器件执行一次有效的写操作为止。AD5025/AD5045/AD5065具有关断特性,在关断模式下,...
    发表于 04-18 19:32 ? 943次 阅读

    AD5044 全精度、四通道、14位、缓冲电压输出、4.5 V至5.5 V nanoDAC?,采用SPI接口

    信息优势和特点 低功耗四通道12/14/16位DAC,±1 LSB INL AD5666的引脚兼容、性能升级产品 独立和共用电压参考引脚选项 轨到轨工作 4.5 V至5.5 V电源供电 上电复位至零电平或中间电平 3种关断功能以及各通道独立关断功能 硬件LDAC和软件LDAC 覆盖功能 CLR 功能,清零至可编程码 SDO菊花链选项 14/16引脚TSSOP封装 内部基准电压缓冲及内部输出放大器 产品详情AD5024/AD5044/AD5064是低功耗、四通道12/14/16位缓冲电压输出:nanoDAC? DAC,相对精度特性为1 LSB INL(积分非线性)、1 LSB DNL(差分非线性),具有独立的基准电压引脚,可以采用4.5 V至5.5 V单电源供电。此外还提供±1 LSB的微分精度特性。这些器件采用多功能三线式、低功耗、施密特触发器串行接口,能够以最高50 MHz的时钟速率工作,并与标准SPI、QSPI?、MICROWIRE?和DSP接口标准兼容。片内提供基准电压缓冲。AD5024/AD5044/AD5064内置一个上电复位电路,确保DAC输出上电至零电平或中量程,并保持该电平,直到对该器件执行一次有效的写操作为止。AD5024/AD5044/ AD5064具有关断特性,在关断模式...
    发表于 04-18 19:32 ? 205次 阅读

    AD5317R 四通道、10位nanoDAC?,内置2 ppm/°C基准电压源和SPI接口

    信息优势和特点 INL(最大值为±0.5LSB)和DNL(最大值为±0.5LSB) 低漂移2.5 V基准电压源:2 ppm/°C(典型值) 小型封装:3 mm × 3 mm、16引脚LFCSP 总不可调整误差(TUE):±0.1% FSR(最大值) 失调误差:±1.5 mV(最大值) 增益误差:±0.1% FSR(最大值) 高驱动能力:20 mA,0.5 V(供电轨) 用户可选增益:1或2(GAIN引脚) 复位到零电平或中间电平(RSTSEL引脚) 1.8 V逻辑兼容 带回读或菊花链的50 MHz SPI 低毛刺:0.5 nV-s 产品详情内部基准电压源(默认使能)和增益选择引脚,满量程输出为2.5 V(增益=1)或5 V(增益=2)。它采用2.7 V至5.5 V单电源供电,通过设计保证单调性,并具有小于0.1% FSR的增益误差和1.5 mV的失调误差性能。该器件提供3 mm × 3 mm LFCSP和TSSOP封装。 AD5317R还内置一个上电复位电路和一个RSTSEL引脚,确保DAC输出上电至零电平或中间电平,直到执行一次有效的写操作为止。此外所有器件均具有各通道独立掉电特性,在掉电模式下,器件在3 V时的功耗降至4 μA。AD5317R采用多功能SPI接口,时钟速率最高达50 MHz,包含一个为...
    发表于 04-18 19:31 ? 115次 阅读

    AD5263 四通道、15 V、256位数字电位计,提供引脚可选的SPI/I2C

    信息优势和特点 256位、4通道 端到端电阻:20 kΩ、50 kΩ、200 kΩ 引脚可选的SPI?或 I2C?兼容型接口 上电预设为中量程 两个封装地址解码引脚AD0和AD1 温度系数(变阻器模式):30 ppm/°C 温度系数(分压器模式):5 ppm/°C 宽工作温度范围:–40°C至+125°C 10 V至15 V单电源或±5 V双电源产品详情AD5263是业界首款提供可选数字接口的四通道、256位数字电位计1 ,它可实现与机械电位计或可变电阻相同的电子调整功能,而且具有增强的分辨率、固态可靠性和出色的低温度系数性能。在A端与游标或B端与游标之间,AD5263的各通道均提供一个完全可编程电阻值。A至B固定端接电阻(20 kΩ、50 kΩ或200 kΩ)的标称温度系数为±30 ppm/°C,通道间匹配容差为±1%。另外,该器件可采用+4.5 V至+15 V或±5 V电源供电。系统上电时,游标位预设为中量程。上电后,VR游标位可通过三线式SPI或双线式I2C兼容型接口进行编程设置。I2C模式下,用户可以利用附加可编程逻辑输出,驱动其系统中的数字负载、逻辑门和模拟开关。AD5263采用24引脚窄体TSSOP封装,保证工作温度范围为–40°C至+125°C汽车应用温度范围。对于单通道或双通道应...
    发表于 04-18 19:30 ? 1173次 阅读

    AD5260 +15 V或±5 V、单通道、SPI兼容、256位数字电位计

    信息优势和特点 AD5262:双通道(可独立编程) 电位计的替代产品(20 kΩ、50 kΩ、200 kΩ) 5 V至15 V单电源或±5.5 V双电源供电 256位 AD5260:单通道 低温度系数:35 ppm/°C 四线式SPI兼容型串行数据输入 上电中量程预设产品详情AD5260/AD5262分别是单/双通道、256位、SPI接口数字控制可变电阻(VR)器件,采用+5 V至+15 V单电源或±5 V双电源供电,可将端电压的调整范围扩展到这些电源电压。(大多数工业数字电位计的工作范围仅限于5 V。)两款器件可实现与电位计或可变电阻相同的电子调整功能,同时提供固态可靠性和紧凑型电子封装。上述器件提供1.1 mm、薄型TSSOP、14/16引脚两种表面贴装封装。p>...
    发表于 04-18 19:29 ? 283次 阅读

    AD5262 +15 V或±5 V、双通道、SPI兼容、256位数字电位计

    信息优势和特点 AD5262:双通道(可独立编程) 5 V至15 V单电源或±5.5 V双电源供电 电位计的替代产品(20 kΩ、50 kΩ、200 kΩ) 256位 AD5260:单通道 低温度系数:35 ppm/°C 四线式SPI兼容型串行数据输入 上电中量程预设产品详情AD5260/AD5262分别是单/双通道、256位、SPI接口数字控制可变电阻(VR)器件,采用+5 V至+15 V单电源或±5 V双电源供电,可将端电压的调整范围扩展到这些电源电压(大多数工业数字电位计的工作范围仅限于5 V)。两款器件可实现与电位计或可变电阻相同的电子调整功能,同时提供固态可靠性和紧凑的电子封装。上述器件提供1.1 mm、薄型TSSOP、14/16引脚两种表面贴装封装。...
    发表于 04-18 19:29 ? 1072次 阅读

    AD5676R 八通道16位nanoDAC+,内置2 PPM/°C基准电压源和SPI接口

    信息优势和特点 高性能高相对精度(INL):±3 LSB(最大值,16位)总非调整误差(TUE):0.14% FSR(最大值)失调误差:±1.6 mV(最大值) 宽工作范围温度范围:?40°C至+125°C电源电压:2.7 V至5.5 V 易于实现用户可选增益:1或2(GAIN引脚)复位至零电平或中间电平(RSTSEL引脚)1.8 V逻辑兼容性 带回读或菊花链的50 MHz SPI 欲了解更多特性,请参考数据手册 产品详情AD5672R/AD5676R分别是低功耗、8通道、12/16位缓冲电压输出数模转换器(DAC),内置2.5 V、2 ppm/?C内部基准电压源(默认使能)和增益选择引脚,满量程输出为2.5 V(增益=1)或5 V(增益=2)。 采用2.7 V至5.5 V单电源供电,通过设计保证单调性。 这些器件采用20引脚TSSOP封装。 AD5672R/AD5676R还内置一个上电复位电路和一个RSTSEL引脚,确保DAC输出上电至零电平或中间电平,直到执行一次有效的写操作为止。 每个器件都具有各通道独立掉电特性,在掉电模式下,器件功耗降至2.5 μA。 AD5672R/AD5676R采用多功能串行外设接口(SPI),时钟速率最高达50 MHz,并均包含一个为1.8 V/3 V/5 V逻辑电平准备的VLOGI...
    发表于 04-18 19:25 ? 259次 阅读

    AD5676 八通道16位nanoDAC+,内置SPI接口

    信息优势和特点 高性能 高相对精度(INL): 16位时最大±3 LSB 总不可调整误差(TUE): ±0.14% FSR最大值 失调误差: ±1.5 mV(最大值) 宽工作范围 温度范围:?40°C至+125°C 2.7 V至5.5 V电源 易于实现 用户可选增益:1或2(GAIN引脚) 复位到零电平或中间电平(RSTSEL引脚) 1.8 V逻辑兼容 带回读或菊花链的50 MHz SPI 欲了解更多特性,请参考数据手册 产品详情AD5676是一款低功耗、八通道、16位缓冲电压输出数模转换器(DAC)。 器件内置增益选择引脚,满量程输出为2.5 V(增益 = 1)或5 V(增益 = 2)。 采用2.7 V至5.5 V单电源供电,通过设计保证单调性。 AD5676采用20引脚TSSOP封装。 AD5676还内置一个上电复位电路和一个RSTSEL引脚,确保DAC输出上电至零电平或中间电平,直到执行一次有效的写操作为止。 每个器件都具有各通道独立掉电特性,在掉电模式下,器件功耗降至2.5 μA。 AD5676采用多功能串行外设接口(SPI),时钟速率最高达50 MHz,并均包含一个为1.8 V/3 V/5 V逻辑电平准备的VLOGIC引脚。 产品特色 高相对精度(INL): AD5676(16位): ±3 LSB(最大...
    发表于 04-18 19:24 ? 1385次 阅读

    AD5672R 八通道12位nanoDAC+,内置2 PPM/°C基准电压源和SPI接口

    信息优势和特点 高性能高相对精度(INL):±3 LSB(最大值,16位)总非调整误差(TUE):0.14% FSR(最大值)失调误差:±1.6 mV(最大值) 宽工作范围温度范围:?40°C至+125°C电源电压:2.7 V至5.5 V 易于实现用户可选增益:1或2(GAIN引脚)复位至零电平或中间电平(RSTSEL引脚)1.8 V逻辑兼容性 带回读或菊花链的50 MHz SPI 欲了解更多特性,请参考数据手册 产品详情AD5672R/AD5676R分别是低功耗、8通道、12/16位缓冲电压输出数模转换器(DAC), 内置2.5 V、2 ppm/?C内部基准电压源(默认使能)和增益选择引脚,满量程输出为2.5 V(增益=1)或5 V(增益=2)。 采用2.7 V至5.5 V单电源供电,通过设计保证单调性。 这些器件采用20引脚TSSOP封装。 AD5672R/AD5676R还内置一个上电复位电路和一个RSTSEL引脚,确保DAC输出上电至零电平或中间电平,直到执行一次有效的写操作为止。 每个器件都具有各通道独立掉电特性,在掉电模式下,器件功耗降至2.5 μA。 AD5672R/AD5676R采用多功能串行外设接口(SPI),时钟速率最高达50 MHz,并均包含一个为1.8 V/3 V/5 V逻辑电平准备的VLOGI...
    发表于 04-18 19:24 ? 277次 阅读

    AD5668 8通道、16位、SPI电压输出denseDAC,集成5 ppm/°C片内基准电压源

    信息优势和特点 低功耗,最小的引脚兼容、8通道DACAD5668:16位AD5648:14位AD5628:12位 16引脚和14引脚TSSOP 4mm X 4mm 16引脚LFCSP封装 1.25 V/2.5 V、5 ppm/oC片内基准电压源 关断模式下的功耗:400 nA (5 V),200 nA (3 V) 采用2.7 V至5.5 V电源供电,通过设计保证单调性 上电复位至零电平或中间电平 3种关断功能 硬件/LDAC和/LDAC脚无效使能功能 /CLR功能,清零至可编程码 轨到轨工作 AD5668-EP:支持防务和航空航天应用(AQEC标准) 下载AD5668-EP (Rev 0)数据手册 军用温度范围(?55°C至+125°C) 受控制造基线 唯一封装/测试厂 唯一制造厂 增强型产品变更通知 认证数据可应要求提供产品详情AD5668 是一种低功耗、8通道、16位缓冲电压输出DAC。该器件采用2.7 V至5.5 V单电源供电,通过设计保证单调性。AD5668 内置一个片内基准电压源,内部增益为2。AD5668-1内置一个1.25 V、 5 ppm/°C基准电压源,满量程输出范围可达到2.5 V;AD5668-2、-3内置一个2.5 V 、5 ppm/°C基准电压源,满量程输出范围可达到5 V。上电时,片内基准电压源关闭,因而可以用外部基准电压。内部基准电压源...
    发表于 04-18 19:24 ? 398次 阅读

    AD5648 八通道、14位、SPI电压输出denseDAC,集成5 PPM/°C片内基准电压源

    信息优势和特点 低功耗,最小的引脚兼容、八通道DACAD5668: 16位AD5648: 14位AD5628: 12位 16引脚和14引脚TSSOP封装 1.25 V/2.5 V、5 ppm/oC片内基准电压源 关断模式下的功耗:400 nA (5 V),200 nA (3 V) 采用2.7 V至5.5 V电源供电,通过设计保证单调性 上电复位至零电平 3种关断功能 硬件/LDAC和/LDAC脚无效使能功能 /CLR功能,清零至可编程码 轨到轨工作产品详情AD5648是一款低功耗、八通道、14位、缓冲电压输出DAC,采用2.7 V至5.5 V单电源供电,通过设计保证单调性。 AD5648内置一个片内基准电压源,内部增益为2。AD5648-1内置一个1.25 V、 5 ppm/°C基准电压源,满量程输出范围可达到2.5 V;AD5648-2内置一个2.5 V 、5 ppm/°C基准电压源,满量程输出范围可达到5 V。上电时,片内基准电压源关闭,因而可以用外部基准电压。内部基准电压源通过软件写入启用。 该器件内置一个上电复位电路,确保DAC上电后输出至0 V并保持该电平,直到执行一次有效的写操作为止。此外还具有各通道独立关断特性,在关断模式下,器件在5 V时的功耗降至400 nA,并提供软件可选输出负载。 利用/LDAC功能可以同时更新所有...
    发表于 04-18 19:24 ? 181次 阅读

    AD5628 8通道、12位、SPI电压输出denseDAC,集成5 ppm/°C片内基准电压源

    信息优势和特点 低功耗、小尺寸、引脚兼容的八通道DAC:12位 14引脚/16引脚TSSOP、16引脚LFCSP和16引脚WLCSP封装 1.25 V/2.5 V、5 ppm/°C片内基准电压源 关断模式下的功耗:400 nA (5 V),200 nA (3 V) 2.7 V至5.5 V电源 通过设计保证单调性 上电复位至零电平或中间电平 3种关断功能 硬件、LDAC和LDAC无效使能功能 CLR功能,清零至可编程码 轨到轨工作产品详情AD5628是一款低功耗、8通道、12位、缓冲电压输出DAC,采用2.7 V至5.5 V单电源供电,通过设计保证单调性。AD5628提供4 mm × 4 mm LFCSP和16引脚TSSOP两种封装。AD5628内置一个片内基准电压源,内部增益为2。AD5628-1内置一个1.25 V、5 ppm/°C基准电压源,满量程输出范围可达到2.5 V;AD5628-2内置一个2.5 V、5 ppm/°C基准电压源,满量程输出范围可达到5 V。上电时,片内基准电压源关闭,因而可以用外部基准电压。内部基准电压源通过软件写入启用。该器件内置一个上电复位电路,确保DAC输出上电至0 V并保持该电平,直到执行一次有效的写操作为止。此外还具有各通道独立关断特性,在关断模式下,器件在5 V时的功耗降至400 nA,并提...
    发表于 04-18 19:23 ? 449次 阅读

    AD5641 2.7 V至5.5 V、小于100 μA、14位nanoDAC,SPI接口,采用LFCSP和SC70封装

    信息优势和特点 6引脚LFCSP和SC70封装 微功耗工作:100 μA(最大值,5 V) 关断模式:0.2 μA(典型值,3 V) 单通道14位DAC B级积分非线性(INL):±4 LSB A级积分非线性(INL):±16 LSB 2.7 V至5.5 V电源供电 通过设计保证单调性 上电复位至0 V,具有掉电检测功能 3种关断功能 低功耗,串行接口采用施密特触发式输入 片内轨到轨输出缓冲放大器 SYNC中断设置 产品详情AD5641属于nanoDAC?系列,是一款单通道、14位、缓冲电压输出DAC,使用2.7 V至5.5 V单电源供电,5 V时典型功耗为75 μA,采用小型LFCSP和SC70封装。它内置片内精密输出放大器,能够实现轨到轨输出摆幅。AD5641采用多功能三线式串行接口,能够以最高30 MHz的时钟速率工作,并与SPI?、QSPI?、MICROWIRE?、DSP接口标准兼容。这款器件的基准电压从电源输入获得,因此它具有最宽的动态输出范围。该器件内置一个上电复位电路,确保DAC输出上电至0 V并保持该电平,直到对该器件执行一次有效的写操作为止。AD5641具有关断特性,在关断模式下,器件在3 V时的典型功耗降至0.2 μA,并能提供软件可选的输出负载。...
    发表于 04-18 19:22 ? 2718次 阅读

    AD5621 2.7V至5.5V、小于100 μA、12位nanoDAC?,SPI接口,采用LFCSP和SC70封装

    信息优势和特点 6引脚LFCSP和SC70封装 微功耗工作:5 V时最大电流100 μA 关断模式:0.2 μA(典型值,3 V) 2.7 V至5.5 V电源供电 通过设计保证单调性 上电复位至0 V,具有掉电检测功能 3种关断功能 欲了解更多信息,请参考数据手册产品详情AD5601/AD5611/AD5621均属于nanoDAC?系列,分别是单通道、8/10/12位、缓冲电压输出DAC,使用2.7 V至5.5 V单电源供电,5 V时典型功耗为75 μA,采用小型LFCSP和SC70封装。这些器件内置片内精密输出放大器,能够实现轨到轨输出摆幅。AD5601/AD5611/AD5621采用多功能三线式串行接口,能够以最高30 MHz的时钟速率工作,并与SPI、QSPI?、MICROWIRE?、DSP接口标准兼容。 三款器件的基准电压均从电源输入获得,因此具有最宽的动态输出范围。上述器件均内置一个上电复位电路,确保DAC输出上电至0 V并保持该电平,直到对该器件执行一次有效的写操作为止。 此外还具有省电特性,在省电模式下,器件在3 V时的典型功耗降至0.2 μA,并且提供可由软件选择的输出负载。可通过串行接口进入关断模式。在正常工作模式下,这些器件具有低功耗特性,非常适合便携式电池供...
    发表于 04-18 19:22 ? 739次 阅读

    CAT25128 EEPROM串行128-Kb SPI

    28是一个EEPROM串行128-Kb SPI器件,内部组织为16kx8位。它具有64字节页写缓冲区,并支持串行外设接口(SPI)协议。通过片选( CS )输入使能器件。此外,所需的总线信号是时钟输入(SCK),数据输入(SI)和数据输出(SO)线。 HOLD 输入可用于暂停与CAT25128设备的任何串行通信。该器件具有软件和硬件写保护功能,包括部分和全部阵列保护。 片上ECC(纠错码)使该器件适用于高可靠性应用。 适用于新产品(Rev. E)。 特性 20 MHz SPI兼容 1.8 V至5.5 V操作 硬件和软件保护 低功耗CMOS技术 SPI模式(0,0& 1,1) 工业温度范围 自定时写周期 64字节页面写缓冲区 块写保护 - 保护1 / 4,1 / 2或所有EEPROM阵列 1,000,000计划/时代se周期 100年数据保留 8引脚SOIC,TSSOP和8焊盘TDFN,UDFN封装 此设备无铅,无卤素/ BFR,符合RoHS标准 其他识别具有永久写保护的页面 应用 汽车系统 通讯系统 计算机系统 消费者系统 工业系统 电路图、引脚图和封装图...
    发表于 04-18 19:13 ? 597次 阅读

    CAT25256 EEPROM串行256-Kb SPI

    56是一个EEPROM串行256-Kb SPI器件,内部组织为32kx8位。它具有64字节页写缓冲区,并支持串行外设接口(SPI)协议。通过片选( CS )输入使能器件。此外,所需的总线信号是时钟输入(SCK),数据输入(SI)和数据输出(SO)线。 HOLD 输入可用于暂停与CAT25256设备的任何串行通信。该器件具有软件和硬件写保护功能,包括部分和全部阵列保护。 片上ECC(纠错码)使该器件适用于高可靠性应用。 适用于新产品(Rev. E)。 特性 20 MHz(5 V)SPI兼容 1.8 V至5.5 V电源电压范围 SPI模式(0,0)& (1,1) 64字节页面写缓冲区 具有永久写保护的附加标识页(新产品) 自定时写周期 硬件和软件保护 100年数据保留期 1,000,000个程序/擦除周期 低功耗CMOS技术 块写保护 - 保护1 / 4,1 / 2或整个EEPROM阵列 工业温度范围 8引脚SOIC ,TSSOP和8焊盘UDFN封装 此器件无铅,无卤素/ BFR,以及符合RoHS标准 应用 汽车系统 Communica tions Systems 计算机系统 消费者系统 工业系统 ...
    发表于 04-18 19:13 ? 1489次 阅读

    CAT25040 4-kb SPI串行CMOS EEPROM存储器

    信息 CAT25040是一个4-kb SPI串行CMOS EEPROM器件,内部组织为512x8位。安森美半导体先进的CMOS技术大大降低了器件的功耗要求。它具有16字节页写缓冲区,并支持串行外设接口(SPI)协议。该器件通过片选()启用。此外,所需的总线信号是时钟输入(SCK),数据输入(SI)和数据输出(SO)线。 输入可用于暂停与CAT25040设备的任何串行通信。该器件具有软件和硬件写保护功能,包括部分和全部阵列保护。 20 MHz(5 V)SPI兼容 1.8 V至5.5 V电源电压范围 SPI模式(0,0和1,1) 16字节页面写入缓冲区 自定时写入周期 硬件和软件保护 块写保护 - 保护1 / 4,1 / 2或整个EEPROM阵列 低功耗CMOS技术 1,000,000编程/擦除周期 100年数据保留 工业和扩展温度范围 PDIP,SOIC,TSSOP 8引脚和TDFN,UDFN 8焊盘封装 这些器件无铅,无卤素/ BFR,符合RoHS标准...
    发表于 04-18 19:13 ? 345次 阅读

    CAT25160 EEPROM串行16-Kb SPI

    60是一个EEPROM串行16-Kb SPI器件,内部组织为2048x8位。它们具有32字节页写缓冲区,并支持串行外设接口(SPI)协议。通过片选( CS )输入使能器件。此外,所需的总线信号是时钟输入(SCK),数据输入(SI)和数据输出(SO)线。 HOLD 输入可用于暂停与CAT25160设备的任何串行通信。这些器件具有软件和硬件写保护功能,包括部分和全部阵列保护。 特性 10 MHz SPI兼容 1.8 V至5.5 V电源电压范围 SPI模式(0,0& 1,1) 32字节页面写入缓冲区 自定时写周期 硬件和软件保护 块写保护 - 保护1 / 4,1 / 2或全部EEPROM阵列 低功耗CMOS技术 1,000,000个编程/擦除周期 100年数据保留 工业温度范围 符合RoHS标准的8引脚SOIC,T SSOP和8-pad UDFN软件包 应用 汽车系统 通讯系统 计算机系统 消费者系统 工业系统 电路图、引脚图和封装图...
    发表于 04-18 19:13 ? 460次 阅读

    AD5611 2.7 V至5.5 V、小于100 μA、10位nanoDAC?、SPI接口、采用LFCSP和SC70封装

    信息优势和特点 6引脚SC70和LFCSP封装 微功耗工作:5 V时最大电流100 μA 关断模式:0.2 μA(典型值,3 V) 2.7 V至5.5 V电源供电 通过设计保证单调性 上电复位至0 V,具有掉电检测功能 3种关断功能 欲了解更多信息,请参考数据手册产品详情ADI参考设计:混合信号数字预失真(MSDPD)平台AD5601/AD5611/AD5621均属于nanoDAC?系列,分别是单通道、8/10/12位、缓冲电压输出DAC,使用2.7 V至5.5 V单电源供电,5 V时典型功耗为75 μA,采用小型LFCSP和SC70封装。这些器件内置片内精密输出放大器,能够实现轨到轨输出摆幅。AD5601/AD5611/AD5621采用多功能三线式串行接口,能够以最高30 MHz的时钟速率工作,并与SPI、QSPI?、MICROWIRE?、DSP接口标准兼容。三款器件的基准电压均从电源输入获得,因此具有最宽的动态输出范围。上述器件均内置一个上电复位电路,确保DAC输出上电至0 V并保持该电平,直到对该器件执行一次有效的写操作为止。 此外还具有省电特性,在省电模式下,器件在3 V时的典型功耗降至0.2 μA,并且提供可由软件选择的输出负载。可通过串行接口进入关断模式。在正常工作模...
    发表于 04-18 19:12 ? 559次 阅读

    AD5310R 10位nanoDAC、SPI接口以及2 ppm/°C 片内基准电压源

    信息优势和特点 高相对精度(INL):±0.5 LSB(最大值) 低漂移2.5 V基准电压源:2 ppm/°C(典型值) 可选输出范围:2.5 V或5 V 总不可调整误差(TUE):0.06% FSR(最大值)失调误差:±1.5 mV(最大值)增益误差:±0.05 % FSR(最大值) 低毛刺:0.1 nV-sec 高驱动能力:20 mA 低功耗:1.2 mW (3.3 V) 独立逻辑电源:1.8 V至5.5 V 宽工作温度范围:-40℃至+105℃ 稳定的4 kV ESD保护产品详情AD5310R/AD5311R属于nanoDAC?系列,分别是低功耗、单通道、10 位缓冲电压输出DAC。该器件内置一个2.5 V、2 ppm/°C内部基准电压源。输出范围可以通过编程设置为0 V至VREF或0 V 至 2 ×VREF。采用2.7 V至5.5 V单电源供电,通过设计保证单调性。采用10引脚MSOP封装。AD5310R/AD5311R还内置一个上电复位电路,确保DAC输出上电至零电平并保持该电平,直到执行一次有效的写操作为止。此外器件具有掉电特性,在掉电模式下,器件在5 V时的功耗降至2 μA。AD5310R/AD5311R采用多功能SPI或 I2C接口,包含一个异步复位引脚和一个 VLOGIC 引脚,可兼容1.8 V。产品特色 高相对精度(INL)。...
    发表于 04-18 19:11 ? 317次 阅读
    她的小梨涡完整版免费阅读