Howdy All! The following are my notes and results from testing three different power supplies and ferrite core chokes.
Power Supply and Noise Testing
----------------------------------------------------------------
TLDR: Changing the power supply
resolved the Modulus Operation error (detailed in
"Modulus Madness" post) but
only when there isn't a directly-connected IDE CF Adapter attached (detailed in "
Media Mayhem" post). Simply adding a ferrite choke (wound or snap-on) did not make a difference. Insufficient voltage was ruled out.
==========
PART 1
==========
Initial setup involved a "bench"
power supply like this one (hereafter named P1) set to output 10V DC. This was fed via banana-plug to alligator clip cable to a "breadboard" power supply,
similar to this (hereafter named A1). I had previously verified that A1 was outputting steady, good clean power (see Part 5). A heat sink was added to help steady any temperature issues. This was then connected to a known good miniature breadboard so taps via small jumper wires might then be run to the SBC1 and IDE to CF Card adapters.
(IDE to CF Card adapter S1 (
from previous post) was attached via 20cm ribbon cable, even though this adapter wouldn't be used in this part of the test.)
[P1]---[A1]---[Breadboard]---+--[SBC1]
|
+--[IDE CF S1]
*Note: this was the original setup when testing began on the SBC1 and IDE/CF Adapters, leading to the MOD operator and Media tests.
It was suggested that I add some ferrite ring chokes (c) to the input of the SBC1, so one was added there, as well as one each on the outputs of A1 and P1. See further choke testing in Part 4, below.
[P1]--(c)--[A1]--(c)--[Breadboard]---+--(c)--[SBC1]
|
+--(c)--[IDE CF S1]
Initial testing showed no change or improvement when running the "Modulus Madness" test as errors continued to show with this configuration.
I then removed A1 from the setup, as well as the breadboard, and set up P1 to output 5V DC (see Part 5). The jumper wires were left as they had been, as well as the chokes.
[P1]--(c)-----+--(c)--[SBC1]
|
+--(c)--[IDE CF S1]
Testing showed an exceptional result. The test ran for nearly 24 hours and showed only one error (fairly close to the start, I might have disturbed something as I was leaving the bench) This was the first time my SBC1 had run the "Modulus Madness" test successfully without MOD miscalculations or other issues.
To verify, I switched to a larger bench power supply,
similar to this one (hereafter named L1) (also see Part 5)
[L1]---+--(c)--[SBC1]
|
+--(c)--[IDE CF S1]
A test run of four hours shows similar results to P1 - absolutely zero MOD miscalculations or other issues - more testing was done later (below in Part 3)
I attempted to characterize the DC supplies and noise by measuring the AC offset via my oscilloscope. Attached, in the PSUscope.zip file are the images for those interested. Interestingly, A1 appeared to be the least noisy, with P1 and L1 showing more high frequency noise. This might be a clue: If A1 has lower frequency noise at, or at a harmonic of, 7.3728 MHz, it may interfere with the operation of the SBC1. If P1 and L1 have higher frequency noise, it may not interfere with the SBC1. Interestingly, when I attached the oscilloscope to the SBC1 Z50Bus Connector at Ground and VCC to view any noise at that point, I found no difference between A1 and P1 - the oscilloscope traces were nearly identical. The input choke at the power connection on the SBC1 could be the reason.
Summary: It appears that the system stability has improved with a different power supply than the one initially used. It doesn't appear to be a voltage difference (see Part 5).
==========
PART 2
==========
Moving on to testing the "Media Mayhem" program, MM8.BAS. I knew from
previous testing that the S1 and S2 adapters worked fine. So I installed the direct-connect adapter M1 using on-board power via Pin 20.
[L1]---+--(c)--[SBC1]===[IDE CF M1]
I couldn't even begin the MM8.BAS program without encountering strange nonsensical errors, so I moved on to trying this M1 adapter via external power:
[L1]---+--(c)--[SBC1]=======\
| | <-- 20cm IDE cable
+--(c)--[IDE CF M1]==/
This resulted in a hang after 36 iterations. I decided to back up and try the "Modulus Madness" test instead with this configuration but it resulted in immediate errors.
Conclusion: The stability of the system is compromised with the M1 direct-connection IDE/CF Card adapter.
I then installed the Q1 IDE/CF Card adapter. It is also a direct-connect adapter
[L1]---+--(c)--[SBC1]===[IDE CF Q1]
The first run of MODCHK6 test program resulted in an error right away, but I reset the system and tried again. It soon hung. I then tried the MM8 test program but it hung after 20 iterations.
I then tried wiring the adapter for external power:
[L1]---+--(c)--[SBC1]=======\
| | <-- 20cm IDE cable
+--(c)--[IDE CF Q1]==/
The "Media Mayhem" MM8 program was started and hug after 7 iterations. The "Modulus Mayhem" MODCHK6 program was then initiated after a reset, reported errors early on and was terminated.
Conclusion: The stability of the system is compromised with the Q1 direct-connection IDE/CF Card adapter.
Summary: Direct-connection IDE/CF adapters still are unstable, even when powered from an alternative source and with ferrite chokes. Noise from the adapter itself seems to cause system instability. Additionally, I repeated some of the above tests on directly connected IDE CF Adapters with an improvised "Faraday cage" surrounding the adapter. This experiment was to determine if some shielding would improve the performance of the system. Either the improvised "Faraday cage" was ineffective or badly designed as it had no effect on the outcome; the tests continued to fail.
==========
PART 3
==========
I wanted to be sure that I still had a stable system when configured like this:
[L1]---+--(c)--[SBC1]
|
+--(c)--[IDE CF S1]
So I re-installed the S1 Adapter, and began the MODCHK6 test to run overnight, as I did with the P1 power supply. After running about four hours, errors started to appear, so the test was re-run for another 6.5 hours, no errors. Must have been something overnight that disturbed the system, but I can't figure what it is. There aren't any noise sources that would suddenly appear around midnight.
Later that afternoon I started the test again, configured as below, but this time with wound chokes (see Part 4). The test ran overnight and no errors occurred. It may be that the wound chokes are better than the snap on chokes, however a definitive conclusion can't be drawn from a single test result.
[L1]---+--(c*)--[SBC1]
|
+--(c*)--[IDE CF S1]
Conclusion: Not using the A1 adapter reduced suspected noise and allowed the test to complete successfully. Two power supplies were tested and found to be (mostly) very solid. More testing could be done, but I've got to set an upper limit on how long I can expect a hobby computer kit to run perfectly. Overnight? A Week? I am just not sure.
==========
PART 4
==========
I went back to the original configuration, using A1, but changed how the choke was installed into the SBC1 and IDE CF adapter. I only own "barrel"-type chokes,
as seen here, and have them installed on most things.
Originally the power jumper wires to the SBC1 were simply run through the smallest choke, it is snapped on tightly:
=====(___)=====
For this test, I wrapped the wires in a loop through the choke twice (It was nearly impossible to close the choke, I fear the jumper wires won't be the same):
\\=======\\
======(___)=//======
The setup using the original A1 and P1:
[P1]--(c)--[A1]--(c)--[Breadboard]---+--(c*)--[SBC1]
|
+--(c*)--[IDE CF S1]
[Note: (c) are clamped on chokes, (c*) are wound]
MODCHK6 test program was started at 1420, but errors appeared soon after and the test was stopped.
Conclusion: It seems that this choke configuration isn't effective with this power source as the issue persists.
==========
PART 5
==========
This is testing the hypothesis that voltage, not noise, is the culprit. I measured each of the power supplies at two places. At the power input to the SBC1 and then at the VCC and Gound pins on the Z50Bus connector. The system was powered on and set to run the MODCHK6 test program.
L1 fixed 5V output Max Min Avg
when attached to SBC1: 5.078 5.074 5.077
measured off Z50Bus: 5.042 5.038 5.042
P1 set to 5.09 Max Min Avg
when attached to SBC1 5.046 5.043 5.045
measured off Z50Bus: 5.008 5.004 5.007
A1 fixed 5V output Max Min Avg
when attached to SBC1 5.007 4.997 5.004
measured off Z50Bus: 4.966 4.951 4.962
A1 shows the lowest voltage and the highest drop between input and output. L1 shows the highest voltage and the lowest drop between input and output.
Conclusion: While these results are interesting, they do not account for the failures alone. All of the voltages are well within tolerences for the ICs and do not explain why direct-connect IDE CF adapters fail (even when powered from an external source)
==================================================
If you've made it this far, congratulations! I apologize about the length of the post, but I wanted to be sure that I described exactly my testing and the results. If you have any questions or if you would like to see a different test, please do let me know and I would be happy to try it out. While I was encouraged by the initial result, I am still troubled by the apparent noise from the directly-attached IDE/CF Adapters. In 10 days or so, I will have a cable that will allow me to move these adapters off the board and be connected via a ribbon cable. I might try kludging something together before then. If I do, I will post any results. Cheers and happy hacking!
-Randal (at CubeCentral)