GenBoard/VerThree layout changes, going towards v3.3
Developers use this page to take notes and lock the binaries for editing when there is developement, such as a new release.
This page is for onboard circuits and layout; New ways of using the board belongs to GenBoard/UnderDevelopment/FirmWare or their own topic (or OtherUses maybe).
- layout TODO - sending in new manufacturing batch is close
The v3.2 quality is awesome. We just want very minor adjustments, and make sure not to break anything.
Significant change - thinking out loud
While this would cut down some manual work at assembly, it could cause problems with logistics, and there is some risk of unforeseeable effects.
- change to DPAK FETs and IGBTs aint work well with alubos
- it must be verified how much heat we can drain through an Al plate touching the back of the DPAKs (interesting for VemsFrontier/ArmEfi as well)
- pushing the Al plate against the DPAKs (mounted on the bottom of the board) is possible (not even hard), but this would mechanically stress the PCB unless we apply force from the top
- however this rules out the chance to put 2 v3 units into the same Alubos case. A hole on the left side of the PCB, appr. around the MCP3208 would fix this too
Locking:
Files are stored in the developer file thingie and we all know the locking procedure.
As always: Not obeying the filename convention will result in lost work or extra work to find out what's going on.
UnLocked genboardv33_r250_jk.zip
Todo:
- consider freeing the AVR ADC channel from TPIC8101. We'll never use the HIP9011 chip, and the reading through SPI makes so much more sense (I wonder why they provided this analog output in the TPIC8101 at all). Looks like no boardspace can be freed by this, especially no space that could be used for anything useful.
- consider dropping the L1,L2 small inductors between AREF and VCC and AVCC
- maybe add a separate 78L05 for the PS2 keyboard - looks like a good idea
- consider raising ign259 supply
- maybe by adding a diode under 78L05 GND. BAV99 (3pin) preferred to SOD80
- or is there a 5.5V or 6V 78L06? that would be nice. Maybe buy 74AHCT259D (or TSSOP that we'll use anyway) for ign259 and drive from 6V
- DONE 150k series resistor in series with c38 to push down LM1815's adaptive arming threshold. The current circuit does the job almost as good as if the resistor was only connected to c38 - but the layout is nicer.
- DONE (TODO: check there is no overlap with other parts, eg. a 1206 cap.) Adding an SMB footprint transient protection diode parallel with the big one. The SMB could be 20V (populated in factory) while the big throughole 18V (manually populated, if at all)
- add flyback to WBO2 FETs. The near-EC18 DPAKs (DRIVE_A, DRIVE_B) are likely to be used for WBO2 heater in the future, so these can be useful for many tasks.
- add 1..2 18..20V SMB transient protection diode from flyback path to GND5. It could protect from non-PWM-ing abuse, and prove the user-error (not connecting flyback) for PWM-ing abuse (maybe it would save the FETs to, but keep injectors powered when ruined - it gets shorted).
- DONE add a drill for flyback airwire
- consider 47k pullup for TPS (makes idle or WOT switch easy, and simple to detect unconnected TPS)
- DROPPED: rotate MPX4250AP MAP sensor clockwise 10..15 degrees. This makes it easier to mount the hose in the standard way (connector between EC18 and EC36) and less stress on the sensor nipple. This sacrifices the bottom VEMS logo.
- Make a small simple MPX6400H daughterboard that is standing perpendicular to the PCB, supported by 3..6 throughole pins and some hotmelt glue. The MPX6400H is partially supported by the 5x3 mm hose (not the softest type).
Trigg2 input:
The somewhat strange layout of the trigg2 input is choosen to support the propriatory InputTrigger/AudiTrigger.
- connect the Audis VR TDC reference directly to the (secondary trigger's) LM1815 * connect Audi's CAM_HALL home signal to the trigg2 input
The conditioned VR signal and the HALL signal reach the MCU on the same (IC3) pin, as a "wired AND" gate: the HALL input will short (~mask out) the output from the LM1815 chip when they occur at the same time (yes, this is legal).
The VR TDC pin and the Hall Home signal occur at the same time every other revolution:
- the HALL goes low
- conditioned VR (LM1815 "RPO" output) goes high for a short (RC=64usec) time after the trigger high->low 0-crossing transition.
CAN transceiver: postponed
We'll probably make a CAN version later (S259_EN change effects firmware!), but we want v3.3 board v3.2 compatible from firmware point of view.
The CAN version will require it's own compiled firmware version because of the uC version change (that's OK, CAN justifies it). Supporting a 3d, intermediate firmware version with still atmega128 uC but the changed S259_EN is not feasible.
MCP2551 (compatible with others, such as AT6660) for networking between upcoming display and sensor boards
- pretend the atmega128 is at90can128 (we'll populate 100 atmega128 and 40+ at90can128 in v3.3 series) and wire for real CAN. This allows talking to big boards like v3.3, all ARM and everything except lowend. The below would be fake-CAN (CAN on physical layer, UART on link level), that would be good to talking 115200 to lowend (ATMEGA88 based) boards.
- DROPPED: replace DS2480B with differential transceiver (MCP2551). This means the not-so-many Ibutton users use v3.2 or connect the Ibutton indirectly, through a small atmega88 board like VemsFrontier/MiracleBoard with DS2480 and a differential transceiver)
- DROPPED: or replace max232 with smaller max3311 to gain space (only 1st UART can talk RS232, the 2nd cannot: this makes sense)
- DROPPED: or steal some of the top GND area (the SMB transient diode saves some space compared to the old thrughole) and add differential transceiver (MCP2551 SOIC8). That leaves 3 choices for 2nd UART: RS232 (MAX232) or 1wire (DS2480B) or differential (MCP2551): naturally only 1 usable at a time. A bit too flexible.
Plan was to make v3.3
- appr. 100 pieces with atmega128 (chips we already have)
- DROPPED: 40+ at90can128 (that we buy).
- pin14 and pin17 changes: it seems that timer2 and timer0 naming was just swapped (god knows why). Since we use them for very simple 50% and n% PWM outputs for wbo2 nernst pulsing and injector PWM-ing, there is no doubt it will work
- BODEN gone: in fact at90can128 has a more flexible brown-out-detector, check BODLEVEL
Firmware recompile (different released binary) would still be needed for the CAN uc.
Look for AVR096 at atmel.com (doc4313) and the datasheets for more info.
Done:
- DONE! short C44 and C55 (those with lame EGT sensor can cut it - very rare) Not enough, the EGT implementation is a bit broken on all previous boards and will have to be revised. -Jörgen
- DONE in 247: Make preparations for propriatory audi trigger.
- DONE in 246: Add filter to Hall input (effective together with the internal HW noice canceller of the AVR)
- DONE in 246: Remove C44 and C55 from the EGT chips and hardwire the GND pins to V- instead. (This was a minor fuckup on v3.0-3.2 Was easy to jumper the capacitors to fix though.)
- DONE in 246: Add series resistor between C38, C40 and pin7 of their corresponding LM1815 chips. (lowers the arm threshold a bit.)
- DONE: move the 0805 cap between main regulator and transient protection diode (not breaking solderpaste mask, not populated anyway: we just close it's old pads-window). (DONE with the small change near MCP3208)
Dropped
- Consider a short run of v3's with DPAK switches instead of the through hole variants, can be manufactured with the Prototype Lambda boards to keep cost down.
- Change to DPAK IGBT's and FET's
- Add Schmitt trigger to Hall inputs (RC and the internal HW noice canceller of the AVR seem to be enough)
Manufacturing preparations - basically as before
We dropped the idea to transfer the files to the PNP machine fully digitally
- we just transform our cordinates to their like, (which means 1/100 mm resolution, referenced from the fiducial point)
- we print list-top.txt and list-bottom.txt (not unified top-bottom as in list-pnp.txt): they type coordinates into their machine, still faster than doing the teaching fully manually from the drawing. Appr. 180 0805 components...
- the BAV99, SMB diodes and chips need special care anyway.
- teaching will take just 215 * (50 sec instead of 120) this way
Picknplace related TODO
- mount all 16 SMB GenBoard/Manual/DDFlyback diodes in factory for 0.7V + 0.7V flyback
- R154
- 10uF 1206cap at LCD supply
- R1,R2,R3,R4,C1,C2 Missing and need to have values set (knock)
- R112=2k4 for -8V on the LCD header (actually it only makes appr. -3.4V possible on Jason's LCD, but that's enough)
FINAL TODO:
- DONE: min drill size=16 (at some places - namely on VCC and GND the DRC complains, near AVR; these need to be neglected).
- add VEMS logo (prolly blue, next to PWMing resistors)
- place the small 12 width ("shorting") wire between GND and AGND where they are neighbors
- check solder-protect layer (should be OK)
- drc (without VEMS logo). 2 airwire and minor width and keepout at some point is known.
- make gerbers
- send in (Marcell)
somewhat later (after gerbers sent in):
- review values, prepare assembly (update bin/categories.pl and categories.txt )
why change?
v3.1 is very nice, and works very well. However stock is very low now, we should manufacture at least 90..105 v3.2 very soon: I already got the last pricy components for v3.2.
- some changes (no time to do these for v3.2 so remains for v3.3 as it seems) are induced by the possibly shift to the GenBoard/VerThree/CustomCNCCase
visibility of CAD files
Note that after GenBoard/VerThree stablized, there was a little change in eagle files visibility:
The schematics are on GenBoard/Manual/InitialTesting/VerThree (the PDF is searchable by component name), but the eagle is only used by the developers.
One can ask (eg. sometimes those who buy v3.x from WebShop ask).
Eagle version
Note that eagle 4.11r2 cannot open the file (complains about damaged file or something..), and eagle4.11 is not on cadsoft download site any longer. Someone uploaded a
- [ eagle4.11e Linux RPM] that is originally for redhat/suse, but I installed successfuly on Debian GNU Linux with the help of alien package
- [eagle4.11e win32]
- Working Cadsoft Links
[German 4.11 2003] |
[English 4.11 2003] |
v3.0 => v3.1 was mostly cosmetics, but the better clearance and the SMD inductors made the board nicer to work with.
Note that with r245 we started v3.3. Some tiny PCB changes - the unused fill-lobes were cleaned. You should start from recent v3.1 when populating sections, and only check layout on r176 when you find components missing from v3.0 (rare)
Preparations for 3.3 with surface mounted switches.
Unfortunately I have no internet connection when I write this. It's based on my local datasheets and paper literature.
You probably missed discussion about this: GenBoard/VerThree/CustomCNCCase
Let's continue here: GenBoard/PowerSwitcher
Ignition:
There is ignition igbt's in DPAK and D2PAK formats, DPAK seem a bit uncommon but ISL9V3040 is available as TO220, DPAK, D2PAK and TO262AA(TO220 with SMD flange).
There may be a problem with distributor application with surface mount IGBT's. An coil on plug application or waste spark application distribute the load and heat over several IGBT's. We may want to make room for one or two hole mount IGBT's for these applications.
If someone want to use the ignition fets for other applications a hole mount diode can be soldered from drain to vbatt to provide a low voltage flyback. Rare case, no need for us to bother. Let em hack. We only add flyback option where there is enough space (actually, there is space on the top side).
Injection:
I didn't find any DPAK FETs, but no worries, I only had two or three FET datasheets here while I had a bunch of IGBT data sheets. I'm sure that there is a ton of suitable FETs in DPAK package.
Provisions for flyback diodes is a must. I would like room for FAT hole mount components. I disagree. The FlyBack from SMB footprint diodes (and no resistors) work very nice. If someone wants PWMing and high voltage at the same time, he can do it with some external diodes. No need for throughole. That would partly kill the benefit of going to SMD-switches.
Do we want to add short circuit protection? I don't think so. (later, with the ARM: using similar circuitry as the 8 channel EGT).
Misc and Heater fets:
Only diode flyback. Short circuit protection?
D2PAK is a tight fit. It will probably work for IGBT and FET at the same time if we drop redundant components.
DPAK save a lot of space. It looks like we can easily fit everything. Surface mount components is mostly chilled by the footprint on the board and the smaller component leaves us room for more cooling surface. Cooling it by clamping something to the plastic of the component works better with D2PAK.
IRF7821 is a little SO-8 cased fet with amazing properties. Logic level control, MAX 12.5mOhm RDSon at 4.5Vgs, 30Vbr, 20C/W J-Drain lead, 50C/W j-ambient when mounted on 25square copper pattern, 11A continous with 70c ambient temp and before mentioned footprint. Slightly smaller footprint compared to DPAK.
Locking procedure
We store(d see the visibility notes above) the files as
- FULL_URL_PLEASE/genboardv31_revision_initials.zip (or .tgz) containing sch and brd (older revisions had .zip.gif to fool the former bad config of wiki)
Please follow this procedure:
- download, examine, plan the changes
- check that noone happened to lock in the meantime: preferrably commit your plans to this wiki page
- lock the binary for editing, by changing the filename down to what you will use (increase revision number, and replace the initials with yours). No need to write LOCKED, the missing file will make locking clear.
- after you're ready, upload the file
- if you have a break during routing, longer than 25 mins, than please upload and unlock (you can lock again if other's not, but please check)
EVERYONE, REMOVE ALL LOCAL COPIES OF JURG.LBR. THE FILE THAT HAS FOLLOWED 205 AND 206 REVISIONS OF THE ARCHIVE IS THE WRONG ONE.
The correct procedure to make a change in jurg.lbr is to aquire last known good version from me, talk to me, make changes, talk to me, send file to me. A bit of a annoyance to you guys but I have spent hours spending this library on several occations just because people make changes to outdated versions.
TODO: pickNplace manufacturing requirements
I got a document, unfortunately in Hungarian. Nothing special, we should be close.
picnkplace types:
- QUAD III/c (smaller, but still good: 48 types of components)
- Samsung CP45FV (more professional, ful optical verification, 104 types of components).
- For small series (<500, especially with no special high density components), dispenser will be used for solderpaste, not stenzil (mask).
- via under pads is not nice. At the pad edge... maybe ??
- pads should not merge into one. A small solderprotect between them is nice. (see the VBATT voltage divider 20k and 100nF :)
- 5 mm clearance around boardedge so the machine can hold the boards. We'll violate this. Hopefully only a few components will be done manually because of this. I don't fully get this, since the picnplace uses vacuum for holding the board, not edge-whatever..
- DONE on blue and red sides too: two 1.25 mm dia Cu circles in two opposite corners: no solderprotect above them. 1.25 mm ring left clear around them, The machine likes this (fiducial points)
- other trivial stuff (clean components, etc.)
- +10 components, that fall off when they make the machine eat the tape (not lost, just manual later...)
TODO: v3.2 - later
- for v3.2 let's switch to MC33269-DT5 regulator because it is nicer and more available.
- move the upper-right 100k pump resistor down a bit. It's the rightmost of the 3 x 100k resistor right to the upper OPA (pin2 => 2V).
- crystal should be SMD
- use 20V 0.6kW UNIDIR 1SMB20AT3 (ONS) SMB (Transient suppression diode)
- Would it make sense to add additional pins for trigger signals, like JP7/JP8 and JP13/JP12 nowadays but with possibility to loop the signal through additional small triggerboard (multitooth sensor signal in/digital out or even after onboard LM1815 circuits)?
TODO: sch, BOM, not urgent
- LED on reset loads the reset too much. Smaller resistor?
- lets kill some BOM components (change values). Consider: R129, R138, C17, knock osc=16MHz?
- sch todo (not urgent): we could maybe kill some BOM components. replace all 0.1 uF by 0.22 uF, but when used in RC (lowpass filter) the R must be changed. I think the AVR's recommendation of min. 10k does not apply when we have a cap over 1nF directly on the pin (with 0 Ohm). The 0.1uF is cheaper though - but we have little data on the supply noise, so better be safe. 0.22 uF is used at nernst pulsing, an important application.
TODO: dropped
- straighten HEAT2 and friends to go 135 deg, down as much as possible
- add 17..18 V virtual zener (made from TO220 PNP hehehe ) parallel with D5 transient suppression diode
- DIFD+- could go to a header
- DIFE+- could go to a header
- U19A, U19D doesn't have protect resistor+diode like U19B, U11B
- JP_ISP: it has an unused pin A: Meant for an additional CS_ pin
- I just measured a 5 pin header that goes from PC motherboard to PS2 mouse:
- Data (red)
- Clock (blue
- GND (yellow)
- NC (keying)
- VCC (5V, green)
We could maybe use that on v3.1. Mik says no need to change it.
Holy batman, we're getting 2000 more FQPF.. FETs (ordered in 2004 March, scheduled for 2005 january, but they are hard to control, might drop in earlier :-(( ), although we have a lot in stock (appr. 1000, most at East Coast). What can we do with them? I really wanted to roll v3.3 and ARM boards with DPAK. Maybe we add some extra-fets near the edge :-)
Special thanx to
the v3.1 core HW engineers:
- MembersPage/JörgenKarlsson
- MembersPage/KeithHargrove
- MembersPage/MarcellGal
- MembersPage/MichaelKristensen
v3.1 manufacturing and WebShop:
other contributions: