hlp/adv: LTC2400 + arduino + adum - Page 1
Forum section: electronics / projects

author: GigaJoe
author_rank: Frequent Contributor
timestamp: March 13, 2018, 04:51:09 pm
content: Hello everyone,need some help advice on:LTC2400 connected directly by SPI to arduino board , everything fine , and there is below SPI protocol:( as you can see all, perfect, top channel enable chip, 2-nd spi data, 3-rd clock; I'm able to decode it )Then I added ADUM1412A directly between LTC and arduino ....ADUM on ADC, LTC side:ADUM on arduino side:( sorry images not in scale, but channel sequence the same , despite color )I don't quite understanding what happens with LTC output when the arduino was replaced by ADUM ....it a direct connection; +5V feed on both endsI also may assume, ADUM malfunction ..... I have no clue, it my first attempt to use isolator ...

author: cellularmitosis
author_rank: Unknown
timestamp: March 13, 2018, 05:43:11 pm
content: Looking at the way some of those pulses aren't evenly spaced, I'd say your problem is analog. Getting an optoisolator to behave the way you'd like can also be similarly frustrating.https://github.com/pepaslabs/Electronics/wiki/Designing-a-TTL-Serial-Opto-isolatorDo you have a scope? I'd say that's the next step in debugging.

author: GigaJoe
author_rank: Frequent Contributor
timestamp: March 13, 2018, 06:00:55 pm
content: let put jitters an so things to aside ...Why: replacing arduino board by ADUM isolator , LTC stops to produce 32 cycles on the clock line ( 3-rd lime)

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 13, 2018, 07:25:43 pm
content: Could you post a schematic?Are both sides of the isolator properly powered?Is the part genuine?

author: GigaJoe
author_rank: Frequent Contributor
timestamp: March 13, 2018, 08:52:03 pm
content: +4.95 on LTC side +5.00 on arduino side,schematics are simple ... direct connections from LCT to the chip, 10uf caps on both power lines for adum, that it ...couple chips bought in surplus store (but it may be fake):(crappy image by phone ..; so label looks awful )I will get 1402C, for a test tomorrow

author: GigaJoe
author_rank: Frequent Contributor
timestamp: March 15, 2018, 12:47:19 am
content: purchase ADUM1402C - same picture ...(chip are diff kind, diff source - highly unlikely it bad ... )schematic: (green - ADC LTC2400 ; blue ADUM1402C)resistors need to set high during ADC startup, force it to start in a specific mode.scope:purple - chip select ( arduino side, HI to LOW - trigger measure cycle )blue - clock LTC to adum ( LTC side)yelloy - clock adum to arduino ( arduino side)as I said , should be 32 pulses (blue one) ... not 6, like thatHELP, HELP,(i'm wonder that i have to set some buffer between LTC and ADUM)

author: tombi
author_rank: Regular Contributor
timestamp: March 15, 2018, 01:50:07 am
content: Silly question in your test setup - are the grounds on either side of the isolator connected?If not then which side did you connect your logic analyser/scope ground to?You will get weird results if you don't use the same ground as the side you are watching.Tom

author: KrudyZ
author_rank: Frequent Contributor
timestamp: March 15, 2018, 02:04:17 am
content: The LT2400 SCK pin is bi-directional.The mode is selected based on the state of SCK when CS goes low.Could this be your problem?Also make sure you have outputs and inputs hooked up correctly.What is the 74LS00 doing in your schematics??? wrong symbol?

author: GigaJoe
author_rank: Frequent Contributor
timestamp: March 15, 2018, 03:07:41 am
content: just repeat again:no adum , LTC directly connected to SPI arduino = no prbl, all ideal ( 1st post , 1st diagram)adding adum between LTC and arduino -something started to behave ..... ( I assumed it adum, but had replace it with identical result ....)LTC has many modes , one of them, internal oscillator, output - clock and spi data; input - ChipSelect ; unidirectional.74LS00 - wrong, just draw it in a rush ...Ground are correct point - basically i shorted both grounds by scope, but see no different at all when I measure it separately , absolute the same picture.I"m thinking:(https://www.eevblog.com/forum/projects/ppmgeek!-5-5-digit-dvm-volt-ref-cal-(for-arduino-or-any-uc-w-spi)/?action=dlattach;attach=61925;image )demo board, add buffers like on schematic above , and then adum ? ( have no clue, which direction to dig in )

author: KrudyZ
author_rank: Frequent Contributor
timestamp: March 15, 2018, 04:57:18 pm
content: How did you hook up the CTRL pins on the ADUM1412?It supposedly makes no difference if the part is powered, but who knows.I would try tying them both low to see if it has any effect.

author: GigaJoe
author_rank: Frequent Contributor
timestamp: March 15, 2018, 06:29:14 pm
content: control pin -on air - I did think about it, had thy to HI , LO ... no changes ...I will try this thing:LTC -> 74HC14 ( 2 in seq. ) -> adum -> ( maybe another 74HC14 x2 ) -> arduinoneed some chips , make small board , test it .... will see ...

author: KrudyZ
author_rank: Frequent Contributor
timestamp: March 16, 2018, 12:15:04 am
content: Maybe test the ADUM1412 by itself first.The reason why you only get six clocks or so is because the Arduino actually sees 32.After all it is driving the CS line, right?

author: GigaJoe
author_rank: Frequent Contributor
timestamp: March 16, 2018, 03:33:53 am
content: O! I see, the SC time signal are identical in all cases then it good and bad, around .25 - .27mswhen I change to ADUM1402C, I got the same picture.I will do by steps ...isolate by Schmitt-trigger, then maybe second trigger , then add adum ... will see ...

author: KrudyZ
author_rank: Frequent Contributor
timestamp: March 16, 2018, 04:34:55 pm
content: Here is my guess at what is actually happening.The Arduino is not just controlling the CS line, but also driving the clock (rather than receiving it).The drive strength of the LTC2400 is not very high, so the Arduino driver overpowers it.When you insert the ADUM1412, you buffer the LTC2400 SCK driver and the ADUM1412 driver strength is comparable to the Arduino ports which is why you see the mess on the scope.You should check the SCK line with the setup where you have a direct Arduino connection with a scope as well. You should see some bus contention in that setup, but the Arduino is strong enough to maintain proper logic levels for your logic analyzer to not show the contention.

author: KrudyZ
author_rank: Frequent Contributor
timestamp: March 16, 2018, 04:42:31 pm
content: My recommendation would be to just flip around the SCK in the ADUM1412 and have the Arduino drive it like a normal SPI peripheral.Controlling the CS line from the Arduino, but then clocking it in from an external clock is a bit weird...You just need to make sure that the SCK is in default low, so that when CS is asserted the LTC2400 is set to external clock mode.

author: GigaJoe
author_rank: Frequent Contributor
timestamp: March 17, 2018, 02:44:20 am
content: "but also driving the clock (rather than receiving it)" O, please ...Page 14:

author: KrudyZ
author_rank: Frequent Contributor
timestamp: March 17, 2018, 05:38:51 am
content: How are you programming the Arduino?Is it driving the clock or not?