I had a customer that ordered 6 PICs as samples from MicroChip, and not=20 one of them would oscillate at 20MHz. Really threw me for a loop when=20 the boards were built and none of them ran. Kerry Philip Pemberton wrote: > Here's a strange one... > > I've just built five DiscFerret () boards.=20 > All four were built using Multicore LF318 paste in a reflow oven. Peak=20 > temperature was 240C, checked with a K-type thermocouple. The reflow=20 > profile was Kester's "standard Lead-Free profile", which matches one of=20 > Multicore's standard profiles (although the datasheet implies that it's=20 > hard to screw up the reflow profile for LF318). > > All the parts on all the boards are REV 0x03 (as reported by my=20 > PICKit2), which (it seems) would make them Rev A3 or A4. Date codes are=20 > as follows: > 07374AT -- fitted to two working boards > 1028YWW -- fitted to one working board and two faulty boards > > All boards are running my variant of Microchip's HID bootloader, and the= =20 > same firmware revision is loaded. > > > My ATE tests run a bunch of tests on the FPGA-to-PIC comms link: > 1) PIC =3D> FPGA Comms > The PIC uses two I/O pins (RE0 and RE1) to communicate with a small > shift register / FSM on the FPGA. This FSM latches the state of the > other ten FPGA I/Os, then feeds this data back to the PIC over a > two-wire "SPI-like" link. The PIC reads 23 bits: 20 zeroes, a one, > then the 10 data bits. > > 2) FPGA =3D> PIC Comms > The PIC uses the same two I/O pins to shift data into a shift > register on the FPGA (it's a different config bit-stream). The FPGA > dumps this data onto the ten I/O lines, then the PIC reads the > state of the pins. > > 3) PMP Data Bus Test > The PIC is remotely reset, forcing re-enumeration and Parallel > Master Port re-initialisation (tests 1 and 2 disable the PMP). > The FPGA is reprogrammed, then the PMP is then used to read two > FPGA registers: FIXED55, which always returns 0x55, and FIXEDAA, > which always returns... (drumroll please)... 0xAA. > There's also a Scratchpad register to which the PIC can read and > write (this is part of the Data Write test). > > > Here's the issue. Tests 1 and 2 pass on all four boards. If I shove a=20 > piece of wire between a pin and ground, I get a FAIL on whichever test=20 > is running at the time. This is good... > > > Problem is, only two of the four boards can actually communicate with=20 > the FPGA using the PMP. The other two always return a value of 0x00 when= =20 > reading FIXED55 and FIXEDAA. > > > Can anyone think why the PMP might do this? > > > The code is online at . Click=20 > "files" to get the file list, then the "file" link next to a file to=20 > view its contents. Almost all of the interesting code is in=20 > HardwareProfile.h and main.c; the rest of the code is the Microchip USB=20 > Framework. > > I'm starting to think "defective chips", but these were new-out-of-tape,= =20 > ordered via Microchip Samples to replace three others that were DOA...=20 > (doesn't bode well, does it?) > > Thanks, > =20 --=20 Internal Virus Database is out-of-date. Checked by AVG Anti-Virus. Version: 7.0.289 / Virus Database: 267.11.13 - Release Date: 10/6/05 --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .