AD75019

I´m trying to drive an AD75019 (16x16 Crosspoint Switch) with a PIC Microcontroller) I have seen the SIN and SCLK waveforms with a scope and everything seems to be right. But I can´t open or close any switch. Has somebody some PIC working code in order to see what I´m doing wrong?

Thanks in advance.

Reply to
Mauricio
Loading thread data ...

Are you shifting data in too fast or too slow? SCLK must be between 20 KHz and 5 MHz.

Are you pulsing the PCLK parallel load after shifting the data in?

Reply to
Andrew Holme

Hi andrew, thanks for reply.

Yes, I´m Shifting data at 250 KHz, and after shift all the 256 bits I´m strobing the data with a low pulse at PCLK (width = 10uS)

Mauricio.

Andrew Holme wrote:

PIC

scope

I´m

20 KHz
Reply to
mauricio.alvarez

How are you testing for switch closure? How are you biasing the analogue inputs? Are there any unused analogue pins? The datasheet doesn't say if unused inputs are allowed - you might try high value SIL resistors to GND. What power supplies are you using? Are you observing the correct setup and hold times (t1 & t3) as per the timing diagram on page 3 of the datasheet?

If you change your software to shift more than 256 bits - you should see something coming out of SOUT - might be a useful test.

Reply to
Andrew Holme
1.- I´m injecting a square wave at analogue input, and viewing the output with a scope.

2.- from the square wave generator.

3.- there are analog inputs unused but pulled down to ground

4.- It´s a PC ATX 300 Watts power supply.

5.- Setup timings seems to be right.

6.- I did a test software that run my PIC in an endless loop Writing

0x55 and SOUT is always High.

Andrew Holme wrote:

bits

the

Reply to
mauricio.alvarez

OK

What voltage levels w.r.t. ground?

Directly or through resistors? What value?

That's not what I meant. What are the voltages on Vdd, Vss and Vcc relative to DGND.

OK

should

Something's wrong there.

Reply to
Andrew Holme

In message , Mauricio writes

I've done this - it was a few years ago and I no longer have access to the PIC code. As I recall there's nothing particularly difficult *but* the input shift register is dynamic and has a minimum clock speed of (just looked it up) 20kHz. Once the switch configuration data is clocked in, it's latched and needs no further concern.

Cheers

--
Keith Wootten
Reply to
Keith Wootten

Thanks John.

This is a pretty nice code, but there are some things I don´t undestand. Why must I load 640 zeroes into the shift registers if the Crosspoint only have 256 switches? I can suppose you´re initializating

8 AD75019 connected in cascade, then my question is why only 80 bits per IC? Please comment.

john jard> > I´m trying to drive an AD75019 (16x16 Crosspoint Switch) with a

PIC

scope

I´m

chips

;---------------------------------------------------------------------------

chips

;---------------------------------------------------------------------------

Reply to
mauricio.alvarez

In message , snipped-for-privacy@gmail.com writes

Check that the clock is clocking continuously (at >20kHz) and manually connect the Sin pin to 0V and 5V alternately while looking at Sout. Sout should follow Sin (with a short delay). If it doesn't, you've probably got a duff chip. Make sure the power supply sequences correctly, or use Schottky diodes as suggested in the datasheet.

Cheers

--
Keith Wootten
Reply to
Keith Wootten

This is a straight copy of a setup routine for a block of 8 of these chips but shows that sending for say one chip, 80 bits of serial data, 80 clocks, and the final update strobe is perfectly straightforward.

regards john

;---------------------------------------------------------------------------

--------------- DISABLE.THE.MATRIX.CHIPS ;shuts down all the outputs. Stops 'multi-output' self destruct ;sends out 640 '0's (0=disable out/pin.

1=enable it) ;this is a hardware routine only ldw 80 ;640 bits worth of zeroes in one lump wto scrap

local1 ldw 8 ;bit count each byte wto scrap1

local2 matrixdata.low ;force zeroes into chips matrixclock.high matrixclock.low decfsz scrap1,self goto local2 decfsz scrap,self goto local1

matrixupdate.low ;latch the data in to the 8 matrix chips matrixupdate.high RETURN ;having pumped 640 0's pumped out ;---------------------------------------------------------------------------

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

Reply to
john jardine

This is a pretty nice code, but there are some things I don´t undestand. Why must I load 640 zeroes into the shift registers if the Crosspoint only have 256 switches? I can suppose you´re initializating

8 AD75019 connected in cascade, then my question is why only 80 bits per IC? Please comment.

Mauricio, my apologies. Ignore my post. The code is for a AD8113 chip, which is a 16X16 Video switcher. [Having just said that I've looked at the AD75019 data sheet and noticed the

256 bits of data are serially loaded and latched the same way as the AD8113]. regards john
Reply to
john jardine

Hi Andrew.

Square wave is 0 - 5V (5Vpp)

Vdd = +12V Vss = -12V Vcc = +5V

Pull down resistors 100K from each input to ground Yes, something´s wrong here.

Regards

Reply to
malvarezdel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.