Looking for a bit of guidance

Hia, first time poster, long time fan of this site and its multiple links to all things useful :)

Anyway, Ive been handed a project around the MPC5604P processor from Freescale, with no documentation on it to speak of (in-fact it took me about a week to derive the Freescale part number from its ST roots).

I ended up getting the reference manual and data sheet, as well as a debugger and what I think is the flasher in addition to getting my hands on the Cosmic compiler (seems like its the only one that supports the VLE type instruction set).

Anyway, to the point of my post, I've never dealt with a PPC processor let alone one of this calibur, most of my dealings have been with smaller 8bit PICs and the HC11; so naturally I have a few questions.

Is there anything specifically that I need in order to run code on this other than just flashing the s record file to the processor (I think the Cosomic compiler comes with a sample program that runs on the XPC56xxx eval board which I'm getting my hands on soon)? I specifically mean any boot files that I need to load in order to start the processor up, or will the compiler do that for me?

In addition, is there any documentation anyone knows of on how to utilize the FlexPWM utility on it or the interrupt vectors on it, also possibly a library thats available for the FlexPWM or CAN or even the ADC?

I know these are kind of vague but I appreciate you guys even reading it, and look forward to your responses.

Reply to
Chr15
Loading thread data ...

This is not a website, it's a Usenet newsgroup (look up these terms in wikipedia).

My first recommendation is to hand the project back. You are *way* out of your depth here, and need a lot more help than some advice in a newsgroup. The Freescale MPC5xxx microcontrollers are a very different league from small 8-bit PICs - they are much more powerful, and much more complex. And assuming that the chip is appropriate to the task in hand, the software and hardware for this project will be far beyond anything using a PIC.

Try to get on some sort of course regarding these devices, and expect to spend a long time learning about them. Also expect a great deal of frustration and battles as you try to get your programs working and find that there are lots of small details that you don't have to think about for small microcontrollers.

Of course, if you have the time and money to spend getting up to speed, they are fun devices.

Reply to
David Brown

Thanks Dave for your response.

I was really referring to embeddedrelated.com and the links they provide to said lists, but thanks for clarifying for me! :)

I hear everything your saying. But, sadly, I don't have the option of just simply, 'handing' the chip back, or I would as this chip is way over designed for what it was chosen for (AD measurements, PI Phase shifting of a PWM wave, and CAN) and would pick something a simpler and more apt to the job at hand (the goal of which is to create charging device).

The reason I came here in the was in search of information on the exact same topics you've described, Google returns plenty of results for the AVR, PIC, HC11/12, ARM, and even FPGA's but not a ton for this specific micocontroller.

You'll have to excuse me if I've overstepped my bounds by asking here.

Reply to
Chr15

We use the 5xxx processors everywhere, I would suggest buying an eval board, most of your questions (and ones you haven't thought of yet) will be answered quickly just getting the eval board up an running (which should be very quick) and looking at the sample code provided.

The freescale forums are where you need to be

formatting link

Reply to
steve

You're not out of bounds for the group, David was just pointing out that a 32-bit RISC processor is considerably different from a PIC.

So, be warned and change jobs, or be warned and expect to work hard for a bit.

--
http://www.wescottdesign.com
Reply to
Tim Wescott

Your post is entirely on-topic for this newsgroup (though the title is a little vague). And once you have more specific questions, you have a good chance of getting helpful answers here.

However, you should note that there is good reason for there being limited information about the mpc5xxx, and limited response to your questions and posts. These devices are not particularly widespread - there are few developers that use them. Those that *do* use them are often in companies that have longer term projects with larger development groups, and most of their questions and information are held within these groups - the automotive industry is a prime example, and a major user of these devices. The other chips you mentioned are much more common among smaller developers and hobby developers, so there tends to be a lot more sharing of information and questions. This is why your are more likely to find the information you need from "professional" sources - training courses, and information and examples coming with expensive commercial development tools and evaluation boards, rather than "amateur" or "low-cost" sources such as web pages, hobby boards, and so on.

Depending on how far the project has come so far, you should be trying to do a cost-benefit analysis as to whether to continue using this chip, or moving to a different architecture. The mpc5xxx are expensive devices, and expensive for development. If you need the features (such as the TPU units), they are excellent value for money, but if not, you are better off with an alternative.

Reply to
David Brown

That was my first thought too. A PPC is a hell of a system to learn if all you know are PICs and H8's. Who ever gave you this project is either an idiot or trying to get you fired.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

In message , Chr15 writes

Why?

Then you MUST tell them that this is the WRONG CHIP for this and it is going to be far too expensive. Have you any idea of the cost of a PPC part compared to an PIC or small AVR?

What are the intended production quantities for this project?

Not at all. This IS the place to ask.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

Do you have any connection to Freescale or ST?

The PPC parts are wonderful parts and very powerful I have used them, The part seems a bad fit for the job in hand.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

In message , David Brown writes

I would not agree there... In some industries it is very widely used.

I agree. Most people using PPC are in large(r) companies have direct contacts in Freescale and ST.

Quite so. I would recommend a cost benefit analysis. Take your time rushing in now could be a fatal and expensive mistake.

There is only one TPU compiler available AFAIK (se stock them :- ) and the TPU is a specialist area on it's own.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris H

Yes, but these are mostly areas where there are a small number of developers, even though the quantities of devices are large. They are not nearly as popular as, for example, their predecessor the 68332, nor related devices such as the MCF523x (which have a ColdFire core, and a similar TPU).

I understand that development for the TPU is much easier these days with the eTPU and ByteCraft's compiler. But the great majority of TPU users are just that - users. For example, we have used TPU's in the 68332, MPC561 and MCF5234 for functions such as synchronised PWMs, encoder inputs, and UART channels without doing any TPU development as such. It's even easier now with Freescale's online tools for packaging the required functions in a ROM image. *Developing* TPU functions looks like a lot of fun, but I haven't found a good excuse for doing so yet.

Reply to
David Brown

I don't think anybody said anything about it being _simple_ to reject the project in its currently defined shape. Nevertheless, we have strong agreement that it has to be done.

So somebody has made a technically wrong decision. That leaves you with two main options: point out this fact now, at the risk of making somebody look stupid to their peers (and maybe angry at you), or point out this fact later as an explanation why your company sank so much money into a doomed project. That one would make you look stupid. It's put up or shut up time.

The next step of escalation may have to be to switch into "defensive engineering mode" on this. I.e. stop worrying about the project as such, and start worrying about how you're going to prove it wasn't your fault.

Reply to
Hans-Bernhard Bröker

You'll have to excuse me if I don't get back to everyone's concerns, but I think I've done a good job in summing up :)

I don't disagree with any of you in this regard, the more I read through the manual the more complicated it becomes, not to say I don't want to learn about it; the whole reasoning behind me posting here actually :)

Im well aware of the scarceness of this processor due to this mostly professional use, and I've tried to explain a few times how over board this processor is going for what they want to do. I don't think its either idiocy or someone wanting to cause me grief, but the individual that chose this processor lack of understand of embedded tasks (its for a College research group, not comerical/industrial use so cost isn't a factor).

This project is more of a one off project, with hardware already built up around the processor; without successfully running code on it(wish I could insert a facepalm smiley here), not a practice I encourage or agree with.

The group did have a connection to ST, but it turned out not as strong as I'd had hoped (The MPC56xx looks to be new-ish and different enough than the 55xx to make it unique, thus not a lot of support on their end) as for Freescale I did manage to create a tie with the local distributor in order to obtain a [donated] evaluation main board which is a huge step in the right direction (considering this group only had access to the mini board prior to me being here).

I fully agree with every ones opinions in that this part is way, way, overkill for the task asking to be done. Even hardware issues(pad spacing in relation to the clock frequencies being ran causing EMC issues on user built boards, for example) have been quite extensive. I think this part was chosen because of its common use in automotive applications (this small group focuses on Hybrid and Power electronic research).

As I should have stated before, hardware has already been built up around the processor, causing the research group to be kind of locked into this choice. And me being the 'low man' on the totem poll so to speak (as well as coming in after the choosing of this processor), I figured I would try to 'roll' with the punches in order to try and figure out what needed to be done.

I am well aware of the task ahead (and its possible impossibility at my level of experience), but hopefully I've explained my self a little bit better than in my original post :) I think I'll start talking to my ST/FS contacts more.

The goal of the device is to implement a PI based phase shift control of a PWM wave, according to current/voltage/temperature AD readings, to charge a high voltage battery off the power line, as well as have some CAN communication with other devices.

Reply to
Chr15

no.

I disagree, I think everyone here is confusing the 560xP series with it big brothers, the 560xP is a cheap small (as small as 64 pin LQFP) bare bones device with a z0 power core, no MMU, no TPU, no floating point, no cache, max 60Mhz, with just a handful of peripherals, it's not a big 500 pin ball grid array like it big brothers.

Reply to
steve

I

if

is

e
d
r
r

ing

t

ll

Just a comment, we have to use PPC (or similar) in Hybrid/Power/Auto applications because we are required to use safety processors (processors with EEC correction on FLASH and RAM, for instance) which AVR's/PIC's/H8 etc don't have. If you work in this area you have to become familar with these type of "industrial" processors (vs the hobby/commercial processors).

Reply to
steve

If they are serious about safety, they should have used ROM. Line charging of battery is hardly safety related, unless you have thousand feet of power cord.

Reply to
linnix

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.