Jump to content

Testing DINX4


monokinetic
 Share

Recommended Posts

Hi all,

well after the weekend of mounting encoders Im now having DIN problems! The 1st question I have is about voltage, my core is only delivering 4.71v to the chips, is that enough?

So before posting this mail I had a search through the forum and found this useful information about testing the DINX4 boards:

http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=troubleshooting;action=display;num=1096139044;start=15

I found that I measured resistance between "CLK and the LD pin of each 74HC165 socket" (to quote TK) so after some serious examination of the board I did find a couple of microthin shorts. I scratched these off and then tested all pins of all the sockets for this short and it seems to be ok (ie my multimeter is set to ohmeter and the display remains on 1 when measureing accross the pins).

I then tested for continuity between the core J9 pins and the sockets (ie on the DINX4 PCB supplied by mike the power is running to the correct pin, the correct pins are grounded even those with the wire links on the bottom of the PCB, the pins which are connected to resistors all read the correct resistance) so I uploaded the MIDIO128 application. However even though my button board seems to ground the appropriate DINX pin as expected still I get no reaction to buttons attached to the DINX. I ruled out dead chips by swapping out to 4 new chips but all give the same response - nothing!

Next I found a page on the forum (cant seem to find it at the moment sorry i cant post the link) which mentioned tapping the S1 pin of J9 to ground. The MIDIO128 application does display a change on the LCD to indicate that when I ground the pin briefly something is recognised by the core. Also if I ground the 1st pin of the 74HC165 on the DINX4 then again the display changes..... but the rest of the pins do nothing when grounded.

So currently Im collecting parts to build a logic probe as recommended somewhere on the forum. My problem is that Im not too sure what I use a logic probe to check on my DINX PCB!!! Can anyone give me an idea of what to look for next?

Tonight Im going to breadboard a DINX1 and see if there is any difference but now Im a bit stuck what to do next.....

Anyone got a good idea?

Thanks in advance

Dave mK

ps If anyone is interested I found this link which has helped me understand exactly what shift registers do....

http://homepages.which.net/~paul.hills/Software/ShiftRegister/ShiftRegisterBody.html

shame Im still not clever enough to fix it ;)

Link to comment
Share on other sites

I hope it doesnt seem pretentious to answer my own message (Im quite used to talking to myself!)..

but to confirm I have spent three days now building 2 different button boards, populated another DINX4 PCB from mike, exactly same problem.

Tried breadboarding a DINX1, same problem..

In each case there is no resistance between pins 1 and 2 of the IC socket, the chip is getting power and the pins are being grounded when a button is pressed.

Me I duuno!

Off to bed to read something analogue (with pages and everything...)

D

Link to comment
Share on other sites

Hi,

Voltage should be ok, it's still within specifications..

With a logic probe (that thing is capable recognizing pulse trains, yeah?), you check if shift registers really get control signals needed.. With MB running with some app that scans buttons, you should see pulses on CLK (2) and LD (1) pins on each 74HC165.. And with some inputs grounded (somewhere further away in DIN chain..) pulses should be also seen QH (9)pin ect..

Seeing your post to the other thread - So, button number one operates "all" buttons?

Possible reasons:

RC (LD pin on chips) is permanently pulled low for one reason or another - 1st button state is reflected in QH (serial output) pin forever.

SC (CLK pin on chips) is not working - no clock, core reads 1st button state again and again.

RC signal is "taking a ride" with SC (meaning a short, that you haven't noticed - http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=troubleshooting;action=display;num=1074711664;start=22#22), so in each clock cycle RC goes down, and again only 1st button state is reflected.

Bye, Moebius

p.s. And your resistance measurements include core?

Link to comment
Share on other sites

Hi moebius,

thanks for taking the time to answer, I tried to idiot proof my 1st post so atleast others can learn from my mistakes ;)

So I removed all dinx's from the core J9 connector, I then measured the resistance between each pin, particularly the SC and RC pins. As expected there was no reading which would suggest I have no shorts... no? The only resistance I can read is between the 5v pin and the S1 pin but that is just the 10k R9.

I built a simple logic tester to try and work things out. It seems to work fine (the tester!) so I measured first the SC and RC pins of the core J9 (still no dinx connected) and both light up the diode to say there is a pulse there. What seems a little strange to me is that there is also a pulse on the S1 pin. I followed the schematic and there is the 5v connection to this pin so maybe that is lighting the tester?

Oh and also if its of any help I tried to monitor what the midio128 application transmits when I hook up the DIN and short the only functional pin to try and work out if the core is reading all buttons being pressed (which would suggest a short between SC and RC) but it only transmits one midi event when the button is pressed.

I have treid all of the 74HC165's I have here (9 of them!) but all except one display the same behaviour, so I assume all but the 'dead' one re functional, I will buy new ones to eliminate this tomorrow.

So now Im really stuck. My core seems to be transmitting the SC and RC signals but still no button action for me....

Anyway Im off to make some music rather than trace signals, if anyone has a suggestion what I can do now I would be extra grateful :)

regards

Dave mK

Link to comment
Share on other sites

Hi, ya!

So I removed all dinx's from the core J9 connector, I then measured the resistance between each pin, particularly the SC and RC pins. As expected there was no reading which would suggest I have no shorts... no? The only resistance I can read is between the 5v pin and the S1 pin but that is just the 10k R9.

Yes, it's ok.

I built a simple logic tester to try and work things out. It seems to work fine (the tester!) so I measured first the SC and RC pins of the core J9 (still no dinx connected) and both light up the diode to say there is a pulse there. What seems a little strange to me is that there is also a pulse on the S1 pin. I followed the schematic and there is the 5v connection to this pin so maybe that is lighting the tester?

NOW - Are you sure your logic probe distinguishes and indicates "pulse train" from just "logic high", or +5v.. This is REALLY important! Because SC should be pretty steady pulse, RC pulse (most times high, and pulsed low now and then), and S1 static "logic high", if nothing is connected. (Yup, that R9 pull-up should do it)

Hmm.. and still - only one button "working", and it works right. Beats me.

Hmm. Try grounding shift register "button pins" individually, to see if you can get more activity.. ect. ect.

Bye, Moebius

(just for a note: woah, It seems like RC (LD pin on chips) is permanently pulled high, results no buttons read - (but what is the state of the shift register, when there's no latching done? - Unknown), and after "data" on shift registers is shifted, it will read state of a logic high (pull-up resistor) forever..)

Link to comment
Share on other sites

  • 2 weeks later...

Allo,

so Im starting to go slowly insane from searching for shorts :) To fill you in I built a second DINX4 PCB from mike, exactly the same behaviour :(

However I built a DINX1 on veroboard to try and eliminate things one at a time. Strange thing is that after a bit of scrapping off flux the DINX1 works fine! Which is a start as that eliminates the possibility that the chips were playing up. And obviously this also means that it isnt a short on the core. I am still using the technique of touching a cable between ground and the inputs on the 74HC165 chips to eliminate any problems on my switch boards.

Having gone round in circles for a few days I have just one quick question, the potential problem here is that there must be a short between SC, RC and S1. However my multimeter has a function for measuring continuity (ie it beeps to tell me that there is a connection between X and Y) and I can measure no continuity between the CLK and LD pins on the DINX4's. Am I right in assuming this means there are no shorts?

Only other thing I can measure is that between QH and SER there is 20k resistance. But I assume this is correct because there is R9 on the core which is 10k and then R33 which is also 10k.

So now I really am running out of ideas, anyone?

Oh and moebius thanks a lot for always answering, the logic probe I built was very simple and didnt detect pulse trains, just logic high/low. If I cant sort this out I will build a more complex one. Anyone recommend a suitable logic tester?

Regards all

Dave mK

Link to comment
Share on other sites

Hi,

However I built a DINX1 on veroboard to try and eliminate things one at a time. Strange thing is that after a bit of scrapping off flux the DINX1 works fine!

Great! But scrape ALL that flux away ;)

Shift registers are clocked at pretty high frequency and can be prone to inductive coupling ect. problems..  Seeing no short in pure DC measurement, doesn't mean that signals at high frequencies couldn't have hard time making it. (That invisible short thing)

But, hmm, let's take another view here and blame the power supply, this time. ;D So, stuff your DINX4 with only the first 74HC165, and add a capacitor (ceramic preferred, smallish) soldered directly under PCB between ICs powersupply PINs (8/16). And then try to get reaction from the "button pushes"..

For logic probes:

Not sure if these are suitable, but still pretty simple ones found here: http://www.uoguelph.ca/~antoon/circ/circuits.htm

He, and the PIC based: http://www4.tpg.com.au/users/talking/Logic%20Probe%20with%20Pulser-Intro.html

And there's tons more around the Internet ;)

Bye, Moebius

Link to comment
Share on other sites

Allo,

well after days of scraping flux and building yet another DINX4 and it still not working I rebuilt a very simple logic tester (i will post the link later).

Using this I could really measure what was going from the PIC to the DINX4, and vice versa! What I discovered was that the bottom pin of my PIC was infact not sending out any signal :(

Luckily I had some more PICS :) and with a quick refresher in how to burn the bootloader I just burnt another MBSEQ PIC and it reads 32 buttons ;)))

Phew that was a battle, but well worth it. Off for sleep and looking forward to lots of lights n buttons....

Dave mK

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...