6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Tue Apr 23, 2024 6:15 pm

All times are UTC




Post new topic Reply to topic  [ 544 posts ]  Go to page Previous  1 ... 10, 11, 12, 13, 14, 15, 16 ... 37  Next
Author Message
 Post subject: Re: POC Version 2
PostPosted: Mon Mar 24, 2014 12:38 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1924
Location: Sacramento, CA, USA
You seem to have quite a penchant for sockets oriented on the board at integer multiples of 90° ...
have you considered the possibility of other angles, like 45°?

Enso's Chochi is an example of what I'm suggesting.

Mike


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Mon Mar 24, 2014 12:54 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8426
Location: Southern California
There are a few situations where 45° makes it easier to route an IC with lots of pins; but usually it just takes more space that way. My own CAD will only do multiples of 90°. What I have done, on very few occasions, is to make a separate component like a thru-hole resistor or diode in 45°. I do not limit my trace angles though. They can be anything, not just multiples of 45°.

BDD, some of your vias appear to be too close to other traces, like near the middle of U4. Do they actually meet your design rules?

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Mon Mar 24, 2014 1:15 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8140
Location: Midwestern USA
barrym95838 wrote:
You seem to have quite a penchant for sockets oriented on the board at integer multiples of 90° ...
have you considered the possibility of other angles, like 45°?

I actually did a layout with the CPLD (ATF1504AS) mounted that way. The problem was that now the effective north-south footprint of that device was much larger, and that impinged on space needed to route traces in the vicinity of the SRAM. It just didn't fly. In this application I haven't seen where 45 degree placement is of value. I will look at doing so with the CPLD in POC V3, as that device will be a PLCC84 package.

GARTHWILSON wrote:
BDD, some of your vias appear to be too close to other traces, like near the middle of U4. Do they actually meet your design rules?

Yes they do. The via diameter is 0.026 inches, I'm using 0.006 inch wide traces and the layout is on a 0.025 inch grid. Therefore, the clearance between the via in question and the nearest trace is .025 - (.026 / 2 + .006 / 2), which is 0.009 inches. EPCB requires that a minimum of 0.007 inches clearance be maintained between traces and other objects, so that location meets that rule with 0.002 inches to spare. When I transfer the layout to an image file the via always seem to look bigger than they actually are.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 27, 2014 9:31 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8140
Location: Midwestern USA
I've tinkered some more with POC V2's design and think I've got it to the point where it can be built. Pages one through five of the schematic are attached to this message, with page six of the schematic and the PCB layout attached to the next message. The next message will have some explanatory comments.

Attachment:
File comment: POC V2 Page 1: Machine Architecture
poc_v2_p1.gif
poc_v2_p1.gif [ 65.62 KiB | Viewed 747 times ]

Attachment:
File comment: POC V2 Page 2: Memory Map
poc_v2_p2.gif
poc_v2_p2.gif [ 130.14 KiB | Viewed 747 times ]

Attachment:
File comment: POC V2 Page 3: I/O Map
poc_v2_p3.gif
poc_v2_p3.gif [ 75.71 KiB | Viewed 747 times ]

Attachment:
File comment: POC V2 Page 4: MPU Interface
poc_v2_p4.gif
poc_v2_p4.gif [ 138.58 KiB | Viewed 747 times ]

Attachment:
File comment: POC V2 Page 5: RAM, ROM & I/O
poc_v2_p5.gif
poc_v2_p5.gif [ 140.18 KiB | Viewed 747 times ]

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 27, 2014 10:05 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8140
Location: Midwestern USA
Here's page six of the schematic, and the PCB layout:

Attachment:
File comment: POC V2 Page 6: External Interface
poc_v2_p6.gif
poc_v2_p6.gif [ 151.45 KiB | Viewed 744 times ]

Attachment:
File comment: POC V2 Printed Circuit Board
poc_v2_pcb.gif
poc_v2_pcb.gif [ 108.41 KiB | Viewed 744 times ]

Just to recapitulate, POC V2's principal differences compared to POC V1 are:

  • 512KB of RAM, all of it potentially addressable.

  • Atmel ATF1504AS CPLD for glue logic.

  • Four high speed TIA-232 ports.

  • Support for 20 MHz operation.

There are some changes from the previous design I posted:

  • I decided to use a MAX-248 transceiver instead of a pair of MAX-238s. Although a single MAX-248 is more costly than two MAX-238s, its overall footprint is smaller and it requires only one set of charge pump capacitors to power all four serial channels. Also, the MAX-248 is in a PLCC-44 package, which relieves me of the chore of soldering 48 pins on two SOIC packages.

  • I relocated the EPROM (U4) to make it possible to use a ZIF socket. POC V1.1's ROM socket has taken quite a beating with constant ROM replacement as I tinker with the firmware code. As POC V2's firmware will be more complicated, I expect that I will be popping ROMs in and out of that socket quite often. This change required enlargement of the PCB from 19.5 square inches to 21 square inches, which is the maximum size allowed with ExpressPCB's Proto-Pro service.

  • I added circuitry to make it possible to connect either a dumb serial terminal or a SECONS µVGA terminal device to the console port (port A). The µVGA is a TTL device, so there are two jumper blocks in the circuit (JP3 and JP4) to configure the console port to operate at either TIA-232 or TTL signal levels. When configured for TTL, the DTR signal becomes Vcc to power the µVGA device.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Wed Aug 06, 2014 4:09 pm 
Offline
User avatar

Joined: Mon May 12, 2014 6:18 pm
Posts: 365
BigDumbDinosaur wrote:
As POC V2's firmware will be more complicated, I expect that I will be popping ROMs in and out of that socket quite often.
Just out of curiosity, does anything exist that plugs into the ROM socket and connects to a PC over USB so that it can quickly be reprogrammed without removing it?


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Wed Aug 06, 2014 5:11 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8140
Location: Midwestern USA
Druzyek wrote:
BigDumbDinosaur wrote:
As POC V2's firmware will be more complicated, I expect that I will be popping ROMs in and out of that socket quite often.
Just out of curiosity, does anything exist that plugs into the ROM socket and connects to a PC over USB so that it can quickly be reprogrammed without removing it?

There does, but such devices are expensive. That's why I rearranged the board to make room for a ZIF socket.

Much of POC V2's firmware will be copied from POC V1's, as the I/O hardware will mostly be the same. So I don't expect a huge development curve. However, I am planning on integrating an "HMU" (hardware management unit) into the CPLD, so some supporting code will be required over and above the BIOS and interrupt handlers. I'll work on the HMU after I get past the initial hurdle of making the unit work.

I should note that I can send S-records to POC via TIA-232 from my UNIX box, so I can test code before burning it into the ROM.
—————————————————————————————————————————————————————————————
EDIT: Evidently, as reported below, EPROM emulators do exist that can be driven from USB. Learn something new every day.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Last edited by BigDumbDinosaur on Thu Aug 07, 2014 1:47 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Thu Aug 07, 2014 8:04 am 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
Druzyek wrote:
Just out of curiosity, does anything exist that plugs into the ROM socket and connects to a PC over USB so that it can quickly be reprogrammed without removing it?


Yes. USB connected EPROM emulators exist.

https://www.eetools.com/index.cfm/product/314/eprom-emulator.cfm
http://www.batronix.com/shop/epromemulator/emulator.html

But are a little pricey

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Thu Aug 07, 2014 1:43 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8140
Location: Midwestern USA
BitWise wrote:
Druzyek wrote:
Just out of curiosity, does anything exist that plugs into the ROM socket and connects to a PC over USB so that it can quickly be reprogrammed without removing it?

Yes. USB connected EPROM emulators exist.

https://www.eetools.com/index.cfm/product/314/eprom-emulator.cfm
http://www.batronix.com/shop/epromemulator/emulator.html

But are a little pricey

A *little* pricey? :lol: I think I'll stick with real EPROMs for now.

BTW, I didn't know such devices were available.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Mon Aug 11, 2014 9:30 am 
Offline

Joined: Mon Aug 05, 2013 10:43 pm
Posts: 258
Location: Southampton, UK
BigDumbDinosaur wrote:
.... That's why I rearranged the board to make room for a ZIF socket.


I'm curious why you can't send the whole image over the UART?

My 6809 is updated using the following workflow:

:arrow: Change code
:arrow: "make"
:arrow: Hit reset button on SBC, or enter "q" command at monitor prompt
:arrow: "make upload"
:arrow: 6809 resets into new monitor

"make upload" is a program I wrote for my dev system which sends the image, a 64byte EEPROM page at a time, to the SBC. The SBC in turn is running code which:

:arrow: Copies the entire EEPROM 16KByte image into RAM
:arrow: A jump point into the relocated flash routine is calculated
:arrow: Flash routine is entered. At this point nothing is reading the EEPROM which would very much cause problems
:arrow: 64byte pages are received and written into EEPROM
:arrow: Between each page the necessary timing constraints are honoured using a trivial delay loop
:arrow: After each page a "#" is sent back on the serial port when the delay has completed, so the sender knows to send the next page
:arrow: At the end of the write operation, the entire new content of EEPROM is echoed back so the sender can check the content
:arrow: Nothing can be done if the transfer failed. It very rarely does, and when it does I pry out the IC and program it using my AVR programmer
:arrow: In any case, the new reset vector is jumped through

My processing is not perfect. With bank switching, I could write the new image to a bank and check it there, before writing it to the EEPROM. Or I could use retry logic to resend the 64byte pages. But hey ho. I'm very pleased with this and it took minimal effort.

BTW, I'm using Atmlel 28C256 EEPROMs.

So is there any reason why your SBC couldn't implement something like this, and save you from using the ZIF socket? The big advantage of EEPROMs vs other ROMs is they can be programmed with ordinary voltages which means they have the potential to be in-situ reprogrammed.

_________________
8 bit fun and games: https://www.aslak.net/


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Wed Aug 13, 2014 5:37 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8140
Location: Midwestern USA
Aslak3 wrote:
I'm curious why you can't send the whole image over the UART?

The code that handles the S-record input is part of the ROM.

Quote:
The big advantage of EEPROMs vs other ROMs is they can be programmed with ordinary voltages which means they have the potential to be in-situ reprogrammed.

The big disadvantage of EEPROMs is that they are slow. The ROMs I use (AMD) are 55ns parts.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Thu Aug 14, 2014 1:05 pm 
Offline
User avatar

Joined: Sun Oct 13, 2013 2:58 pm
Posts: 485
Location: Switzerland
Quote:
The code that handles the S-record input is part of the ROM.

Obviously, but who said you must execute it from ROM? Just copy the download routine to RAM and execute it from there. Also when having a self-updating system, you always inlcude a "save boot" section into the ROM that normally is not update (unless your S-record input routine is not working). And todays ROM are large enough, so you can afford to have more than one jumper selectable region.


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Thu Aug 14, 2014 4:43 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8140
Location: Midwestern USA
cbscpe wrote:
Quote:
The code that handles the S-record input is part of the ROM.

Obviously, but who said you must execute it from ROM? Just copy the download routine to RAM and execute it from there. Also when having a self-updating system, you always inlcude a "save boot" section into the ROM that normally is not update (unless your S-record input routine is not working). And todays ROM are large enough, so you can afford to have more than one jumper selectable region.

The S-record functions are dependent upon serial I/O primitives in the ROM, as well as other functions that process the incoming ASCII byte representations and convert them into binary form. Plus all I/O is interrupt-driven, which means that to do what you suggest would mean shadowing much of the ROM into RAM. It could be done but I am not seeing any advantages to doing so. I don't want the persistent performance penalty that would be imposed by the relatively slow EEPROM. I chose to use a fast EPROM so as to avoid wait-stating ROM accesses at the clock speeds that I have been running (usually 12.5 MHz).

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: POC Version 2: A Snag
PostPosted: Sat Aug 16, 2014 12:59 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8140
Location: Midwestern USA
Okay, I've run into a problem. I have here the Atmel programming/test rig for their CPLDs, as well as the PLCC-84 adapter so I can play around with the ATF1508AS CPLD. POC V2 is going to use the smaller 1504AS, which is in a PLCC-44 package. So a while back, I ordered the PLCC-44 adapter and waited for it to ship. And waited and waited and waited and...

Anyhow there's a snag at Atmel and it doesn't look like I'm going to get this adapter anytime soon. If I could, I'd reverse-engineer and make my own. However, Atmel is careful about covering their tracks with this stuff, and I'm reluctant to invest the necessary time when so many other things are tugging at my sleeve.

I can't use ISP via JTAG with the 1504AS because the four JTAG pins are being used as I/O connections—every pin on the device is spoken for in this design. Otherwise, I'd just add the necessary JTAG circuitry to POC V2.

As I said, a snag.

I have two possible remedies:

  1. Wait until Atmel produces and ships the adapter or,
  2. Figure out how to shoehorn the much larger 1508AS—who resources I don't need with this design—on to the PCB.

I really don't want to wait too much longer to get this thing built, so I may attempt B. It's going to be tight... :evil:

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: POC Version 2
PostPosted: Sat Aug 16, 2014 3:46 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1924
Location: Sacramento, CA, USA
That seems to be the most sparsely populated area of your board, so it looks like you should be able to do it, at the expense of some bill-boarding and jumper-map real estate.

Mike


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 544 posts ]  Go to page Previous  1 ... 10, 11, 12, 13, 14, 15, 16 ... 37  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 4 guests


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: