Announcement

Collapse
No announcement yet.

SMG CAN Bus Decoding

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

    #16
    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.

    Comment


      #17
      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.
      …under construction.

      Comment


        #18
        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.

        Comment


          #19
          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.

          Comment


            #20
            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.

            Comment


              #21
              olza Can you shed any light on 0x43F?

              Cheers

              Comment


                #22
                i just need to transfer some variables inside DME program and link them in 0x43F message. seems it will be useful for all.
                Martyn , look PM.

                Comment


                  #23
                  Yes, any 0x43F info would be appreciated!

                  Comment


                    #24
                    i parsed it all. 0x43f includes many useful info: Gong, Kupplung state, Gear, Longitudial Accel, dsc off+sport, shift status, kombi code, program and so on.

                    Comment


                      #25
                      This is not the most useful format, but I logged PID 0x43f (decimal 1087) using race capture pro. I cycled from Neutral to First, Second, First, Then Neutral. This is the raw data:

                      Neutral:
                      [1087.0]: 64.0, 6.0, 1.0, 129.0, 123.0, 4.0, 0.0, 254.0,
                      First:
                      [1087.0]: 65.0, 1.0, 131.0, 61.0, 123.0, 132.0, 228.0, 254.0,
                      Second:
                      [1087.0]: 66.0, 2.0, 133.0, 73.0, 123.0, 132.0, 237.0, 254.0,
                      Seems like the first byte is gear and some kind of state. 64 (0x40) means neutral and and "in gear", during the shift to 1 that first byte changes to 1 then 65 (0x41). So I am thinking that the first half byte is state with &0x40 meaning in gear or not, and the second half of the byte is the gear either being selected or currently selected depending on what the first half of the byte says.

                      Can you shed any light into the structure of 0x43f @olza?

                      thanks!

                      Comment


                        #26
                        You are right, on B0 is current gear. On B2 is drivelogic. And there is also shift request in the message, aka „blinking“ gear in cluster. To understand better, read a bit about MSB and LSB. Then you will understand real quick the structure.
                        …under construction.

                        Comment


                          #27
                          Originally posted by S54B32 View Post
                          You are right, on B0 is current gear. On B2 is drivelogic. And there is also shift request in the message, aka „blinking“ gear in cluster. To understand better, read a bit about MSB and LSB. Then you will understand real quick the structure.
                          Yeah I got tired of doing the decimal to hex conversion in my head. There seems to be alot of data that is constantly changing on that pid even when smg is in idle state.

                          Any chance smg pump pressure and temps are broadcast on the cluster CAN bus? That would be nice to log.


                          Sent from my iPhone using Tapatalk

                          Comment


                            #28
                            No, that data is only possible over diagnostic line with request commands (normally comes from Inpa or tool32). The awron display works this way. Therefore it can show data like IAT or exhausttemp, which is never present on CAN bus. You would need a microcontroller that captures this data and stream it back on CAN bus for racedash application etc.
                            …under construction.

                            Comment


                              #29
                              Originally posted by S54B32 View Post
                              No, that data is only possible over diagnostic line with request commands (normally comes from Inpa or tool32). The awron display works this way. Therefore it can show data like IAT or exhausttemp, which is never present on CAN bus. You would need a microcontroller that captures this data and stream it back on CAN bus for racedash application etc.
                              That's what I assumed. Thanks for confirming.


                              Sent from my iPhone using Tapatalk

                              Comment


                                #30
                                Don’t know if this helps at all but.....

                                SMG CAN Bus signals:

                                Engine Speed - transmitted twice to the SMG II control unit. One signal arrives via the SMG CAN, the other arrives via a hard wire from the DME.
                                Engine Coolant Temp - as needed
                                Engine Oil Temp - as needed
                                Intake Air Temp - as needed
                                PWG - used to calculate engine load
                                EDR Feedback Pots - provides throttle position information that is used during slip intervention
                                Wheel Speed - Signal from DSC. Detects vehicle speed and wheel slip in Auto-Mode and during down shifts in all modes to detect drag torque induced wheel slip.
                                Transverse Acceleration - Signal from DSC. Transmitted in Auto-Mode so up and down shifts are prevented during high speed cornering
                                Steering Angle - Signal from angle sensor. Monitors cornering and slip info
                                Cruise Status
                                Parking Brake - Affects gear engagement and vehicle operation
                                Door Contacts - Signal via K-Bus and CAN Bus for safety program initiation
                                Brake Light Switch - Brake pedal status for unlocking shift lock, brake detection, engine starting, downhill detection, clutch engagement while stopped
                                Last edited by SliM3; 10-14-2020, 05:19 AM.

                                Comment

                                Working...
                                X