Post Go back to editing

ADAS1000 TESTTONE output

Category: Choose a category

I'm using the ADAS1000SDZ Eval board interfaced with a ATSAME54 Xplained pro microcontroller.

I'm using the No OS driver from the official example code. Using the example to generate the TESTTONE 150Hz sine wave.

I'm using the same register values used in the example code. Framerate is initialized to 16KHz.

I'm able to get the same output as shown in the example code. What I'm expecting according to Table.22 of the ADAS1000 datasheet is a 12word frame. But the example shows 24 words. And I'm only able to see the sine wave in LL(Lead2), in the 15th word. The first 12 words do not contain expected data.

I'm also not able to get a proper square wave when trying to plot the 1Hz square wave output in excel.

Can someone help me with understanding the TESTTONE output of the No OS driver example.

Top Replies

Parents
  • Now I'm able to see a sine wave in 7,11,15,19,23 words, for both 150Hz and 10Hz.

  • Hi,

    We have an example sequence in the datasheet on how to enable and measure the test tone. Please note that this example will only send 9 words which is different from table 22. 

    Please see Example 4 in the datasheet ADAS1000/ADAS1000-1/ADAS1000-2 (Rev. C) (analog.com).

    regards,

    Mark

  •  https://wiki.analog.com/resources/tools-software/uc-drivers/renesas/adas1000?do=#dokuwiki__top

    I'm using the example from the above link. And I'm getting the same output shown above from the example.

    With the datasheet example 4 settings I'm stuck while Reading data, which is not my primary concern at the moment. 

    I would like to understand the above data printed on the terminal.

    This is the piece of code from the example printing on the terminal.

    //Ouput the on the UART the frames read from the ADAS1000
    	for(frame = 0; frame < 24000; frame++)
    	{
    		decimalToAscii(dataBuffer[frame], ascii);
    		SCI_Write((unsigned char*)&ascii[0], 1);
    		SCI_Write((unsigned char*)&ascii[1], 1);
    		SCI_Write((unsigned char*)&ascii[2], 1);
    		character = 0x2C;	// , (comma)
    		SCI_Write((unsigned char*)&character, 1);
    		character = 0x20;	// SP  (Space)
    		SCI_Write((unsigned char*)&character, 1);
    		if ((frame + 1) % 24 == 0)
    		{
    			character = 0x0D; // CR (Carriage Return).
    			SCI_Write((unsigned char*)&character, 1);
    			character = 0x0A; // LF (Line Feed).
    			SCI_Write((unsigned char*)&character, 1);
    		}
    	}

    This is my modified code from which I got the above output.

    for(Frame=0;Frame<(24*ADAS1000_FRAME_READ_NO);Frame++)
    	{
    		decimalToAscii(Data_Buffer[Frame], Ascii);
    		PRINT("%c",Ascii[0]);
    		PRINT("%c",Ascii[1]);
    		PRINT("%c  ",Ascii[2]);
    		if((Frame + 1) % 24 == 0)
    		{
    			PRINT("\n\r");
    		}
    	}

Reply
  •  https://wiki.analog.com/resources/tools-software/uc-drivers/renesas/adas1000?do=#dokuwiki__top

    I'm using the example from the above link. And I'm getting the same output shown above from the example.

    With the datasheet example 4 settings I'm stuck while Reading data, which is not my primary concern at the moment. 

    I would like to understand the above data printed on the terminal.

    This is the piece of code from the example printing on the terminal.

    //Ouput the on the UART the frames read from the ADAS1000
    	for(frame = 0; frame < 24000; frame++)
    	{
    		decimalToAscii(dataBuffer[frame], ascii);
    		SCI_Write((unsigned char*)&ascii[0], 1);
    		SCI_Write((unsigned char*)&ascii[1], 1);
    		SCI_Write((unsigned char*)&ascii[2], 1);
    		character = 0x2C;	// , (comma)
    		SCI_Write((unsigned char*)&character, 1);
    		character = 0x20;	// SP  (Space)
    		SCI_Write((unsigned char*)&character, 1);
    		if ((frame + 1) % 24 == 0)
    		{
    			character = 0x0D; // CR (Carriage Return).
    			SCI_Write((unsigned char*)&character, 1);
    			character = 0x0A; // LF (Line Feed).
    			SCI_Write((unsigned char*)&character, 1);
    		}
    	}

    This is my modified code from which I got the above output.

    for(Frame=0;Frame<(24*ADAS1000_FRAME_READ_NO);Frame++)
    	{
    		decimalToAscii(Data_Buffer[Frame], Ascii);
    		PRINT("%c",Ascii[0]);
    		PRINT("%c",Ascii[1]);
    		PRINT("%c  ",Ascii[2]);
    		if((Frame + 1) % 24 == 0)
    		{
    			PRINT("\n\r");
    		}
    	}

Children