AD9361从入门到入土系列----AD9361工作在LVDS模式的接口规范

因最近公司需要,借此机会和大家一起学习AD9361

制作不易,记得三连哦,给我动力,持续更新!

工程文件下载:纯硬件SPI配置AD9361   提取码:g9jy

各接口介绍:

1、DATA_CLK

2、FB_CLK

3、RX_FRAME

4、RX_D[5:0]

5、TX_FRAME

6、TX_D[5:0]

7、ENABLE

8、TXNRX

-----------------------------------------------------------------------------------------------------------------------------

AD9361数据路径在低电压差分信号(LVDS)模式(ANSI-644兼容)下的操作。AD9361数据路径接口使用并行数据总线(P0和P1)在AD9361和BBP之间传输数据样本。总线传输使用简单的硬件握手信令进行控制。在LVDS模式下,两个总线都是差分信号。

AD9361LVDS接口便于连接具有LVDS功能的定制Asic和Fpga。LVDS接口通常用于系统在嘈杂环境中需要优越的开关性能和比标准CMOS接口所能提供的更高的数据速率时。采用LVDS模式时,建议所有走线长度保持不超过12英寸,并保持差分走线靠近且长度相等。
 

如下图:AD9361与BBP接口连接电路图

 下面将对其各个信号,进行单独讲解:

数据路径信号:

1、DATA_CLK

DATA_CLK是ad9361中产生的差分LVDS信号,作为RX数据路径的主时钟提供给BBP。BBP使用此主时钟作为接口数据传输和数据样本基带处理的定时参考。DATA_CLK在接收操作期间为RX_D[5:0]信号提供源同步定时和DDR操作。SDR在LVDS模式下不可用。

2、FB_CLK

FB_CLK是从BBP驱动的差分LVDS信号,是DATA_CLK的反馈(环回)时钟。FB_CLK在TX突发期间为TX_D[5:0]信号提供具有双边沿捕获的源同步定时。

3、RX_FRAME

RX_FRAME是从AD9361驱动并提供给BBP的差分LVDS信号,用于帧化AD9361提供的数据采样。高跳变指示帧的开始。RX_FRAME可以设置为突发开始时的单个高电平跳变并在整个突发中保持高电平,或者可以设置为在每个帧开始时具有上升沿(50%占空比)的脉冲串。

4、RX_D[5:0]

RX_D[5:0]是由六(6)个差分对组成的差分LVDS数据总线。它通过接收数据从AD9361驱动到BBP。数据以成对的数据字在该总线上传输,以创建12位数据总线。

5、TX_FRAME

TX_FRAME是从BBP驱动的差分LVDS信号,并提供给AD9361帧提供的数据采样。高跳变指示帧的开始。TX_FRAME可以设置为突发开始时的单个高电平跳变并在整个突发中保持高电平,或者可以设置为在每个帧开始时具有上升沿(50%占空比)的脉冲串。

6、TX_D[5:0]

TX_D[5:0]是由六(6)个差分对组成的差分LVDS数据总线。它从BBP驱动。AD9361,数据通过发送器输出。数据以成对的数据字在该总线上传输,以创建12位数据总线。

7、ENABLE

使能从BBP驱动到AD9361,以在TDD模式下提供数据传输突发控制(连同TXNRX)。使能由BBP至少在单个DATA_CLK周期内断言,以指示每个突发的开始。它随后在至少单个DATA_CLK周期内第二次断言,以指示每个突发的结束。

8、TXNRX

TXNRX从BBP驱动到AD9361,并在ENSM处于TDD模式时提供数据传输突发控制(以及使能)。当AD9361将ENABLE采样为高电平以启动突发时,TXNRX上的电平也会被采样以确定数据方向。在TDD模式下,TXNRX采样高电平表示发送突发,TXNRX采样低电平表示接收突发。

附加接口信号:

1、CLOCK_OUT

CLOCK_OUT是设计用作BBP的主时钟源的输出信号。通过写入SPI寄存器0x00A[D7:D5],可以将该输出编程为输入时钟的缓冲版本或RX数据路径ADC时钟的倍数。该输出通过在SPI寄存器0x00a中设置位D4来启用。注意时钟频率必须始终小于61.44mhz。

2、CTRL_IN[3:0]

CTRL_IN引脚是四(4)个可编程输入信号,用于实时控制TX衰减和RX增益功能。

CTRL_IN0和CTRL_IN1可配置为在SPI寄存器0x081中设置适当位时分别控制TX1和TX2通道衰减。在这种配置中,当相应的CT RL_IN引脚被切换时,加载在每个通道的相应SPI寄存器中的衰减值被激活。该子系统也可以配置为CTRL_IN0通过更改SPI寄 存器0x081中的位设置来控制两个TX通道。

CTRL_IN引脚也可用于提供RX增益设置的硬件控制。在SPI寄存器0x0fb中设置位D1和D0将手动增益控制(MGC)块置于硬件控制模式。在该模式下,CTRL_IN0上的脉冲导致RX1上的增益增加,CTRL_IN1上的脉冲导致RX1上的增益减小。类似地,CTRL_IN2上的脉冲导致RX2上的增益增加并且CTRL_IN3上的脉冲导致RX2上的增益减小。

CTRL_IN2还可用于在称为"混合模式"的接收机AGC模式中提供硬件控制。在此模式下,当BBP将CTRL_IN2引脚拉高时,会发生增益变化。这允许BBP直接控制增益设置更改的时间。要启用此模式,SPI寄存器0x0fa中控制AGC设置的控制位必须设置为启用混合模式。

3、CTRL_OUT[7:0]

CTRL_OUT引脚是用于实时处理的八(8)个可编程数字输出信号。这些输出包括内部生成的功能和状态位,如PLL锁定、校准完成和AGC功能。CTRL_OUT位的配置是通过选择SPI寄存器0x035中的输出数据集并启用SPI寄存器0x036中的所需输出位来完成的。

4、EN_AGC

EN_AGC是提供AGC何时活动的实时控制的输入信号。当拉高时,EN_AGC引脚迫使AGC解锁,以便可以对增益设置进行调整。如果未使用EN_AGC引脚,则增益锁定延迟位(0x014[D1])必须设置为高。

5、GPO[3:0]

GPO引脚是数字输出,可配置为监控ENSM状态或用作通用逻辑输出。这些引脚特别适用于偏置连接的功率放大器或控制TDD系统中使用的前端开关。当SPI寄存器0x026[D4]清零时,引脚从属于ENSM。在这种情况下,SPI寄存器0x020确定当ENSM进入RX状态时哪些位改变状态,当ENSM进入TX状态时哪些位改变。在这种情况下,每个引脚的初始状态由SPI寄存器0X027[D3:D0]中的设置决定。当SPI寄存器0x026[D4]置位时,GPO引脚由SPI寄存器0x027[D7:D4]直接控制。

6、RESETB

RESETB是允许ad9361异步硬件复位的输入信号。施加于该引脚的逻辑低电平复位器件(所有SPI寄存器均复位为默认设置,器件置于睡眠模式)。

7、SYNC_IN

SYNC_IN是一个逻辑输入,可用于在多个AD9361器件的数据端口之间提供同步。在多芯片同步(MCS)模式下,多个器件连接到同一个外部参考时钟。每个器件上的SYNC_IN引脚接收一对脉冲,将内部基带PLL时钟重新定位到公共参考边沿。这消除了在单个芯片内部产生的任何可能导致数字数据失调的时钟偏差。此功能在需要来自多个源的同步数据的系统中很有用(比单个AD9361可用的通道更多)。

下期更新,数据和时钟时序图,以及讲解!

  • 12
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
为了在MicroBlaze中配置AD9361,需要进行以下步骤: 1. 首先,需要在MicroBlaze中初始化SPI控制器。可以使用以下代码: ```c struct xil_spi_init_param xil_spi_param = { .type = SPI_PL, .device_id = 0, }; ad9361_param.spi_init = xil_spi_param; ``` 2. 接下来,需要定义配置并关联结构体。可以使用以下代码: ```c struct ad9361_rf_phy* ad9361_phy; struct ad9361_init_param ad9361_param; struct ad9361_platform_data ad9361_pdata; struct ad9361_phy_platform_data ad9361_phy_pdata; ad9361_phy = ad9361_init(&ad9361_param); ad9361_phy->pdata = &ad9361_pdata; ad9361_phy->pdata->phy = ad9361_phy; ad9361_phy->pdata->spi_init = &xil_spi_param; ad9361_phy->pdata->gpio_resetb = GPIO_RESET_PIN; ad9361_phy->pdata->gpio_sync = GPIO_SYNC_PIN; ad9361_phy->pdata->gpio_cal_sw1 = GPIO_CAL_SW1_PIN; ad9361_phy->pdata->gpio_cal_sw2 = GPIO_CAL_SW2_PIN; ad9361_phy->pdata->gpio_dds_en = GPIO_DDS_EN_PIN; ad9361_phy->pdata->gpio_rx_en = GPIO_RX_EN_PIN; ad9361_phy->pdata->gpio_tx_en = GPIO_TX_EN_PIN; ad9361_phy->pdata->gpio_rx_mux = GPIO_RX_MUX_PIN; ad9361_phy->pdata->gpio_tx_mux = GPIO_TX_MUX_PIN; ad9361_phy->pdata->gpio_tdd_en = GPIO_TDD_EN_PIN; ad9361_phy->pdata->gpio_tdd_mode = GPIO_TDD_MODE_PIN; ad9361_phy->pdata->gpio_alert = GPIO_ALERT_PIN; ad9361_phy->pdata->gpio_fdd_rx_rate_en = GPIO_FDD_RX_RATE_EN_PIN; ad9361_phy->pdata->gpio_fdd_tx_rate_en = GPIO_FDD_TX_RATE_EN_PIN; ad9361_phy->pdata->gpio_fdd_rx_rate_pin = GPIO_FDD_RX_RATE_PIN; ad9361_phy->pdata->gpio_fdd_tx_rate_pin = GPIO_FDD_TX_RATE_PIN; ad9361_phy->pdata->gpio_ensm_mode_pin = GPIO_ENSM_MODE_PIN; ad9361_phy->pdata->gpio_ensm_pin_ctrl = GPIO_ENSM_PIN_CTRL; ad9361_phy->pdata->gpio_pa_bias_en = GPIO_PA_BIAS_EN_PIN; ad9361_phy->pdata->gpio_pa_bias_ctrl = GPIO_PA_BIAS_CTRL; ad9361_phy->pdata->gpio_lna_bias_en = GPIO_LNA_BIAS_EN_PIN; ad9361_phy->pdata->gpio_lna_bias_ctrl = GPIO_LNA_BIAS_CTRL; ad9361_phy->pdata->gpio_rx_rfsw_pin = GPIO_RX_RFSW_PIN; ad9361_phy->pdata->gpio_tx_rfsw_pin = GPIO_TX_RFSW_PIN; ad9361_phy->pdata->gpio_rx_gain_pin = GPIO_RX_GAIN_PIN; ad9361_phy->pdata->gpio_tx_atten_pin = GPIO_TX_ATTEN_PIN; ad9361_phy->pdata->gpio_tx_rf_band_sel_pin = GPIO_TX_RF_BAND_SEL_PIN; ad9361_phy->pdata->gpio_rx_rf_band_sel_pin = GPIO_RX_RF_BAND_SEL_PIN; ad9361_phy->pdata->gpio_trx_sw_ctrl_pin = GPIO_TRX_SW_CTRL_PIN; ad9361_phy->pdata->gpio_trx_sw_ctrl_pin_en = GPIO_TRX_SW_CTRL_PIN_EN; ad9361_phy->pdata->gpio_adc_pdn_pin = GPIO_ADC_PDN_PIN; ad9361_phy->pdata->gpio_dac_pd_pin = GPIO_DAC_PD_PIN; ad9361_phy->pdata->gpio_dig_tune = GPIO_DIG_TUNE_PIN; ad9361_phy->pdata->gpio_dig_clock_mux = GPIO_DIG_CLK_MUX_PIN; ad9361_phy->pdata->gpio_dig_clock_div = GPIO_DIG_CLK_DIV_PIN; ad9361_phy->pdata->gpio_dig_rf_en = GPIO_DIG_RF_EN_PIN; ad9361_phy->pdata->gpio_dig_tune_powerdown = GPIO_DIG_TUNE_POWERDOWN_PIN; ad9361_phy->pdata->gpio_dig_tune_powerdown_en = GPIO_DIG_TUNE_POWERDOWN_EN; ad9361_phy->pdata->gpio_dig_resetb = GPIO_DIG_RESETB_PIN; ad9361_phy->pdata->gpio_dig_resetb_en = GPIO_DIG_RESETB_EN; ad9361_phy->pdata->gpio_dig_io_update = GPIO_DIG_IO_UPDATE_PIN; ad9361_phy->pdata->gpio_dig_io_update_en = GPIO_DIG_IO_UPDATE_EN; ad9361_phy->pdata->gpio_dig_io_update_delay = GPIO_DIG_IO_UPDATE_DELAY; ad9361_phy->pdata->gpio_dig_io_update_delay_en = GPIO_DIG_IO_UPDATE_DELAY_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width = GPIO_DIG_IO_UPDATE_PULSE_WIDTH; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay = GPIO_DIG_IO_UPDATE_PULSE_DELAY; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN;ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode_en = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE; ad9361_phy->pdata->gpio_dig_io_update_pulse_width_mode_en = GPIO_DIG_IO_UPDATE_PULSE_WIDTH_MODE_EN; ad9361_phy->pdata->gpio_dig_io_update_pulse_delay_mode = GPIO_DIG_IO_UPDATE_PULSE_DELAY_MODE; ad9361_phy->pdata->gpio_dig

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值