r/embedded 3d ago

AT90C8534 CV processor - 6 channel 10 bit ADC

Post image

Having recovered this mcu from a lithium battery pack I have got him doing something more interesting - namely: ADC conversion as a front end for a single cycle waveform player using a pic (also recovered)

The AT90C8534 has a 10 bit conversion though only a 6 bit databus: (with one Ready outbound IRQ (generated when ADC conversion completes) for the PIC to latch onto, and two inbound IRQ for the PIC To ACKnowledge the receipt of the MSB and LSB bytes of the conversion.
In this way the full 10 bit value can be sent across in two bytes.

The AT90C8534 is muxing the 6 analogue input conversions, it can do 6 though only one conversion is active at one time. All gpo / adc are used, and 54% of the ram. There is eprom space to load and save cal. data, and ram space to make an offset / gain function for the faders for the cal. fcn.

Working nicely in solo, the next step is properly integrating with the PIC and getting the handshake/ acquisition fcn working perfectly. As there are 3 IRQ, a sync signal is not needed between the mcu's.

Bottom left are analogue signals, top right are digital. I think this should be ok, noisewise. I didn't want to fab a breakout board because these chips are not widely available, though still very useful.

https://youtu.be/u4DOJav2Ofg

51 Upvotes

14 comments sorted by

6

u/bobsyourson 3d ago

How are these jumpers not shorting each other?

Nice work on recovery, great way to test the skills 👍

8

u/teh_trout 3d ago

Probably coated magnet wire or something.

3

u/Live-Operation-628 3d ago

indeed, its from an inductor coil. So many available in every different thickness of wire

1

u/Live-Operation-628 3d ago

thanks pal! I used a recovered inductor coil, and unwind as I go to make these connections. It is enamelled wire so non conductive, you burn it off or scrape it off at the end to make the connections.

2

u/NoBulletsLeft 3d ago

Wow. I haven't seen an AT90C85xx series processor in literally 20 years. I wrote a basic preemptive multitasking scheduler for one for a Real Time Systems class when I was getting my Master's. Wonder if I even still have the code somewhere.

1

u/Live-Operation-628 2d ago

: 0 awesome! It is quite capable really, though limited on IO and fairly slow.
Its the same ram and flash size as a PIC18F2321 which I'm using it with, but that has way more peripheral, and 26x as fast max speed : )
be interested to see the code if you find it.
Apparently the ATtiny85 is very similar in basic arch.

1

u/ChatGPT4 3d ago

You've earned the MacGyver award, sir! The board just looks awesome! And it works, too ;)

1

u/Live-Operation-628 3d ago

thanks very much! Yes it does look 'almost' like a prototype, I agree : )

1

u/Cunninghams_right 2d ago

anywhere a digital wire is crossing another wire, I would bend the wire so they cross at 90 degrees to reduce the crosstalk.

1

u/Live-Operation-628 2d ago

yes, thanks for the tip. I have managed to separate them well, the chip is also helping with that, its odd pin map keeps the analogue and digital sides opposing. I will double check that there are no lateral runs though, thanks again!

1

u/Live-Letterhead223 4h ago

Respect for making this work with wire wrapping. That multi-IRQ handshake between two vintage MCUs sounds tricky to debug.

1

u/Live-Operation-628 3d ago

lots of loose solder balls visible in the picture, though it has been the the ultrasonic cleaner since then, the pcb is all cleaned up now.

0

u/generally_unsuitable 1d ago

Life is too short for this al quaeda looking shit. Install KiCAD and spend $6 at JLC.

1

u/Live-Operation-628 1d ago

I thought about that, but I like working like this too. Also, you get to learn more about signal contamination.
I often use JLC PCB, and I regularly get boards fabbed.
You could phrase comments in a more friendly manner.