32MHz for STEs without CPU socket

Blogs & guides and tales of woo by forum members.
User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

32MHz for STEs without CPU socket

Post by IngoQ » Sun Nov 12, 2017 5:02 pm

Introduction

As some may know, there is at least one STE Board revision where the PLCC-CPU is not in a socket, but is soldered directly onto the board, which looks like this:
cpu_no_socket.jpg
cpu_no_socket.jpg (239.87 KiB) Viewed 1025 times
I found out about this when I checked whether I could integrate the STE-Booster in my system. If you look at it, you will see that it requires you to remove your CPU and uses the through holes to be mounted instead of the original CPU. This of course is not possible with my STE revision, since there are no holes, only SMT pads.

We had a lot of ideas regarding this (see this thread: viewtopic.php?f=24&t=68). My first try was a PLCC plug together with an adapter PCB, which failed miserably (see here: viewtopic.php?f=23&t=288). Turned out, that the clock-signal is quite sensible, and that the PCC-plug and my board simply pushed the STE over the edge.

Exxos suggested instead of trying to make the STE Booster fit, I should try to hack it into the board. For this to work, the CPU needs to be isolated from its clock line, to provide it with the new clock line, that is controlled by the booster board. The booster itself needs the following signals to work:
And of course it will need VCC and GND.

So what follows now is a description of what I did to get this to work. If you want to do the same, be warned: This isn't an easy mod! You will have to remove the CPU, solder in a PLCC socket, bend up CPU pins that are likely to break, etc. If you make mistakes, you can damage your board, your booster and any parts involved. I for example confused VCC and GND, which blew my CPU AND the GAL on the booster PCB. So be warned!

Update: I found out you don't have to bend up CPU pins, there is in fact a visible trace you can cut. See my update here: viewtopic.php?f=18&t=358&start=10#p2348

Tools I used:
  • Soldering station
  • De-soldering station, a vacuum pump and good desolder wick
  • Temperature controlled hot air station
  • Oscilloscope
  • Multimeter
Components I used:
  • Exxos STE-Booster OR Exxos 1.5 Booster (both work, choose one)
  • Exxos Fast TOS ROM (alread installed and working)
  • A PLCC68 Socket for SMT mount
  • wire (I used colour coded, to not get confused)
  • leaded solder tin
  • flux
  • Isopropanol
  • Hot glue
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Sun Nov 12, 2017 5:31 pm

Removing the CPU

My fist step was removing the CPU and replacing it with a PLCC socket. This was a lot easier, than I thought, I have to admit...

I used my hot-air at 450°C for maybe 10 sec. It came with a little wire tool, that you can push under the socket. The weight of the handle then lifts up the socket, once it comes loose.
20171006_155055_HDR-1280x720.jpg
20171006_155055_HDR-1280x720.jpg (244.5 KiB) Viewed 1022 times
After that I cleand the pads with solder wick. When doing this I found out that some pads are not connected to actual traces, and if you are not carefull you can push these away. So if you do this, be carefull and only pull the wick lengthwise over the pad, never across.
20171006_155508_HDR-1280x720.jpg
20171006_155508_HDR-1280x720.jpg (266.2 KiB) Viewed 1022 times
After this I'll needed my PLCC68 SMT socket, I used PRECI-DIP ones. I wasn't sure of exactly how to approach this, so I watched a couple of youtube videos. Especially this one was very helpful:



And a couple of practice runs on some old boards helped as well ;)

I started by clipping off the bottom of the socket, to easier get to the leads:
20171006_155632_HDR-1280x720.jpg
20171006_155632_HDR-1280x720.jpg (191.94 KiB) Viewed 1022 times
Then I placed it onto the board, applied lots of flux, adjusted it and soldered in two pins across of each other. Then I checked the position again (last chance to adjust) and soldered in the rest of the pins.

This was the result:
20171006_160712_HDR-1280x720.jpg
20171006_160712_HDR-1280x720.jpg (271.55 KiB) Viewed 1022 times
And finally I plugged the original CPU back in there and tested, if the machine still runs, which it did, thankfully.
20171006_160929_HDR-1280x720.jpg
20171006_160929_HDR-1280x720.jpg (228.93 KiB) Viewed 1022 times
With this out of the way: On to the next step :)
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Sun Nov 12, 2017 5:57 pm

The Resistor Packs

When Exxos created the STE booster, he found out that the current pull up resistors for data and address bus on the STE board are rated too high for 32MHz operation. At 4.7k and 10k they need to much time to pull up the bus signals to a stable level. So the STE booster board uses its own resistor packs which are rated at 2.2K.

Since I did not intend to connect the booster PCB to the address and data bus, I needed to swap the resistor packs on the STE PCB itself. In addition the smaller 1.5 booster did not have these resistor packs, and I wanted to be able to uses that as well.

So I desoldered the current resistor packs and replaced them with the 2.2k resistor packs from the STE booster Kit. If you need to buy them, you will need 5 pcs of bussed resistor networks with 8 resistors and 9 pins, rated at 2.2k. The resistor in need of replacing are P101-P105:
resistors.jpg
resistors.jpg (154.63 KiB) Viewed 1019 times
After this modification I tested the machine as well, and discovered, that I i had damaged some of the soldering pads when removing the old resistor packs. I had to repair these with wires, so be careful when you do it!
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Mon Nov 13, 2017 1:02 pm

CPU clock

This was the part, I was most scared off: Isolating the CPU clock. Why? Because you have to bend up a pin on the CPU which has some probability of breaking. It needs to be isolated from the original 8 MHz CPU-clock the board provides. Both of these (referred to as CPU_CLK for the pin at the CPU and CLK8 for the pin at the socket, which has the 8 MHz on it) have to go to the booster. In addition, the booster needs a 32MHz clock (referred to as CLK32). If I understood it correctly, the booster will then switch either CLK32 or CLK8 to the CPU_CLK, depending on whether there is bus activity or not.

I am really not comfortable with bending CPU pins, especiall when they are as wimpy as these. This is why I first tried cutting what I believed to be the clock trace to the CPU. It turned out, it was in fact not what I thought, and the actual trace with CLK8 seems not to be visible. Maybe on a hidden layer? So I had no other chance.

Update: I found out you don't have to bend up CPU pins, there is in fact a visible trace you can cut. See my update here: viewtopic.php?f=18&t=358&start=10#p2348

If you consult the CPU pinout, you will find the pin in question here is pin 15:
CPU.png
CPU.png (12.86 KiB) Viewed 1004 times
At least I had a broken CPU and a spare socket at hand, so I could test bending it. This is how it looks like:
20171112_154146_HDR-1280x720.jpg
20171112_154146_HDR-1280x720.jpg (21.17 KiB) Viewed 1004 times
20171112_154206_HDR-1280x720.jpg
20171112_154206_HDR-1280x720.jpg (44.48 KiB) Viewed 1004 times
20171112_154319_HDR-1280x720.jpg
20171112_154319_HDR-1280x720.jpg (27.07 KiB) Viewed 1004 times
The I took a deep breath and did the same to the working CPU and the socket on the board. Here is the result:
20171112_155240_HDR-1280x720.jpg
20171112_155240_HDR-1280x720.jpg (228.35 KiB) Viewed 1004 times
As you can see, I did not bend the pins too far, and I used some hot glue as strain relief.
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Mon Nov 13, 2017 1:49 pm

Collecting the signals

Now I needed to make the following connections :
Exxos said, the signals could come from pretty much anywhere on the board, so I took my multimeter and followed traces. Conveniently I found nearly all of them at or next to P100, one of the pull-up resistors (red on my board). I decided to solder on a color coded flat cable at the bottom of the STE, since it seemed easier to solder. The image is taken with the lower border of the pcb heading down, so the flat cable is heading upwards.
This is how it looks like:
p100.jpg
p100.jpg (155.88 KiB) Viewed 997 times
I put a strip of gaffer tape over the solder joints and the flat cable, and then bend the flat cable around it, so it went downwards again to the PCB edge. This is meant as a strain relief.

Now, only two things remain: The RESET and the 32MHz clock. The last one is easy, as it is documented in the STE boosters installation instructions: It is pin 4 of U405:
u405.jpg
u405.jpg (160.33 KiB) Viewed 997 times
Notice, that I routed the cable straight down and not above or within the RAM modules to prevent interference.

And the last one: The RESET line. I am not entirely sure, whether this is needed, but I connected it anyway and later I can experiment with it. I found it at U203, pin 21:
Update: Can be tied to VCC, Signal not needed (see here: viewtopic.php?f=18&t=358&p=2539#p2539)
u203.jpg
u203.jpg (145.29 KiB) Viewed 997 times
The last step was to solder on jumper headers on every line, since I wanted to do some experiments with different boosters. It just makes it easier to swap these around. And I sincerely hoped, that these would not affect signal quality:
20171112_155753_HDR-1280x720.jpg
20171112_155753_HDR-1280x720.jpg (143 KiB) Viewed 992 times
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Mon Nov 13, 2017 2:02 pm

Preparing the STE booster

Since I would only use the logic of the STE booster, completing it was quite simple: I just had to solder in the GAL-IC.

I wanted to be able to connect this to my STE without having to solder it in, so I decided to put male pin headers where I needed signals. I checked the pinout (see post above) and this is the result:
20171112_154519_HDR-1280x720.jpg
20171112_154519_HDR-1280x720.jpg (90.21 KiB) Viewed 991 times
As you can see, on the right CPU footstamp - the one which is intended to go to the board - I input all the signals needed for the booster to work, including the 8MHz CLK8. The resulting CPU_CLK is at the left CPU footstamp, and of course CLK32, CE and SW are where they always were ;)
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Mon Nov 13, 2017 2:54 pm

Preparing the STFM V1.5 BOOSTER

Since I wanted to know, whether this booster would work in the STE, I modified one as well. Exxos wrote, that these should work stable, but the only way to be sure is by testing it :)

If you get one of these, the look like this:

Image
Image

I only needed the PCB, so I removed the CPU, headers and cable. In addition I soldered on 90° header pins, which gave me this:
20171112_155014_HDR-1280x720.jpg
20171112_155014_HDR-1280x720.jpg (41.69 KiB) Viewed 986 times
20171112_155034_HDR-1280x720.jpg
20171112_155034_HDR-1280x720.jpg (49.38 KiB) Viewed 986 times
I have to say, I really like this form factor. Small, handy and efficient...

When looking closer at the signals, I noticed some differences between this and the STE booster:
  • this one has a signal named "DTA", which is not present on the STE booster. I hoped, it wouldn't be needed ;)
  • there is a input named "S39", where the higher clock should be connected. So in my case CLK32
  • and finally there is a signal "HLT", and again I hoped, it wouldn't be needed ;)
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Mon Nov 13, 2017 2:58 pm

The TOS-Switcher

Again an easy one: Installed it as the manual said, worked as expected:
20171112_155416_HDR-1280x720.jpg
20171112_155416_HDR-1280x720.jpg (198.31 KiB) Viewed 983 times
And of course to not forget the CE line for the booster... again some hot glue as strain relief.
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Mon Nov 13, 2017 3:09 pm

Testing the STE Booster

And now the moment of truth: Will it all work?

First of all connecting the booster to the STE... the insulating notepad is also my cheat sheet ;)
20171112_160410_HDR-1280x720.jpg
20171112_160410_HDR-1280x720.jpg (231.51 KiB) Viewed 979 times
Alsmost forgot to mention: The switch for 8/32 MHz operation... on jumper headers as well :)
20171112_160349_HDR-1280x720.jpg
20171112_160349_HDR-1280x720.jpg (166.45 KiB) Viewed 979 times
Checking... rechecking ... re-re-checking... getting some coffee... re-re-re-checking ...

... and then ... finally:
20171112_161131_HDR-1280x720-rotated.jpg
20171112_161131_HDR-1280x720-rotated.jpg (163.8 KiB) Viewed 979 times
IT'S ALIIIVE (mad laughter) ... ahem :)

I left GB6 running in a loop for about 30 cycles, and I believe it is safe to say, that this is stable, just as it should be.

Sidenote: If you zoom in on the display, the results shown there are in relation the the same machine before the modification. So they show the real gain.
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

User avatar
IngoQ
Site Admin
Site Admin
Posts: 651
Joined: Tue Aug 22, 2017 8:38 am
Location: Germany

Re: 32MHz for STEs without CPU socket

Post by IngoQ » Mon Nov 13, 2017 3:17 pm

Testing the 1.5 STFM Booster

And now to my hidden favorite: the 1.5 STFM Booster. After all I had heard, it should work...

Okay, so first connecting the wires:
20171112_161611_HDR-1280x720.jpg
20171112_161611_HDR-1280x720.jpg (186.7 KiB) Viewed 978 times
And my trusted notepad again as insulation...

And you know the drill... checking, biting fingernails, drinking a sip of cold coffee, checking again and finally:
20171112_162050_HDR-1280x720-rotated.jpg
20171112_162050_HDR-1280x720-rotated.jpg (172.47 KiB) Viewed 948 times
Oh yes! It works as well! :cheer: :yay: :excited:

This time I let GB6 run for about 120 cycles, and it never crashed. Looks perfectly stable to me :) Performance measurements are exactly identical between the two boosters.
Ingo :geek:

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint-Exupéry

Post Reply