_____ | _ | | | | | | | | | \ \_/ / \___/
#### ## ## ## ## ## ## ####
_________ \__ __/ ) ( | | | | | | | | )_(
_ ( ) | | | | _ | |_( ) (____/'
____ / ___| | | _ | |_| | \____|
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: '''General motors 24X trigger system''' Configuration: '''"LS1 forgiving bit" enabled''' [http://vems.hu/vemstune/sharingcenter/reports.php?cmd=view&key=vsMcdX 1.1.91 benchtested config] with 48+1 trigger (type c048 in VT Tools/Play Trigger) and * '''HALL-type primary trigger only''' ! ** in case of LS1, primtrig falling edge selected (which is spaced evenly every 15 crankdegrees) * secondary_trigger=1C '''"LS1 forgiving bit" enabled''' ** bit2=1 (was called filtering earlier but actually was unused for sectrig, now "LS1 forgiving") '''Operation:''' with above settings * After syncronisation, a widened 1.5 tooth window is accepted without resync. * during syncronization, campulse must be between 2 primtrig rising edges (on either side of the primtrig falling edge !) ** note that this is different from the traditional case ("LS1 forgiving bit" disabled): than campulse must between 2 primtrig falling edges (on either side of the primtrig rising edge !) Note that the "LS1 forgiving" = disabled is still the recommended default setting if the campulse can be placed sufficiently far from the primtrig chosen edge. Normally this can be achieved even with a 24+1 trigger, and often also with a 48+1 LS1 (other LS1 trigger engines operated that way earlier). ---- '''Background''' This trigger is used on the very popular LS1, LS6 engine and many other V8 engines in this engine family. All these engines are popular to retrofit in cars as it is very light and weigh less then many four cylinder engines. We should try to support it properly. It is very hard to modify the secondary trigger angle on these engines to get it exactly between the primary trigger pulses. '''Problem''' It works fine on 48+1 trigger on most cars. The cam sync trigger is however a bit too close to the primary trigger pulses and it sometimes cause a race condition. This seem to have become worse on 1.1.88 compared to the results seen on 1.1.76. The primary trigger has 24 pulses per revolution where the falling edge of the trigger signal is at 15 deg intervals and the pulse length of the logical '0' is 12 or 3 degrees. As the pulse density is high and the difference is fairly large I think that we can detect this reliably even when cranking. The sync is possible in 90 deg. '''Trigger Pattern''' The 24X trigger pattern look like this: http://www.vems.hu/files/JorgenKarlsson/24X/LS1_crank_timing.jpg http://www.vems.hu/files/JorgenKarlsson/24X/LS1_timing_chart.jpg Scope captures around #1 TDC: http://www.vems.hu/files/JorgenKarlsson/24X/cam_sync_and_1deg_spark_dont_worry_about_noise_bad_scope_ground.png The capture above show the spark from #1 together with the cam sync. This was taken with the timing locked at 1deg. Ignore the noisy signals, I used a chassi ground for the scope. I only took this to verify the timing of the cam sync sensor http://www.vems.hu/files/JorgenKarlsson/24X/Primary_and_secondary_trigger_around_cyl1_TDC_idle.png This how how the primary and secondary trigger signals look around #1 TDC. Bigger version of the same is found here: http://www.vems.hu/files/JorgenKarlsson/24X/Primary_and_secondary_trigger_around_cyl1_TDC_idle_big.png Trigger log and a short normal log is found here, Primary=falling edge, Secondary=falling edge. Bad sec trig position shows up around 1 minute in the log: http://www.vems.hu/files/JorgenKarlsson/24X/Peter_Cab-2465.zip The pattern can be broken down to this: <code> # x Low High 5 x Short Long 1 x Long Short 3 x Short Long 2 x Long Short 2 x Short Long 3 x Long Short 1 x Short Long 1 x Long Short 1 x Short Long 5 x Long Short </code> If I only specify the length of the logical '0' we get: 0deg to 90deg: 12,3,3,3,3,3 90deg to 180deg: 12,3,3,3,12,12 180deg to 270deg: 3,3,12,12,12,3 270deg to 360deg: 12,3,12,12,12,12 The cam sync has a 360 crank degree duration and will change from 0 to 1 or 1 to 0 around 0 crank degrees. The spec sheet say that it should do it at 0 deg but in reality it occur a few degrees from the previous falling edge of the primary trigger. At least of the engines I have run a trigger log on. ---- '''Div-by-N''' Auditrigger (traditionally divby3, that would be tooth count=16 in this case) always allowed 1 tooth sloppiness in the sectrig. * Emil shared a [http://vems.hu/vemstune/bugreports/reports.php?cmd=view&key=1IL27a divby2 config] (tooth count=24) which was working for him earlier on LS1 engine. * theoretically divby 6 (tooth count=8) would be an option too ---- '''Trigger-detection with sectring LS1 forgiving bit''' - implemented From 1.1.91 secondary_trigger bit2=1 ("LS1 forgiving"=enabled) * this bit was possible to set with old VT ini: ** sectrig filtering=enabled (but filtering for sectrig actually made no effect in older firmwares). '''LS1 forgiving=yes behavior:''' * at campulse, the primtrig polarity would be sampled also. There are (apparently) 3 cases: * camsync comes early, sees high * camsync comes later (than primtrig), sees low * camsync comes early, but just when sectrig processing started, pulse goes low (we see low) and primtrig irq gets flagged It might be useful for 24+1 (c024) type triggers also. But the recommendation remains: * to have sectrig pulse always between 2 certain primary trigger pulses, and the LS1 forgiving bit disabled. ---- '''Yet another solution postponed for now:''' * there is some brainstorming about a somewhat error-prone user-configurable campos threshold ** that might be the only solution for lazy-installers on 24+1 (eg. 12 cranktooth) if the campulse is not at the proper factory position (like in Nissan and Toyota), but at some wrong position (which should not actually happen since if it's a homemade setup, it should be 12-1 or 12-2 missing tooth instead of 12 "coiltype" evenly placed pulses, as in a missingtooth setup the camsync position is not sensitive) ---- This engine family also use a trigger type called 58X which is what other manufacturers call a 60-2 trigger wheel. For example the LS2 engine use this trigger. 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.