[MODULE]/AD/DA2018.02.25 07:15

LTC2704 - Quad 12-, 14- and 16-Bit DAC 테스트

LTC2704 - Quad 12-, 14- and 16-Bit Voltage Output SoftSpan DACs 테스트




우선 SPI 2 정상 출력되는것만 확인.
/LDAC 핀을 흔들어 줘야 정상 출력이 나올것 같은데... 설명이 조금 에매하다...
테스트 해봐야 정확하게 알수 있을듯.

When the asynchronous load pin, LDAC, is taken low, all DACs are updated with code and span data (data in B1 buffers is copied into B2 buffers). CS/LD must be high during this operation. The use of LDAC is functionally identical to the “Update B1→B2” commands.













LTC2704 초기화 코드

void LTC2704_Init(void)

{

    LTC2704_CS_INIT();

    LTC2704_CS0_HI();

    LTC2704_CS1_HI();

    LTC2704_SPI_INIT();    

    

    LTC2704_CS0_LO(); 

    LTC2704_SPI_Send(0x2F);   //range

    LTC2704_SPI_Send(0x00);

    LTC2704_SPI_Send(0x01);   //+10V

    LTC2704_CS0_HI();  

}       






LTC2704 Data 출력 코드



void LTC2704_DataSet0(unsigned char Ch, unsigned short Data)

{

    unsigned char chanel[4] = {0, 2, 4, 6};    

    

    LTC2704_CS0_LO(); 

    LTC2704_SPI_Send(0x30+chanel[Ch]);

    LTC2704_SPI_Send(Data>>8);

    LTC2704_SPI_Send(Data);

    LTC2704_CS0_HI();

}


void LTC2704_DataOut0(unsigned char Ch)

{

    unsigned char chanel[4] = {0, 2, 4, 6};    

    

    LTC2704_CS0_LO(); 

    LTC2704_SPI_Send(0x40+chanel[Ch]);

    

    LTC2704_SPI_Send(0x00);

    LTC2704_SPI_Send(0x00);

    LTC2704_CS0_HI(); 

}


Posted by nexp
TAG DAC, LTC2704

댓글을 달아 주세요

[MODULE]/AD/DA2018.02.25 07:07

Analog Devices 16Bit ADC AD7606 테스트

Analog Devices 16Bit ADC AD7606 테스트



RESET 핀

Reset Input. When set to logic high, the rising edge of RESET resets the AD7606/AD7606-6/AD7606-4. The device should receive a RESET pulse directly after power-up. The RESET high pulse should typically be 50 ns wide. If a RESET pulse is applied during a conversion, the conversion is aborted. If a RESET pulse is applied during a read, the contents of the output registers reset to all zeros.






클럭 나오는것 까지 확인 

AD쪽에 +-15V가 필요하다



AD7606 핀맵 정의


//------------------------------------------------------------------------------

//ADC AD7606 Driver

#define AD7606_CS_HI()       (LATD |= BIT0)

#define AD7606_CS_LO()       (LATD &= ~BIT0)


#define AD7606_RST_HI()       (LATD |= BIT1)

#define AD7606_RST_LO()       (LATD &= ~BIT1)


#define AD7606_START_HI()       (LATD |= BIT2)

#define AD7606_START_LO()       (LATD &= ~BIT2)


#define AD7606_CS_INIT()     (TRISD &= ~BIT0)

#define AD7606_RST_INIT()    (TRISD &= ~BIT1)

#define AD7606_START_INIT()    (TRISD &= ~BIT2)

#define AD7606_SPI_INIT         SPI1_Init

//------------------------------------------------------------------------------





AD7606 Data Read 코드


void AD7606_ReadBuf(short *pBuff)

{

    AD7606_START_LO();

     Delay_Us(10);

     AD7606_START_HI();


     AD7606_CS_LO();

     pBuff[0] = SPI1_WriteReadByte(0);

     pBuff[0] |= SPI1_WriteReadByte(0)<<8;


     pBuff[1] = SPI1_WriteReadByte(0);

     pBuff[1] |= SPI1_WriteReadByte(0)<<8;


     pBuff[2] = SPI1_WriteReadByte(0);

     pBuff[2] |= SPI1_WriteReadByte(0)<<8;


     pBuff[3] = SPI1_WriteReadByte(0);

     pBuff[3] |= SPI1_WriteReadByte(0)<<8;

     

     //-----------------------------------------

     pBuff[4] = SPI1_WriteReadByte(0);

     pBuff[4] |= SPI1_WriteReadByte(0)<<8;


     pBuff[5] = SPI1_WriteReadByte(0);

     pBuff[5] |= SPI1_WriteReadByte(0)<<8;


     pBuff[6] = SPI1_WriteReadByte(0);

     pBuff[6] |= SPI1_WriteReadByte(0)<<8;


     pBuff[7] = SPI1_WriteReadByte(0);

     pBuff[7] |= SPI1_WriteReadByte(0)<<8;      

     AD7606_CS_HI();

}


Posted by nexp
TAG AD7606, ADC

댓글을 달아 주세요

[FPGA]/Zynq(MPSOC)2018.02.23 14:18

ZCU102 보드에서 FMC커넥터의 MIPI 핀 할당 문제

ZCU102 보드에서 FMC커넥터의 MIPI 핀 할당 문제


멀티 채널 MIPI 카메라 제작중 MPSoC에서 MIPI 할당에서 문제가 발생




Bank64 - > DDR로 할당
Bank65 -> HPC1 2채널 할당 가능
Bank66 -> HPC0 1채널 할당 가능
Bank67 -> HPC0 1채널 할당 가능 (HPC0, 1 조합 할경우 1채널 추가 가능)

결론 ZCU102에서 HPC0, 1 채널을 동시에 사용할 경우 4채널 가능 (기구적 테스틑 불가능)
Tranz 보드를 사용할 경우 최대 64, 65, 66 Bank를 사용하면 5채널 까지 가능할  수도 있지만 확인 필요


따라서 ZCU102 보드에서는 테스트 할수 없음



Posted by nexp

댓글을 달아 주세요