Quantcast
Channel: EngineerZone : Discussion List - All Communities
Viewing all 51060 articles
Browse latest View live

AD5452 control hardcode problem(verilog)

$
0
0

I can't control the DAC correctly. Could you help me?

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

module DAC (clk1, sw, sclk, sync, sdin); input clk1; input  sw; output reg [0:0] sclk; output reg [0:0] sync; output reg [0:0] sdin; reg [15:0] sdin_reg; reg [7:0] seq; reg [7:0] cnt1; reg [7:0] cnt2; always @ (negedge clk1 or negedge sw) begin if (!sw) begin

   sclk <= 1;

              sync <= 1;

              sdin <= 1;

              sdin_reg [15:0] <= 16'b0010000000000000;

              seq <= 0;

              cnt1 <= 15;

              cnt2 <= 15;

end

else begin

   case (seq)

                 0:begin

                                sync = 0;

                                sdin_reg [15:0] = 16'b0010000000000000;

                                           cnt1 <= 15;

                                           seq = seq + 1;

                            end

                             1:begin

                                sdin = (sdin_reg [15:0] >> cnt1) & 1;

                                           cnt1 = cnt1 - 1;

                                           seq = seq + 1;

                             end

                             2:begin

                                sclk = 0;

                                           seq = seq + 1;

                             end

                             3:begin

                                sclk = 1;

                                           if (cnt1 == 0) begin

                                              

             seq = seq + 1;

         end

         else begin

                                              

             seq = 1;

         end

                             end

                             4:begin

                                 sync = 1;

          seq = 0;

                             end

                            

 

              endcase

end

end

endmodule


The correct arrangement of FMCOMMS2 Source /Sink module on gnuradio

$
0
0

Dear Support Community,

 

I'm successful construct a complex multiplier processing on gnuradio + Zedboard +FMCOMMS2 as shown in Figure hardware1.png and the flow graph my-flow-graph.png. The response is very well. I took example from cyclic-sine.grc and modified it by adding that complex multiplier.

 

Then my next project is to generate a signal source and transmit from TX1. This signal feed into receiver RX2 before go to my complex multiplier module. Then this result will transmit by TX2 before I will display this result on QT Sink on receiver RX1 as shown in Figure hardware2.png.

 

1- May I get some idea how can I arrange module FMCOMMS2 Source and FMCOMMS2 Sink properly that match my hardware configuration that I mention on Figure hardware2.png.

 

2- On this link GNU Radio [Analog Devices Wiki]  FMCOMMS-2.png, I found that FMCOMMS2 Source and FMCOMMS2 Sink are directly connected but in our cyclic-sine.grc , they are virtually separated  on the flow graph. Can someone describe more the differences. 

 

Thank You,

ADATE209 pin definition change ?

$
0
0

Hello,

 

I am developing a high speed driver board with ADATE209 device.

I have a problem with my board that the output values are fixed to the VIH1, VIL2.

In the debugging, I checked the evaluation board schematic #02-010572 rev.B,

and found some discrepancy from the datasheet.

I attached the EVB schematic, in which you can see that ;

   F1 (DB2) : GND

   F2 (DB2T) : GND

   G1(DB2B) : RSVD2 signal is register divided voltage 0.78V connected

   F7 (DB1) : GND

   F6 (DB1T) : GND

   G7(DB1B) : RSVD1 signal is register divided voltage 0.78V connected

Can I understand that these pin settings are for low level input for DB1 & DB2 ?

 

I also set DB1 & DB2 low by setting

   DB1 : 3.3V connected via 50ohm

   DB1B : 0V connected via 1Kohm

   DB1T : 3.3V connected

   DB2 : 3.3V connected via 50ohm

   DB2B : 0V connected via 1Kohm

   DB2T : 3.3V connected

And the DA1, DA2 inputs are toggling with differential Vpp>0.6V,

but the output is fixed to VIH1, VIL2.

 

Any recommendation for debugging ?

 

Thanks in advance.

Tae-Han

Can all the JESD204B lanes be lane synchronization for different AD9371 board

$
0
0

Hello, everyone. My situation is as follows: I need to use 16 Tx channels and 16 Rx channels, but there are 2 Tx channels and 2 Rx channe in one AD9371. And, AD9371 use JESD204B to connect to FPGA board. So I need to combine 8 AD9371 boards.

 

However, by my requirement, I have to let all JESD204B lanes of all the 8  AD9371 boards are lane synchronization. So my question is ...

 

1. Can all the JESD204B lanes be lane synchronization for different AD9371 board ?

2. Does AD9371 provide any pin or function for  lane synchronization on different AD9371 board ?

 

Thanks

 

(PS: I have post this question once, but they want me ask this question to transceiver group. I don't know is this the right way?)

Error Message in ftr file

$
0
0

I downloaded AD9361 Filter Design Wizard app for Matlab and have encountered the following error message when I tried to open an .ftr file (see attached). There are no issues trying to launch the app and playing around with the parameters for designing a filter. Only problem happens when I tried to open an ftr file, see attached error shown.

                By the way I am using Matlab R2015b (with DSP system, Signal Processing, Fixed point designer) and the Filter design app version is 16.1.3 .

                 Please let us know if you have solution for this.

Can all the JESD204B lanes be lane synchronization for different AD9371 board ?

$
0
0

Hello, everyone. My situation is as follows: I need to use 16 Tx channels and 16 Rx channels, but there are 2 Tx channels and 2 Rx channe in one AD9371. And, AD9371 use JESD204B to connect to FPGA board. So I need to combine 8 AD9371 boards.

 

However, by my requirement, I have to let all JESD204B lanes of all the 8  AD9371 boards are lane synchronization. So my question is ...

 

1. Can all the JESD204B lanes be lane synchronization for different AD9371 board ?

2. Does AD9371 provide any pin or function for  lane synchronization on different AD9371 board ?

 

Thanks

AD 5380 eval board

$
0
0

The board is the EVAL-AD5380SDZ. When I load the software, it is able to recognize the board but that's about it - I am not able to change any of the DAC outputs. I am controlling the eval board with an ADI recommended SDP-S board (EVAL-SDP-CS1Z). I also made sure all jumpers were in their default position recommended by the spec sheet. It does not look like the DAC is being programmed at all. I'm using the EVAL-AD5380SDZ and the Analog devices SDPS EVAL-SDP-CS1Z. Can you please suggest a debug process?

How to use ADE7758 for measurement 3 phase/4 wire(3Ø/4W) voltage

$
0
0

Hi All,


I'd like to measurement the 3 phase/4 wire(3Ø/4W) voltage, and currently I want to get " R & S " voltage (220V) by ADE7758, Could you help to advise How to set up/register the ADE7758 for measurement it? Thank you.

 

 


Remove unknown DC offset and Add Know DC offset to AC signal

$
0
0

Hello,

 

I have a pressure sensor, which has a nominal voltage output voltage of 2.0VDC from the sensor and when pressure changes, the signal changes from 2.0VDC +/0.2V DC. So there is a 2.0V DC offset and +/-0.2V if the AC signal on top of the 2.0VDC offset, the signal frequency is 0.1Hz (I have attached a picuture (originalsignal.png)).

 

I have to amplify just the AC signal on top of the 2.0VDC offset by 5 times but keep the DC offset to 2.0VDC, which i can do it by a differential amplifer by connecting the inverting pin to the signal and non inverting pin to 2.0V reference signal and add a reference voltage of 2.0VDC on the inverting pin to get  (3.0V positive peak and 1.0V negative peak with 2.0VDC offset).

 

The real issue i have is, my 2V DC offset  on top of AC signal from the sensor may change anywhere between 2V - 1.5V, because of things happening at the reference port of the pressure sensor.

 

I need to have a fixed 2.0VDC offset on the output signal and just amplify the AC signal (+/0.2V AC signal), no matter where my DC offset on the input signal  (DC offset may change from 2V DC - 1.5V DC). So i has an idea of if i can build a Differential amplifier with reference of 2.0V on the non-inverting pin, so i get the error signal (DC offset error of 0.2VDC when the offset of the sensor signal is 0.8V) and if i know what the error is, i can add it back to the signal source using Opamp Adder. But the problem is that, i will have +/-0.2V AC signal on top of 0.2V DC offset.

 

I need a constant 0.2VDC error voltage to add it back to the 1.8VDC offset +/- 0.2V AC signal, so that i can have a constant DC offset of 2.0VDC. (I have attached a LTspice simulation file for reference)

 

I have tried a high pass filter, but the problem is my roll of frequency of 0.1Hz. At this low frequency, there is a huge signal phase shift on the output signal (nature of a filter) and my design cannot afford any signal distortion or phase shift because of the application.

 

I would really appreciate your help and ideas.

 

Thanks,

Raj kenika.

ADV7482 I2S MUTE ISSUE

$
0
0

Background,

1. no EVB in hands

2. no I2S_MCLK output, when play *.MP4 video

3. HDMI RX is ok, share the scripts of A8,platform is R

4.refer to V3.6 Scripts from ADI website #1-29/#1-30

5.refer nearly all the chapter of design materials about I2S part

ADV748x_Eval_Board_UG_RevPrB-26-09-2013

ADV748x_HardwareManual_RevPrB_2014-07-11

ADV748x_Recommended_Settings_PrA_2014-08-20

ADV7481_ADV7482_ES3C-VER.3.6c.txt

ADV7481_UG-747

HDMI_RX_FAQ V1.0

https://ez.analog.com/docs/DOC-16503

 

My Question:

1.when we write EDID REG, 0X05 IN HDMI RX MAP showed DVI mode(0x05 30), it means no sound output.

need your help to create EDID of ADV7482 to us, We download EDID 0.97, no hints for us to fill in the blanks

EDID has some setups in CEA, which is used for audio we think.

https://ez.analog.com/docs/DOC-2143

 

2.when we don't write EDID REG, 0X05 IN HDMI RX MAP showed HDVI mode to us(0x05 B0)

please help us to check the below REG, which we have read REG in field.

No EDID

HDMI RX

34 0x04 23

34 0x05 B0

34 0X6E 04

34 0X6D 04

34 0X07 A7

34 0X1A 80

34 0X14 3F

 

IO MAP

70 0X6C 01

70 0x65 00

 

DPLL MAP

26 0XB5 01 //256fs

 

If EDID

34 0x05 30

 

Could you give some advice, thank you very much.

mattp

BF538 PPI first data is missing

$
0
0

Hi all,

I use PPI interface of BF538 processor for coomunication with FPGA. 1 frame sync GP TX mode is used. PPI clock and FS1 are generated by FPGA. 12bit width words are generated by BF processor on rising edge of clock signal.The data length is 64. There are 8 extra clocks at the communication beginning. I have set the first and the second word to 0xFFF. The rest words are 0x000.

I have an following issue. When the delay register is set to 0, all data words are OK. But if the delay register is set to not zero value, the first data generated by BF are always 0x000.  

Fig1 shows signal chart with delay register set to 0. You can see that both first and second MSB bit of Tx word is set to 1. It is OK.

But in the Fig2, where the delay register is set to 1, the first data is missing, the data pulse is only 1 clock period width. All other words are correct and delayed as expected. If I set e.g. last but one word to 0xFFF, it is on its expected position. It seems the PPI DMA is not able correcty drive PPI data pins if the delay register is set to non zero value.

 

The PPI clock frequency is about 1.5 MHz, SSCK frequency is set to about 115 MHz.

 

Here is part of my code in VDSP:


*pDMA0_PERIPHERAL_MAP = PMAP_PPI;
*pDMA0_START_ADDR = (void *)led_drv_cpld_video_buff;       // buff of 16bits data
*pDMA0_X_MODIFY = 2;
*pDMA0_X_COUNT = LED_DRV_CPLD_VIDEO_BUFF_SIZE;
*pDMA0_CONFIG = FLOW_AUTO | DI_EN | WDSIZE_16 | DMAEN;
ssync ();

 

*pPPI_CONTROL = (1 << 14) | (3 << 11) | (3 << 2) | (1 << 1);

*pPPI_COUNT = LED_DRV_CPLD_VIDEO_BUFF_SIZE - 1;
*pPPI_DELAY = 1;
ssync ();

*pSIC_IMASK0 |= DMA0_IRQ;
*pSIC_IMASK0 |= DMAC0_ERR_IRQ;
ssync ();


*pPPI_CONTROL |= (1 << 0);            // start

 

I feel hopeless, please help.

Thank you.

Milan

Plutosdr Matlab interface

$
0
0

How to connect Plutosdr in matlab

Cost estimates for AD9371

$
0
0

I am try decide rather to use the AD9371 compared to AD9364 for cost reasons.

First of all, are there any single channel alternatives to the AD9371 in the pipeline similar to the AD9361/AD9364?

Secondly, where do we see the cost of AD9371 in three to five years compared to current levels?

I really wanted to pick the newest part to start with and wait for the cost to come down by the time I reach production,

But it will be bad if the assumptions gone wrong and the economics fall apart.

ELIMINATING ELECTRODE OFFSETS AD8232

$
0
0

I am using AD8232 as ECG front end for developing ambulatory ECG device. AD8232 is said to reject electrode offsets as large as ±300 mV. According to the standard ANSI/AAMI/IEC 60601-2-47, I need to verify this by supplying a sine wave of 4 Hz (1mv) embedded with  ±300 mV dc offset and verifying that there is no more than 10% change in output amplitude of the sine wave. However I observe that the sine wave shrinks by more than half with -300mV offset. How can I solve this? I am using CARDIAC MONITOR CONFIGURATION circuit of the AD8232 datasheet. In the Test circuit switches S1 and S2 are closed. AC voltage is a 1v 4Hz sine wave which is attenuated to 1mV with the resistor network.

 

Cardiac Monitoring CircuitTest Circuit

How to simulate ADVFC 32

$
0
0

Hi,

 

I am developing a circuit that has V to F and F to V functions. I am looking for SPICE model of VFC 32 IC.

Can anyone help me, how can I simulate VFC 32 so that complete circuit is simulated.

 

Regards,

Himanshu


Simulink model to CrossCore Embedded Studio for Analogue Devices SHARC board

$
0
0

Hi,

I want to know if there is a convenient way to convert R2017 Simulink model into the executable code in Crosscore Embedded Studio (CCES) for (SHARC) ADSP 214XX EZ-KIT board. Use Simulink coder? Or use something like Matlab coder SDK?

I will greatly appreciate it if anyone can provide me with an example of active noise cancellation system in CCES for SHARC board!!!

 

Thank you in advance!

Sigma Studio for Sharc move array to different section

$
0
0

Hi,

I'm trying to create plug in for my algorithm in which I have big static array  (big delay line) which by default is put in Coeff section during linking by SigmaStudio and because of it's size it's not fit there. I wanted to move it to Data32 section. It's done via LDF or in Algorithm Designer? I try to achieve it by reserving required space in memory tab in algorithm designer but in result my array still is placed in Coeff section by SS4SH.

 

I use SigmaStudio 3.12 and SS4SH 2.2.0 (CCS 2.6). Target DSP ADSP-21489.

Thanks in Advance

PCB land pattern for BF504F

$
0
0

Is there a recomended pcb land pattern for BF504F 88-lead LFCSP package?

BF607 anomaly WA_16000042 seems not yet fixed in silicon revsion 0.2

$
0
0

I am using ADSP-BF607, the silcon revision marked on the chip is 0.2. I met an issue on ICACHE enabled in my project.

 

There was an anomaly associated on BF60x on L1 I-Cache with parity enabled, WA_16000042.

 

1. In anomaly_macros_rtl.h, it was said the anomaly was fixed in 0.2 silicon:

/*
** 16000042 : Instruction Cache Failure When Parity Is Enabled
**
** Impacted : ADSP-BF60[6789] revisions 0.0 and 0.1. Fixed in 0.2.
*/
#if !defined(WA_16000042)
#define WA_16000042 \
  (defined(__ADSPBF60x__) && defined(__SILICON_REVISION__) && \
   (__SILICON_REVISION__ == 0xffff || __SILICON_REVISION__ < 2))
#endif

 

2. When I troubleshot my project, without the walk-around of WA_16000042,  there was an error "parity error in L1 instruction bank C cache", as illustrated in attached JPG file; while if I enabled the walk-around of WA_16000042 by defined the silicon revision to "any" in CCES project option, my project ran without error.

in startup.s:

#if WA_16000005 || WA_16000042  /* L1 I-Cache with Parity Enabled anomalies. */
      // If L1 instruction cache is enabled, then disable L1 instruction
      // parity checking (IMEM_CONTROL.RDCHK).
      R0 = 59;              // cplb_ctrl = 59
      CC = BITTST(R0, CPLB_ENABLE_ICACHE_P);
      IF !CC JUMP .skip_disable_l1_instruction_parity;
      LOADIMM32REG(P2, IMEM_CONTROL)
      // P2 is MMR so anom 05000245 doesn't apply.
      .MESSAGE/SUPPRESS 5508 FOR 1 LINES;
      R0 = [P2];
      BITCLR( R0, BITP_IMEM_CONTROL_RDCHK);
      [P2] = R0;
      SSYNC;
      .skip_disable_l1_instruction_parity:
#endif /* WA_16000005  || WA_16000042 */

 

3. Can someone help confirm if the anomaly did fixed in silicon 0.2?

 

The project I am using is also attached and I am using CCES2.6.0.

How to interface AD9122-M5372-EBZ with Zynq ZC702?. I am new to AD9122 and ZC702.

Viewing all 51060 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>