DIY-Calculator Hardware:Hardware Project
From DIY-Calculator_Hardware
Revision as of 17:15, 3 April 2007 Hzulu (Talk | contribs) ← Previous diff |
Current revision Hzulu (Talk | contribs) |
||
Line 1: | Line 1: | ||
[[Image:Blockdiagram.jpg|thumb|left|Blockdiagram]] | [[Image:Blockdiagram.jpg|thumb|left|Blockdiagram]] | ||
- | The layout will somewhat resemble the layout of the (virtual) DIY Calculator with an 20x1 character LC display and a 70 keys sensor key matrix. Additionally there are connectivity means for a host PC: | + | The layout will somewhat resemble the layout of the (virtual) DIY Calculator with an 20x2 character LC display and a 73 keys sensor key matrix. Additionally there are connectivity means for a host PC: |
* Serial (RS-232) for uploading user programs and providing a console to the DIY Calculator CPU | * Serial (RS-232) for uploading user programs and providing a console to the DIY Calculator CPU | ||
* A JTAG programming connector; this connects to the PC's parallel port and enables the user to load new designs into the FPGA | * A JTAG programming connector; this connects to the PC's parallel port and enables the user to load new designs into the FPGA | ||
Line 11: | Line 11: | ||
<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (2.Apr.2007): | + | '''Project status''' (Apr, 2nd 2007): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 26: | Line 26: | ||
<div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (14.Dec.2006): | + | '''Project status''' (Dec, 14th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 38: | Line 38: | ||
<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (28.Nov.2006): | + | '''Project status''' (Nov, 28th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 55: | Line 55: | ||
<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (24.Nov.2006): | + | '''Project status''' (Nov, 24th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 82: | Line 82: | ||
<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (16.Nov.2006): | + | '''Project status''' (Nov, 16th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 98: | Line 98: | ||
<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (15.Nov.2006): | + | '''Project status''' (Nov, 15th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 118: | Line 118: | ||
<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (11.Nov.2006): | + | '''Project status''' (Nov, 11th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 127: | Line 127: | ||
<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (9.Oct.2006): | + | '''Project status''' (Oct, 9th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 136: | Line 136: | ||
<div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (31.Aug.2006): | + | '''Project status''' (Aug, 31st 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 147: | Line 147: | ||
<div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (13.Aug.2006): | + | '''Project status''' (Aug, 13th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 168: | Line 168: | ||
<div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (7.Aug.2006): | + | '''Project status''' (Aug, 7th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> | ||
Line 180: | Line 180: | ||
<div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | <div style="background:#f9f9f9; padding:0px; border:1px solid #aaaaaa; margin-bottom:15px;"> | ||
<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | <div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;"> | ||
- | '''Project status''' (19.Jul.2006): | + | '''Project status''' (Jul, 19th 2006): |
</div> | </div> | ||
<div style="padding:0.2em 0.4em 0.2em 0.4em;"> | <div style="padding:0.2em 0.4em 0.2em 0.4em;"> |
Current revision
The layout will somewhat resemble the layout of the (virtual) DIY Calculator with an 20x2 character LC display and a 73 keys sensor key matrix. Additionally there are connectivity means for a host PC:
- Serial (RS-232) for uploading user programs and providing a console to the DIY Calculator CPU
- A JTAG programming connector; this connects to the PC's parallel port and enables the user to load new designs into the FPGA
Project status (Apr, 2nd 2007):
Project status (Nov, 28th 2006):
A new cycle of prototyping started.
After very careful inspection of first prototypes, at least as far this was possible, all layout changes are made for the new prototyping cycle - hopefully this time we'll have more luck...
Schematics:
Layout:
Project status (Nov, 24th 2006):
Assembled FPGA board (very first version) finally arrived.
Good and bad news...
Good news first: We've got the board finally - almost everything works as supposed.
Now the bad news:
FPGA does not work!
I've made two mistakes - T1 (in JTAG chain) has drain and source the wrong
way around - this is not really bad because I can fix it just for these
three samples.
But the second one is quite fatal - VCCAUX on FPGA should be wired to 3.3V instead of
1.2V. As those voltages are on inner layers and under the BGA, there is no
way to get this fixed. I could manage to disconnect it from 1.2V but FPGA
doesn't start configuration when one of the voltages is out of specs.
Anyway, attached picture looks nice - I'll put down my "Picasso" at home and
hang this up instead - it's almost as expensive :-)
Project status (Nov, 16th 2006):
Work on FPGA Board revision is finished.
Schematics:
Layout:
Thanks to Johannes' genious "SPI flashcontroller", userdata can be permanently stored in the sparespace of FPGA's Serial Flash. This obsoletes all the PROM/RAM socket stuff. A 128kx8 SRAM has been added instead. At boottime, userdata is restored from SPI to RAM and the Monitor starts execution. Nowadays, 128kx8 SRAM's are the smallest available. This is actually twice as much the DIY CPU can address. Therefore an extra address line (A16) is added and can be used for future expansion.
Project status (Nov, 15th 2006):
Work on keypad revision is finished.
Schematics:
Layout:
After successful tests with prototype, we now changed throughhole components to SMT. Silkprint was added and 16 spare signals from FPGA board are now tied to testpoints, for better usability as a generic FPGA prototyping environment. Circuitry for switching LCD backlight was added (see new schematics).
Due to very poor availibility of the previously planned LCD Display, we decided to choose a "more common" 2x20 type. This display is manufactured by a lot of different vendors. Later, the LCD controller inside the FPGA, will be extended to adress the extra line - most probably a new I/O port for the CPU will be assigned for this purpose, to maintain compatibility to the Virtual DIY Calculator.
Redesign of FPGA board is in progress...
Project status (Nov, 11th 2006):
During the past weeks a lot of things happened at the software side (see Upload_Utility_Project). This happened just in time, since we expect the first pieces of the real DIY Calculator hardware for next week. So stay tuned, this section will soon have great news and exciting pictures!
Project status (Oct, 9th 2006):
New LCD module tested and integrated. The originally planned 20x1 LCD module is hard to get, so we evaluated additionally 20x2 types (this mainly has impact on the mechanical hardware design).
Project status (Aug, 13th 2006):
Prototype PCB layout completed. Here are the "final" schematics:
keypad mechanics:
and the layout:
Test of sensor keypad is in progress.
Project status (Aug, 7th 2006):
Project status (Jul, 19th 2006):
schematics completed, PCB layout work started
- preliminary Schematics