Introductions

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
I thought it might be a good idea to start an introduction thread, where we can post what we do with which µCs to get an idea who is on this forum and what we can expect here.

--


My name is Dominic, I'm currently heading the electronics development of High Speed Karlsruhe, a Formula Student team. Formula Student is a global race car construction and racing league for students. In 2010/2011 we rebooted our entire electronics concept and switched from the AT90CAN128 to the Infineon XC878 platform and built two vehicles, the F-105 (combustion) and E-105 (electric).

After playing with DAVE for an hour we dumped it right away and went the hard way, coding our own abstraction layer ~5k lines of code and comments. Our development platform is ARM Keil µVision and in our endeavour we uncovered several mistakes in the XC878 UM v1.1, which hopefully will lead to a corrected version.

The development of our abstraction layer proved to be a lot of work. The XC878 has a lot of functionality for a small 8-bit µC and paging is an unforgiving and tedious to debug beast. But our reward was complete control over the program flow, memory management and very robust performance. In our load tests we performed up to 128000 AD conversions/s (16000 per channel), exposed the µC to supply voltages up to 16V and CAN bus loads beyond 90% at 1MBit.

We use the µC for AD conversion, CAN communication, PWM and PWC (Pulse Width Counting/Measurement) and of course lots of digital I/O.

P.S.: The forum doesn't let me tag this post with CAN, because it's overly common 😉
0 Likes
2 Replies
Not applicable
Hi!

kamikaze wrote:
Infineon XC878 platform


The TU Graz e-Power Racing Team's, now consolidated with the TU Graz Racing Team,
last years electric race car Maxwheel 2011 makes extensive use of the following Infineon
micro-controllers:

self-designed PCB's:
XC2236N: used for body control, eg. dash-board, intelligent fuse-box
XC2336B: used for drive-by-wire, BMS master
XC2387A: planned as main ECU

NOT self-designed PCB's:
XC886: BMS slave
TC1767 TriCore: motor inverter

Development environment used:
* XC2xxx: Tasking C166 VX and Dave
* TriCore: Tasking TriCore

MfG/Regards
Friedl
http://racing.tugraz.at/
0 Likes
Not applicable
I see you're big on the huge 16 and 32bit platforms. We've come to the conclusion that the XC878 can do everything we need, even torque vectoring if you use the CORDIC coprocessor.

In our fuse-box we tested it with up to 128000 AD conversions per second. We only use 8000, but 128000 wasn't a problem.

We might consider something more powerful if we ever switch to a matrix display.

Update:
OK, this post was a bit lacking behind. I haven't had a close look at the TriCore. Obviously the 8051 family of µCs is not very powerful in processing speed. In addition you have to be very concious about your use of memory.

At the core of succeeding with them are the peripheral functions of the µC. They are all extensively configurable and once set up function without software interaction. They all come with a dazzling slew of operating modes and tweaking parameters to adapt them to almost any practical use. All that setting up is more work than actually implementing this stuff in software, but in hardware all the timing is 100% predictable. It's the thing to do if you want to stand in front of a judge and tell him that X happens in Y cycles that's Y/24 µs.

We're a long way off from using all the functions of the µC or even harvesting the full potential of those we use. But at this point it's clear to us that the XC878 has the power to be the brain of an ECU, do torque vectoring or drive a brushless motor.

What I wouldn't do with it is ethernet or video processing. Things completely irrelevant to us, right now.
0 Likes