### ## ## ## ## ## ####
#### ## ##### ## ## ## ## ### ##
_ _ ( ) ( ) | |/'/' | , < | |\`\ (_) (_)
## ## ## ## ## ## #### ##
# ### ## # # # #
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: '''Q. Why dou you use an 8 bit controller ATMEGA128 (the datasheet says 8-bit). Isn't the software development a bit of a pain for integer arithmetic if you want 32 bit intermediate results ?''' A. very good question. You rarely need 32 bit results. I think we only have one 32 bit variable, which is time: split to 2 words, now_upper and now, lsb being 4 usec. The reason is that we deal with physical quantities, where measurement error is in the 8..11 bit range (48..66 dB). Therefore 16 bit is enough at most places, nothing would be gained by going longer wordlength. Yes, we need to be more careful about overflows, but you need to be careful in a realtime system anyway. The C-compiler helps us a lot. The speed is satisfactory for upto 8cyl direct ignition, sequential injection, with WBO2, LCD and other nifty things. '''Therefore AVR is one of the most affordable (footprint, cost, ease of use) uC-s that are capable of this task''' (driving genboard v3). NEC and Hitachi and Cygnal could be used as well, but we have working code for AVR. For the future, we definitely look into '''beyond AVR''' uCs, while the AVR line being supported for loooong. See: BrainStorming. 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.