###### ## ## ## ## ##### ## ####
_ _ ( ) ( ) | `\| | | , ` | | |`\ | (_) (_)
_ | | _ | | | |_| | \___/
____ | _ \ | |_) | | _ < |_| \_\
|\ /| | ) ( | | | _ | | | |( )| | | || || | | () () | (_______)
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: Starting page for !BetaEMI layout for the ARM processor. Pre-studies at VemsFrontier/Boards and VemsFrontier/ARM most info at ArmProcessorSubsitution ---- '''Progressing LPC2119 prototyping board''' while apparently there was absolutely no progress here at all, a guy was in the finish line with his prototyping LPC2119 ARM board. He planned PCB production around 2004.May.28. but he stalled at 90% development, still snowed in and apparently changed his plans. He originally wanted a prototype board so using the experience he can construct a full board with appr. GenBoard functionality. He might take another direction (++an even more generic IO board where the CPU is on a small pluggable board++: I'm horrified by anything that has to do with connectors and still needs to be reliable) I will talk about him soon, but it seems we cannot take for granted that we will have ARM boards from him sooner than our own. I don't know too much about it, but the old schematic is in our old wiki: http://www.squirrelpf.com/msavr/index.php?page=BrainStorming particularly: http://www.x-dsl.hu/genboard/genARM/ I know the schematics changed since, but I don't have the new ones yet (but we will). Unfortunately we will not have the Geda layout for license reasons, but anyway, I think we will drop one ARM to the v3.x and another on the IonSense board when we are confident about the basics. The board is mainly for developers to * start writing code for ARM * uploading firmware, * blinking LED etc. * checking what can go wrong with the HW design (3.3V IO !) So don't expect it to drive your engine or learjet. (but fortunately it's cheap too: I expect 30 Euro including the CPU) If you'd like a board, please stick your name here: * 2 pieces MembersPage/MarcellGal * 1 pieces MembersPage/MichaelKristensen * 1 pieces MembersPage/ZsoltFelfoldi * 1 piedes MembersPage/MustangStef ... ---- For our own design maybe some simple board like GenBoard/EngineBoard can be nice. Although EGT does not require the processing power of ARM, it is a cost efficient CAN solution and such a simple - trivial - board is nice for getting used to ARM. ---- Tobias: Considering above statement : ''generic IO board where the CPU is on a small pluggable board'' I like this suggestion a lot because it may be the way to get the whole enclosure smaller (see GenBoard/VerThree/CustomCNCCase) and we can have an compatibility AVR, an ARM and a Pure FPGA pluggable CPU. So it will be ideal to get back to a more minimal Injector and Ignition controller with the option to connect the !IonSensePlasmaIgnition controller seperately. ----- How about we call it !BetaEMI I just realized after I suggested the pagename that we do '''not''' want to call it v4, because we want to keep the chance to '''position the units later'''. Maybe we want to push v3 for one set of tasks and the ARM board for another. If we call the ARM board v4, people will not want to buy v3, they'll think it's outdated or something. The page can stay for now, but at a cleanup point it will move. Name suggestions: !DizzyBoard, !GenBoard16(bit, but hey, ARM is 32 bit!), !GenBoard F+, !UniCon1, !IonJectorA, !MotorMind V0, Eng1!ProC, VEMS procon .... Why not keep it simple and call it '''!ArmBoard?''' ...because the public doesn't care about the MCU being used, and they want an ECU not a board. /just guessing Getting information from the !BrainStorming page from OldWiki. EMI/EMC issues will be addressed at the beginning. Basically, As I understand the board layout there will be sections that are basicially Analog1, Analog2, Digital, and Power. There will be keepout areas that no traces are allowed to cross. For minimizing noise in the analog areas. Brian If you have a ckt with a schmatic put a link and description here. Thats the plan. LPC2119 section (old wiki !BrainStorming) has less and less info to steal from: http://www.x-dsl.hu/genboard/genARM/ Rich made a '''LPC2119 library''' and uploaded it to Wiki files. Also found a Microchip 2515 and 2115 library from previous experiments sitting on his machine: * http://www.vems.hu/files/misc/lpc2119.lbr * http://www.vems.hu/files/misc/microchip_can.lbr ---- There is a new (read: nonexistent!!!! we've seen "now sampling" processors that never became available. It's hard to treat them existing before they became available easily and fast in ~100 pieces quantity) Motorola (Freescale) automotive ARM -i.e. MAC7100 ''MAC7101 looks very good, with this CPU we also might look into controlling common rail (diesel) injection'' (can you elaborate what makes it more suitable for common rail?). The market for this would be large since I haven't heard about any aftermarket ECM that handles common rail. :Could someone check what the price is? http://e-www.motorola.com/webapp/sps/site/taxonomy.jsp?nodeId=018rH32451 It has : * more memory - 512K flash, 32k data flash, 32K ram, * more A/D - 16 or 32 channels (LPC2119 has 4, but the MCP3208 helps us out here very well. The analog signal need not be close to the uc at all.), * more timers ( 16 programable + 16 24bit timers: this is good if many outputs are output-compare HW-timed), * 5V operation, + on-board voltage reg for core voltage 2.5V. - The LPC2119 requires adding 1.8V and 3.3V power supplies for the ARM . ---- Regarding using polyswitches (RXE series - digikey) instead of fuses ? ''Consider the trip time of polyswitches vs ordinary fuses, also if something draws to much current it is a fault and should be corrected. Since what I understand about polyswitches it feeds through it's hold current if there is an overload wich may make the problem worse... So if trip is 10A @20C and the load usally draws 8A, but a fault would make it to draw above 10A the polyswitch will limit this current to 6A wich may not be good depending of the application'' Polyswitches change state (trip) at a current level that changes by a large amount over temp. This needs to be considered. -------- MAC7101 sounds nice, as I think that the more ADC & memory, the better. Especially for competition/race data logging applications. -------- So, have we decided on an ARM yet? Almost. The LPC2119 won all battles and all boards are designed or being designed with it. I agree that there could be somewhat more HW-timed outputs, but it's sufficient, especially with the reasonable function split between boards (TractionControlArm is separate). ---- '''a bit (appr. 1 year) late discussion''', months after boards in eagle began to shape... LPC2119 price and availability is brilliant, comparable to AVR. Let's review C166 family microcontrollers. In particular XC167. The controller 16bit RISC. It contains '''on-chip FPU'''. Technologically, it seems suitable. * '''GNU C''' compiler is avaliable for free. * this chip has enough timers + input capture and ADC channels to be able to be a single chip solution + offer extra input capture * PWM output is enough, softPWM is perfect for most of the stuff (only exception is fuel injectors, where HW PWMing is a must, and for WBO2 pumpingg also nice, but little difference there) * chip used in McLaren F1 and some of the F1 cars (nice, but not a design-target to use same chips. Every chip is used in some interesting app). * Is it possible to use ARM part that has a FPU ? Which part do you like? I don't see an advantage though, not needed for TC/EST/Ion. 32 bits is significant fixed bit-width wordlength (8..12 bit is perfect for automotive analog signals, and 32 bits for time). >> ARM7TDMI-S is the kernel used for the LPC2119 >> ARM7EJ-S is the desirable kernel which contains some of the >> functionality needed for the signal processing. BTW, best IonSense playground is just a simple PC, yet very small activity is perceived (TC/EST might need a real HW, true). ---- 16-bit '''C166SV2''' CPU with 5-Stage Pipeline Single clock cycle instruction execution with 25 ns instruction execution time at 40 MHz CPU clock 25 ns multiplication (16 x 16 bit) at 40 MHz CPU clock Flexible Synchronous External Bus Interface 16 Priority-Level Interrupt System on 8 group levels 8/12 KBytes on-chip RAM (we expect that 16..32kbyte will come handy) Can be expanded to 16MB through external addressing ) 128/256 KBytes advanced Program Flash Memory (Can be expanded to 16MB) 16-Channel 10-bit A/D Converter, conversion time < 3 µs Two 16-channel Capture/Compare Units with 2 independent time bases each CAPCOM6 module with two independent timers dedicated to PWM generation for AC and DC motor control I²C Bus module with 10-bit addressing and 400 kbit/sec Two Asynchronous/Synchronous Serial Channels (USART) Two High Speed Synchronous Serial Channels (SPI) TwinCAN module, two Full-CAN nodes with 32 message buffers and gateway function Up to 103 I/O Lines with individual bit adressability Package: P-TQFP-144 Plastic Thin Quad Flat Package Temperature Range: -40°C to +125°C Supply Voltage: Core Supply: 2.5 V; Ports: 5.0 V ---- '''It's too late to throw in general ideas.''' However concrete suggestions might be evaluated: >> I guess it is a moot point to argue about these things then. >> Probably for the next board version (in next 5+ years ? ;)) >> I'll be more forthcomming. * processor type (exact part) * availability: ** distributor ** price ** quantity (50..100 possible, or just 1000..3000?) ** shipping time One thing crossed my mind, sorry if it's the wrong place to tell this (or wrong time). It's one very extreme feature that would be very cool on Genboard: starting a car without starter motor. According to the precise crank angle, ECU determines which cylinder is the closest to the TDC, injects fuel and ignites it. Maybe I'm missing something very obviuos here and it's impossible to do, but that would be cool. * Not impossible but with restrictions; I've heard of such method on some (soon-coming) production car! The idea is: in most cases engine is stopped at specific position, so there's at least one cylinder which is capable to produce (some) combustion which moves the engine. Actually that method used to move the engine in reverse direction (maybe not every time), and then get some much better compression on other cylinder to start in forward direction. Direct injection or very close port injection is a must, and engine must be stopped in the appropriate position! Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.