Electronics:
(Sub-section
|
|
CRC332 Motherboard
![]() Click to Zoom In |
based platform designed specifically for small embedded robotics and motion control. This baby packs reasonable processing power as far as low end embedded processors go. For more details I suggest that you read the Seattle Robotics Society 'Encoder' article titled, 'Three processor platforms presented'. Back in the day I sold these embedded controller boards for awhile but gave it up after selling 62 in just a few short months. Too much work, and too little time to play with the robots!
Want to learn more? In addition to the rest of the information on this page, I have written a few articles for the Seattle Robotics Society's online magazine the Encoder. Click the read more link to the right which will take you to one such article.
embedded 32-bit microprocessor, cpu-32 core product.
5v 8bit flash.
5v UV-EPROM 64K x 8
512K x 8 static RAM.
Power and reset monitor.
with integral switch mode capacitors.
Complex Programmable Logic Device (CPLD).
Nonvolatile battery RAM controller
8 channel multiplexed AtoD converter.
switched capacitor power inverter.
real time clock calendar IC.
CRC332 Main board Schematics are provided below:
![]() Schematic |
![]() Files Section CRC_Boot_Code |
I used to sell these commercially. I sold 62 in 2.5 months but then got burned out on all that soldering and assembly work. Anywho, there are just a few bare PCB's left that I'd be willing to sell for super cheap. If you want to make your own the artwork files are provided to the left, although those that I offer are silkscreened & solder masked. Anywho, check out the PCB, left.
332_Tutorial(346K)
68332_Users_Manual(1,508K)
CPU32_Manual(1,468K)
SIMRM_Manual(1,169K)
TPURM_Manual(769K)
GPTRM_Manual(448K)
QSMRM_Manual(1,299K)
![]() CRC332 Prototype: Click Image for Larger View |
CPLD, I decided it would be best to build a prototype version first before investing in production quality boards. The board to the left is just that. Click on it for a close up view, it's kind of cool to see that many traces on only two layers. The board itself was fabricated at AP-Circuits (there is a link at the bottom of the page) however the production versions that I sold were done by Advanced Circuits in Colorado (link also at the bottom of the page). The final versions had solder mask, solder paste and silk screening on both sides which was so crucial for assembly. In this prototype I put as much text on the copper layers as possible without shorting things out. Look close, it's there and while you are at it, just count all those through holes! Yup, there is a penny per hole fee and when you've only got two layers to play with, that adds up pretty quick. Advanced Circuits has no hole count limitations and I highly recommend their services.
This circuit card is highly noise emissive. It opens up the squelch on my 2-meter radio around 155MHz or anywhere close to the 7th or 5th harmonic of 22.1184MHz. The traces are in dire need of termination and a ground place for efficient energy return. Given that the traces terminate into an expansion connector, the last link in the point to point routing ends in a high-impedance. (yes, a true no-no in layout). Of course I didn't learn these rules until many years later. The routing is the easy part. Designing for immunity (RS) and lower emissions (RE) is were the art really lies. Back in the day when this work was completed, I naively believed the work was in the connectivity.
... BDM Stuff ... |
BDM Startup Script: | |
|
![]() BDM Schematic 1: ![]() BDM Schematic 2: |
I get lots of questions about how to start things off. the BDM code to the right is a good starting point of reference. This is the basic system chip configuration I used to test the CRC332 boards. It sets the basic registers and configures a few chip selects so that code can be loaded into RAM and executed.
![]() BDM Software |
... Assembly Stuff ... |
Here's a quick look as to how it looks before it goes into the oven
One of the wonders of this board is it's ability to interface to a large number of different end items through it's reconfigurable CPLDs. The code below can be used on the second CPLD to implement a generic Peripheral Interface Adapter (PIA) inciting much like an 8255.
|
When configured as a PIA, the portion of the schematic for the second CPLD then looks like the following:
The two 8 bit ports (PA & PB) clearly visible in the schematic are re-programmable on a port (8-bit) by port basis w/respect to their configuration as an input or output.
![]() Lattice Web Site: |
|

This tiny little PCB, (pictured, right), was used in conjunction with the header pins connected to the CPLD to facilitate connection of a spare crystal oscillator. In the image the outline of the oscillator, decoupling cap and series 22-ohm resistor have had their outlines darkened to delineate. On the far side of the header pins, the extra 5 signals are run to spare plated vias to simplify access.
And finally, the footprint for the finished board. Yep, there is a lot packed in there :)
|