Announcement

Collapse
No announcement yet.

Reading Serial Midi data with an oscilloscope

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Reading Serial Midi data with an oscilloscope

    Hey all, I have one last thing I'm looking to fix with my Synthaxe. This time, the schematics I have are actually the same as the PCBs I have.

    The Synthaxe, works as its a guitar midi controller hooked up to a floor pedal. Thats the most basic way of using it, and it has a midi output. You also can connect a console to it, that stores your tunings and other things. The console has 8 midi outs, as well as a midi in and midi thru.

    When I first got the unit, I thought I was using it wrong, but it turns out its just broken. The 8 midi ports on the console don't output any data, but the midi port on the footpedal DOES. The console also works fully as Ive tested everything on it. If I remember correctly, when I tested the broken ports to
    a real keyboard, I could remotely change patch banks on the keyboard from the console, but it wouldn't produce any midi data.

    So here are the schematics, one is for the console, the other is for the floor unit, but you can see where the working midi output is located. Ive also connected the continuity to everything as well as the resistance.

    I believe the fault is between IC12 (63B50) and the midi outputs. I believe IC14 (74HC574) only turns what output you want on (you can sent the console to have any combination of outputs on). IC12 also has all the data coming into it properly and most of the connections are bussed to IC10 and 11, which work. I replaced IC8 because it looked like the UARTC line wasn't working, but that didn't fix the issue.

    My problem is, I'm not sure how to test if the Tx line of IC12 (Pin 6) is outputting data? Because if it is, the issue could be IC32/IC28 or maybe IC13. To a smaller degree, MAYBE IC27/IC15 but it would be very suspicious if they both were bad.

    Again, midi DOES work, as it can output to the footswitch, it just doesn't output from the 8 ports.

    Thanks again for all the help!
    Attached Files

    #2
    Re: Reading Serial Midi data with an oscilloscope

    ic14 selects which ports will be driven,
    data comes from ic12, goes through a switch (ic32) and is then buffered by ic28.
    the switch is controlled by ic13 and appears to be to create a loopback between ic12 and ic10 - maybe for a diagnostic check.

    what test gear do you have?

    Comment


      #3
      Re: Reading Serial Midi data with an oscilloscope

      Originally posted by stj View Post
      ic14 selects which ports will be driven,
      data comes from ic12, goes through a switch (ic32) and is then buffered by ic28.
      the switch is controlled by ic13 and appears to be to create a loopback between ic12 and ic10 - maybe for a diagnostic check.

      what test gear do you have?
      Just an simple oscilloscope and a DMM. I tried looking for videos about reading midi data online, but the only thing I could find was someone using a working DIN Midi cable, into an Arduino. Im unsure how to read that kind of serial data directly from the Tx line itself.

      Comment


        #4
        Re: Reading Serial Midi data with an oscilloscope

        scope pin6 of ic12 - 1v per division.

        Comment


          #5
          Re: Reading Serial Midi data with an oscilloscope

          Originally posted by stj View Post
          scope pin6 of ic12 - 1v per division.
          Ill try that again. I tried scoping the working midi port as a reference to see what a working signal would look like and wasn't getting anything. I think i was at 2V. I tried all the different time divisions as well and couldn't see any data, even trying to trigger it. But more importantly, what you're saying is you don't really need any other equipment since I'm not trying to decode it?

          Comment


            #6
            Re: Reading Serial Midi data with an oscilloscope

            your just trying to see a squarewave from the chip - it's 5v so 1v per division is good.
            if your probe is x10 make sure the scope knows that or set the input to 100mv per division if it's ancient.

            test the scope settings by looking at pin11 - that should have a signal or your cpu is dead!
            Last edited by stj; 07-06-2023, 10:34 AM.

            Comment


              #7
              Re: Reading Serial Midi data with an oscilloscope

              Originally posted by stj View Post
              your just trying to see a squarewave from the chip - it's 5v so 1v per division is good.
              if your probe is x10 make sure the scope knows that or set the input to 100mv per division if it's ancient.

              test the scope settings by looking at pin11 - that should have a signal or your cpu is dead!
              Ok I can do that. I can't remember if I tested pin 11, as its bussed to IC 10 and IC 11 as well and figured if those 2 work, it should be an issue with IC 12.

              FWIW, I tried testing the output on the midi port that worked on the footswitch. I put the scope inside the MIDI Din, and was able to read 5V on the one pin, but nothing on the other, but I knew that worked and was output MIDI data from the controller. So I thought perhaps I just couldn't read the data with what I have.

              First, I might re-trace what that working midi port is connected to, and see if I can scope that directly to make sure I'm making a strong connection, and if I actually am seeing data. I went in thinking that same thing, its just gonna peak 5V up and down, that SHOULD be readable, unless its so fast my scope cant see it. The baud rate for Midi is 31,250.

              Comment


                #8
                Re: Reading Serial Midi data with an oscilloscope

                I wanted to chime in with this. To double check, I traced on the footcontroller, the signal path for the working midi, so I could probe it easier and test what correct data would look like on the scope. I didn't get anything. 5V was tied to the correct pin, but when I tried the Tx data pin for the midi, I didn't get anything. Tried multiple voltages and even the fastest/slowest second readings I could and didn't see anything. Again, I KNOW that midi port works. So, there must be something that reads that kind of midi serial data properly. It could be that the data moves so fast the scope can't read it.

                Comment


                  #9
                  Re: Reading Serial Midi data with an oscilloscope

                  what scope is it?
                  you cant just look at the connectors, MIDI is using a 5v line for common and the signal just goes to ground.
                  you have to look at the inputs to the buffer chips - or add a 10k resistor between the midi signal pin and midi common to create an alternating signal

                  Comment


                    #10
                    Re: Reading Serial Midi data with an oscilloscope

                    Originally posted by stj View Post
                    what scope is it?
                    you cant just look at the connectors, MIDI is using a 5v line for common and the signal just goes to ground.
                    you have to look at the inputs to the buffer chips - or add a 10k resistor between the midi signal pin and midi common to create an alternating signal
                    Ah ok, did not know that. I have one of those handheld scopes, the FNIRSI-1C15. Last night when I was probing, I can't remember exactly what I was probing, but it was either Pin 11/13 on the 74C906, or Pin 4 of the 220 Resistor array. Ill take another look.

                    Comment


                      #11
                      Re: Reading Serial Midi data with an oscilloscope

                      Success! You were right about not only probing the input of the buffers, but also using the 10x. I tested the working MIDI, and got Midi data from pin 10 and 12 of the 74C906.

                      Now, moving on to the actual problem, the console. IC 12, 63B50.

                      The results are, I got signals from everything (well except the RxD pin cuz nothing was connected to it). But I got working signals for the TCK/RCK/E/RW/CS (when midi data was present)/IRQ (also when midi data was present) and all the data lines. The ONLY pin, I could not get data from, was the Tx line Pin 6. Now knowing how to read the serial data properly, and all the other inputs/outputs working, I'm supposing this chip is bad and should be replaced?

                      Comment


                        #12
                        Re: Reading Serial Midi data with an oscilloscope

                        i would lift pin6 and check it again, or swap it with ic11 and then check pin6 on both.
                        reason: it could be the input pin on ic32 shorted to 5v or ground.

                        inputs are protected from static internally with diodes, if one fails the input gets shorted to a power rail.

                        Comment


                          #13
                          Re: Reading Serial Midi data with an oscilloscope

                          Originally posted by stj View Post
                          i would lift pin6 and check it again, or swap it with ic11 and then check pin6 on both.
                          reason: it could be the input pin on ic32 shorted to 5v or ground.

                          inputs are protected from static internally with diodes, if one fails the input gets shorted to a power rail.
                          Thanks. Will check that at some point. One quick question though. Would it be a little easier or less destructive to just replace the IC32 4016 first?

                          Comment


                            #14
                            Re: Reading Serial Midi data with an oscilloscope

                            you could just desolder ic32 and then re-check pin6 of ic12

                            i presume from your words you dont have professional desoldering gear.
                            i can pull a 40 pin chip in about a minute and leave it and the board clean

                            Comment


                              #15
                              Re: Reading Serial Midi data with an oscilloscope

                              Originally posted by stj View Post
                              you could just desolder ic32 and then re-check pin6 of ic12

                              i presume from your words you dont have professional desoldering gear.
                              i can pull a 40 pin chip in about a minute and leave it and the board clean
                              I used to have a good desoldering gun when I was making NES games, and desoldering chips was a breeze! For some reason, with this PCB, it seems much more fragile. I already had lifted a trace even though I was STUPIDLY careful on IC 14, but it was an easy fix because of that Data bus, so I just jumped it to another pin. I ended up getting another desoldering gun/pump that seems to work pretty well. I'm just trying to be as careful as I can. I did just buy another console and step pedal as a backup, but I don't know if those are broken too.

                              Comment


                                #16
                                Re: Reading Serial Midi data with an oscilloscope

                                Update. Removed the 4016 (IC32), and still no data from IC12 pin 6.

                                I actually took the chip out easily and lifted a part of the trace, but I put in a socket, and checked it for continuity and it was still connected. Its like these pcb traces are more fragile than the NES PCBs.

                                Comment


                                  #17
                                  Re: Reading Serial Midi data with an oscilloscope

                                  i have seen people desolder the pins and then use hot air from the top before pulling the chip - never tried it myself

                                  Comment


                                    #18
                                    Re: Reading Serial Midi data with an oscilloscope

                                    Originally posted by stj View Post
                                    i have seen people desolder the pins and then use hot air from the top before pulling the chip - never tried it myself
                                    Doesn't sound like a bad idea if you have a hot air gun. Anyway, I'm gonna order a 63B50P from China since no one else has em. Hope that does the trick.

                                    Comment


                                      #19
                                      Re: Reading Serial Midi data with an oscilloscope

                                      Originally posted by stj View Post
                                      you could just desolder ic32 and then re-check pin6 of ic12

                                      i presume from your words you dont have professional desoldering gear.
                                      i can pull a 40 pin chip in about a minute and leave it and the board clean
                                      After a couple of weeks, I finally got a 63B50P chip. Put it in and still nothing haha. So it isn't the chip, but to be fair, I just tested output. I didn't read the Tx pin with the scope, but none of the other ports worked so I don't think it could be anything else after that. So it may be something feeding into
                                      the IC12, I just can't think what else.

                                      Comment


                                        #20
                                        Re: Reading Serial Midi data with an oscilloscope

                                        or the new chip is bad.

                                        Comment

                                        Working...
                                        X