Author Topic: Farnell A64-5TB PSU  (Read 1957 times)

0 Members and 1 Guest are viewing this topic.

Offline ESTechnicalTopic starter

  • Contributor
  • Posts: 37
  • Country: 00
    • ESTechnical - Reflow ovens and controllers
Farnell A64-5TB PSU
« on: November 22, 2021, 11:50:43 am »
Hi everyone...

I am trying to use a Farnell A64-5TB PSU which is currently not responding to any GPIB commands and I wondered if anyone else has one and would be willing to dump the ROM for me, please?

It seems to be powering up ok and the resonator for the Z80 is running. Dumping the ROM myself seems to yield corrupt looking data. There are incomplete looking strings like "EXECUT" and "VOLTAG", which may or may not be a bad sign for my ROM. It doesn't even respond to *IDN? command. I imported the ROM dump into ghidra and got a lot of errors from it, so it doesn't look like I got a good read of the ROM, or the ROM is corrupted.

I also can't find a manual for this PSU or anything even remotely similar and would love to have a copy if someone has it available.

Many thanks,
Ed
 

Offline ESTechnicalTopic starter

  • Contributor
  • Posts: 37
  • Country: 00
    • ESTechnical - Reflow ovens and controllers
Re: Farnell A64-5TB PSU
« Reply #1 on: November 23, 2021, 10:09:28 am »
I have contacted farnell support and requested the manual - I will share it here if they are able to find anything useful. :)
 

Offline ESTechnicalTopic starter

  • Contributor
  • Posts: 37
  • Country: 00
    • ESTechnical - Reflow ovens and controllers
Re: Farnell A64-5TB PSU
« Reply #2 on: December 10, 2021, 08:38:30 am »
Farnell eventually replied to tell me they (and their manufacturers) have no information about my A64-5TB PSU.

I will revert to trying to find a ROM from somewhere to restore this PSU and have some chance of reverse engineering the commands used to control it, and perhaps some kind person will one day find me a manual! :)
 

Offline Nick Norton

  • Newbie
  • Posts: 8
  • Country: gb
Re: Farnell A64-5TB PSU
« Reply #3 on: December 29, 2021, 12:59:50 am »
I am sorry for posing a reply that does not provide a direct answer to your question.
I do not have a copy of the ROM for the A64-5TB.
I hate it when a forum post. Provides a no answer to an obvious question. Sorry people, sorry....
That's why I made my own controller. I don't have the original GPIB card in mine at all.
I don't suspect your ROM is corrupt or broken. I read you have dumped the ROM.
But what are the chances "EXECUT" and "VOLTAG" would both have the E missing?
I think what you have is OK, but maybe we need to fiddle with the GPIB commands a bit.
I'm sure I have a schematic for the Controller card if you need it?
You might ask what is your controller? Yes, Yes, I'm working on it.
You should recognise the chassis as being from the A64-5TB
It's only a hobby project. Been tinkering with it for years.
 
The following users thanked this post: ESTechnical

Offline ESTechnicalTopic starter

  • Contributor
  • Posts: 37
  • Country: 00
    • ESTechnical - Reflow ovens and controllers
Re: Farnell A64-5TB PSU
« Reply #4 on: December 29, 2021, 10:12:18 am »
I don't know whether I trust my initial assessment that the rom is bad. Maybe someone with more ghidra skills than me can take a look. I don't trust that the rom is good because ghidra won't decompile anything cleanly.
When I imported the rom dump into ghidra, many points in the listing show "Error [Bad instruction]" and then refer to an address that is not in the dumped rom in the FFxx range. This seems odd to me, but maybe I haven't understood something about the design/processor/something else.

Here's an example of the decompiler output - this sort of mess is pretty typical of the output generated by ghidra throughout.
Code: [Select]
/* WARNING: Control flow encountered bad instruction data */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void RST1(byte param_1)

{
  byte bVar1;
  byte in_F;
 
  if ((in_F >> 6 & 1) == 0) {
    return;
  }
  bVar1 = in_F & 1;
  if (bVar1 != 0) {
                    /* WARNING: Bad instruction - Truncating control flow here */
    halt_baddata();
  }
  if (bVar1 != 0) {
    return;
  }
  if (bVar1 == 0) {
    _DAT_ram_2280 = 8;
    *(bool *)(ushort)param_1 = bVar1 != 0;
                    /* WARNING: Bad instruction - Truncating control flow here */
    halt_baddata();
  }
                    /* WARNING: Bad instruction - Truncating control flow here */
  halt_baddata();
}

The processor is Zilog Z84C0006VEC Z80.

The ROM dump is attached in case someone cares to take a look.

 

Offline ESTechnicalTopic starter

  • Contributor
  • Posts: 37
  • Country: 00
    • ESTechnical - Reflow ovens and controllers
Re: Farnell A64-5TB PSU
« Reply #5 on: December 29, 2021, 10:57:08 am »
Quote
I'm sure I have a schematic for the Controller card if you need it?

Yes, please, that would maybe help! I have no manual, schematics, or anything else related to this PSU... Thanks very much.
 

Offline Andy Watson

  • Super Contributor
  • ***
  • Posts: 2130
Re: Farnell A64-5TB PSU
« Reply #6 on: December 29, 2021, 01:10:25 pm »
Farnell may not be the OEM - they rebadged much of their product range. Have you tried searching for the same unit under a different brand? (e.g. Advance, Hi-Tek, Wayne Kerr, etc.)
The labelling of the panel has a hint of Wayne Kerr about it!

I have an AP7030 - I have documented some of my reverse-engineering here:
https://www.eevblog.com/forum/repair/ap-series-power-supply-(ap60-50)-(wayne-kerr-farnell-hitek-aps)/msg1733669/#msg1733669

A quick scan of your ROM dump suggests that it is written in FORTH. The end of a string in FORTH is often indicated by setting the MSBit of the last character. You need to truncate the bytes to 7-bits if you want to search for strings.

Try poking the unit with "ID?" (rather than *IDN?). You should be able to provoke a response - even if it's only an error message.
 
The following users thanked this post: ESTechnical

Offline ESTechnicalTopic starter

  • Contributor
  • Posts: 37
  • Country: 00
    • ESTechnical - Reflow ovens and controllers
Re: Farnell A64-5TB PSU
« Reply #7 on: December 29, 2021, 01:36:59 pm »
Quote
You need to truncate the bytes to 7-bits if you want to search for strings.

That would explain a lot about strings being a character short, eg "EXECUT" and my confusion with decompiling it!

Thanks for the info, I'll get the GPIB board out and have a go with some of those commands. Really helpful, cheers!
 

Offline ESTechnicalTopic starter

  • Contributor
  • Posts: 37
  • Country: 00
    • ESTechnical - Reflow ovens and controllers
Re: Farnell A64-5TB PSU
« Reply #8 on: December 29, 2021, 03:38:58 pm »
I've just written a script in GNU octave to prod all possible gpib addresses and ask "ID?" and "*IDN?" etc and had no response at all. No address responds to either of the ID commands, and trying the same script with some of the other plausible looking commands also generates no response.

From what I can see on my PCB, there's no way to read back the voltage apart from the cached value the processor knows about, no feedback of the current draw either, as data flows only outwards from the digital board to the  DACs that control two identical PSU boards, so this board differs a bit from the AP7030 et al. That said, it does have huge similarities with Andy's schematics. Since this is a dual output PSU, I expect that I also need to say commands like "set voltage, channel 1, 5.0V" (pseudo command) rather than "set voltage 5.0V".

Poking around the GPIB interface ICs it appears there's life but there's no changes to be seen on bit 8 of the data bus. Seems fishy.

I also tried to open the dumped firmware from Andy's thread and see very similar results in Ghidra to what I was seeing with my own rom dump. Definitely a different firmware, but very similar levels of confusion here ;) I can't seem to find a way to correctly unmangle forth strings. I probably need to ask elsewhere for this! At least now I think I do have a valid ROM still...

 

Offline Nick Norton

  • Newbie
  • Posts: 8
  • Country: gb
Re: Farnell A64-5TB PSU
« Reply #9 on: December 29, 2021, 11:26:54 pm »
A well fingered and scribbled upon Issue P1 schematic for the A Series IEEE Interface.
Quite where the ROM is hiding, unless it's in the Microprocessor for my schematic?
« Last Edit: December 29, 2021, 11:34:52 pm by Nick Norton »
 
The following users thanked this post: ESTechnical

Offline Nick Norton

  • Newbie
  • Posts: 8
  • Country: gb
Re: Farnell A64-5TB PSU
« Reply #10 on: December 29, 2021, 11:59:22 pm »
there's no way to read back the voltage apart from the cached value the processor knows about, no feedback of the current draw either,
You are correct regarding the lack of feedback.
You can tap a current sense off Pin 6 of U1 CA3140.
I have modded my PSU's to present that voltage to pin 6 of S3 (The 12 pin connector) for ADC Sampling.
This style of PSU was also used in the Farnell LS30-10
 

Offline ESTechnicalTopic starter

  • Contributor
  • Posts: 37
  • Country: 00
    • ESTechnical - Reflow ovens and controllers
Re: Farnell A64-5TB PSU
« Reply #11 on: December 30, 2021, 10:37:47 am »
Quite where the ROM is hiding, unless it's in the Microprocessor for my schematic?

The microprocessor is a weird little 64 pin module with a UV erasable ROM and some io logic, as well as the z80. This looks like it matches my PCB well, thank you for sharing this.

When I get time I'll see if I can decipher why the GPIB interface seems so completely dead.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf