ACA500+ - AUX port CF card initialization problems

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser. Please create an account and log in to see all content by default. This is a limitation of the forum software.


Also users that are not logged in can not create new threads. This is a, unfortunately needed, counter measure against spam. Please create an account and log in to start new threads.

Don't Panic. Please wash hands.
  • Hi,


    I am a new user of ACA500+. I installed it in my Rev 6. Amiga 500, which only has 512KB expansion under trapdoor and no other gizmos. The ACA works correctly after powering up, the boot menu shows up ok, and I was able to install the OS on the CF card in the "boot" slot. Booting off that card also works fine and gets me to Workbench in no time.


    So far so good.


    However, the AUX slot misbehaves. If I insert a card into AUX slot when the OS is already running, the computer hangs up after around 1-2 seconds every time.


    If I power up with both cards inserted, I can see some activity in the boot slot (white LED blinking) and then everything hangs. If I now reset the machine using Ctrl-A-A, I can again see boot slot activity, then AUX also starts doing something, and then the boot continues, getting me to Workbench, where I can access both cards without any problem. If I now remove AUX card and then reinsert it - everything hangs again.


    What I've tried already:


    1. Went through basically all combinations of items in the ACA menu, removing RAM, slowing down the CPU, etc. The only thing that has any impact is disabling the AUX slot, which prevents the lockups, but naturally also makes it impossible to use the card.


    2. Reviewed the last three years of forum messages on the topic. ;)


    3. I tried the pull-up resistor trick, although the POR seems to work well in my Amiga anyway. No change.


    4. Seeing the power supply repeatedly suggested as a source of problems, I tried replacing my original 4.5A brick with multiple other power sources, including two distinct bench power supplies. In the end I wheeled out a 12 A linear power supply to feed the 5 V line - to no avail. I naturally adjusted the voltage levels to provide 5.0x V as measured at the plug (using a meter with valid calibration ;)). No change whatsoever.


    5. Since my initial theory was that the inrush current on CF card insertion is causing voltage droop that leads to lockup, I carefully measured the voltage fluctuations close to card insertion time, with scope probe attached to source of mosfet Q1. There is a brief droop to 4.5 V lasting around 2 us at the moment VCC and GND pins make contact, but it appears to be harmless - I can cause it repeatedly by moving the card slightly and nothing bad happens. However, around 1-2 seconds after I push the card in fully, everything locks up again. There is no substantial voltage drop at that time.


    6. I updated the firmware to the latest version. Did not help either.


    When powering up, the final lines dumped to serial are:


    ACA500plus scsi.device update 2.2 (30.08.2017)

    00FF00FF 00FB592C IDE driver

    00000004 flashunpackreloc

    00000004 00040000

    44415441 00000041 73D7000A

    0004F400

    44415442 00000042 04D70001

    00055700

    44415443 00000043 E41B0002

    0005DB00

    44415444 00000044 FC750003

    00064700

    44415445 00000045 41800004

    FFFFFFFF 00000001 0040C99C 00000000 flashunpackreloc

    0040C99C 00000004 IDE driver

    ACA500plus CF scsi.device 2.2 (15.09.2017)


    which makes me think it could be software problem. But then, with so many other users, certainly someone would see it before me? I tried three different cards from different manufacturers in the AUX slot, so either I am extremally unlucky, or something is wrong with my ACA.


    Is there anything else I can try before sending it back? I can do SMD rework if needed.



    Thanks,

    Milek

  • First of all, I'd like to know what the file system of the AUX card is: FAT or some Amiga OFS/FFS? What size and brand of card?


    Part of our QC procedure is to insert and remove a FAT-formatted card to/from the AUX slot, as this tests the power switch that is software-controllable. Since in your bullet point #5 you're mentioning that voltage never goes below 4.5V, I suspect that you're either measuring at the *input* to the P-channel FET, or that it just shorts out, and the pull-down transistor (which is meant to dischanrge caps inside the CF card) works against that.

  • Hi Jens,


    The cards are formatted as FAT32 with the default allocation unit size. Brands/sizes:


    - Verbatim 16 GB,

    - Transcend 8 GB,

    - Extreme (which I think is a code for "no name") 16 GB.


    I played with it some more and with that last card the behavior on insertion when the OS is already up is actually different. There is no lockup, but rather the white LED turns on and stays turned on. However, the disk icon does not show up and in general the OS appears to be unaware of the card's presence in the slot.


    Re: FET - yes, I was measuring on the "input" pin. Interestingly, even if the AUX slot is deactivated in the ACA menu, there occurs the same voltage droop when a card makes contact with VCC/GND pins. My explanation was that FET is open at all times and you only toggle it back and forth in order to reset the card when needed, but this is just a guess.

  • Again, this sounds like the FET is "always on", which is not the case. The only time I have seen this behaviour is when the supply pins of the AUX slot have made a short. Please take a close look at the pins and check that none of he "longer" pins is bent (CF power pins are "first make, last break" pins to support hot-plugging).

  • For convenience I probed on the collector of Q3, I hope that's ok. On bootup it is at approx. 2.85 V, goes to 0 V when you activate the slot (which coincides with the hang-up). If the slot is turned off in config, the voltage is always at 2.85 V.


    So by the looks of it, the voltage on Q1's gate is too low to keep it turned off and that's why the slot has power even when software thinks it disconnected it. But that also means that electrically, card insertion is harmless, so it's not inrush current that's breaking things.

    As for the reason - it could be that R8's resistance is too small and it's dumping too much current to Q2. Or pull-up R6 is too weak. Or perhaps Q3 or one of its biasing resistors is misbehaving.


    Another side-effect is that when the slot is theoretically inactive, the card is powered, but also the capacitor-draining transistor (Q2) is conducting. That would result in constant 5V/24 mA through the bleeder resistor (R12). Not sure if this disturbance is enough to affect the card's initialization, but it could be harmful to the bleeder - hopefully it is of 125 mW variety or better.


    Another idea - I don't have specs for Q1, but could it be that it is in its linear region with Vgs at -2.15V? Perhaps it isn't giving the card enough current to let it initialize itself correctly (especially considering the 24 mA being constantly bleeded off), the card crashes/locks up and then ACA dies trying to access it? Looks like a stretch, but that's all I have for now. ;)


    It should be relatively easy to add another pull-up to drive Q1's gate higher, but I'm eager to hear your opinion first.

  • or one of its biasing resistors is misbehaving.

    There is no real biasing - it's digital, where you run the discrete parts into full saturation. By the time that Q2 starts discharging the card, all power sources are switched off - including address and data lines (drivers are tri-stated, as many cards are semi-powered through those lines).


    R6: 1k

    R12: 220R

    Q1: IRLML5203

    Q2: BC850C


    In theory, there is a short overlap when Q2 turns on and Q1 turns off. However, that's extremely short and limited by R12.


    It should be relatively easy to add another pull-up to drive Q1's gate higher, but I'm eager to hear your opinion first.

    It just sounds like Q1 got a hit. It should safely switch off with a 1k pull-up.

  • Quote


    In theory, there is a short overlap when Q2 turns on and Q1 turns off. However, that's extremely short and limited by R12.


    Sure, on a properly functioning ACA, but here something's off.


    Thanks for the component IDs, it's helping. What's the resistance of R8, if I may ask?


    Quote

    It just sounds like Q1 got a hit. It should safely switch off with a 1k pull-up.

    But I don't think the Q1's Vgs is normally at -2.15 V when turned off (the spec says Vgs(th) is -1 to -2.5 V). So either something bad happened upstream, or Q1 failed shorted and base of Q2 stabilized at 2.85 V. The latter is made less likely by the fact that the voltage is the same with and without CF card in the slot.


    In any case, LCSC seems to be the only distributor with IRLML5203 available, so it will be a few weeks before I can replace it. I will try some nondestructive experiments in the meantime and report here.

  • What's the resistance of R8, if I may ask?

    It's 4k7 - barely pushing Q2 into saturation.


    So either something bad happened upstream,

    That would be the transistor-inverter that gets it's signal from the 9572 CPLD: R16 (1k) is the base resistor for Q3, which is also a BC850C. The base resistor is controlled by a push-pull pin of the CPLD. Controlling the Q1/Q2 pair directly from the CPLD would have caused too much current leakage from the CPLD, as it's only 5V-tolerant, not a true 5V device.


    the only distributor with IRLML5203 available

    This circuit should work with a jellybean P-channel FET. I only happened to have these in stock from the C64 Reloaded production. With the low current that a CF card needs, there's no real need for the Rdson and current capability that this type provides. In other words: it's overkill, but using the same parts on multiple low-volume production runs lets you buy whole spools of components.

  • And that indeed was the culprit. After replacing R6 with a 1k resistor everything works as expected. The voltage on Q1's gate is 4.16 V while the slot is turned off. Booting is fine, as is hot-swapping.


    Thanks!

  • This is *very* interesting: I can see a "big dismo" on one of your pictures, but I'd like to dig into what could have happened at the assembly place to cause such a swap of components. Can you please share the warranty ID, so I can find out if other cards from the same production run have the same problem?

  • That's sufficient - the code contains the same info (plus a prefix).


    I double-checked all assembly data and found that I was wrong quoting 1k:


    In the 2015 production run, R6 was 10k, which was a bit weak, but sufficient.


    In the 2018 production run, I have lowered the value of R6 to 4k7 to improve the ramp on the FET gate and lower the possible overlap where the bleed resistor also works against a still-conducting FET.


    In the 2021 production run (which your card belongs to), I have kept it at 4k7, as it's a known-good value. The 1k that I have quoted yesterday was mis-reading on my side: I have only looked at the generic symbol, not the assembly data. The resistor symbol that I'm using always shows 1k, unless I specifically change it - which I have done in the "properties" that are read by the pick&place data script, but not in the hide/show tick boxes of the component (I use Altium - just in case you have seen the designator/value/comment/parameter mess that you can create in their schematics).


    I'm also a bit confused about the size you've chosen for R6: That's a 0402 part, not 0603.


    The best explanation for the behaviour that you've observed is component tolerances, possibly really a bad FET. Anyway, good to hear that you've got it to work; I'll make a note in the database that this is a modification we know about, and that it won't affect warranty.

  • Unless you are dealing with a very densely populated area, 0603s will fit easily onto 0402 pads and are far easier to manipulate (at least for me).



    (I replaced R8, too, because I first had to remove it for measurements).

  • I believe I am experiencing the same, or a very similar problem as described by the OP. The AUX slot is causing the same two problems. I don't know if my case deserves a separate thread, so I'll try to describe it here first.


    The only difference from the OP for me is that I also have ACA1234 and for the problem to occur the ACA1234 must be connected to ACA500plus. I also recall that initially I didn't have any problems and this has started occurring after a while.


    My setup:

    1. A500 + the 512K trapdoor expansion + the original 4.5A PSU.
    2. ACA500plus
    3. ACA1234
    4. X-Surf 500
    5. icomp RTC module connected to ACA1234
    6. 4 GB Kingston Boot card connected either to ACA500plus boot slot or to ACA1234 slot (doesn't matter which one)
    7. 1 GB Transcent AUX card with FAT32 filesystem.


    The problem is the same: the computer boots to the starfield menu, I press F1 and then nothing happens, there's only black screen. I need to hit Ctrl-A-A and then the computer boots. If I power the Amiga down and then power it back up immmediately then there's a chance it'll boot fine too. If the Amiga is powered down for a longer while then the reproduction rate is 100%. If the AUX slot is empty during the boot, the boot will occur fine, but then when I insert the card into AUX there's a slim chance that the computer will freeze, as also described by the OP.


    For this problem to occur these conditions must be true:

    1. ACA1234 must be plugged in.
    2. The AUX card must be plugged in, while the boot card is plugged in to either ACA500plus or ACA1234 (doesn't matter which).

    If I either remove ACA1234 or the AUX card, the problem cannot be reproduced anymore. The other hardware doesn't matter either.


    The FW version on ACA500plus is 0.146, HW ID $08. The PCMCIA pins are not bent, indented or detached.


    I'd rather not have to resolder the SMD resistor element myself, and also I can live (and have lived for a while) with this problem because I mainly transfer files over the network now. I'm, however, a bit worried that these symptoms could develop into a more serious failure.

  • What's the warranty ID of your ACA500plus? Alternatively, I can cet the warranty ID from your order ID if that's easier to find. We can check if your card went through the updated QC procedure (yes, it was updated after this thread).

  • Thank you for the reply. I've bought this ACA500plus from https://retroami.com.pl/ and it appears that the warranty period ends next month, wow.


    It was bought on 2021-01-15, serial number ET&Ej / ]173[

  • ET&Ej is a big-DisMo card with 68sec000 CPU; passed our QC on October 28th, 2020 - from our point of view, this card is out of warranty, yes. The reason why I asked for the warranty ID was that I wanted to find out if you have one of the new "chip shortage edition" cards that need extra attention. You don't - this is likely a different problem.


    If you can alter the behaviour by removing certain parts, it might be worth a try using a different power supply. Do you have a friend who owns a CA-PSU? What speed is the ACA1234, and does the behaviour change if you increase/decrease the speed?

  • The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.