Skip navigation
2011

Here is a short video that explains the procedure for booting VxWorks OS on Stratix III Dev. Kit using MP32 IP core.

The video does not have audio instructions.  We are in the process of updating the video with audio instructions. 

Coming soon: video with audio instructions.

 

 

 

 

More Information at: http://www.slscorp.com/pages/mp32.php

squadMCU

Common sensing ~

Posted by squadMCU Sep 20, 2011

By Jim Trudeau

 

Freescale covers a lot of territory horizontally – industrial, consumer, networking, medical … the list is long. Our technological breadth and depth is immense as a result. We’re famous for it. So what? You are always right to ask, “What’s in it for me?”

 

Well, our technical scope serves you well. You have an orthogonal challenge to the one that we face – while we have to cover a wide area, you have to deal with one area in great detail. This is where solutions make all the difference. Our breadth is not skin deep. We’ve got the skill to put a package together that you may find appealing. Far more than appealing! If we’ve got it right we are going to help you solve a problem way better than the next bloke – which is the whole idea.

 

My premise here is simple: because we have our fingers in a variety of pies, we can cook up a delectable little treat for you that you might find really tasty. So let’s start at the bottom and head on up the menu. This time the topic is MEMS sensors aimed at the automotive market, packaged into the Tower System for Automotive Sensors, which supports the full range of Freescale Xtrinsic automotive sensors. Check out the video:

 

 

 

Boy do we love acronyms around here. As a short aside, one of my favorite is PCMCIA: People Can Memorize Computer Industry Acronyms. You thought it meant something else perhaps?

 

But really let’s talk about MEMS: – micro-electromechanical systems. These very tiny mechanical systems built using semiconductor fabrication technology form the basis for many Freescale sensors. Freescale introduced its first MEMS-based inertial sensors for airbags in 1996, so we’ve been at this for a while.

 

The sensor package under discussion here, shown in Figure 1, contains inertial sensors. The sensors are available individually as well. These are packaged as a Tower Plugin – a TWRPI. We call these “twerpies” around here. I love acronyms. They will plug into any Tower module that has the TWRPI socket.

 

Seriously, you might use these sensors for an airbag system, stability control, a braking system, tilt angle measurement for any purpose, and so on. In this case they plug into a mother board built around an S08 processor, designed as a Tower System module, shown in Figure 2. That board has four (count ‘em) TWRPI sockets for these sensors, and support for both DSI and PSI5 communication

protocols.

 

Figure 1. The “TWRPI” sensors and communication parts

Figure 1: The “TWRPI” sensors and communication parts

 

 

Figure 2. The Freescale Tower System Sensor Module

Figure 2: The Freescale Tower System Sensor Module

 

 

I wrote about the innovative, award winning Tower System here. I called it Legos for engineers; it really is a brilliant system of plug and play modules. Pick your processor, pick your peripherals, plug them together, and voilà! You have a reference design. These automotive sensors fit into this playground along with everything else, and the “everything else” is an amazing (and growing) list.

 

As I said, this particular mother board has an 8-bit S08 processor on board, with 6 kB of RAM and 96 kB of flash memory. You don’t need to plug it into a Tower System, you can use the module all by itself as a self-contained unit. Note the presence of debug headers on the board (of course) supporting OSBDM.

 

Now we start to head up the software stack – we started at MEMS, out of which we build sensors, put those onto TWRPI cards, put those into a package (if you want), plug those onto a mother board, which you can put into the entire Tower System. So far, it’s all hardware. Really neat hardware (I love the Tower System), but “just” hardware.  Given my software focus, I personally see all the magic and promise in those peripherals, and the software that makes use of them.

 

The S08 family is supported by the CodeWarrior Development Studio for Microcontrollers, from the complimentary Special Edition all the way up to the full Featured Professional Edition. Built on the Eclipse IDE, you have what you’d expect: build environment, code editors, debugger; the works. There is a vibrant community of third party tools as well. The CodeWarrior tools come with Processor Expert Software, the component management system for building reusable software components like peripheral drivers. This is better than a driver library, as you can build exactly what you need quickly and easily, optimized for your specific project. Depending on the nature of the software you’re writing, it may or may not be useful for you in this particular domain. You probably won’t use it much working with the sensors, but it could be useful for an end application working with system peripherals.  I wrote about Processor Expert most recently here.

 

Honestly, this is the same song I’ve played in this forum more than once. It’s a really good tune, but what else is new?

 

While some of us may write perfect software every time, most of us need really good debug tools at least occasionally. One of the intriguing software development needs of a sensor-based system is real-time debugging. You can’t stop the system to study what’s happening; you have to analyze it while it’s in operation. This is where FreeMASTER comes into play.  It is a debug monitor. Working over the BDM connection on an S08, it non-intrusively monitors specified variables (without a target-side driver) and displays values real-time on an oscilloscope-like display, as shown in figure 3.

 

Figure 3. The FreeMASTER data recorder display

Figure 3: The FreeMASTER data recorder display

 

That’s pretty cool. FreeMASTER is highly extensible. The data display area is (under the covers) HTML-driven, so highly extensible. As an example of this, and of the level to which we like to enable customers, accompanying the sensor package you can find a file called TWR_SENSOR_AUTO_FREEMASTER. Look in the Current Updates and Releases section on the linked page and download the file. It is a zip file that contains a FreeMASTER project file and a folder full of “stuff.” That “stuff” is worth having, trust me. As well, it shows you what FreeMASTER can do for you.

 

Through the FreeMASTER display it has, for each sensor and daughter card, product information, block diagrams, register maps, simple example apps, and links to additional information like data sheets. Figure 4 shows the block diagram for the MMA6900.

 

Figure 4. The block diagram for the MMA6900 accelerometer on display in FreeMASTER

Figure 4: The block diagram for the MMA6900 accelerometer on display in FreeMASTER

 

Maybe best of all, the FreeMASTER scope, and in some cases some neat gauges, are already wired up for you, as shown in figure 5. All you need to do is install FreeMASTER and get it hooked into the hardware.  The rest is already set up. This is almost too good to be true.

 

Figure 5. Gauges for the MMA6900 in FreeMASTER

Figure 5: Gauges for the MMA6900 in FreeMASTER

 

 

As you can see, FreeMASTER is highly extensible if you want to take the time to live up to the second half of its name and master it. In this case you don’t have to, we’ve done it for you. But with a little experience you can connect variables to user-implemented instrumentation widgets (gauges, dials, meters) and see what’s happening in a customizable interface. True to the first half of its name, it is complimentary. Like the CodeWarrior tool set and many of the tools from Freescale, it supports multiple targets; not just S08. Note that some target connections and some features require a target-side driver to push data up the pipe. You can get FreeMASTER here. Not your typical debugger.

 

At the top of the enablement stack you’ll find a community of developers at Tower Geeks, and a plethora of resources at the Freescale forums.

 

FreeMASTER comes to you courtesy of our long experience in motor control; our skill in building MEMS comes from our long history as one of the world’s premiere semiconductor manufacturers; the S08 is a reflection of our long 8-bit heritage (just look at the Freescale forums, the 8-bit product board has almost twice the messages as any other board). Software communities? We’ve been building those for a decade.

 

Focus that breadth of experience onto a particular domain, and you get something like the Tower System for Automotive Sensors – a vertical solution for a particular market that gets you a lot further up that steep slope toward a final product than just buying some chips.

The traditional approach to picking silicon involves data sheets; matrices of features; at best, a complex spreadsheet of all the many parts with all the many options laid out. Let’s call this the “top down” approach. You have to already be somewhat familiar with the universe of parts. Then you have to see if the part fits your need. Does it have SPI? Does it support JTAG? Can it support the touch capacitive screen your team wants? Even when it all comes together, how do you know that it can do SPI and JTAG simultaneously? What if those subsystems use the same pins? It’s ugly. You know it is.
Enter Solution Advisor from Freescale. Right now it covers the Kinetis MCU parts. This online tool takes a different approach. Let’s call it “bottom up.” Instead of attacking the problem from the top down perspective by starting with what we have, the bottom up perspective tackles the problem from your point of view. The question then becomes: What do I want? What do I need to do this? That basic assumption makes a world of difference. Suddenly you are freed from knowing anything other than what you already know: your design parameters. Hallelujah! That is good human-centered design.
So fill in the blanks. You need a segment LCD? Click and go. Need SPI capability? Just say so. Click the module you need on the left, and the Solution Advisor pops up a configuration window that lets you specify capabilities (Figure 1).

By Jim Trudeau

 

I admit it. I’m a sucker for a good human interface. So we’re going to depart from our usual software focus just a little bit. My excuse is that we’ll talk about a tool that gives you a better way to pick silicon based on a better human interface into the whole process. We are all about good solutions here.

 

The traditional approach to picking silicon involves data sheets; matrices of features; at best, a complex spreadsheet of all the many parts with all the many options laid out. Let’s call this the “top down” approach. You have to already be somewhat familiar with the universe of parts. Then you have to see if the part fits your need. Does it have SPI? Does it support JTAG? Can it support the touch capacitive screen your team wants? Even when it all comes together, how do you know that it can do SPI and JTAG simultaneously? What if those subsystems use the same pins? It’s ugly. You know it is.

 

 

Enter Solution Advisor from Freescale. Right now it covers the Kinetis MCU parts. This online tool takes a different approach. Let’s call it “bottom up.” Instead of attacking the problem from the top down perspective by starting with what we have, the bottom up perspective tackles the problem from your point of view. The question then becomes: What do I want? What do I need to do this? That basic assumption makes a world of difference. Suddenly you are freed from knowing anything other than what you already know: your design parameters. Hallelujah! That is good human-centered design.

 

So fill in the blanks. You need a segment LCD? Click and go. Need SPI capability? Just say so. Click the module you need on the left, and the Solution Advisor pops up a configuration window that lets you specify capabilities (Figure 1).

 

http://freescalehome.files.wordpress.com/2011/08/image1.jpg?w=578&h=276

 

Figure 1. Pick the capabilities the product design requires.

 

 

You can specify voltage, temperature range, package, and memory. The FlexBus interface is particularly sweet, and worthy of a picture (Figure 2). Again, we’re talking an intuitive human interface here that lets you define what you need based on how you think and see, not on a dry list of numbers or register diagrams

 

http://freescalehome.files.wordpress.com/2011/08/image2.jpg?w=578&h=336

 

Figure 2. Specifying the characteristics of the bus that ties everything together.

 

 

You mix and match the design elements as you will. The list of potential controllers that fit your needs changes automatically based on your choices. If it drops to zero, you are warned immediately – yet another great human interface touch (Figure 3).

 

Figure 3. Uh oh! Now you’ve done it.

 

 

When you’re done, you can pick a 100 percent solution, or a non-preferred solution (you’re a grown up). Once you’ve picked the processor, you can check the pin muxing to see if your particular choice of modules work together (Figure 4). Talk about cool – within a minute or two you know if your design is going to have problems. (I purposefully set this up to show you a failure case.)

http://freescalehome.files.wordpress.com/2011/08/image4.jpg?w=578&h=271

Figure 4. Sorry, these components won’t play together in the same box.

 

 

Continue reading on Software Meets Silicon blog

Filter Blog

By date: By tag: