jbolenbaugh wrote:
I work at a large American manufacturer. I worked in hybrid controls for three years prior to my current assignment. As many in the industry know there is a large switch from hand coding software to code from models. Having been able to be a part of from scratch Simulink developed advanced controls was an amazing learning opportunity and changed my problem solving approach at a fundamental level. I have since moved into a different group working on powertrain cooling and thermal for hybrid and electric vehicles. Additionally I work on the side for a sports car team in the TUDOR United Sports Car Championship / Continental Sports Car Challenge. All of this to say that I hope to be able to work in vehicle development for a race team as the main job at some point
. Its also reassuring that dedicating my work to hybrid vehicle controls and thermal for hybrid vehicle is looking like a good decision. I've always hoped to be able to work in high performance hybrids and these are the two main challenges as we have seen form this years F1 powertrain development.
EDIT: I just realized that after lurking for so long this is my first post! So Hello everyone. I have to be careful about posting on technical forums do to my employment agreement, but I figured this is an ok exception.
Welcome, first of all!
What you're saying is very interesting, as it seems to be a general trend right now. Without going into too much details, how much of your work right now is still traditional embedded development and how much is just creating the right models to solve a problem and then letting Simulink create the code for it? I must admit that I don't know very much about this approach to controllers, so I'll try to simplify my view. If I am to create a traditional engine controller, I normally allow the user to customize its behavior using different maps that are editable through a PC application. If I understand correctly, the Simulink model actually replaces those maps, so tuning such a controller actually means changing parameters inside the models?
You said that moving from the traditional approach to Simulink fundamentally changed your approach. Could you elaborate please on the advantages/disadvantages of this and how you see the whole industry going forward.
In the end, sorry for picking your brain so aggressively, but I haven't found a lot of relevant literature on what goes on in this field (I'd appreciate some suggestions), only the same old articles, with the same old "don't do too much in ISRs".
langwadt wrote:alexx_88 wrote:Given that this is one of the better engineering forums around, I was wondering if there are any members working in embedded development, automotive or not. It would be interesting to share experiences about the tools that we use, projects that we work on or even anecdotes from the time in the field.
I'll begin. Started working on firmware about 4 years ago, currently using ARM Cortex-M4 chips and the MQX operating system to develop a new aftermarket ECU for 4-cylinder engines. As a funny story, in one of my first projects, we've chased for about 3 days a bug in the firmware update routine in which a couple of bytes (<5) in 30 KBytes written, were corrupt. After banging our heads against the walls, we've discovered that the problem was that the flash controller's clock was bigger than the maximum permitted by about 10 KHz.
I find it hard to believe that exceeding the max clock a bit is the root cause of your problem, remember that maximum is set to guarantee that it work work over the the full voltage/temperature range, IC process variations and that it will last for ~10 years after being programmed
You were right. I've looked in the git repository and the value was exceeded by much more, the wrong version had the flash clock at 8 MHz, exceeding the recommended maximum value by almost 20 times. I don't know why I've remembered just 10Khz.