It is currently Sun Jun 24, 2018 2:57 pm

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 55 posts ]  Go to page Previous  1, 2, 3, 4  Next
Author Message
 Post subject:
PostPosted: Wed Mar 26, 2008 7:14 am 
Offline

Joined: Tue Feb 07, 2006 4:55 am
Posts: 23
Location: Seattle, USA
This is what 1670modem.txt on project64.c64.org says:

SUPPLY VOLTAGE: (Vcc): 4.5 to 5.5 VDC @ 50 mA
SUPPLY VOLTAGE: (9 VAC): 12 Vpp on 6 VDC +-30% @ 50 mA

The Ethernet chip uses too much power. I think it is safe to say now that we are just going to have to power the 3.3vdc from an external source.

I think we should design the 5vdc parts to run off the user port 5vdc and the 3.3vdc parts (the Ethernet chip) to run off a power brick or batteries.

Maybe we can make it easy put a pair of jumpers on the board to power the 3.3vdc regulator from the user port 5vdc instead of external power for people who want to live on the edge.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Mar 26, 2008 7:24 am 
Offline

Joined: Tue May 08, 2007 6:40 am
Posts: 105
Cool beans.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Mar 26, 2008 9:48 am 
Offline

Joined: Tue Feb 07, 2006 4:55 am
Posts: 23
Location: Seattle, USA
We can put a disclaimer in the instructions and how to beef up the amperage to that pin for those who want to power off the user port.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Mar 26, 2008 3:31 pm 
Offline

Joined: Tue Feb 07, 2006 4:55 am
Posts: 23
Location: Seattle, USA
I think I have figured out about 80% what parts I need. I still need ideas on the voltage level converter. I will just solder wires to the pins if only surface mount is available. 8 lines should be enough, I think.

This is the user port connector I will be using for prototyping, the final version will have right angle through holes of course. I swear I saw a recent post for a recommended connector somewhere. Will this one work ok? I may have to cut the ends but I don't care about that, unless there is a cheaper/same price part that I don't have to.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Mar 26, 2008 5:42 pm 
Offline

Joined: Tue May 08, 2007 6:40 am
Posts: 105
With regards to the level shifter, we may be going about this all wrong too. Level shifting only needs to be done one-way between the ENC28J60 and the Atmel which makes things easier than searching for a full blown logic level translator. Page 8 of the data sheet suggests using a 74HCT08 or 74ACT125 to do the level shifting. Duh. I guess I should have read the thing more thoroughly before running my mouth. I thought it was two lines that needed the shifting, but it looks like there are three. But, the recommended parts are quad parts so a single IC will do the trick.

It looks like the 74ACT125 is the best option since it allows for future expansion (but digikey doesn't have a DIP part, so the link is a mouser link):

http://www.mouser.com/Search/ProductDet ... fY6A%3d%3d

And it's cheap too!

I don't see why the port connector wouldn't work. And I don't understand why you would have to cut the ends. You mean the extruding plastic on the sides? If that's what you're talking about then you don't have to do that. I have a GeoCable II that uses an adapter just like it and it works beautifully.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Mar 27, 2008 5:56 am 
Offline

Joined: Sun Feb 10, 2008 6:55 am
Posts: 75
Most of my designs use this connector:

http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=EDC305240-ND

I think implementing only the user port option will limit usefulness. Lots of programs use T232s and Swiftlinks.... As well, if you grab power from the expansion port, you can get more, which eliminates the need for a wallwart.

Jim


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Mar 27, 2008 6:37 am 
Offline

Joined: Tue May 08, 2007 6:40 am
Posts: 105
I see. That's an interesting idea. That would require two PCBs and a cable between them. That cable would have to provide power and bus lines from the expansion port PCB to the user port PCB. If that is done, then the Atmel could also provide emulation for the UARTs used in the expansion port devices as well.

So I guess the question is, are there any programs that support the Swiftlink that do not support the older user port modems? If so, how many? And, are any of them popular enough to justify the extra PCB? And of course, how many older programs support the older user port modems, but don't support an expansion port UART device?

Of course, there is the option to design the user port PCB to accept a cable from an expansion port device. If that feature is wanted, the user can solder the appropriate components. If not, then he leaves it alone.

Another question: is there a standard PCB for the expansion port available that provides this break out functionality? If not, perhaps we can design one as a separate project. Or maybe design a PCB for the user port that sends signals to a PCB on the expansion port.

If none of this stuff exists yet, then allowing 5V in from a wall wart or other source for the 3.3V regulator would still be a good idea. One idea is to have two through holes (preferably plated, but not necessary) instead of or in addition to a wall wart adapter that allow the user to solder wires for +5V power. This way, you don't have to use a wall wart, but can jumper cables from another point in the C64 or some other power source of choice.

Seeing the adapter Jim has linked above, that one looks more like the one the GeoCable II uses. It's also cheaper, but I don't know that it matters functionally which one is used.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Mar 27, 2008 7:43 am 
Offline

Joined: Tue Feb 07, 2006 4:55 am
Posts: 23
Location: Seattle, USA
eightbits,

I think I will go the tri-state route, thanks for the link and idea. I found an equivalent part at Digikey. it is 10 cents more but it will save me the minimum order charge at Mouser.

I am going to look over the data sheet for the Ethernet chip a little more to make sure I get all the proper external components. I already found one 5% tolerance part I was going to order, where the data sheet calls for 1% tolerance.

Jim,

That connector is perfect thanks, I was looking for one with eyelets.

As for the power issue, for mine I am just going to run a wire internal from the cart +5vdc to the user port +5vdc. I will put a barrel connector header going to the +3.3vdc regulator and a jumper to isolate the regulator from the +5vdc user port for people who do not want to mod their C64. But it's such a simple mod, anyone with a soldering iron can do it.

I think making it compatible with Turbo232, etc. via the expansion port is a great idea. However I am not sure I am ready to tackle interfacing components directly with the processor bus. The user port is intimidating enough for me right now.

How would you go about designing a device to interface both user port and expansion port at the same time by the way? I mean what parts would you connect to what port and how would you connect them? Very interesting idea. :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Mar 27, 2008 9:03 am 
Offline

Joined: Tue May 08, 2007 6:40 am
Posts: 105
You know this is leading to a very cool idea for the convergence of the various ports. It would be a simple matter to make a single PCB for each port with cables going from user and cassette ports to the expansion port. Although, I don't know if the cassette port can provide much benefit to this idea.

I would personally bring the user port signals over to the expansion port. Fewer signals and it's much easier that way. I would not bring over +5V since it's already on the expansion port and it can source the full power available on the +5V line (450mA without an uber power supply.) We can also leave RESET since it also exists on the expansion port. You'll want to bring over everything else, including GROUND for noise reduction over the cable.

Going from the expansion port to user port would take a lot more work with more signals to bring over. It would also affect the entire system more because of noise on the system bus. Bringing over port outputs from the user port to the expansion port would be less impacting on the system as a whole. A simple ribbon cable could do the trick. It may require some grounded shielding around the ribbon cable, though. Not sure about that.

Just my opinion, but I think it would probably be a safer bet to start with just a user port device and then later expand it to include expansion port devices. I think including them will take a lot of extra work and more components. It will also require a larger Atmel. If your goal is to allow older programs to do modem-over-ethernet, then including expansion port devices starts to get out of your project's scope. That is, unless there are programs that get a definite benefit from using expansion port UARTs. As far as I know (and I'm probably wrong) the only benefit is increased transmission rate. That may not be worth it. Either way, Jim is right. Including them would make it a more complete solution. You'll have to decide if and where the trade-offs for the increased functionality become too great. I don't know the answer to that one.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Mar 28, 2008 10:49 pm 
Offline

Joined: Sun Feb 10, 2008 6:55 am
Posts: 75
TheBeck wrote:
I think making it compatible with Turbo232, etc. via the expansion port is a great idea. However I am not sure I am ready to tackle interfacing components directly with the processor bus. The user port is intimidating enough for me right now.

How would you go about designing a device to interface both user port and expansion port at the same time by the way? I mean what parts would you connect to what port and how would you connect them? Very interesting idea. :)


It's OK. The only thing that "directly" interfaces with the expansion port would be the hardware UART (the 6551), so you can implement your user port idea and just expose the uC RS232 lines and GND on a header so someone could bring over the 6551 UART lines to the uC if they wanted.

As for a complete idea, I think I would bring over the user port signals to the expansion port. Not all of them need to make the trip. All you need is the actual RS232 lines (RXD/SND/RTS/CTS/DTR/DSR/GND) I would bring over one more line to turn on Up9600 support, and put a 4066 or '86 of some vintage on a little PCB on the user port. That's 8 lines, and with the slow speeds, a 8 wire ribbon cable would work fine.

I would use an Atmel ATMEGA644P (if a hobbyist project) or a ATMEGA1281 (if a production board). That would provide plenty of room for TCP/IP + tcpser + anything else needed.

Jim


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Mar 28, 2008 11:01 pm 
Offline

Joined: Sun Feb 10, 2008 6:55 am
Posts: 75
eightbits wrote:
You know this is leading to a very cool idea for the convergence of the various ports. It would be a simple matter to make a single PCB for each port with cables going from user and cassette ports to the expansion port. Although, I don't know if the cassette port can provide much benefit to this idea.


IEC would only need a cable, and cassette port isn't that many lines. It could be used to support a LOAD"*" autoloader. If you have the IEC port in the mix, you could designate in the AVR a special program to load to the cassette port (maybe a wedge or menu) and you could store such things on a SD card or CF card. I have the code for either of those.

Quote:

I would personally bring the user port signals over to the expansion port. Fewer signals and it's much easier that way. I would not bring over +5V since it's already on the expansion port and it can source the full power available on the +5V line (450mA without an uber power supply.) We can also leave RESET since it also exists on the expansion port. You'll want to bring over everything else, including GROUND for noise reduction over the cable.


Bring over all of the user port lines does have advantages, as you can emulate anything that used to hang off the user port (modem is the obvious choice, but some printer cables hooked up there, and there were other things)

Quote:
Going from the expansion port to user port would take a lot more work with more signals to bring over. It would also affect the entire system more because of noise on the system bus. Bringing over port outputs from the user port to the expansion port would be less impacting on the system as a whole. A simple ribbon cable could do the trick. It may require some grounded shielding around the ribbon cable, though. Not sure about that.


I doubt it. Very slow rates were used out the user port
Quote:

Just my opinion, but I think it would probably be a safer bet to start with just a user port device and then later expand it to include expansion port devices. I think including them will take a lot of extra work and more components. It will also require a larger Atmel. If your goal is to allow older programs to do modem-over-ethernet, then including expansion port devices starts to get out of your project's scope. That is, unless there are programs that get a definite benefit from using expansion port UARTs. As far as I know (and I'm probably wrong) the only benefit is increased transmission rate. That may not be worth it. Either way, Jim is right. Including them would make it a more complete solution. You'll have to decide if and where the trade-offs for the increased functionality become too great. I don't know the answer to that one.


I disagree on the complexity here. expansion port support does not require a more code (same code works for both ports) and only requires a larger uC if you want to eliminate a switch that determines which rs232 you want to emulate. With a switch (user port/exp port), you could use the exact same hardware as for the initial project. As for more hardware, you need exactly 2 more components to support expansion port. 6551 IC and a 3.864MHz crystal.

There are lots of programs that benefit from an expansion port UART support. user port top speed is 2400 bps (with George Hug/Fuzzy Fox routines on 64) or 9600 (on C128 or on 64 with Daniel Dallmann mods). Anything more than that requires an expansion port UART.

I think you will find it is way more complex to try to fit any amount of user port (or otherwise) support for TCP/IP into an ATMEGA8 than anything on the expansion port. 8kB is just not enough flash. Thus, I recommend a 40 pin DIP device, no matter what you do. The M644P is the largest in that form factor, and should provide a lot of space for uIP and anything else you want to include. I seriously doubt you'll need more than 4kB of RAM and 64kB of Flash.

Jim
[/quote]


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Mar 29, 2008 12:31 am 
Offline

Joined: Tue May 08, 2007 6:40 am
Posts: 105
With regard to the increased complexity, I was referring to bringing in signals like addy and data bus in addition to the user port signals. If you're merely providing emulation in chip, then the atmel would need to communicate with the expansion port signals and that would take a lot of atmel ports and code to manage it. I wasn't thinking about adding a UART to the hardware list. That's not a bad idea.

But that only flies if the project gets moved to the expansion port with signals carried over from the user port. It sounds like the only real benefit is higher speed UART communications and thus faster ethernet performance. What say you TheBeck? You staying on the user port? It's cool if you do. I'd still want one. No doubt about that. I personally like the idea of having one of these on the user port so it's not taking up a slot on my expansion port expander and possibly not fighting with other carts for address space.

About the grounded shielding, I was thinking about the 9 parallel CIA port lines on the user port. I was thinking they might be fast enough to require it. I don't know that they are either. TheBeck mentioned wanting to support those in his design as well for higher speed ethernet transfers without having to going through modem emulation.

With regards to getting all signals from the various ports onto one expansion port PCB, do you think it's worth starting another thread for a project to do it? It could be a couple of parts in a library that people could use in their projects. Merely insert the part(s) into the schematic if you want to bring those signals over. It would also require PCBs designed for the source ports and it could be a single .zip download to get the whole project. I'd be willing to work on that. Shouldn't be complicated. I'm starting to worry that we're taking TheBeck's thread out of scope with some of this stuff.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Mar 29, 2008 6:31 am 
Offline

Joined: Sun Feb 10, 2008 6:55 am
Posts: 75
My main idea was to allow RS232 communication to go over the TCP/IP network, so I'd be happy to constrain the idea to that. An AnyPort solution needs to be more complex (bringing all of the exp/user/audio/video/cassette/IEC signals to some FPGA or something, where they can be routed and such based on some algorithms. That is definitely a separate project.

I would propose that the bulk of the Ethernet stuff be placed onto a board that can plugged into the expansion port. However, it is a trivial matter layout the board so it could snap onto a small user port PCB. In that way, a user port only user can snap the two boards together and wire up a 5V source to the board and be happy, the expansion port user can insert the expansion port cart and use it without the user port component, and the power user can insert the cart, insert the user port component, and wire them together with a 24 pin ribbon cable. That would make a design that is the best of all worlds, does not preclude any usage, does not require expansion port usage, and does not require a redesign later to add high speed uarts. It would cost probably $4-6 more than a single user port PCB design.

Jim


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Mar 29, 2008 6:40 am 
Offline

Joined: Tue Feb 07, 2006 4:55 am
Posts: 23
Location: Seattle, USA
(EDIT: Jim, you answered some of my questions while I was composing this.)

How does it sound to have the main user port device as just the AVR, Ethernet and their support parts. We can make it as expandable as possible so you can add a daughter device for a serial port, or a cable to a daughter device in the expansion port. Or a cable to the serial port for kernal load/save support.

eightbits wrote:
With regards to getting all signals from the various ports onto one expansion port PCB, do you think it's worth starting another thread for a project to do it? It could be a couple of parts in a library that people could use in their projects. Merely insert the part(s) into the schematic if you want to bring those signals over. It would also require PCBs designed for the source ports and it could be a single .zip download to get the whole project. I'd be willing to work on that. Shouldn't be complicated. I'm starting to worry that we're taking TheBeck's thread out of scope with some of this stuff.


That kind of seems out of the scope for this project. I think what is in the scope of this project is what Jim wrote about a card for the expansion port that diverts it's UART to the user port AVR/Ethernet card for sending out via the Ethernet.

I think the perfect card for the expansion port would be a turbo232 with a regular 9 pin serial port and a header in a place where the serial levels are still TTL that goes to a TTL serial header on the AVR/Ethernet card. Is that like what you had in mind Jim?

That way it would be as simple as it you want serial out, plug it into the serial port, If you want your "turbo232" to talk over Ethernet plug the cable into the AVR/Ethernet card.

Or, Jim, did you have in mind running the main board off the expansion port and just have a TTL serial cable plug into the user port? That is also an interesting idea, It would certainly solve any power issues. The main disadvantage here would be figuring out how to interface the AVR to the expansion port? What device would you use? It seems like a lot of chips and a complex design. Some sort or bus interface buffer/chip, AVR, address decode logic, Ethernet, Ethernet crystal, RS-232 crystal, 6551, Max232, Ethernet Jack, several resistors, LEDs and capacitors. No way this would all fit on a standard cart. You do already have a Turbo232 design that seems would work with the addition of a simple header between the 6551 and one of the Max232s.

The status of what I am currently working on:
Right now I am waiting on parts from Digikey. Once they arrive I will start playing with them on a solderless bread board. If that produces a working circuit and schematic I will post it here for review and refinement. I will keep you updated on my progress, or lack of.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Mar 29, 2008 11:36 pm 
Offline

Joined: Sun Feb 10, 2008 6:55 am
Posts: 75
TheBeck wrote:
How does it sound to have the main user port device as just the AVR, Ethernet and their support parts. We can make it as expandable as possible so you can add a daughter device for a serial port, or a cable to a daughter device in the expansion port. Or a cable to the serial port for kernal load/save support.


That's fine.
Quote:

I think the perfect card for the expansion port would be a turbo232 with a regular 9 pin serial port and a header in a place where the serial levels are still TTL that goes to a TTL serial header on the AVR/Ethernet card. Is that like what you had in mind Jim?



I was thinking the other way around (most of the stuff on the exp port and the user port just brought over via wires), but I like your idea. I can add a header to the Link232 PCB I already designed, and the user port board can either mount to the Link232 or we can run a cable between the two boards.
Quote:


That way it would be as simple as it you want serial out, plug it into the serial port, If you want your "turbo232" to talk over Ethernet plug the cable into the AVR/Ethernet card.

Yes, you make a convincing case, since the T232/Link232/SL could do double duty.
Quote:

Or, Jim, did you have in mind running the main board off the expansion port and just have a TTL serial cable plug into the user port? That is also an interesting idea, It would certainly solve any power issues. The main disadvantage here would be figuring out how to interface the AVR to the expansion port? What device would you use? It seems like a lot of chips


I wasn;t going to interface the AVR to the expansion port. As you alreayd noted, the easiest path is to use the TTL portion of a Link232 design to bring out only the rs232 signals. My only plan difference was to put the Ethernet stuff on the exp port card, not the user port card. However, you do make a convincing case that one could re-use the Link232 design and dual purpose it, which is a good argument and one I like.

I'm finishing up my other designs, so I am interested in any progress you make. I do think, though, you will need to move beyond the ATMEGA8 once you get past your initial prototype stage.

Jim


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 55 posts ]  Go to page Previous  1, 2, 3, 4  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 5 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:  
cron
Powered by phpBB® Forum Software © phpBB Group