EPA Jon Persinger Jonathan Snyder Devon Dallmann Henry Au-Yeung Khushboo Verma Hardware System diagram 12V 3.3V Power Regulation 3.3V 1.8V 5V, 10Apeak 5V Hardware Debug 4x4 Test Pin ready interrupt TMS4 70R1 A256 Compact Flash Get pic button 256k Flash 12k RAM CPLD Send data via SPI State Machine 17 control lines Driver Circuit 16x16 Solenoid Array Compact Flash •Non-proprietary •Has built-in controller •Operation in PC Card Memory Mode; FAT16 format •Operates in 16-bit mode Processor •Operates 24 MHz •256K on-chip Flash (image processing requires lots of space) •12k on-chip RAM •Use of Rowley CrossWorks and CrossConnect for programming and compiler •Olimex Dev Board •Open source code available for ARM7 architecture •Use of two High End Timers (HET) for PWMs •Built in SPI controller •Provides enough IO for Compact Flash communication in 16-bit mode Controls Schematic Driver •Verification of Driver circuit shown during PDR was completed successfully. •The addition of a dead time circuit was necessary in order to prevent the reverse current circuit from shorting the supply rails. •The layout of this circuit is shown here. Reverse Current CKT CLMN Select CKT CPLD Solenoid Drive Schematic PCB Layout •The PCB is a 4-layer 6.5” x 6.5” board with 2oz copper on signal layers and 1oz on internal layers. •Logic and current carrying grounds are isolated via a split ground plane. •Power planes are split to limit the current loops to the drive circuit per row. •A temporary hardware debug section including manual switches to control a 4x4 binary grid without the processor and CPLD. •High current traces were routed with copper pours and planes to allow for low voltage drops. FPGA vs CPLD CONS 1. 2. 3. CPLDs do not have to be reprogrammed at every power up (they are static memory not dynamic, a FPGA is programmed and loses its memory when the power goes off). So we'd have to add some sort of PROM (which Xilinx does sell and it's pretty cheap) to program a FPGA at every power on FPGAs are only 2.5 and 3.3 volt compatible, not 5 volt, so we'd have to use step up and step down converters. CPLD is 5 volt compatible 9500 series CPLDs hold their data for at least 20 years, and reprogramable 10,000 times PROS 1. CPLDs cost more than FPGAs (cheapest Spartan III is $10 and has more gates in it than the 95288, which is $50) and have less gate space 2. CPLDs have ALOT worse timings than FPGAs, their setup and hold times are a lot longer, the gate delay is longer, the pin to pin delay is longer (all by about a magnitude of at least 10) 3. FPGAs typically come in smaller packages than CPLDs 4. In a CPLD programming is restricted to function blocks and macro cells, in an FPGA it is not (layout is more efficient in an FPGA) FPGA Simulation/Timing Diagram Solenoids •1000 turns allows for 5v operation which will yield an RMS current of 225mA with a peak current of 500mA as shown here •The solenoids are constructed with 30AWG copper with a standard enamel coating •The inside diameter is 0.08inches with an outer diameter of 1/4inch •MagneLab will construct 256 coils at a cost of $500 USD. •Essentially no coil temperature increase, even if left on. RMS I pk Duty 0.5 500mA 225mA 3 3 Image Processing and Code • • • Use C++ for Image Processing instead of MATLAB Cimg.h image processing library/Imagemagik (JPEG images) Algorithm for Code • • • • • • • Load BMP, JPG, PNG images etc Obtain color map for the image Scale the image Use formula to calculate the intensity of each pixel Translate intensity level evenly for the required height levels for the pins • Obtain the x and y values for each pixel and store these along with the corresponding pin heights Code currently loads a BMP image and plots the intensity for the pixels • Compiled executable code size 800KB--Too Big! • Customize Cimg.h, discard unused functions Compile the C++ code using CrossWorks ARM7 Compiler to convert it into Assembly Power •120VAC/12VDC, 60W Adapter •Step down converters (12V/5,3.3,1.8V) •5V rail needs to supply 10A (50W) (Buck regulator) •3.3V can source up to 1.5A (Buck regulator) •1.8V rail (LDO regulator), external cap ESR is critical Responsibilities •PCB—Jonathan •CPLD/Verilog—Devon •Processor—Jon, Henry •Board Population—Henry, Jonathan •Image Processing—Khushboo, Jon •Solenoid Housing—Jonathan •Documentation—Everyone •Driver Circuit—Jonathan, Henry Milestones Milestone I: 1st pcb board assembled and debugged; hardware able to display image via switches; ability to read from Compact Flash Milestone II: 2nd pcb board assembled and debugged; processor/code will be stand alone; first draft of user’s manual; majority of technical reference completed Expo: Processor reading images from Compact Flash, formats it, and sends to CPLD; possible extras Costs Total project budget: EEF Request: $1617.69 Outside funding: UROP 24 Test Solenoids Use of CNC machine in ITLL Amount $900 $75 FREE Item 4 Layer PCB Revisions 1 and 2 Perf. Board Processor (x4) Development Kit Custom Solenoids (x256) Magnets (x550) Compact flash Card 128mb Power adapter 5V,12A Total Cost $200 $20 $57.64 $399 $500 $50 $15.90 $36.96 $900 Part Number N/A 8.5”x8.5” TMS470R1A256 TMDS-FET470R1B1M Made by: Magnelab, Inc Neodymium Iron Boron CF128 (Kingston) DTS120500U Components for buck regulator $200 Power Supply and control circuitry N/A Pin Rig – Plastic Pin Rig – Plywood Pin Rig – Foam Pad Pin Rig - Plexiglass Pin Rig – Nuts/Bolts/Spacers $30.28 $7.49 $3.49 $1.00 $10 8lb High Density Polyethylene 3/8” x 2” x 4” 1’ x 4.5’ 6.5”x6.5” N/A Shipping Costs, misc. and taxes $50 Total: $1617.69 Risks •Processor Issues •Acquired compiler/assembler/programmer this week •Very limited software support •On chip flash hard to work with •Power converters/regulators •Code Optimization •Image processing may not fit into on-chip FLASH •Magnetic Problems •Increase solenoid spacing or •Downsize 8x8 Array Questions