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?
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.
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.
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
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.
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.
matrixupdate.low ;latch the data in to the 8 matrix chips matrixupdate.high RETURN ;having pumped 640 0's pumped out ;---------------------------------------------------------------------------
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
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.