ADC with 68000

Thread Starter

romario

Joined May 18, 2012
13
I am a newbie to microprocessors and I am trying to interface and ADC with the 68000. I have two ADC's TDA8703 and AD754. Which of the is suitable for interfacing to 68000 for measuring DC analogue voltages? Can someone give me a circuit of ADC connected to 68000 PPI 8255? I would also appreciate sample code on how to read the voltage in assembly.
 

MrChips

Joined Oct 2, 2009
29,874
I could not find a listing for AD754. You may be missing an extra digit.

I would have to assume that this is a hypothetical question. Most developers today would not use an MC68000 but a later generation of the chip that already contains peripheral support.

Interfacing a traditional MC68000 to external peripherals is usually a systems architecture exercise or homework. This is usually accomplished with an MC6822, the Motorola equivalent of the Intel 8255.

Basically, ADC interfacing comes in two styles:

  • Parallel
  • Serial
Many MCUs today have built-in ADC and hence one would choose such an integrated system rather than build your own external peripheral interface.
 

Thread Starter

romario

Joined May 18, 2012
13
Actually we have a 68000 trainer that we would like to interface with an ADC (all old chips). Since I have multiple inputs I'm using the 4051 analog multiplexer. I would be grateful if someone could guide me on the connections (CS, WR etc)
 

MrChips

Joined Oct 2, 2009
29,874
Is this a homework exercise or an actual project?
If you are planning to build this, why do you want to use an MC68000?
 

GetDeviceInfo

Joined Jun 7, 2009
2,180
one of the first things you'll need to do is to place the device within a memory block. Where will your 'trainer' allow you to place it, and does it provide a hard decode to that block?
 

Thread Starter

romario

Joined May 18, 2012
13
The trainer has an 8255 programmable peripheral interrupt. I intend to connect the data lines of the ADC to one of the ports. What do you mean by placing the device i the memory block and does it provide a hard decode to that block?
And another confusing issue is that the ADC has no chip select, EOC and SOC its really a queer one.
 

GetDeviceInfo

Joined Jun 7, 2009
2,180
unusual that you'd have an 8255 in a 68000 system. However, since you say you do, it will already be mapped to memory. Your project is going to be somewhat time consuming, considering your requesting a schematic along with code for an unknown operating system. I suggest you do a lot of reading on your target devices, then ask more specific questions once you've hatched a plan.
 

Thread Starter

romario

Joined May 18, 2012
13
I forsee some difficulties with this project. Anyway my problem with ADCs are solved after I came across ZN448 ADCs. My question is how will I connect the two ADCs to the 8255 in this situation where each ADC requires 11 lines, total 22. Besides I have to connect a DAC (DAC0800 for sound out) and an LCD to display a message?
 

MrChips

Joined Oct 2, 2009
29,874
Good question. You have to learn how microprocessor bus systems work.
You never did answer why you want to use an MC68000.
What language, IDE, platform are you using for software development?
 

Thread Starter

romario

Joined May 18, 2012
13
The reason why I am using the 68000 is because it was the only option available among the microprocessors. My choice was a microcontroller but someone suggested a 16-bit microprocessor and now I am stuck with it. The language is C though the trainer has assembler. I have to look for software to translate C to assembler. I think it will be easier with C. here is the link to trainer http://www.anshumantech.net/pcat-docs/XPO_KIT.pdf There is another 50 pin expansion slot. Any ideas on how to connect my peripherals?
 

MrChips

Joined Oct 2, 2009
29,874
I still do not understand what you are saying.

Why was it the only option available?
Is this a school/college/university project assignment?

The MC68000 is over 30 years old and has been replaced with newer 16-bit and 32-bit MCUs that have all peripherals built-in.

You do not look for a C to assembler software. It will find you.
Once you choose a MCU the software IDE (Integrated Development Environment) will become evident.

I think you are going about this incorrectly and you are attempting a project that will not get off the ground.
 

absf

Joined Dec 29, 2010
1,968
I forsee some difficulties with this project. Anyway my problem with ADCs are solved after I came across ZN448 ADCs. My question is how will I connect the two ADCs to the 8255 in this situation where each ADC requires 11 lines, total 22. Besides I have to connect a DAC (DAC0800 for sound out) and an LCD to display a message?
From the 2 page manual, it seems that there are 2x 8255 totaling 48 port pins. Was there a 40-pin socket which is not populated for you to add another PPI?

If there is insufficient I/O port, you can also add the ports yourself using 74HC240/241 as input port, 74HC373 latch as output port and 74HC245 as bi-directional buffers.

Only thing I dont understand is.....since 68000 has 16 bit data bus, how to connect 8-bit peripherals to the data bus? I understand there was an 8 bit data bus version called 68008 which is easier to interface, isn't it?

Allen
 

Thread Starter

romario

Joined May 18, 2012
13
The trainer has to 8255 chips and does not have a spare socket for expansion. You are right there are 48 pins but I read somewhere that the 68000 write to the two 8255 at the same time. This means that data will be duplicated on the two chips which is contrary to what the project is supposed to do. Besides I have two LCDs and two AD557 Digital to analog converters to connect. In total I need 22 pins for the ADC, 22 for DAC, and 28 for the LDCs.
 

absf

Joined Dec 29, 2010
1,968
The trainer has to 8255 chips and does not have a spare socket for expansion. You are right there are 48 pins but I read somewhere that the 68000 write to the two 8255 at the same time. This means that data will be duplicated on the two chips which is contrary to what the project is supposed to do. Besides I have two LCDs and two AD557 Digital to analog converters to connect. In total I need 22 pins for the ADC, 22 for DAC, and 28 for the LDCs.
No, the data is not duplicated on the 8255 but shared by the 8255 data lines as D0-D7 goes to one 8255 and D8-D15 goes to another 8255. same should be going to the AD557 as well. Take a look at the SBC68K design at the link below and try to get the schematics to see how it works. A lot of good info is there....:cool:

http://www.kmitl.ac.th/~kswichit/68k/68k.html

Allen
 

BillO

Joined Nov 24, 2008
999
Wow, a 68K, eh?

Back in the day, the 68000 was a bit of a miracle device. Not the easiest thing to interface with 8 bit devices like the 8255 though and, as alluring as I still find 'word oriented' microprocessors, there are only a few of us crusty ol' curmudgeons that still understand these things. More power to you, but I think it will take considerable research on your part to be able to even pose questions we can deal with.

There is support here, but most have moved on to newer solutions.

I think we'd need a bit more information on the design of the experimenter to get a concept of I/O timing. Do you have a schematic? Also, depending on the performance you need from your ADC, passing it through a PIA like the 8255 (a fairly slow device) might be counter productive. It may be best to interface the ADC directly to the 68000 bus. Is the whole 68K bus available?
 

takao21203

Joined Apr 28, 2012
3,702
This could accomodate 20 ADCs + graphics LCD if you wanted to.

If you don't have the original manual + software unfortunately it is e-waste.

You might get some simple things running using reverse engineering, but that would take longer than to design a new 68K board.

More technically, let say slow ADC is not critical, you can use memory mapping for that. Graphics LCD you could control with a PIC, and use memory mapped interface as well to send just the A/D data.

Back then interrupts and special bus for pheripherals were used, but not needed at all for slow A/D. You can even sacrifice some of the address range, and do away with any kind of extra decoding chips for memory mapped access.

But you need at least a rough understanding how this board is using the control signals. Or maybe check with logic analyzer if you have one. From the schematics alone this would take far too long to make sense. You need the software that came with the board originally, if possible as source code.
 

BillO

Joined Nov 24, 2008
999
When I look at that interface circuitry, I get the impression this was designed for specific experiments around a fixed curriculum training course of some kind.

That said, yes, I think it will handle 2 ADCs, 2 DACs and 2LCDs at audio frequencies in it's sleep. You may need to do more study of the precise circuitry there and get a little creative, but even the first 68000 could pop along at 8 MHz, and with a 32 bit data bus and instructions, could deal with quite a bit. Simplicity is not an icon of that time, but word oriented processors can get a lot of stuff done quickly. It will just take a lot of work and knowledge of practices that are not used much these days in the MCU realm.

I once built a application that latched redundant address space as output data while simultaneously reading IO devices to accomplish both input and output in the same instruction cycle. Suppose we break up the address space of the 6800 so that the the 7 MSBs addressed 16 bit 'volumes' (3rd order) and the middle 8 bits selected 'pages' (2nd order) and the 8 LSB as words (1st order). Now, devote one 262144 byte 'volume' to I/O. So, the 2nd order 8 bits of address were the output data given the correct 'volume' selected by the 8 MSBs. While at the same time the data bus held the input data from the IO device addressed by that address. The associated input latches had redundant address locations through the 8 2nd order bits. So did memory. This allowed for huge efficiencies in code design too.

It will take some time for you to learn how the 68K works, but if you want to put in the effort, it will do what you want.
 

Thread Starter

romario

Joined May 18, 2012
13
This is where I am. I have got two more 8255 chips. How do I connect them to the 68000? There is a 50 pin bus extension socket is it possible I can connect the two 8255 chips to it?
 
Thread starter Similar threads Forum Replies Date
H Programming & Languages 2
J Programming & Languages 0
Top