Debugging Guide

Steve Holton, N1NB


Having trouble getting your DSPx card working with your Micro909 AF-908?  Well, here are some debugging tips from Steve Holton, N1NB, who is the guy who wrote the DSP Audio Filter control program for the Micro908.

Question #1:

"I have loaded the latest AA-AF program, but can't get the DSP section Working. When the AF-908 displays "Sel. DSP Action", I select 'Run' and then select 'Select DSP pgm' in order to select the programs I had previously loaded using DSPterm. But the Micro908 display hangs when displaying 'Loading DSP with Pgm => dsp908'. What am I doing wrong???"

Well, the fact that you were able to first load the DSP908 program from the PC almost certainly confirms that the DSP program reached the Micro908 and made it successfully into the SEEPROM memory chip.

However the fact that the AF-908 program hung showing "Loading DSP with Pgm => dsp908" suggests that the communication between the DSP daughtercard and the HC908 is not working. The voltage checks that you say were all okay (see other question in this Debug section) would seem to contradict that, but I would suggest that you try the following tests.

First, be sure you've implemented the modification to the Micro908 pc board, as described and illustrated in Appendix A on page 24 of the AF-908 User Manual.  This mod fixes the handshaking between the HC908 card and the DSPx card.

I would next suggest you further test the connection between the HC908 and the DSPx with the following procedure using the AF908 software:

A. Start the Micro908 with AF908 with TerraTerm/Hyperterminal/etc or DSPterm running on the PC so you can see any serial terminal messages.

B. On the Micro908 when you see the initial Sel. DSP Action / Run  - select the menu option Exit (2nd CW option) - select this option by pushing the dial pushbutton - then you'll see AF908 /Select Function on the LCD.

C. Push Pushbutton 5 - then you'll see Sel. Direct Mode / Direct w/Reset

D  Select   Direct w/Reset  by pushing the dial pushbutton....
    You  should see on the serial terminal on the PC 8 lines of:
             !!!  KK7P DSP Module Version 1.0 Rev C.1 !!!
This is the reset initialization banner from the DSPx on-board monitor. This is independent of any loading of a DSP program and is using only a 10 instruction loop in AF908. If you don't see this it would indicate that there is no communication from the DSPx. via U6 to the HC908 or that the reset path is not working to the DSPx. You can look at the Reset path by monitoring the Voltage at P2-30.  Up until Step D above it should be 3.3V. When pushing the dial PB in step D it will drop momentarily toward 0V (your meter may not be quick enough to see it - I can see it on my Fluke83), but it will definitely rise to 5V and stay there until you push the dial PB again which will cause it to return to 3.3V. If it doesn't do this then the reset path is the problem otherwise the U6 path is the problem.

E. If you succeed in step 4 and see the "banner" you have verified that the reset path and the path via U6 are working. Now type something on the serial terminal - what you type should be echoed. For example if you type the letter 'p' you should see: "you type:p" on the serial terminal. If not then the path D11 is the problem.

The DSPx has a resident monitor program that runs when the DSPx is reset. This is independent of any DSP program being loaded from the Micro908. In fact, the Monitor is what communicates with AF908 to load the DSP programs. The DSPx and HC908 communicate with three signal lines. J9-20 - Reset is active low. When pulled low it causes a reset of the DSP and the resident monitor outputs the "banner" message on it's serial lines (J9-10 & J9-11/12) to the HC908 and AF908 which passes them to the serial lines going to the PC. The monitor is then looking for "commands". If you type something and it isn't a valid command it will echo what you typed with the following message: "you type:X" where X is the character you typed. what you typed. Anything you type will not be valid.

If you don't see this behavior that says that there is almost certainly a problem with the DSP daughtercard or more likely the PC board modifications which are essential for the HC908 to communicate to the DSP daughtercard.

I really have had fun with this project.  It is true rubust in its design.  I reinstalled the U6 that you sent to me earlier and I decided to review the suggested archieves on its preformance.  I believe it is working ok, but I seem to have a lower voltage at P2-30 when the DSP is installed.  I register 2.659 VDC.  Without the DSP, P2-30 is at 0.171 VDC.  U6 pins 1 and 5 register 5 VDC and the others read zero.  The 2.659 VDC is lower than the expected 5 VDC.  Is this a problem and if so what would you suggest?"

In net - it's a problem.  The voltage at P2-30 which should be the output of U-6 pin 4 (it wouldn't hurt to double check that U6-4 is directly connected to P2-30) should be either 5V or 0V. It shouldn't be at any intermediate value. Having said that, your reading of 0.171 VDC without the DSPx is within the U6 spec. for being Low (ie 0V), but the 2.659 VDC is not within the U6 spec. for Hi which should be at least 4V or the HC908 spec. where it's 3.5V.  So your 2.659 VDC shouldn't work - did you actually try to run AF908?? I don't think it'll work but....

U6 is acting as a level convertor and it's possible outputs should be +5V when pin 2 is +3.3V which should be the case with the DSPx installed. With the DSPx removed and hence U6-2 is at 0V the output at pin 4 should be 0V. So, unfortunately it would seem that something is wrong with U6 or it's installation. Make sure with a magnifier that there is really a solid solder joint between the pads and the pins on U6 and the jumper and U6-2.

You might, if you haven't already checked these resistances: The resistances from J9-10 to ground and +5V they should be both "open" if not then the problem is more likely the modification at U6 than U6 itself. Other resistances:  J9-11/12 to Gnd 9.7K to +5V 10.7K approx.

With the DSPx removed, you can try and short U6-2 to U6-1 and look at U6-4 - it should be greater than 4V. Shorting U6-2 to U6-3 then U6-4 should be less than 0.36V. for U6 to be OK.

Back to the Micro908 Kit page


Page last updated:  May 28, 2005