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).
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
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.)
Figure 4. Sorry, these components won’t play together in the same box.