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

AD5590 GUI

$
0
0

I would like to control the AD5590 using an external program (e.g. Labview).

Is it possible to have a copy of the source code for this device?

Thanks for your time and help

Best Regards

Ian


ADSP-2191M PLL stuck

$
0
0

Hi,

we have a system with ADSP-2191M that starts in bypass mode (BYPASS pin unconnected). After successful start the program sets PLLCNTL to required multiplication factor (CLKIN=40MHz, multiplier=4x to achieve 160MHz CCLK) and switches CCLK to be driven from PLL, ie. deactivates bypass mode. From this time the processor stops executing its program. Processor reset does not help in this case, ie. after another reset the program running fine while in bypass mode but stops as soon as bypass deactivated again. Power down and up the board will sometimes help (ie. the program is running fine even after bypass mode deactivated), sometimes does not. We have hundreds of boards running fine but the last series suffers from this problem. Do you have some hint what we can check, please, that could cause PLL is unusable?

 

Thank you,

Michal

ADuCM360 delay needed between finishing single shot conversion and issuing a new one

$
0
0

Hi community,

 

Recently I have spent quite a long time with the following issue: I need to measure an ADC input in continuous mode with reding results in interrupt. Occasionally I need to take one sample from different input and return back to the continuous mode. I wanted to perform four single shot conversions to settle the filter and take the last one as a result. But the single convert mode always timed out. After reading datasheet again and again, searching forums and a lot of source code tweaks I found a solution by adding a few us delay after reading single conversion result when the SM shall return back to the idle state before issuing command for new single conversion by writing 2 to ADC0MDE. The code excerpt looked like this:

 

case SD0_VOLT:                //ADC0 mesures INP2

    pADI_ADC0->MSKI = 0; //stop ADC0 interrupts measuring INP0
    pADI_ADC0->CON = //change +INP mux to INP2, enable unipol no buffer intref ch2 AGND as -inp
             (1<<19) + (1<<18) + (0xF<<14) + (0<<12) + (2<<5) + 0xF ;

    dwData = 0xFFFF;             //error return
    bStatus = pADI_ADC0->STA; //clears status bits
    for(i=0 ; i<4 ; i++)                //measure 4-times to settle filter
    {
         Delay(5);    //few us needed from finishing to starting new conversion !!!!!
         pADI_ADC0->MDE = 2; //single conversion
         dwStrt = dwTick;
         while(1)
         {
             if(dwTick - dwStrt > ADC_TO)          //timeout 20ms
             {
                 Error(E_ADCTO);
                 goto Exit1;
             }   
             bStatus = pADI_ADC0->STA;
             if(bStatus & 1)
             {
                  dwData = pADI_ADC0->DAT >> 12;       //resets RDY, goes to idle
                  break; //exit while loop
             }
         }
     }
Exit1:
     pADI_ADC0->CON = //+INP back INP0 enable unipol no buffer intref chan0 AGND as -inp
               (1<<19) + (1<<18) + (0xF<<14) + (0<<12) + (0<<5) + 0xF ;
     pADI_ADC0->MDE = 1; //continuous conversion
     pADI_ADC0->MSKI = 1; //renew ADC0 interrupts measuring channel A current
     return dwData;

 

Is this behavior of the ADC expected or mentioned anywhere in the datasheet or did I anything else wrong? The code was compiled with Keil MDK522 eval version tool.

 

Your insight would be appreciated.

 

Bohus54

Multi-core (Shared memory)

$
0
0

Hi,

 

     I am using ADSP-SC589 is a multi- core architecture chip, here I'm trying to establish the process synchronization from the ARM core to SHARC core's by using of shared memory spaces ( DDR memory space and MMR spaces) , In these memory locations i can able to read the updated values from the SHARC to ARM.

    I tried to write some values into shared memory using ARM its throwing FATAL ERROR, only read is possible.

    There is any specific memory space is available for the ARM and SHARC to perform read/write.

    Please help to find out the common memory space, or some other way to use the shared memory space effectively.

 

 

 

 

Thanks & Regards,

Praveen

ADV7623 - DVI and HDMI mode switching

$
0
0

Hi,
We've a custom board with ADV7623, and its been working fine with HDMI displays but recently we needed to support some DVI displays and in ADV7623's design files it mentions that it can switch to DVI signalling

---------------- snip from Section 8.2 - HW Ref Manual --------------

"The Tx section supports the transmission of both HDMI and DVI streams. The type of stream the
ADV7623 transmits is set via the bit HDMI_MODE_SEL. In DVI transmission mode no packets
will be sent, and all registers relating to packets and InfoFrames will be disregarded. The current
transmission mode can be confirmed by reading the bit HDMI_MODE."

--------------------------- snip end ---------------------------

--------------------- snip from page 85- HW Ref Manual---------------------

"Background port HDMI/DVI status for a background HDMI port determined by
BG_MEAS_PORT_SEL[1:0]. The readback provides the HDMI/DVI mode status and is
updated when an update request is made via the BG_MEAS_REQ control bit. This
measurement is only valid when BG_PARAM_LOCK is set to 1."

--------------------------- snip end ---------------------------

 

So can you verify my understanding that to switch dynamically between HDMI and DVI displays on TX side, I'll have to do following steps

1. BG_MEAS_PORT_SEL[1:0]

2. BG_MEAS_REQ

3. Wait for BG_PARAM_LOCK

4. Read HDMI MAP Reg 0xEB[0]

5. Set TX MAIN MAP 0xAF[1] accordingly

6. HDMI_PORT_SELECT[1:0]

 

Also is this correct method to verify that sink is DVI or HDMI?

 

I'm using above steps and sometimes I get DVI on step 4 and other times HDMI.

 

P.S. I've a another question too that needs update: ADV7623 - TMDS PLL Lock Reset 

AD9642

$
0
0

Dear Sir/Madam,

 

I am using AD9642BCPZ-170,  the software run normally at the beginning, and after running for  ten minutes, the output of the data are all zeros through the XIlinx ChipScope view , do you kow what is the reason for it?

 

Thanks.

Looking for a simple OSD example for adv7623

$
0
0

Hi!
We have a videoboard developed to superimpose  measurement data on a camera picture.
The examples and software for the development board have been downloaded, but they are to extended to
convert it to another controller. In the software manual I miss the informations and relations between the RAM stacks and the character table.
Our uC also have much less space than the NXP, so we have to use the memory sparingly and omit sections we dont need ( audio, cec, edid,..). 

Thats why we are looking for a simple example to only write 5 numbers on the screen which we have to refresh every second.

 

Kind regards and thanks for your previous support!

Klaus Schneider.

Programming the AD9951

$
0
0

Hello,

I have tried for several days now, to get any response of my DDS-Chip AD9951:

My goal is to get a frequency at the IOUT Pin, determined by the FTW.

I want to program the AD9951 with an XMega by using the USART (in SPI Master Mode, so I use SCLK and SDIO).

For programming the DDS-Chip I use following steps:

 

1. write register address on SDIO (e.g. CFR2: 0x01)

2. write all bytes to SDIO (e.g. CFR2: <23:16>,<15:8>,<7:0>)

3. repeat step 1 & 2 to write to each register

4. wait 200 us to be sure data is transmitted

5. write a high to IO Update for 1us (witch is about 6 rising edges of SYNC_CLK)

 

If I understand that correct, the AD9951 writes at the rising edge. In that case the SCLK an SDIO looks as it should be.

 

I feed the REFCLK with a 20 MHz MEMS Oszillator and I can measure a frequency of 5 MHz on the SYNC_CLK Pin, which is the normal characteristic.

 

So in my opinion writing data to the AD9951 should work. But the DDS doesn't react to anything.

I always measure 5 MHz on SYNC_CLK and some noise on IOUT. I've tried to set the SYNC_CLK Pin to a logic 0 by writing 1 to CFR1<1>, but no reaction.

 

I have no idea what i could try next. Can anyone help me please?

 

The circuit of the AD9951 is described in the pdf.


Issue with AD698 used with 3 wire LVDT in Single Supply mode

$
0
0

Hi,

 

Based on the AD698 datasheets, we have rigged up below circuit for 3 wire LVDT in a single supply (24Volts) mode.

 

Component values used for fsubsystem  =400Hz, fexcitation =4KHz & Spool Stoke = +/- 5mm

R1 =10K ohm

C1 = 10nF

R2 = 33K ohm

C2 = C3= C4 = 0.2microFarad

C5 = 0.1microFarad

R3 = R4 = Open

R5 = 50K ohm

R6 = 6.8K ohm

We are getting sine wave at -BIN/-AIN pins, +BIN/+AIN also wave form is seen but the amplitude is in the order of millivolts, but no waveform at BFILT pins.  With Spool position change, phase change observed at AIN pin but no significant change in Sig Out.  Not sure what is wrong.  Could any one help me in debugging this. Thanks.

Need an envelope detector working at -55C

$
0
0

Dear Staff and fellows;

I need an envelope detector working at -55C. My frequency of operation is 60 +/-3 MHz. I was hoping to use ADL5910, but I was guided -by sales representative- as I can not use ADL5910 IC for envelope detection.

Then the choices are left as ADL5904, HMC1120, ADL5511, HMC1030 and HMC1021. I need a guidance now on which one to use. Please share any useful information -especially on the operational temperature- about these ICs.

To complete my requirements, let me list that:

- I use 5962-9864601QEA in front of this envelope detector, so the input range should be compatible with the output range of 5962-9864601QEA.

- I need an operational temperature range of -55C to +85C.

- My operational frequency is 60 +/- 3 MHz. However I want an envelope detection of 1 MHz window.

Regards,

Sinan ONAT

How can I make sure the ADV7482 is powered up?

$
0
0

Now, I want to control the ADV7482 chip through I2C, and I am sure that the I2C IO Map write address of ADV7482 is 0xE0, because the ALSB pin is logic 0. But When I start up my system and try to write registers through I2C, my I2C analyzer always notes me the ADV7482 is NACK. So I want to know I can I know the chip is already powered up.

CN0376 Evaluation Software

AD9371 Custom Profile Creation Steps

$
0
0

What is the correct process for creating custom profiles for the AD9371?

 

I would like to create a profile with a TX/ObsRX sample rate of 163.2MSPS, RX sample rate of 81.6MSPS, and device clock of 163.2MHz.  I created a profile using:

MATLAB Profile Generator for AD9371 [Analog Devices Wiki] 

 

Then loaded the custom profile into the RadioVerse TES software, which showed the correct profile information.  When I attempted to program the evaluation board, I received an error of:

      Error:259, ARM Command Error in Mykonos_setRFPLLFrequency()

 

What else needs to be done to create a complete profile and configuration?  How is the AD9528 control for a custom profile handled in the evaluation software?

AD9371 Mykonos Charge Pump Error

$
0
0

I am developing a setup using a custom AD9371 board with the ZC706 for the baseband processor.  On some units, I intermittently get the following debug message during configuration:

 

.

.

.

clock locked
BBIC JESD204B Initialization
Mykonos Initialization
MESSAGE: 0: MYKONOS_resetDevice()

MESSAGE: 0: MYKONOS_initialize()

MESSAGE: 0: MYKONOS_verifyDeviceDataStructure()

MESSAGE: 0: MYKONOS_verifyProfiles()

MESSAGE: 0: MYKONOS_setSpiSettings()

MESSAGE: 0: MYKONOS_initDigitalClocks()

MESSAGE: 0: MYKONOS_calculateScaledDeviceClk_kHz()

MESSAGE: 0: MYKONOS_waitForEvent()

WARNING: 233: Clock PLL Charge Pump Cal event timed out in MYKONOS_waitForEvent()

Clock PLL Charge Pump Cal event timed out in MYKONOS_waitForEvent()

MESSAGE: 0: MYKONOS_checkPllsLockStatus()

PLL not locked

 

As this does not happen on all boards or consistently on all power ups, what should I look at for troubleshooting?

Layout-RGB->HDMI(ADV7513 board)

$
0
0

I wish to send the layout of my RGB to HDMI display card for your comments and suggestions..We have designed using Allegro.Plz. confirm if the same is feasible to you.


Anomaly 15000023 of ADSP2148x and CCES

$
0
0

I am trying to migrate to CCES from VDSP++.

Now I find the next problem.

I use 40-bit float operation so I save data into 48-bit space (I use block2: IMDW2=1) even else RND32 is set.

VDSP++ always solve the anomaly 15000023 of ADSP2148x as it describe in the workaround.

CCES don't solve the anomaly 15000023 of ADSP2148x as it describe in the workaround. May be I need clear RND32.

VDSP++ code:

CCES code:

I know that I can change dm to pm but I want that CCES work as VDSP++.

Can you help me?

adau1701 digital input

$
0
0

Hi. Can i with my ADAU1701 miniz Board handle 2 digital inputs (2 Stereo Channels)?
On my Project we have 2 different soundmodules.
The MCLK, BCLK, LRCLK is sync on all.
I use the SDATA_IN for the first soundmodule (Stereo)
but i dont see an second input like SDATA1

Question about UART Rx interrupt

$
0
0

Hi, I am trying to receive information about sin wave (e.x amplitude, frequency) via UART from PC. 

 

I would like to perform measurement using the information I received.

 

 I have looked up the User Guide note and there were 2 interrupt related to Rx (Rx status interrupt and Receive buffer full interrupt).

 

Which one is more appropriate to use for my case? 

 

Also is there any reference code that I can refer to regarding UART RX interrupt?

 

Thank you. 

Request AD8619 additional data

$
0
0

Hello

 

My customer request additional data for AD8619 for attached file.

Could ADI submit like this?

 

The reason why they are going to analyze their issue to compare other device (not oscillation device).

The issue is oscillation on their trial sample.

But detail circuit could not disclose, so customer analyze themselves.

They expect these characteristic of attached file point this issue.

 

AD8619 is OK.

One op-amp is OK. (They don't want to use it)

The other is NG. 

 

Best Regards

T.Kamino

UART ADUCM350 without library

$
0
0

Hi guys,

 

I am trying to program the UART without library.

So I want to send a message and I wrote this code:

 

#include <stdlib.h>
#include <stdio.h>

 

//UART Register
#define COMCTL *((long*)0x40005030) // UART Control Register
#define COMDIV *((long*)0x40005028) // Baud Rate Divider Register 
#define COMFBR *((long*)0x40005024) // Fractional Baud Rate Register 
#define COMLCR *((long*)0x4000500C) // Line Control Register
#define COMTX *((long*)0x40005000) // Transmit Holding Register
#define COMRX *((long*)0x40005000) // Receive Buffer Register
#define COMLSR *((long*)0x40005014) // Line Status Register
#define COMIEN *((long*)0x40005004) // Interrupt Enable Register


//GPIO Register
#define GP0CON *((long*)0x40020000) // GPIO Port 0 Configuration
#define GP0OEN *((long*)0x40020004) // GPIO Port 0 Output Enable
#define GP0IEN *((long*)0x4002000C) // GPIO Port 0 Input Enable

 

main()
{
COMCTL = 0x0; //'UART enable


GP0CON = 0xA000; / PIN 0.7 and PIN 0.6 as Rx e Tx
GP0OEN |= 0x40; // pin 0.6 (Tx) as Output
GP0IEN |= 0x80; //pin 0.7 (Rx) as Input


COMIEN = 0x3A; // interrupts disable

//Baud Rate = 9600
COMDIV = 0x11; //COMDIV =17
COMFBR = 0x9883; // FBEN=1, M=3 e N=131

 

//start communication
COMTX = 0x1;
while(!(COMLSR && 0x60)); //wait till COMTX and Transmit Shift Register are empty in order to avoid overwrite
COMTX = 0x1;
while(!(COMLSR && 0x60));
COMTX = 0x1;
while(!(COMLSR && 0x60));
COMTX = 0x1;
while(!(COMLSR && 0x60));
COMTX = 0x1;
while(!(COMLSR && 0x60));
}

 

I am using Termite 3.2 as communication tool (I tried also UART_Terminal_NET_4.5) but the riceved word is always the same showed in the attached screenshot. 

 

What is wrong?

 

PS: obviously I tried to change the value of the sending bits and I checked the right configuration of 5 bit word, 1 stop bit, none parity check and Baud Rate for Termite. 

Viewing all 51060 articles
Browse latest View live


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