[MODULE]/AD/DA2018. 2. 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. 2. 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

댓글을 달아 주세요

[INTERFACE]/USB2017. 12. 1. 17:32

USB 복합장치 제작

USB HID 복합장치 제작 하려고 하고 있다.
15년전에 제작 했던 자료를 꺼내서 해 보려고 했더니 너무 옛날 보드라 관련 자료도 없고 개발환경도 너무나 달라져서 별로 도움이 되지 않는다.

예전에는 USB 시퀀스 잘 알고 있었는데... HID 키보드, 마우스, 조이스틱 (복합장치)등의 장치를 잘 다루었는데..
새로하려니 쉽지가 않다.

우선 기존에 잘 동작 하던 보드에 레포트 디스크립터만 수정하면 되지 않을까?
-> 잘안된다.



TI 자료가 잘 정리되어 있는것 같다.

디스크립터 툴도 제공한다. 우선 기존에 만들었던 TI MSP430F5510 EVM 보드로 테스트 해보자




수정된 디스크립터를 이용해서 컴파일 했는데...  Custom HID는 잡히는데 키보드는 인식을 하지 못한다.
이상하다.
키보드 디스크립터만 만들어서 테스트 해보자
여전히 안된다.

뭐가 문제 이지?
코드에 수정해야 할부분이 또 따로 있나?
되는 코드와 안되는 코드를 비교해보자.

PID 부분이 다르다. PID를 바꾸니 잘 동작한다.
#define USB_VID               0x2047    // Vendor ID (VID)
#define USB_PID               0x0315        // Product ID (PID)

PID가 바뀐다고 안될이유는 없는데...
기존 드라이버를 지워보자

장치관리자에서 드라이버를 삭제하고 새로인식하니 잘 동작한다.
처음에 디스크립터 바꾸면서 잘못된 드라이버가 로딩되면서 문제가 된것 같다.



장치관리자에서 키보드, 커스텀 HID 복합 장치가 등록 되는것을 확인 할 수 있다.







기존 키보드 예제로 테스트 하려고 했는데...
HID 수신이 안된다.

그래서 HID 예제로 테스트 했다.
USB_Cconfig 폴더 내용만 복사하면 된다.
G:\DOC\MCU\MSP430\MSP430USBDevelopersPackage_5_20_06_02\MSP430_USB_Software\MSP430_USB_API\examples\HH1_hidDemo2hidDemo

HID는 TI제공 프로그램을 이용했고 HID로 'a' 'b' 보내면 LED 온 오프하고 'c'보내면 1초뒤에 키 값을 전송하도록 했다.



기본틀은 구성 됬고 필요에 따라 수정만 하면 될것 같다. 

Posted by nexp

댓글을 달아 주세요

카테고리 없음2017. 11. 22. 17:45

TLC59108F I2C LED Driver 보드 제작 - 카메라 모듈용

TLC59108F  I2C LED Driver 보드 제작 - 카메라 모듈용


256-Step (8-Bit) Linear Programmable Brightness

Maximum Brightness Using a 97-kHz PWM

Maximum Output Current: 120 mA

Maximum Output Voltage: 17 V















Posted by nexp

댓글을 달아 주세요

[FPGA]/Zynq(MPSOC)2017. 11. 22. 12:23

MPSOC용 카메라 인터페이스 보드 제작

MPSOC용 카메라 인터페이스 보드 제작

ZCU102 EVM 보드에 연결되는 3채널 카메라 인터페이스 보드를 제작 했다.
FMC_HPC Connector에 연결 가능하도록 했다.





보드 SMT 해서 왔는데 카메라 캐이블용 FFC 커넥터 방향 잘못됨
기존에 사용했던거라 확인하지 않았는데... 실제로 확인해 보니 반대로 납땜되어 있음
반드시 PCB에 프린트 해서 핀맵확인 필요

배치 정하기 전에 반드시 확인이 필요하다.
커넥터를 때내고 뒤집어 다시 납땜해서 해결


Posted by nexp

댓글을 달아 주세요