Announcement

Collapse
No announcement yet.

E30 M42 to Motronic 1.7.3 Conversion Project

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

    #16
    Good progress! I'm prepare XDF and TXT description of used RAM addresses, soon upload to dropbox.

    Comment


      #17
      Sounds good. Looking forward to it.

      I finished cleaning up the top & bottom copper layer scans. The full-res ones are in the Dropbox link now. I also put all of them into GIMP as layers and did a full alignment of layers so that each is the same size and everything lines up in the stack. All of the smaller images in here were updated to reflect this, as well as the full size ones. I am not posting the GIMP file right now since it is ~700MB lol...and once I add the two inner layers, it will be closer to 1GB. But the individual JPG's in Dropbox are exact exports of every layer, so there's nothing missing there.

      Here's the bottom copper.



      I will see if I can find time to mill off the outer layers and get the last couple of scans done. Then it is time to catalog all of the components from both sides and then I start building the layout/schematic. It probably is not that much more work to just do the whole board than it would be to try to do a partial reconstruction, and getting a full schematic might lead to a better understanding of some things anyway. We'll see...

      Transaction Feedback: LINK

      Comment


        #18
        Alrighty, the "mechanical" part of this is done! Finally. Ultimately, I used a slightly different approach for the inner layers this time.

        I got a little too adventurous with the milling machine and started ripping out some of layer 2, but I stopped before it got too serious. I dropped the knee of the mill 0.002" which was enough to clear the copper and finished the last cutting pass.






        There was more than enough "evidence" left to figure out where the missing copper had been, and thankfully there were only a few traces in the area. Also, wetting the board with isopropanol helped a lot to make the remaining fiberglass more transparent, so I tried scanning the layers in a "bath" of it, with a 10lb weight on top to keep things flat.






        Ultimately I was not satisfied with the images since they would take a ton of work to deal with (the black/white texture is a nightmare when trying to select similar regions in an image).





        So, thinking that I probably had 8 hours of image editing to deal with, I spent 60 minutes with some sandpaper instead. With the inner layers completely exposed as nice bare copper, things would be much easier to deal with. I started with 150 grit sandpaper, then 400 and 800. This left some larger scratches, but those are easy to deal with in the image editor. Also, I spent a couple of hours going over the scans and reconstructing areas where major copper damage was. As far as I can tell, the inner layers are mostly complete in all areas again.






        You can see that the board layout is MUCH more modern in here. Layers 2 & 3 are mostly filled with copper power planes, there are isolation moats between the ground regions of different analog/digital/power sections, vias have thermal reliefs (most, but not all) and the copper trace size and pitch is about 50% tighter than on the M1.7 board. Things certainly advanced a lot between the mid/late 1980's and mid-1990's. I would imagine that ECAD software was a large part of this, enabling automatic geometry generation of "copper pour" regions with parametric copper-to-copper spacings and thermal reliefs. There are a few defects here and there where either the engineers did not lay something out quite right, or maybe a via was moved but the trace did not update with it, leaving a little dangling bit hanging off of it. Anyway, it's sort of funny to see little defects like this in a reputable commercial product, but the autorouting and auto-DRC back then probably were not anything like they are today.


        Large copies of the inner layers are in the Dropbox now, and I am taking the rest of the evening off from this! It is amazing how much faster this all goes the second time around, and if I ever had to do it again, it would be even faster still since I learned a few new tricks here. Now, if only I had a surface grinder...that would make this REALLY easy!
        Last edited by bmwman91; 02-12-2018, 08:32 PM.

        Transaction Feedback: LINK

        Comment


          #19
          Good progress!

          Anyway, it's sort of funny to see little defects like this in a reputable commercial product, but the autorouting and auto-DRC back then probably were not anything like they are today.
          In software - there pretty same :) But it works for a years and on millions cars.

          I'm upload my binary stuff on dropbox.

          Comment


            #20
            I did a little more work today, making clear marks for all holes (components and vias). This is done to make all holes show up very clearly when the rest of the image is converted to black+white to show copper+not-copper. A full size image which is aligned with the scans is in Dropbox now.


            Next steps will be to do the last image filters and then convert all copper areas to black with everything else white. These images are then easily made into DXF vector files which can be imported into the ECAD program for tracing. Before I start that, I will need to catalog all components so that I know how many footprints to put into the schematic. Most of the ones I created for M1.7 will be correct here, so there is not too much work to do for the few new/different footprints.

            Transaction Feedback: LINK

            Comment


              #21
              Alrighty, the photo editing stuff is more or less done. All copper layers are now cleaned up and turned into black/white images which can then be used to generate DXF files for import into the ECAD software. Before I start tracing those into a real layout though, I need to catalog the various parts and generate any missing footprints and schematic symbols. There are a number of IC's on there which I have NO idea what the pinout is, so certain functions are going to remain a mystery unless someone knows where datasheets or other schematics with these parts are.

              Full size images are in the Dropbox. Here's how the copper layers came out.








              Transaction Feedback: LINK

              Comment


                #22
                I'm uploaded original ASM file and clean ASM file to Dropbox.

                Original is just backward compilation-ready file for example, clean is file without McMess communication protocol (special protocol using custom hardware for tune ECU for developers, cant use in homebrew reversing or tune so just removed - for example if any wants to make this with another Motronic and free extra space).

                Also in clean ASM I'm add EWS disable code, removed by Bosch :) I ported this solution from M1.7.2
                Last edited by Rasp; 02-17-2018, 06:12 AM.

                Comment


                  #23
                  Sounds good, I will check it out. So there is a whole ton of code which deals with UART communication which is basically junk which was only used back when Bosch/BMW was working on the mapping for the car?

                  I had some time today to assign component references. The obvious ones which can be cross-referenced to M1.7.2 have "real" references, and all of the others have 4-digit numbers that are assigned simply by going top-to-bottom and left-to-right. I should be able to get most or all of the bottom side dome tomorrow.

                  Here's how it looks, and a copy of the actual vector art file is in the ECAD folder of the Dropbox (Inkscape is a good free vector art program for editing this).

                  Transaction Feedback: LINK

                  Comment


                    #24
                    Sounds good, I will check it out. So there is a whole ton of code which deals with UART communication which is basically junk which was only used back when Bosch/BMW was working on the mapping for the car?
                    Yes, if you compare with M1.7 code you notice that previously BMW has not include ton of debug/log/mapping code. Maybe in 90's engine tune instruments of manufacturer became more integrate with ECU instead of previous era of external sensors on engine and just map ECU tables. From Bosch there is no need add two special functional: for him and for car manufacturer, so apparently they just gave access to his instruments and maybe extend or contrary restrict it just for manufacturer tune case. We can only guess of this step. But for for aftermarket tune that is unnecessary, because its cool to run ECU on bench with sensor emulation, or dump ports values to UART with every cranckshaft revolution, but for what? Also there is need special development board or equipment with software. So, repeated - that is unnecessary and is impossible to use this functional, it's easier to make own fastdiag and online write, for homebrew its enought.

                    I had some time today to assign component references. The obvious ones which can be cross-referenced to M1.7.2 have "real" references, and all of the others have 4-digit numbers that are assigned simply by going top-to-bottom and left-to-right.
                    Good, you are awsome! I think there is no problem with 4-digit numbers, this notes are not important and its just capacitors/resistors/stub :)

                    I'm work of RAM definition now, fix mistakes and determine new, also have some work with XDF. There is determined all variables that able to configure M1.7.3 for 6 cylinder engine (segments count, segment length, reference mark) with custom ignithion configuration (distributor, 3 or 6 coils).

                    Comment


                      #25
                      Yes, that is good then. No more proprietary interface, just a simpler faster one. Is there a hardware limit which sets 375000 bps, or was that just the speed you chose? I need to look in the '535 datasheet a bit more!

                      The 4 digit values were just an idea for being able to track cross-references to other Motronics. Obviously it does not matter if I use the "real" Bosch references since we will never know! While I was looking at S252, which I believe is the knock processor, it seems that it is not connected in the same way as it was in M1.7.2. The part number (30098) is the same, but all of the other digits are different. Some are just manufacturing dates, but I am not sure what the ones at the bottom are (BJ129.1). So I wonder if it is actually a different chip, or if it is just being implemented differently in M1.7.3. It does not matter really, but it does make me a little curious.

                      Keep u the good work on the RAM map and XDF! Are you also planning to convert a M5x engine to run with this ECU?

                      Transaction Feedback: LINK

                      Comment


                        #26
                        Originally posted by bmwman91 View Post
                        Is there a hardware limit which sets 375000 bps, or was that just the speed you chose? I need to look in the '535 datasheet a bit more!
                        Its hardware limited baudrate, also support 187500. VAG COM KKL on FT232 works fine on much faster baudrate than 375000.

                        Originally posted by bmwman91
                        Keep u the good work on the RAM map and XDF! Are you also planning to convert a M5x engine to run with this ECU?
                        We have M20 and M30 engines on pretty same system and sensors, who khow maybe some wants migrate to M1.7.3 from M1.1 or M1.3 :)

                        Comment


                          #27
                          Cool, yeah maybe these can be used to run all E30's!

                          I got the bottom side components labeled, and I just need to make sure that I have all of my footprints ready. Then it's layout/schematic time.


                          Transaction Feedback: LINK

                          Comment


                            #28
                            I got the components listed and cataloged in a spreadsheet, and then got started on the layout/schematic. All of the top side parts are in place now, and I found a couple of errors which I corrected (improperly labeled capacitors and that sort of thing). All images here and in the Dropbox are updated, and the current revision of the list spreadsheet is there too.

                            Here's how the top side looks for now. All parts are in place on the template, and once I get all of the bottom-side parts in, I can start laying down all the copper traces and pour regions (the pink stuff is the imported DXF which I will trace with "real" copper).




                            Once all of the copper is laid down, I get to do the final most "fun" part which is translating all of the nets from the PCB layout into the schematic. This pile of goodness awaits me! I still need to edit a bunch of the pin labels on some of the IC's and the 88 position connector since they are copies of the symbols from my original M1.7 effort.

                            Last edited by bmwman91; 02-19-2018, 11:42 PM.

                            Transaction Feedback: LINK

                            Comment


                              #29
                              Notice that you have wrong pinout on main ECU pug, for M1.7.3

                              And maybe need to transfer pin descriptions for IC from schematics M1.3 and M3.1, you already have? Looks like on that schematic it given from Bosch documentation and must be correct.
                              Last edited by Rasp; 02-20-2018, 04:37 AM.

                              Comment


                                #30
                                Yeah, many of the symbols are taken directly from the part library I built for M1.7 so I just need to change the text labels. I'll do that at some point soon...I just wanted to start getting footprints placed on the layout to make sure that everything is fitting properly.

                                Some of the chips are different in M1.7.3 and M1.7. S500 & S600 have different packages (going M1.7 to 1.7.3, S500 changes from 28-PLCC to 20-SOIC, and S600 changes from 24-SOIC to 28-PLCC). So I am assuming that I cannot use the same labels, for now. Once I see the connections I think I can guess what is what. The M1.3 & M3.1 schematics all seem to use the same part packages as M1.7 (and those are how I got the pin labels the first time).

                                I am not sure if M3.1 has knock control, but it is not shown in the schematic since it appears to be ~50% complete. But, the M2.3.2 complete schematic seems to have it, so I should be able to get good labeling on that system. I also found a datasheet for Bosch CC195, which is a knock processor chip from the mid-1990's. I am hoping that this is related to the chip in our ECU because it is then very easy to understand how it is used.


                                There is also a CC196 part, but it is much newer and uses an SPI interface, so its datasheet will not be so helpful here.

                                Transaction Feedback: LINK

                                Comment

                                Working...
                                X