Last visit was: Wed Oct 09, 2024 7:19 pm
|
It is currently Wed Oct 09, 2024 7:19 pm
|
EPiC - A new 68k multi-processor motherboard project
Author |
Message |
BitWise
Joined: Sun Aug 04, 2013 9:02 pm Posts: 23
|
I was working on some firmware to do PS/2 -> UART on a PIN 12F1822 (8 pin). The newer 'enhanced mid-range' family (12F1xxx and 16F1xxx devices) are much nicer to work with and cheaper than many of the older 16F or 18F PICs. I could dig the source or send you a programmed device.
Use a USB socket rather than a PS/2 DIN socket to connect your keyboard. USB keyboards that come with a PS/2 adaptor can sense when they are not plugged into a USB port. The adaptor has no electronics inside it, just straight connections for power, ground, clock and data.
|
Wed Aug 27, 2014 2:53 pm |
|
|
mercury0x000d
Joined: Tue Jun 03, 2014 2:40 pm Posts: 127
|
Okay, so am I correct in assuming that a CPLD wouldn't need any clock? Just like any other static logic chip, it simply performs the logic function it's been given as fast as possible, correct? Also, in a system running at ~100 MHz, is there any certain CPLD you guys could recommend which could perform the address decoding fast enough?
|
Wed Aug 27, 2014 3:07 pm |
|
|
mercury0x000d
Joined: Tue Jun 03, 2014 2:40 pm Posts: 127
|
BitWise wrote: I was working on some firmware to do PS/2 -> UART on a PIN 12F1822 (8 pin). The newer 'enhanced mid-range' family (12F1xxx and 16F1xxx devices) are much nicer to work with and cheaper than many of the older 16F or 18F PICs. I could dig the source or send you a programmed device.
Use a USB socket rather than a PS/2 DIN socket to connect your keyboard. USB keyboards that come with a PS/2 adaptor can sense when they are not plugged into a USB port. The adaptor has no electronics inside it, just straight connections for power, ground, clock and data. Nice, I'll have to look into the newer PICs. I'd appreciate that source, just to get an idea of what I'll be running into here. And thanks for the help! I was planning to implement USB anyway later on, and would using zero PS/2 ports now affect that? I don't want to have to put a "keyboard-only" USB port on the board as well as normal ones, and want every USB port on the board to be able to handle all USB compatible hardware.
|
Wed Aug 27, 2014 4:16 pm |
|
|
Garth
Joined: Tue Dec 11, 2012 8:03 am Posts: 285 Location: California
|
mercury0x000d wrote: Okay, so am I correct in assuming that a CPLD wouldn't need any clock? Just like any other static logic chip, it simply performs the logic function it's been given as fast as possible, correct? Also, in a system running at ~100 MHz, is there any certain CPLD you guys could recommend which could perform the address decoding fast enough? CPLDs can do combinatorial logic, but can also do registered logic. I'm sure someone more knowledgeable will give more detail.
_________________http://WilsonMinesCo.com/ lots of 6502 resources
|
Wed Aug 27, 2014 7:21 pm |
|
|
MichaelM
Joined: Wed Apr 24, 2013 9:40 pm Posts: 213 Location: Huntsville, AL
|
I no longer generally use CPLDs/PALs. Instead I use FPGAs, but FPGAs are not well suited for strictly combinatorial logic such as decoders. Unlike CPLDs/PALs, the pin to pin delays are harder to control, or easily realize, in FPGAs.
Like standard logic, CPLD/PAL propagation delay times take a significant hit if more than one logic block is required to implement a function. In many CPLD architectures, each logic function/macro cell is able to implement a limited sum of products function. That is, the width of the OR gate (logic sum function) is generally limited to between 5 to 10 terms. The width of the AND gate (logic product function) is also limited but it is generally greater than 32 terms. When the number of terms into the OR gate exceeds the basic width of the OR in each macro cell, terms are borrowed from adjacent macro cells, i.e. the macro cell is expanded. The propagation delay of these "expanded" terms is equal to the propagation delay of the basic terms. Thus, "expanded" terms generally double to delay through the CPLD, which means that every effort should be made to keep the logic equations mapped to the single level AND/OR gates in a macro cell.
The Xilinx Coolrunner II CPLDs (3.3V I/O and 1.8V core devices) have a very flexible internal AND/OR architecture which is very reminiscent to PLAs in which any product term could be used in any macrocell. The PLA-like architecture means it is difficult to encounter limitations in the implementation of wide sum of products logic equations with the Coolrunner II CPLD family. Furthermore, pin-to-pin propagation delay times can be had as low as 5ns, which might make this CPLD family suitable for use in a 100 MHz system.
_________________ Michael A.
|
Thu Aug 28, 2014 1:35 am |
|
|
mercury0x000d
Joined: Tue Jun 03, 2014 2:40 pm Posts: 127
|
Okay, I'll look into that family. Thanks for the info!
That got me wondering, however, how modern systems running at multiple gigahertz manage to decode their addresses! I mean, is there some other type of insanely high powered CPLD family they use now? Or is that a moot point since memory controllers are now integrated these days?
|
Fri Aug 29, 2014 1:49 pm |
|
|
MichaelM
Joined: Wed Apr 24, 2013 9:40 pm Posts: 213 Location: Huntsville, AL
|
I don't know for certain, but I expect that address decoding is a pipelined operation in most high performance systems. The latency imposed by this method is not an issue when non-cached operations are measured in hundreds or thousands of CPU clock cycles.
_________________ Michael A.
|
Fri Aug 29, 2014 5:21 pm |
|
|
mercury0x000d
Joined: Tue Jun 03, 2014 2:40 pm Posts: 127
|
Okay, so my microcontrollers came in, and I find out my programmer doesn't support them after all. Any suggestions on a reliable programmer?
|
Tue Sep 23, 2014 12:21 pm |
|
|
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1799
|
This is a long thread - please remind us what it was you bought!
|
Tue Sep 23, 2014 12:32 pm |
|
|
mercury0x000d
Joined: Tue Jun 03, 2014 2:40 pm Posts: 127
|
Oops... This is the one I got. Well, three of them, actually.
|
Wed Sep 24, 2014 9:01 pm |
|
|
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1799
|
That's PIC18F26K22. Are you thinking of buying a capable programmer, or building one? I found a couple of links: http://www.obddiag.net/picprog.htmlhttp://picpgm.picprojects.net/hardware.html
|
Wed Sep 24, 2014 9:21 pm |
|
|
mercury0x000d
Joined: Tue Jun 03, 2014 2:40 pm Posts: 127
|
Thanks Ed, but I decided to take an alternate route. I ordered a different microcontroller which is supported by my programmer. A lazy solution? You bet. It'll do just fine for the dev board, and hopefully my programmer will support the original MCU by the time I'm ready to start work on the real thing.
|
Thu Sep 25, 2014 1:51 pm |
|
|
mercury0x000d
Joined: Tue Jun 03, 2014 2:40 pm Posts: 127
|
Just checking in. I haven't forgotten about this project. Life has gotten a bit hectic, and it has become painfully obvious to me that I'll have to complete a couple of my software based projects before proceeding with this one, but I will return to this eventually. Since I was young, I've always wanted to code an operating system. At first, this was a simple DOS shell because that's all I knew at the time. Then, since I can never leave well enough alone when there's room for improvement, I decided to evolve it into a real 32-bit PC OS. Needless to say, this would be a major undertaking and - much as I hate to admit it - the likelihood of it catching on are about zero since we have Windows / Linux / MacOS out there these days. Even if the product did get made, it would have no beauty running on the ISA kludge which is the x86 processor. No, I think the 32 bit version needs to run on something sleek and efficient to produce a computer which - much like the original Macintosh - is a perfectly balanced mixture of software and hardware optimization. At least then I could say I achieved something. After all, nobody is going to remember a 32-bit homebrew OS in the already saturated PC market (which has mostly moved on to 64 bit code anyway), but a 32-bit homebrew OS running on all original hardware may make a memorable mark on the hobby scene. As always, forgive my rambling. I'll return to this as soon as I can!
|
Mon Apr 13, 2015 5:24 pm |
|
|
barrym95838
Joined: Tue Dec 31, 2013 2:01 am Posts: 116 Location: Sacramento, CA, United States
|
mercury0x000d wrote: ... but a 32-bit homebrew OS running on all original hardware may make a memorable mark on the hobby scene ... I'm stumbling (like a wounded mule) toward the same ultimate goal with my 65m32, but I have no idea if my efforts and abilities will be sufficient to complete it in my lifetime. Maybe the journey can be as emotionally rewarding as the destination? One can only hope ... Mike B.
|
Tue Apr 14, 2015 6:04 am |
|
|
mercury0x000d
Joined: Tue Jun 03, 2014 2:40 pm Posts: 127
|
barrym95838 wrote: ... Maybe the journey can be as emotionally rewarding as the destination? One can only hope ... ... I would definitely say so. Nothing beats those lucid moments where just as you are about to throw your hands up in frustration, the project comes to life and the design aspect/feature/addition/baby step you've poured so many hours into snaps to life. Those moments make it all worthwhile. As you've all undoubtedly noticed by now, my project is heavily influenced by the original Macintosh. In keeping with that fact, a never-ending source of motivation to me has been folklore.org. Reading the stories about how one of the greatest computers ever made came together and how the engineers' hard work and ingenuity paid off has been invaluable to me. The moral of the story: don't lose hope! History has shown us that regardless of their training (or lack thereof) small groups - even individuals! - can work wondrous computing magic.
|
Tue Apr 14, 2015 12:54 pm |
|
Who is online |
Users browsing this forum: CCBot, SemrushBot and 0 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
|
|