Jump to content

Photo

To infinity and beyond... (new hardware)


88 replies to this topic

#76 _The Doctor__ OFFLINE  

_The Doctor__

    River Patroller

  • 4,283 posts
  • Location:10-0-11-00:02

Posted Mon Jul 2, 2018 2:12 AM

I'd try to stick with assembly, and what about H's for major/master F for minor/slave work? The differing cards with h/f can co-exist ?possibly?



#77 Spaced Cowboy OFFLINE  

Spaced Cowboy

    Chopper Commander

  • Topic Starter
  • 187 posts
  • Location:San Jose, CA

Posted Mon Jul 2, 2018 8:00 AM

The chips can certainly interoperate - they can both run at 3.3v and the 'F' can tolerate 5v inputs (it still outputs at 3.3v, but that's sufficient for a logical 'high' even on a 5v circuit). The annoying part is that it's the one that's connected to the 5v supply that would benefit the most from the additional speed - this is for two reasons:

 

1) The 'H' part has 128k of tightly-coupled data RAM - only the CPU has access to it, so nothing can impede access, eg: a DMA event or what have you). That would be really useful for a 64k map of which routine to call within the interrupt that is triggered by the clock. It's going to be far faster to look up a byte-value in an array of 64k, than search through a list of memory apertures to figure out what we ought to be doing.

 

 At startup, all 65536 entries are 0xff (which means we don't do anything). If the value is

   0..0xf     : means one of the memory apertures is active, so calculate the address within SDRAM and return/write the data
   0x10..0x1f : means it's associated with the video system, (DL lookup, charset fetch, data fetch,...)
   etc.

The 'F' part only has 16k of tightly-coupled RAM so either I reduce the resolution of the map, or I use SDRAM (which is much slower - random access to SDRAM is ~50ns, random access to the DTCM is 5ns)

 

2) Once I have one of them in there, there are benefits on speed for interconnect between them if they're both 'H' parts. The SPI interface (which is going to be my primary connection) is 150 MBit/sec on the 'H' part, whereas it's "only" 50 MBit/sec on the 'F' part. If we're going to get to the point where people can copy sprite data from directly-accessible SDRAM to the frame-buffer SDRAM, we want that to be as fast as possible.

 

I'd been trying to think of a good way to split up the data into the three 50 Mbit/sec SPI pipes I had set aside when designing for the 'F' parts, given that it's not a dedicated channel (it has to carry memory-to-memory copy-ops, ethernet data, USB data, SD-card data etc.). With the 'H' part, that problem might go away. I could still try doing the packetised data-format copies if it came to it.

 

[aside]

What I was thinking of was 

  • Send packet-type over SPI #1
  • Send packet-length high-byte ('N/256') over SPI #2
  • Send packet-length low-byte ('N%256') over SPI #3
  • Alternatively read up to N bytes from *all of* SPI #1, #2, and #3 using DMA

Which would effectively give me 150 MBit/sec. I'd then split the data into different circular buffers on the destination side based on the packet-type and call a handler for that data-type. 

 

It's a lot easier, however, to say SPI #1 is video data, SPI #2 is ethernet data, SPI #3 is everything else. All of them get 150 MBit/sec. If I did combine the faster pipes in the same way as above, we'd be approaching 450 MBit/sec...

[/aside]

 

I think I am going to go with 2x 'H' variants, I think the balance of pros and cons is in favour of that configuration. Now I have to figure out if it's going to be BGA or QFP packaging, which'll be based on availability. Then I have to create the parts in Eagle, then integrate into the existing schematic design.

 

 

On a totally different note, I made a test-run for the VHDCI connector part, building what I hoped would be an interface I could plug into the ECI port on one side, and map the pins to a VHDCI connector on the other. The land-pattern (the pads on the PCB) didn't line up with a real VHDCI connector on one side. It turns out that the part I'd ordered from Mouser is now discontinued, and they'd been linking to the datasheet for a different part with a very similar name. Which is annoying. They've since changed it, but the "corrected" data-sheet doesn't even have the dimensional drawings you'd need to create a part in a CAD system... 

 

I ordered the new part to see if that's a better fit. I was a little concerned by the fact that Mouser didn't mention anything about it being discontinued until stock was exhausted, so I tried a search on Amphenol's site, and got nothing back. I'm now thinking I have to find an alternative to the VHDCI connector as well, because according to octopart, there's only 688 of them available from Mouser, and that's it. It looks as though the world is moving away from bulk parallel cables to high-speed serial, and what I thought was an ideal solution is no longer being manufactured. I guess I'm glad I found that out now.

 

[update]

After a bit more googling and searching, it seems there's still quite a vibrant VHDCI market out there, so I'll probably stick with the connector style, but I think I'll move to a more-common instance of it. Again, it adds expense (this new style are available at $7.26 each rather than the $4-ish each of the previous style) but there's thousands of them out there for sale, which is much more reassuring. It means I'll have to create a new footprint for the part, but hey...

 

Simon.



#78 Spaced Cowboy OFFLINE  

Spaced Cowboy

    Chopper Commander

  • Topic Starter
  • 187 posts
  • Location:San Jose, CA

Posted Fri Jul 6, 2018 10:46 PM

Quick update on the design

 

I spent the last few days upgrading the processors in both the schematics and layout, I started the autorouter this morning at ~11:30, it's now 9:30pm and we're at:
 

first-layout-h-procs.png

 

... I didn't actually expect to see the 100% figure - it only appeared at the 'Optimise3' stage of the route operation. 
 
Anyway, what's changed:

  • Both CPUs are now 'STM32H7' types
  • I found level translators for the interface-CPU (called 'XIO' in the schematic) that can sink/source sufficient current to drive over even a fairly long cable. I'm hoping the VHDCI cables I'm planning on using will be fine. 
  • We now have one USB complex available from both CPUs, for two in total
  • The PSRAM has been exchanged for SDRAM on the XIO chip, so there's actually 64MB of RAM on board, 32MB for graphics use, and 32MB directly mappable to the host 8-bit.
  • There's ESD protection on all the vulnerable ports (HDMI, USB, Serial) - either built-in to the driver chips or inserted between said driver chips and the ports. That way, you don't zap the expensive board when you plug in a cable.
  • The main voltage regulators have immense copper pads and large numbers of vias for thermal reasons. Just in case :)
  • There are 3 SPI ports between the two CPUs. One runs at 133 MHz (the fastest supported for both read and write), the other two run at 100 MHz. That's a huge amount of bandwidth between the two CPUs, and it'll all be DMA driven, so won't impact the CPU much even at full blast.
  • We now have a reset switch and a supervisory circuit to monitor the voltage levels.
  • We're using a more-available VHDCI connector 
  • The plug-in I2C and SPI extensions for things I might want to do inside the case have PWR/GND pins now as well as signal lines...
  • As well as the above, I've also incorporated all the first review comments into the design. Second review will be next week sometime I think.

 

There's still a few things I want to do - example: I'd mentioned the audio-level-translation thing to my boss, and he suggested using an op-amp in an amplifier configuration to get better resolution from the ADCs, things like that. I also need to clean up the board labelling a *lot*, but that's generally the last thing I do, because the routing/vias can change things so much.



#79 _The Doctor__ OFFLINE  

_The Doctor__

    River Patroller

  • 4,283 posts
  • Location:10-0-11-00:02

Posted Fri Jul 6, 2018 10:57 PM

;)

So glad you chose to mess with this stuff again/more. It's shaping up nicely



#80 foft ONLINE  

foft

    Dragonstomper

  • 719 posts
  • Location:Nyon, Switzerland

Posted Sat Jul 7, 2018 12:36 AM

How did you esd protection to the ports?

Edited by foft, Sat Jul 7, 2018 12:37 AM.


#81 Spaced Cowboy OFFLINE  

Spaced Cowboy

    Chopper Commander

  • Topic Starter
  • 187 posts
  • Location:San Jose, CA

Posted Sat Jul 7, 2018 3:56 PM

How did you esd protection to the ports?

 

 

The serial ports I used the 'E' variant of the MAX3232, which have ESD built in. The USB ports have an RCLAMP0502N - they're the tiny parts just above the [GND] and [*_USB_P] pins on the USB sockets. Easiest to see on the right hand side...

 

esd-usb.png

 

 

The ethernet port isn't so susceptible because of the magnetics built-in, but the HDMI port is, so here I used an MG2040 to protect the 4 differential lines, as well as I2C, hot-plug detect, and the CEC signal. Again, it's pretty small, but you can see it just above the HDMI traces coming out of the HDMI socket:

 

esd-hdmi.png

 

Cheers

   Simon



#82 Spaced Cowboy OFFLINE  

Spaced Cowboy

    Chopper Commander

  • Topic Starter
  • 187 posts
  • Location:San Jose, CA

Posted Wed Jul 11, 2018 8:44 AM

Unexpected Setback

 

I sent in a test-design to seeed a couple of days ago, actually just to gauge the price for the assembly of all the parts on the board. At quantity-5 it comes to ~$2k (ouch!) but that's because of the low volume. The big deal, though, was that they rejected the board for assembly anyway, because they couldn't locate any of the STMH7 chips in mainland China - I wasn't aware that their source had to be China, but I guess it makes sense from a delivery-costs perspective.

 

So, now I have a design that I can't manufacture :( 

 

There's a few ways around it that I can think of, but none of them are especially attractive...

 

  • The 176-pin version of the chip seems to be available in China, but I have to figure out how I could reconfigure the board. I'm using pretty much all the pins (maybe 20 not used) of 2x 208-pin processors. 
  • I could go back to the STM32F7, but it has drawbacks in terms of internal RAM buffer for quickly managing the memory-aperture maps. It's also not clear that the one I would drop-in to replace the 'H' model is available in China either.
  • I could try (another!) re-design back to more of the original idea, where I put a CPU local to the 8-bit host, handle the decoding logic (including ADC) locally, serialise/de-serialise the data (thus reducing the pin-count dedicated to the 8-bit bus) and try to get it to work over CAT6 again. Part of the reason for the larger chips is the parallel bus that interfaces to the host. This is a major re-design though.

I've sent an email to Seeed, to try and get some clarity on where they source from. I guess that's going to be the driver of what solution I eventually come up with. It's just kind of annoying to get the news at this late stage of the project, when I'm about a week away from pressing the trigger, that it can't be done in this form...

 

Simon :(



#83 Dropcheck OFFLINE  

Dropcheck

    Stargunner

  • 1,228 posts
  • Location:Stigler, OK

Posted Thu Jul 12, 2018 5:38 AM

I'd check other board manufactures/assemblers just as a check on SEEED.  They are not the only game in town surely.   :)

 

Also another thought as to the expense ratio per board.  Perhaps it might be best to do a modular approach.  I doubt the demand would be higher than a few hundred boards.  At that number you are still looking at a sizeable cost for the user for a one size fits all board.  It's nice to have it all, if you can afford it, but not many will be able to. 


Edited by Dropcheck, Thu Jul 12, 2018 6:26 AM.


#84 Spaced Cowboy OFFLINE  

Spaced Cowboy

    Chopper Commander

  • Topic Starter
  • 187 posts
  • Location:San Jose, CA

Posted Thu Jul 12, 2018 7:57 AM

The reason I'm keen on Seeed is that I have a $500 voucher which expires in August :) 

 

As for the pricing, it does come down a lot as you scale up. It wouldn't be much more (ignoring component costs) to get 10 boards done, rather than 5. The Q5 price for the PCB is $95, the Q100 price is $9.

 

I have thought along the same lines though - I could simplify it a lot if I got rid of the PIO part, and made that a plug-in board (it does have slots after all [grin]) but that means you lose ethernet, hdmi, and usb. It also means there's no "as standard" high-res video, which would act as a barrier to people actually using it. It may come down to that after all, though. If I can't get the parts, I may be forced to compromise.

 

I've been looking at using an FPGA with SERDES to reduce pin-count, and get a low-latency connection (maybe 1 Gbit/sec) link between the host-board and the box, but I think that's a level of complexity I don't really want to tackle. It would mean I could go back to the RJ45 as a connector, but writing a whole transmission protocol ( I was kind of surprised there wasn't anything out there already that you don't have to pay for) with link-training and bit-slipping before getting data-lock is a *lot* of work. So, I'm going to ask one of the FPGA guys here today about it, but my gut feeling is that that's out.

 

Which, unless I can figure out a way to get the built-in SPI up to an acceptable speed,  brings me back to a high-pin-count parallel interface, which means either more chips or less functionality.



#85 Dropcheck OFFLINE  

Dropcheck

    Stargunner

  • 1,228 posts
  • Location:Stigler, OK

Posted Thu Jul 12, 2018 11:42 AM

As for the pricing, it does come down a lot as you scale up. It wouldn't be much more (ignoring component costs) to get 10 boards done, rather than 5. The Q5 price for the PCB is $95, the Q100 price is $9.


I think you are side stepping the comparison.   :)  The price you quoted earlier was for five completely assembled boards, parts and all. Even if you scale up to a couple of hundred completely assembled boards, you're still talking around a $100 or more per board. The cost might be a little less if you do most or all of the assembly yourself. Assuming of course that you had the tools and skills to do it yourself.  But then you would most likely be shorting yourself on the labor costs.  Candle can tell you of his 'fun' in producing the early VBXE and U1mb boards himself back in the day.  They were much smaller and simpler than your design. 

Not much you can do with a bare pcb except look at it and admire the design. :)  I have to say I do find your design somewhat sexy though.   :-D 

It's okay to dream. I don't want to smother that. I'm just saying you have to be realistic too, particularly if you are creating something for someone else.  I have no doubt that some on this site would happily pay the cost for the Lamborghini version, but most would balk at the cost of the Lincoln Continental version.  Most of us can barely afford the Chevy version.  :(

 

Feature creep is deadly.  :skull:  

 

At the risk of sounding preachy.....If you truly want the ability to add features to the Atari by simply adding a feature board to the slot, then design the base board for that.  Leave the plug in boards to handle the features themselves.  You can design both, but in a modular way.  Let the user decide what feature board they want and can afford.  

 

Anyway, my three cents worth.  (Inflation....)  :) 



#86 Spaced Cowboy OFFLINE  

Spaced Cowboy

    Chopper Commander

  • Topic Starter
  • 187 posts
  • Location:San Jose, CA

Posted Fri Jul 13, 2018 4:47 PM

At the risk of sounding preachy.....If you truly want the ability to add features to the Atari by simply adding a feature board to the slot, then design the base board for that.  Leave the plug in boards to handle the features themselves.  You can design both, but in a modular way.  Let the user decide what feature board they want and can afford.

 

So I thought about that for a bit, and in the end I decided Dropcheck was right. I was concerned that there wouldn't be any take-up of add-on video/ethernet/what-have-you boards, but considering:

  • the cost,
  • the time deadline for my Seeed voucher to time out (hey, it's $500!)
  • and the risk-factor (I don't yet know if the video idea will work, it doesn't make much sense to make everyone who gets one pay for it, if it doesn't - I think it'll work, it seems like it should, but as far as I know, no-one has actually done it before...),

... I decided to cut my losses ...

 

So, the new design is simpler, has more restrictions (due to less pins and more space constraints) but it ought to be cheaper and easier to produce. Here's the prior-to-routing (which is happening as I type :)) layout:

 

single-cpu.png

 

 

Things of note (in no particular order)

  • All the ports along the bottom stick out the back of the case. The box will still be 17x17cm so that cards can be larger if they choose, but the motherboard is only 17x10cm. 
  • We keep the SD-card slot, although it's moved to about half-way up the side of the box now.
  • We keep the 32MB of SDRAM, with 16-bit access
  • We're using the original chip (an STM32F746BGT6) rather than the newer 'H' variant so that it can be assembled by Seeed.
  • We lose the ethernet and the HDMI. Without two chips, I just don't have the pins. 
  • We lose 2 (of the 7 previous) expansion slots.
  • We lose one of the USB complexes. Not a huge deal, you can still plug in a USB hub. 
  • We keep one serial port with a DB9, the second is now an internal header only (JP1 at the top) 
  • The slots are now much closer to the back of the case, meaning that the dirt-cheap 10cm by 10cm boards you can have made, can now be expansion cards assuming the appropriate cut-outs.
  • The cartridge port is integrated into the back of the case. I'm using this part to provide the cartridge slot. I'm not sure what physical constraints there are on the slot though. Are those stick-out tabs at the side necessary ?
  • We gain 2 8-bit ports (USR_A and USR_B) which also have a clock and a misc-data-line each. I recall that the BBC micro's "User" port was pretty popular, so I figured having something that you could easily bread-board with using a ribbon cable might be useful.
  • Similarly, each slot has access to the internal UART pins, so can drive them when debugging a card. These take the place of the I2C pins, because we're not using I2C any more.
  • The entire board is powered by a 5v supply, but there's no 5v signaling on the board. You do have access still to the 5v rail from the slots, and in fact everything ought to be robust against 5v, but good practice is to make all cards drive 3.3v only.
  • Slots have read-only access to all the bus signals. If you need to return a value, do it via the STM32, otherwise we could have one card driving ground while another drives high. 
  • The host-personality card (the card that interfaces with the host) will have a Coolrunner XPLA3 CPLD on it. This is 5v tolerant, can drive 40mA per pin, and can handle any directionality changes of the signaling under control of the STM32. This means I get level-changing (all outputs are 3.3v), single-load signal buffering on the host side, sufficient drive strength to go via the VHDCI cable, and it's programmable to boot, so if I need to change the directionality of a pin under some circumstance, it's just a bitstream change.

 

So, some fallout from the above is that the replicated cartridge port on the back will be running at 3.3v. I don't think this'll be an issue - 3.3v was chosen so that a driven voltage would work with 5v signaling without problems, and any outputs driven to 5v will be acceptable to the components on the board. I'll still supply 5v to the '5v' rail on the cartridge port as well, in case anyone is sourcing power from it.

 

The only issue I can see is that if a cartridge drives 5v onto the D[0..7] lines (for example), and a card in a slot is only tolerant to 3.3v, it could damage that card. Perhaps I need to isolate the cartridge connector, so that it always drives 3.3v, and then declare 5v logic verboten. Another CPLD could probably manage that, it's just squeezing it in physically that'd be the problem. If I swapped around the VHDCI and the cartridge port, I could probably fit one into that space by the CPU.

 

[update]

And here it is, routed:

 

single-cpu-routed.png

 

This routes at 6/6 on a 4-layer board, and uses only 0.3mm drills for vias. Contrast that with the previous board. that required a 4/4 space/trace and was really crying out for a 6-layer board. The previous version also needed 0.1mm solder dams (we can now get away with 0.4mm, which is cheaper) and 0.2mm drills.  That adds up. At q5, instead of it being $95/board, it's $106 for all the boards, so ~$21/board. At Q100, we're looking at ~$4/board.

 

Simon



#87 Dropcheck OFFLINE  

Dropcheck

    Stargunner

  • 1,228 posts
  • Location:Stigler, OK

Posted Sat Jul 14, 2018 5:39 AM

  • The slots are now much closer to the back of the case, meaning that the dirt-cheap 10cm by 10cm boards you can have made, can now be expansion cards assuming the appropriate cut-outs.
  • The cartridge port is integrated into the back of the case. I'm using this part to provide the cartridge slot. I'm not sure what physical constraints there are on the slot though. Are those stick-out tabs at the side necessary ?

The movement of the slots is a good idea I believe. The 10cm x 10cm boards are dirt cheap.  If you need more board space you can always sandwiche two boards and stick them in the slot with the most free space around it.  Plenty of design options there.  :)
 
Those tabs are the bane of everyone trying to design a cartridge port access.  :(  The only cartridge type I know of that needs those tabs is the brown Atari ones.  But that covers a large number of game and productivity software.  Those tabs pry open the dust trap door on the bottom of the cartridge.  Sad to say you will need to account for them in some form or fashion. Either through a 3d print object or by using an original cartridge guide part from a 600XL/800XL.

 

The connector you list is the correct one for RA mounting.  There is a vertical version listed on Mouser's site too.  For dimension check and planning you can use the cartridge guide from a 600XL/800XL.  They are relatively easy to remove as they are not soldered in place of course.  I have a broken one(the end anchor tab is broken off) that still can give you the necessary dimensions.  I can send it to you if you can't pull one from a 600XL/800XL and don't want to order one from Best Electronics.  

 

So, some fallout from the above is that the replicated cartridge port on the back will be running at 3.3v. I don't think this'll be an issue - 3.3v was chosen so that a driven voltage would work with 5v signaling without problems, and any outputs driven to 5v will be acceptable to the components on the board. I'll still supply 5v to the '5v' rail on the cartridge port as well, in case anyone is sourcing power from it.
 
The only issue I can see is that if a cartridge drives 5v onto the D[0..7] lines (for example), and a card in a slot is only tolerant to 3.3v, it could damage that card. Perhaps I need to isolate the cartridge connector, so that it always drives 3.3v, and then declare 5v logic verboten. Another CPLD could probably manage that, it's just squeezing it in physically that'd be the problem. If I swapped around the VHDCI and the cartridge port, I could probably fit one into that space by the CPU.


Could you use a simple level shifter?  Mytek mentioned a chip in the wifi modem thread that should work to protect the +5v intolerant circuitry of the rest of the board.  I forget the part # now.  It was TH, but I'm sure there is a SMT version too.  

 

Edit:

 

   Found it!  SN74AHCT125N


Edited by Dropcheck, Sat Jul 14, 2018 5:44 AM.


#88 Spaced Cowboy OFFLINE  

Spaced Cowboy

    Chopper Commander

  • Topic Starter
  • 187 posts
  • Location:San Jose, CA

Posted Sat Jul 14, 2018 10:59 AM

The movement of the slots is a good idea I believe. The 10cm x 10cm boards are dirt cheap.  If you need more board space you can always sandwiche two boards and stick them in the slot with the most free space around it.  Plenty of design options there.  :)


That was actually a goal from the start, I had to move the chips towards the back of the board because I couldn't get the simulations of the high-speed lines (HDMI, ethernet) to pass otherwise. Making it easy to produce things that work with the expansion box seems like a no-brainer :)
 

Those tabs are the bane of everyone trying to design a cartridge port access.  :(  The only cartridge type I know of that needs those tabs is the brown Atari ones.  But that covers a large number of game and productivity software.  Those tabs pry open the dust trap door on the bottom of the cartridge.  Sad to say you will need to account for them in some form or fashion. Either through a 3d print object or by using an original cartridge guide part from a 600XL/800XL.
 
The connector you list is the correct one for RA mounting.  There is a vertical version listed on Mouser's site too.  For dimension check and planning you can use the cartridge guide from a 600XL/800XL.  They are relatively easy to remove as they are not soldered in place of course.  I have a broken one(the end anchor tab is broken off) that still can give you the necessary dimensions.  I can send it to you if you can't pull one from a 600XL/800XL and don't want to order one from Best Electronics.


I don't have an XL to hand but there's an XE sitting here. hopefully it's something I can 3d-print or build after the fact. I'm going to have some sort of a bar extending along the back of the box anyway, for the tabs at the bottom of the slot-covers to fit into and anchor themselves in. Hopefully I can leverage that as a base to work from.
 

Could you use a simple level shifter?  Mytek mentioned a chip in the wifi modem thread that should work to protect the +5v intolerant circuitry of the rest of the board.  I forget the part # now.  It was TH, but I'm sure there is a SMT version too.  
 
Edit:
 
   Found it!  SN74AHCT125N


Level shifter is a good idea - they're cheaper than CPLD's. I was going to completely isolate the cartridge using the CPLD (effectively make it into a big mux) but I think the level-shifter is easier. I do think I need a different level-shifter, though, the data-bus is bi-directional (based on the R/W line) if I'm assuming that more complicated cartridges will be supported and it looks as though the SN74AHCT125N is a high-z-or-output-enabled type of chip. As far as I can tell I need control over the following lines:

 

  • D[0..7] : Needs to be bi-directional based on the R/W line. On a *read*, it has to drive the outputs, on a write, it has to pass the outputs through to the cartridge. I think a better chip for this is the SN74LVC8T245PWR with the cartridge configured to be on the 'A' side, and R/W directly driving DIR
  • /S4, /S5, /MPD, /EXSEL, /IRQ : These are output-only but could be pulled up to 5v by the cartridge until asserted low, so I'd cover these too. The chip you mention above does say in its data sheet that Vcc can range from -0.5v to 7v, but I see their recommended usage is Vcc=4.5->5.5v, and digikey's summary page lists it as the same (4.5->5.5)... I'd want to be running Vcc at 3.3v and allow the signals to go up to 5v. Given that (a) this is for assembly, so you're charged by different part, and (b) the voltage thing, I might just use two of the SN74LVC8T245PWR's, tying the DIR and OE appropriately. I'd have to use 2 of the SN74AHCT125N's anyway (for 5 signals), so the price difference for the single SN74LVC8T245PWR is pretty small (17 ¢, q1 :) )

 

[update] I moved some of the parts around to make some space for the level-shifters - the slots are still within the 10cm boundary because the board is only 10cm :) I ought to mention I'm planning on having the back indent where the slots are by about 1cm, so there's ample space for the card to fit.

 

 

single-cpu-routed-2.png

 

 

[update 2] I just realized there's no /IRQ, /MPD, /EXSEL on the cartridge port so I would only need the one SN74AHCT125N ... I'll still probably use the 2 SN74LVC8T245PWR's though, for the VCC uncertainty issue  :)

 

Cheers

   Simon



#89 Spaced Cowboy OFFLINE  

Spaced Cowboy

    Chopper Commander

  • Topic Starter
  • 187 posts
  • Location:San Jose, CA

Posted Sun Jul 15, 2018 10:38 PM

So I added the level-shifters, and moved the components around again, this time to allow some space either side of the cartridge port so there's some space to put those darn tabs. I routed it out again, and the board now looks like:

 

space-for-cart.png

 

This is without the ground/power planes being indicated, so the traces show up better. 

 

I also ran the BOM through Seeed's PCBA quotation system, and they couldn't match up a couple of line-items, but they were just capacitors. I can find alternatives for those easily enough. The costings are significantly better:

 

costs-for-smaller-board.png

 

I'd originally budgeted around $150 for Q100 prices including a board, so it looks as though we're now on-target for that, (after simplifying it a lot, courtesy of Dropcheck's point :) ), given that the box ought to be ~$50 at that quantity.

 

There's going to be other costs, though - the VHDCI cable is ~$25 (from memory) and there'll need to be a slightly more complex host-board as well, which'll add a bit to the price. If a box is needed for that (ie: on a stock XL/XE), there'll be a box-cost for that too. 

 

Still, I think this is pretty viable. Now what I'll want to do is make sure I can get the STM chip to respond sufficiently quickly that it's useable as a box interface, and we're in business. I'll spend some time writing some code for the STM, and just implement on a test board first, running it via the logic analyser to figure out timings. Once I have the routine working to that extent, I'll interface it with the XL and assuming that goes well, we're in business.

 

My deadline is August 18th, which is when I have to submit the new board to Seeed to keep my voucher, so there's some time left yet. In the meantime, I plan to send off a small board to OSHpark, which just has the footprints I'm using. I've ordered all the parts I need as single-items from Digikey, and I can do a test-fit.

 

Anyway, I'm happy with the progress, so this is sort of a check-point post. Enjoy :)

 

Simon






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users