Announcement

Collapse
No announcement yet.

SMG CAN Bus Decoding

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Martyn
    replied
    olza Can you shed any light on 0x43F?

    Cheers

    Leave a comment:


  • Martyn
    replied
    With my DME on the bench and the cansniffer running I get a stream from the following ARBIDs

    0x311

    Byte: 0 = 00
    Byte: 1 = 70
    Byte: 2 = Cycles through 0E to FE consantly
    Byte: 3 = 7C
    Byte: 4 = 00
    Byte: 5 = 00
    Byte: 6 = 20
    Byte: 7 = Cycles through 7x to 8x

    0x312

    Byte 0: = Cycles through 00 to 0F
    Byte 1: = Cycles through 9X to AX
    Byte 2: = 00
    Byte 3: = 5B
    Byte 4: = 00
    Byte 5: = 00
    Byte 6: = 14
    Byte 7: = 05

    0x313

    Byte 0: = 00
    Byte 1: = 00
    Byte 2: = 00
    Byte 3: = 00
    Byte 4: = 00
    Byte 5: = FF
    Byte 6: = 00
    Byte 7: = 36

    0x314

    Byte 0: = FF
    Byte 1: = Cycles through X3
    Byte 2: = FF
    Byte 3: = 14
    Byte 4: = 00
    Byte 5: = Cycles through E/FX
    Byte 6: = FF
    Byte 7: = 37

    No SMG unit is connected, just the DME and sniffer on bench.

    Leave a comment:


  • Cristov9000
    replied
    There were a few posts in the old huge MSS54 thread that outlined some of the Arbids available on the SMG specific CANbus and how to enable/disable some of those arbids being broadcast. I am hoping that information was saved somewhere but I cant find it. What I did save is that arbid 720 on the SMG CANbus has the following info:

    B0 = Coolant Temp
    B1 = Intake temp
    B2 = Exhaust Gas Temp
    B3 = Oil Temp
    B4 = Voltage
    B5,B6 = Speed
    B7 = Fuel Pump Duty Cycle? - Probably not relevant for euro cars

    I think there was a 721, 722 and 723... I think. I don't remember what information was sent on those arbids but I would imagine that it included everything the ECU and SMG needed to tell each other: torque reduction, throttle blip, etc.. I am not sure how else that info would have been communicated and if it wasn't high priority information I am not sure why BMW would have put it on its on dedicated CAN instead of on the other CANbus with the cluster, ABS, etc.

    Leave a comment:


  • Martyn
    replied
    Anyone know how SMG commands a throttle blip for rev matching? Is a message sent via CAN to the DME?

    I'm also interested how DSC & SMG request a torque reduction upon gear change or wheel spin.

    Leave a comment:


  • S54B32
    replied
    I can‘t believe that i don‘t looked at this first, thank you terra for this hint! Spend to much time at the Moment with E9x platform, where only one can for drivetrain is present.

    Leave a comment:


  • terra
    replied
    SMG CAN-bus is separate from the rest of the bus. If you want to grab the SMG exclusive messages, you'll have to tap into that. 43F is sent from the DME and rebroadcasts some of the SMG data to the general bus.

    Leave a comment:


  • olza
    replied
    in a code i can see only 310, 311, 312, 313, 314, 515, 516, 631(dev?) and out 410, 411, 412, 200, 201, 630 (dev?)

    Leave a comment:


  • S54B32
    replied
    My knowledge is far behind yours, so i had only done a bit canbus sniffing. And 0x43F was present. I take a look in my Log and 410 or 411 was not present.

    A part of the Log is attached.

    I have write you a PM, Olza.
    Attached Files

    Leave a comment:


  • olza
    replied
    Originally posted by S54B32 View Post
    olza how do you get to this definitions? It‘s reading like a internal functiondescription document from bmw as it‘s in german. Do you have similar for E9x platform DCT (PT-)Can Messages?

    eacmen
    for drivelogic mode, look at 0x43F Byte 5 if i remember correctly. Selected gear should be on the same ID. Will check again this week and report.
    why if $410 has it all? this definitions from my disassembly and PRG disassembly.

    i have DCT project and most CAN data described from TCU side too.

    Leave a comment:


  • S54B32
    replied
    olza how do you get to this definitions? It‘s reading like a internal functiondescription document from bmw as it‘s in german. Do you have similar for E9x platform DCT (PT-)Can Messages?

    eacmen
    for drivelogic mode, look at 0x43F Byte 5 if i remember correctly. Selected gear should be on the same ID. Will check again this week and report.

    Leave a comment:


  • olza
    replied
    Originally posted by eacmen View Post
    Has anyone looked at the CAN bus going into the cluster and figured out which PIDs were specific to SMG? Specifically looking for Gear selected indicator. Thanks in advance.
    CAN ARBID $411 packet bits (maybe not 100% correct):

    0: 00000000 CAN Packet CRC (NEGATIVE byte of sum (ISTGANG+GEWUENSCHTER_GANG+ganganzeige+CAN SYNC Counter+Clutchstatus)

    1: s0wwwzzz s:STOERANZEIGE_SMG_STEUERUNG, www:GEWUENSCHTER_GANG (0.Neutral 1-6.Gear 7.Rear), zzz:ISTGANG

    2: gfatsppp g:FGR_ABSCHALTEN_AKTIV, f:ANLASSERFREIGABE_AKTIV, a:SCHALTUNG_AKTIV, t:WAEHLHEBELSTELLUNG AUTO/Traction help, s:IGNITION&SPORT ON&S|+|-, ppp:PROGRAMMINFO (A/S 1..6 clutch programm, R/N zero)

    3: ooooxxxx oooo: [0001 GET_LOCAL_TRIP_ERREICHT, 0010 FREEZE_FRAME_GESPEICHERT, 0100 MIL, 1000 MIL_BLINK], xxxx:GANGANZIEGE ( "00.Neutral", "0X.Gang", "07.Rueckwaertsgang", "08.Anzeige dunkel", "09.Automat", "0F.Testfunktion (alle an)"

    4: mmmmmmmm M_KUPPL (Max. Transmittable clutch torque Min .: 1, Default: 700 Nm, Max: 1020 Always: 700 Nm
    X*4 nm, in calibration data there is parameter of 700 Nm, also it can be written in NVRAM, then checked for value 0 - if true, parameter of 700 Nm used)

    5: hhhhhhhh Power at clutch % (X*0.394 ???)

    6: abcdzzzz a:OBD_REL_FEHLER_ERFUELLT, b:EINGRIFF1, c:EINGRIFF2 (use this), d:WAEHLHEBELSTELLUNG AUTO, zzzz:CAN SYNC Counter

    7: yyyyffff yyyy:WAEHLHEBELANZEIGE (Selector lever display raw value in Kombi: 00:"Anzeige dunkel/P", 01:"0/N", 02:"R", 03:"A+", 04:"A-", 05:"A+/-", 06:"S+", 07:"S-", 08:"S+/-", 09:"+", 0A:"-", 0B:"+/-", 0C:"A (Automat)", 0F:"Testfunktion (alle an)"), ffff:FAHRZUSTAND (Clutchstatus: 8-Anfahrhilfe, 7-Racestart, 6-Radabriss, 5-Abwuergen, 4-Hillclimbassist?, 3-Schub, 2-Schalten, 1-Anfahren, 0-Other)

    Also there are $410 and $412 CAN ARBIDS...
    Last edited by olza; 09-04-2020, 03:09 AM.

    Leave a comment:


  • Martyn
    replied
    Originally posted by Tomba View Post
    I have done this on my E46 320i (M54B22). The transmission control unit (TCM/EGS) sends one CAN ID. It sends gear selector position, gear, gearbox oil temperature and there is a value between 0-100% for torque reduction during up shifts. Normally 100% but during a shift 20-30%.
    I will post the dbc file later as I can't access it currently.
    One of the bytes in the message remains 0, I think this might be torque increase during down shifts (rev-match) something my ZF 5HP doesn't support. Currently the project is on hold but will continue soon.
    I'd be keen to take a look at this!

    Leave a comment:


  • Tomba
    replied
    I have done this on my E46 320i (M54B22). The transmission control unit (TCM/EGS) sends one CAN ID. It sends gear selector position, gear, gearbox oil temperature and there is a value between 0-100% for torque reduction during up shifts. Normally 100% but during a shift 20-30%.
    I will post the dbc file later as I can't access it currently.
    One of the bytes in the message remains 0, I think this might be torque increase during down shifts (rev-match) something my ZF 5HP doesn't support. Currently the project is on hold but will continue soon.

    Leave a comment:


  • eacmen
    replied
    Originally posted by E46m3zcp View Post
    Interested.

    When you say PID you're speaking about OBD, not raw can. Do we know if OBD reports this information about the SMG?

    Some information that's available on CAN busses may not be available on OBD.

    My first attempt at interfacing with the CAN bus was with an arduino shield plugged in the OBD port (not to bring confusion, OBD port has CAN pins where it should be possible to read RAW CAN data).

    I wasnt able to see anything. What would be the right baud rate ?

    Sent from my LG-H872 using Tapatalk

    Sorry when I say PID i really mean ARBID on raw CAN. The comms between the ECU and the Cluster is CAN.

    There is no CAN bus on the OBD port on an E46. You need to tap into it from the wire loom running from the ECU box to the Cluster.


    Sent from my iPhone using Tapatalk

    Leave a comment:


  • E46m3zcp
    replied
    Interested.

    When you say PID you're speaking about OBD, not raw can. Do we know if OBD reports this information about the SMG?

    Some information that's available on CAN busses may not be available on OBD.

    My first attempt at interfacing with the CAN bus was with an arduino shield plugged in the OBD port (not to bring confusion, OBD port has CAN pins where it should be possible to read RAW CAN data).

    I wasnt able to see anything. What would be the right baud rate ?

    Sent from my LG-H872 using Tapatalk


    Leave a comment:

Working...
X