EASy68K  
It is currently Wed Nov 22, 2017 11:01 am

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Mon Jan 30, 2017 12:49 am 
Offline

Joined: Fri Dec 23, 2016 5:18 pm
Posts: 56
Location: New Mexico, USA
This is more projects than I should be taking on, but I've always wanted to revisit the MC68020 processor. I designed with the 68020 when it first came out in mid 80's and I always remembered that experience fondly. Since performance is no longer relevant in today's gigahertz CPU, I'm aiming for a simple design for the hobbyists that's simple to build and easy to debug & modify.

Motorola has published an apnote, AN1015, describing a minimum 68020 system. Looking at it with today's components, it had more parts & greater complex than is really necessary. I would rather do without PLD or CPLD--it tends to muddle up the design concept, and a through-hole design is easier to build, study and revise. The first iteration is just the CPU, flash, RAM, DUART and few TTL logic, about $30 of parts plus a prototype board. The basic design has room for a floating point coprocessor, two more memories or I/O which can be added later.

68020 instruction set is a superset of the 68000 instructions, so EASy68K tool chain is more than adequate to build a working system. The coprocessor instructions, when I get there, can be dealt using macros. My goal is to make a simple 68020 SBC that uses EASy68K trap services.


Attachments:
Tiny020_scm_rev01.jpg
Tiny020_scm_rev01.jpg [ 361.53 KiB | Viewed 2070 times ]
Top
 Profile  
 
PostPosted: Thu Feb 02, 2017 2:12 pm 
Offline

Joined: Fri Dec 23, 2016 5:18 pm
Posts: 56
Location: New Mexico, USA
Handwired the schematic into a prototype board and this is what it looks like.
I'm confident about the 68020 and RAM chips so they are soldered directly to the board. I'm not quite sure about the 68681, the legs were all bent, so I socketed it. I'm also worried about 74LS138 not being fast enough to decode addresses for zero-wait state access, so they are socketed to be replaced with 74FCT138, if necessary. The flash is in a ZIF socket for ease of reprogramming.
Attachment:
File comment: Tiny020, component side
DSC_21720202.jpg
DSC_21720202.jpg [ 809.5 KiB | Viewed 2050 times ]

Attachment:
DSC_21750202_F.jpg
DSC_21750202_F.jpg [ 647.94 KiB | Viewed 2050 times ]


Since I've already developed a monitor/debugger for the Tiny302, the 68020 should be able to execute them with a minimal modification, I programmed that into flash and power up. That works, I have a working monitor/debugger to work with. The design works, and I have a whole list of to-do's for the Tiny020. I do need visual indicator to help me with debugging and code development.


Top
 Profile  
 
PostPosted: Tue Feb 07, 2017 2:40 pm 
Offline

Joined: Fri Dec 23, 2016 5:18 pm
Posts: 56
Location: New Mexico, USA
Added a pair of 7-segment displays to help me with debugging of software. The display is compatible with EASy68K hardware display trap 15/task 32, except there are only 2 displays instead of 8. Also implemented the ability to program the flash in-situ, so now I can reprogram the boot flash without removing it. I'm not putting away the flash programmer yet, just in case the newly programmed boot have fatal bugs and won't even boot.
Tutor v1.3 will now run on Tiny020 using the existing trap service routines. Only a few modifications are needed: org the program to RAM base address ($100000 in this case); copy the trap #15 entry point from boot flash to RAM ($BC to $1000BC); and change vector base register to $100000. Tutor code is relocatable and with 68020's relocatable vector base register, it can be relocated and run anywhere. Very cool.
I think the next step is to revive my pc board layout tools so I can put this design in pc boards. I want to add the floating point coprocessor and include EASy68k hardware display as a permanent features of Tiny020, and it is too much work to hand-wire them. I also want to bring up a MC68040 design and there is no such thing as a 'tiny' version when it comes to the 68040, so a pc board capability is needed.


Attachments:
File comment: Tiny020 with 7-segment displays
DSC_21910207.jpg
DSC_21910207.jpg [ 770.88 KiB | Viewed 2037 times ]
Top
 Profile  
 
PostPosted: Tue Feb 07, 2017 5:18 pm 
Offline
User avatar

Joined: Thu Dec 16, 2004 6:42 pm
Posts: 1049
Very cool.

_________________
Prof. Kelly


Top
 Profile  
 
PostPosted: Thu Mar 02, 2017 3:33 pm 
Offline

Joined: Fri Dec 23, 2016 5:18 pm
Posts: 56
Location: New Mexico, USA
I revived my 17-year old pc board tools from IVEX which can only run on Windows Millennium Edition and layout the Tiny020. Along the way I found out the pc board manufacturers have dramatically increased their capabilities and reduced the cost, especially the pcb houses from China. A 2-layer 100mmx100mm board is $1/ea at quantity of 10 that includes silkscreen and solder mask (DHL shipping is $20, however). The minimum design rule at that price is 12 mil drill, 6 mil trace, 4 mil annular ring, amazing! 100mmx100mm (or 3.9" square) is large enough for Tiny020 & more, so of course I added more features :wink: --a 68881 floating point coprocessor, a flash programmer that doubles as expansion connector, and the ability to boot from the flash programmer or the original boot flash. Except the FET transistors, everything is through-hole components. Use Seeed Studio for this board, their English interface is easy to use and they even have a on-line gerber viewer to examine the board I uploaded, very nice. Send out the board design on 2/20, they shipped the board out 2/27 via DHL and receive the board back last night, 3/1. Quite a fast turn around, but I did paid $20 for DHL shipping. This is one of the 10 boards I received. Beautifully made, accurate registration of drill/pad/solder mask. I'll soon know whether I can still design pc board or not.

The 10-of-100x100mm-for-$10 is a paradigm-shift for me. With pc boards or a mixture of handwiring+pcboard capabilities I can tackle more complex designs in surface mount technology from now on.


Attachments:
File comment: Tiny020 pc board, solder side
DSC_22060302.jpg
DSC_22060302.jpg [ 459.74 KiB | Viewed 1959 times ]
File comment: Tiny020 pc board, component side
DSC_22050302.jpg
DSC_22050302.jpg [ 495.39 KiB | Viewed 1959 times ]
Top
 Profile  
 
PostPosted: Fri Mar 03, 2017 4:21 pm 
Offline

Joined: Fri Dec 23, 2016 5:18 pm
Posts: 56
Location: New Mexico, USA
It is alive!
I made a mistake with the design but fortunately it can be corrected easily and there are minor issues with the placement of components. I've not populated the floating point coprocessor nor the auxiliary flash programmer, but the core CPU/RAM/Flash/DUART are working. All in all, I'm pretty pleased with the design and even more impressed with the pc board fabrication now I've assembled a couple boards. Still can't get over the fact that 10x 3.9"x3.9" 2-layer boards can be made for $10. The designs that can be done in that format boggle the mind.


Attachments:
File comment: It is alive!
DSC_22090302.jpg
DSC_22090302.jpg [ 343.85 KiB | Viewed 1955 times ]
Top
 Profile  
 
PostPosted: Tue Mar 07, 2017 2:21 pm 
Offline

Joined: Fri Dec 23, 2016 5:18 pm
Posts: 56
Location: New Mexico, USA
Here is the fully populated board. I can communicate with the floating point co-processor and do math. I need to develop a better diagnostic to check out the floating point functions.
The zero-insertion-socket is a programmer for flash and PROM. I only have algorithm for 28F0x0 and 290x0 right now. The memory map of the programmer can be swapped with that of the boot flash by rotating the two jumpers at the lower center 90 degree. This feature allows me to boot out of the programmer and update the boot flash software without removing the boot flash.
There are a few more pins around the programmer to make up a 40-pin expansion header for a mezzanine board. So additional functions like graphic, ethernet, and IDE interface can be added.
The current draw at idle is about 370mA @ 16MHz clock. What's cool (pun intented :) ) about 68020 is that it doesn't require active cooling. Life is not so nice with the 68040 but I'd love to do it in this 100mm x 100mm format.
I'm quite pleased with how well my old pcb layout tool works and how well (and cheap!) boards can be manufactured. I just sent out two more designs, a pc board version of the Tiny302, and a 68030 design with a SIMM72 DRAM for memory. This is just way too cool not to play with it over and over again!


Attachments:
File comment: Fully populated Tiny020
DSC_22100307.jpg
DSC_22100307.jpg [ 316.99 KiB | Viewed 1889 times ]
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group