==== Logic Analyzer ==== Latest version NullSpace Logic Analyser Egg by charlie _x Acid FeCl etched for one minute after cnc mill to clean up burrs\\ {{:annalogic_etched-pcb-cleaned.jpg?400|}} Sharpied, tinned and then cleaned with iso\\ {{:annalogic_etched-pcb-cleaned2.jpg?400|}} Nullalyser = built and tested\\ {{:annalogic-built.jpg?400|}} {{:null_analyser.jpg?400|}} ==== Details ==== * 8 channels * 5V tolerant * High Speed USB * Some free software * Cost is currently about $28 each (Including all parts and PCB, excluding jumper wires to connect to device under test) * 4th revision of the board has been designed and verified. * 5th revision is laid out to be smaller and doesn't have the second 9 pin header * 6th revision is VFBGA muh ha ha ha ha [[AnnaLogicBGA]] ==== Software ==== * [[svn://032.la:6699/032/NSL_annaLogic|032 SVN Schematic and Board layout in Eagle]] * [[http://sigrok.org/wiki/Main_Page|SIGROK]] (you can find out what it is here) * [[http://www.usbee.com/download.htm|USBEE]] * [[http://www.saleae.com/downloads/|SALEAE]] * [[http://buglogic.robomotic.com/tiki-index.php|BUGLogic]] ==== Programming ==== Step: - Download [[http://www.cypress.com/?rID=34870|CySuiteUSB]] and install it, locallly cache copy {{:cysuiteusb_3_4_7_b204.zip}} - Edit the "\\Cypress\\Cypress Suite USB 3.4.6\\Driver\\bin\\wxp\\x64\\cyusb.inf" file - uncomment and edit the device id's into the proper section: * e.g. for 64bit windows 7: * [[Device.NTamd64]] *  %VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\\VID_04B4&PID_8613 - Plug in the AnnaLogic and go to the Device Manager, right click on the "Unknown Device", then "Update Driver Software". Force the driver found in the Cypress folder "\\Cypress\\Cypress Suite USB 3.4.6\\Driver\\bin\\wxp\\x64\\". - Sign the Driver using [[http://www.ngohq.com/home.php?page=dseo|driver enforcement overrider]] - Open up CyConsole and upload the new EEPROM file ==== Datasheets ==== * [[http://media.digikey.com/pdf/Data%20Sheets/Cypress%20PDFs/CY7C68013A,14A,15A,16A.pdf|Cypress CY7C68013A datasheet]] ==== BOM ==== Notes: Changed to 9 pin headers

**Part****Value****Device****Package****Description**
C112pFCAP08050805Capacitor
C212pFCAP08050805Capacitor
C31uFCAP08050805Capacitor
C41uFCAP08050805Capacitor
C5100nFCAP08050805Capacitor
C6100nFCAP08050805Capacitor
C7100nFCAP08050805Capacitor
C8100nFCAP08050805Capacitor
C9100nFCAP08050805Capacitor
D11n4148DIODESODSOD-323Diode
IC1CY7C68013A-56PVXCCY7C68013A-56PVXCSSOP56EZ-USB FX2LP (TM) USB Microcontroller
IC2LM1117 3.3VLM1117SOT223
LED1BlueLED1206LED-1206LEDs
Q124MhzCRYSTALTWO-PADTWO-PADCRYSTAL-SMD-TWO-PADCrystals
R34.7KRESISTOR0805Resistor
R44.7KRESISTOR0805Resistor
R50RESISTOR12061206Resistor
R7100KRESISTOR0805Resistor
R81KRESISTOR0805Resistor
R91KRESISTOR0805Resistor
SV18 Pin headerFE09-1FE09FEMALE HEADER
SV29 Pin headerFE09-1FE09FEMALE HEADER
U1MCP24AA32SOT23-5Microchip 32K (4K x 8) 1.8V I2C EEPROM
X1USBSMDUSBSMDUSB-MINIBUSB Connectors
==== NEWARK BOM (current) ==== [[http://www.newark.com/jsp/extlink.jsp?action=buy&product=64K2898~2~90R7762~2~38K1694~5~35K9698~1~19M7114~1~13B5343~1~75R0591~1~13J1723~1~59M6911~2~36C9806~1~01P2111~1~01P2109~2~62K0574~1~16M2760~1|Click to buy from Newark]] $18 [[http://www.cypress.com/?app=cart&action=add&itemID=961&type=2|Cheaper to buy Cypress chip from cypress]] If you buy it from cypress, make sure you delete it from the newark order! * Farnell/Newark BOM Quantity\tValue\tPackage\tOrder code\tManufacturer\tManuf. Code\tAvailability\tPrice (from)\tDescription
212pF080564K2898KEMETC0805C120J5GACTU41320.0070KEMET - C0805C120J5GACTU - CAPACITOR CERAMIC 12PF, 50V, C0G, 0805
21uF080590R7762C2012Y5V1C105Z/0.8559430.01TDK - C2012Y5V1C105Z/0.85 - CAPACITOR CERAMIC, 1UF, 16V, Y5V, 0805
5100nF080538K1694FARNELLGRM21BR71H104KA01L164940.043MURATA - GRM21BR71H104KA01L - CAPACITOR, 0805 100NF 50V CAPACITOR, 0805 100NF 50V
11n4148SOD-32335K9698VISHAY/TELEFUNKEN1N4148W-V-GS08609990.02VISHAY SEMICONDUCTOR - 1N4148W-V-GS08 - SWITCHING DIODE, 100V 150mA SOD-323
1CY7C68013A-56PVXCSSOP5619M7114CYPRESS SEMICONDUCTOR CORPORATCY7C68013A-56PVXC13010.22CYPRESS SEMICONDUCTOR - CY7C68013A-56PVXC - IC, 8BIT MCU, 8051, 48MHZ, SSOP-56
1LM1117 3.3VSOT22313B5343NATIONAL SEMICONDUCTORLM1117MPX-3.344680.479NATIONAL SEMICONDUCTOR - LM1117MPX-3.3 - IC, LDO VOLT REG, 3.3V, 0.8A, SOT-223-3
1BlueLED-120675R05915988210107F79000.041DIALIGHT - 5988210107F - LED, 1206, RED, 80MCD, 635NM
124MhzCRYSTAL-SMD-TWO-PAD13J1723Abracon CorporationABM3-24.000MHZ-B2-T27180.705ABRACON - ABM3-24.000MHZ-B2-T - CRYSTAL, 24MHZ, 18PF, SMD
24.7K080559M6911CRCW08054K70JNEA347500.0090VISHAY DALE - CRCW08054K70JNEA - RESISTOR, THICK FILM, 4.7KOHM, 125mW, 5%
10120636C9806VISHAY/DALECRCW12060000ZSTA600930.02VISHAY DALE - CRCW12060000ZSTA - RESISTOR, CHIP, JUMPER, ZERO OHM, 250mW
1100K080501P2111MCTF0805DTC1002142390.02MULTICOMP - MCTF0805DTC1002 - RESISTOR, THIN FILM, 10KOHM, 100mW, 0.5%
21K080501P2109MCTF0805DTC1001125490.014MULTICOMP - MCTF0805DTC1001 - RESISTOR, THIN FILM, 1KOHM, 100mW, 0.5%
18 Pin headerFE09unknown
19 Pin headerFE09unknown
1SOT23-562K0574MICROCHIP24LC00T-I/OT18950.19MICROCHIP - 24LC00T-I/OT - IC, EEPROM 128BIT SERIAL 400KHZ SOT-23-5
1USBSMDUSB-MINIB16M27601734035-1168090.596TYCO ELECTRONICS / AMP - 1734035-1 - MINI USB TYPE B CONNECTOR, RCPT 5POS SMD
==== Build ( Version 1 ) ==== * Step 1. Add the Cypress chip. Add cypress chip add the cypress chip, orientate, align pads, tag one pin on one corner, recheck alignment, tag opposite diagonal corner, recheck alignment, fix if moved, once its square tag other 2 corners then lay a line of thing solder paste across the pins and solder one leg at a time. Lots of flux. Use a line of very thin paste over the pins, close to the bend, then put the iron between the legs and hold it for about 3/4" of a second, give the chip some time to cool down, so do 4 sets of pins, let it cool, then another four. The larger blobs of solder are partially because of the camera, i use the ground plane to remove excess solder from the tip of my iron as i work, this helps to reduce bridging. Obviously this only works when there is no solder mask, use a scrap piece of copper or a sponge instead. * Step 2. Add 0805 R10K R7 resistor DSC00325 * Step 3. Add 0805 1K R8 resistor DSC00326 * Step 4. Add the 1uF 0805 capacitor C3 DSC00327 * Step 5. Add the C6 0805 100nF cap. Add C6 0805 100nF cap * Step 6. Add the 0805 C9 100nF Cap DSC00329 * Step 7. Add the 10uF electrolytic cap, orientation matters DSC00330 * Step 8. Add the 0805 1K resistor R9. DSC00331 * Step 9. Add the 1206 LED, orientation matters use a diode check on a multimeter to check the polarity of the LED DSC00332 * Step 10. Add 0805 4.7K resistor R4. DSC00333 * Step 11. Add 0808 4.7K resistor R3 DSC00334 * Step 12. Add 0805 capacitor 100nF C8. (This moves on the final revision of the board) DSC00335 * Step 13. Add the C7 0806 Capacitor 100nF DSC00336
* Step 14.
Add 0 0hm 0805 resistor R1.
DSC00337 * Step 15. Add AT24C128 Chip, orientation matters, dot goes towards middle of board. Use preprogrammed chip DSC00338 * Step 16. Add 20Ohm 080 resistor R6 DSC00339 * Step 17. Add 20 Ohm 0805 resistor R5 DSC00340 * Step 18. Add 12pF 0805 capacitor C1. DSC00341
* Step 19.
Add 12pF 0805 capacitor C2
DSC00342 * Step 20. Add 0805 100nF capacitor C5 DSC00343 * Step 21. Add the 24MHz XTAL Q1. DSC00344 * Step 22. Add the 3.3v LM1117 regulator IC2 Add 3.3V regulator * Step 23. Add USB and header Nullalyser = built and tested And you're done ==== Debugging the Design ==== Later versions of the software stopped working with most of the designs out there. Initially we looked at the I2C/SPI EEPROM contents by attaching it to a breakout board and reading it. After tracking down the chip type ( knowing its an small i2c/spi EEPROM with a SOT-23-6 package). So after plugging it into a chip reader and checking the results. It showed the chip repeated the VID/PID plus some extra data, after changing the chip type that wasn't the issue. Then we looked at the _RESET line. USB wants the reset to be at least 5ms but no longer than 500ms. I used a 10uF capacitor, so we dropped that down to 1uF but left the resistor alone, that didn't change things other than make the USB more flakey on hub's and other PC's ( propagation delays). Most chip manufacturers have reference data sheets ( See Link #1 below ) and a schematic design rule check. It specifies 12pF each for XTAL starting caps, and not to use any resistors at all on the USB. So those are the changes we'll make next. I'm leaning towards it being a chip reset/boot time problem.The resistors probably aren't causing this, but we'll change them out anyway and look at the results Next step is to change the resistor/cap on the reset line and look at the reset line with a logic analyser, yes we're using the same device to debug itself ! After some pondering, another issue might be that the discharge time on the capacitor on the _RESET line, when power off ocurrs ( possibly during the firmware upload) the cap will slowly discharge, if the discharge time isn't faster than the time for the power to cycle ( has to to drop below logic 1 voltage) there will be no reset. Adding a diode across the resistor will cause the cap to discharge very quickly We removed the whole reset circuitry from the original, no difference. So next step is to swap the cypress chip with a new one.With a logic analyser we determined the problem! ==== Links ==== * [[http://www.cypress.com/?docID=19501|Cypress base schematic]] * [[http://www.analog.com/static/imported-files/Data_Sheets/AD9283.pdf|Potential ADC]] * [[http://www.allaboutcircuits.com/vol_4/chpt_13/1.html|ADC circuits]] * [[http://www.cypress.com/?rID=34870|EEProm programing software]] * [[http://www.seeedstudio.com/depot/open-logic-sniffer-probe-cable-p-619.html?cPath=178_180|Patch cables]] ==== Success ==== - Tom1 aww yeah - Peachy - [[CHS]] - [[Charliex]] - [[Krs]] - Spamsickle - [[Mmca]] - [[Krs]] - [[Mmca]] - [[Datagram]] - [[Arko]] - [[blakangel]] (first smd soldering experience, gluten-free solder) - Your name here ==== How to Test Sign a driver ==== [[Test Sign]]