From Concept to
Wolfgang Heinz-Fischer Head of Marketing & PR, TQ-Group
TQ-Groupâ€™s Comprehensive Design Process
Freescale and TI Embedded Modules
+ ARM Cortex Programming
Low-Power Design Techniques
At Embedded Developer you can compare and . You can also compare ARM
s and development tools. Then you can buy them. www.embeddeddeveloper.com Everything you're looking for in one place.
4 6 10 16
MICHAEL SPAID - CAMBRIOS TECHNOLOGIES CORPORATION
NXP SEMICONDUCTOR LOGIC IN AUTOMOTIVE APPLICATIONS
RASPBERRY PI PRIMER PART 2: RASPBIAN WHEEZY SETUP
WOLFGANG HEINZ-FISCHER - HEAD OF MARKETING, TQ-GROUP
EMBEDDED WORKBENCH FEATURED ARTICLE PROGRAMMING ARM CORTEX-M MCUs
PRODUCT HIGHLIGHT MURATA NETWORK CONTROLLER
15 24 30
In the Spotlight:
Dr. Michael Spaid VP of Product Development Cambrios Technologies Corporation
Did you always know you would be an engineer? I did not start my education studies or career planning pursuing engineering. In college, I received the dean’s honors scholarship primarily for music, playing the piano all four years of school. During my second year, however, I committed myself to engineering and have been dedicated to the craft ever since. I must thank my high school teacher for sparking my interest in chemical engineering. Two years later, I received my Bachelor of Science degree from Tulane University. Following my time in New Orleans, I moved out West and obtained my Master of Science and Ph.D. degrees from Stanford University in chemical engineering. After completing my schooling, I began my career with the National Institute of Standards and Technology (NIST) in Maryland and later worked for Corning in upstate New York. Prior to joining Cambrios in 2005, I was the director of engineering with Caliper Life Sciences – microfluidics. In my current role at Cambrios, I’m proudly working in the field of electronic materials, as Cambrios makes coatable suspensions of silver nanowires, called ClearOhm® materials, that are used as transparent conductors in touchscreens, organic light-emitting diode (OLED) lighting, Organic Photo Voltaic Cells and other applications.
Can you tell us about your favorite project? Between 2005 and 2006, Cambrios was telling customers that we could make transparent conductors using our silver nanowires, and in spite of some impressive specifications we delivered.
Customers could not quite comprehend the product and asked us for samples. In those days, we were making small test coupons in the lab – with the lengthy development process of one week per test coupon. There is no doubt, the samples developed were the most precious items in the lab and I, along with my team, were extremely proud of what we’d accomplished. When we showed the prototype (a piece of film coated with silver nanowires) to customers, they were unable to see anything – the sample looked simply like a piece of clear plastic film. In response, we explained that our product was truly transparent – in no way visible to the naked eye. While still skeptical, we knew we had the best ingredient to gain their approval – we showed them transmission measurements and resistance data. As expected, they were awed at our achievement. Cambrios’ nanowires on film were more transparent at a given conductivity than anything they had seen in their extensive years of expertise and we still hold that distinction. Today, Cambrios’ ClearOhm® materials can enable millions of meters of coated film, yet the first test coupons were definitely nostalgic, and both challenging and exciting to create.
What are your favorite tools? The work horse optical microscope is one of my favorite tools, as it is very simple and useful. It is surprising that our nanowires can be visualized with an optical microscope since their diameters are smaller than the wavelength of light. Using dark-field imaging, it is possible to see the image of the nanowires on the plastic film surface. It produces a great picture of the random network of nanowires that is covering the substrate, creating the transparent conductor. Other tools in the lab are also useful, for example, the scanning electron microscope (SEM) is used to get higher resolution images of the nanowires.
ENGINEER SPOTLIGHT Even though my team and I spend a lot of time on chemical engineering, working at Cambrios requires a diverse range of expertise and knowledge in chemistry, chemical engineering, material science, physics and electrical engineering. Since our products go into electronic devices, we have lots of analytical and electronic test equipment and tools too.
Do you have any note-worthy engineering experiences? Our product is so transparent that, in the past, we have had customers process the non-coated side of the film and call us to say that it is not working. When we first started, people could not imagine how our product worked, but we made coated film prototypes and taught our customers how to make patterned circuits from our material that are required to make displays or touch sensors. It was hard work, but it paid off. Today, Cambrios makes samples of new materials and coats them onto substrates. We believe that it’s necessary to understand how our customers use our inks in their processes – such as coating, patterning, connecting the patterned circuit to a chip, and more – to ensure our offering meets not only their needs, but that of the end-user.
Do you have an experiential stories you would like to share? As part of my PhD, I studied fundamental fluid mechanics with an emphasis on coating flows and their associated instabilities. I never, however, thought about how this might be useful and didn’t use this knowledge until recently in my tenure with Cambrios. Now, I use that background for some of the rollto-roll coating my team is developing and advancing. Whenever my children complain about their homework loads and how they won’t need to know about compound fractions in the real world, I’m reminded of my experience. More often than not, what you learn in college (undergraduate and graduate studies) will come in handy. Furthermore, one time my team was trying to build a new product that could augment our mainstream product. We made plans,
“Our product is so transparent that, in the past, we have had customers process the non-coated side of the film and call us to say that it is not working.” researched the market, and ultimately, learned that one of the world’s largest companies already made a product which could easily be leveraged to bring our concept to fruition more rapidly. Instead of attempting to develop the product on our own from scratch, we partnered with them. Consequently, the product was created a lot faster and for less money than other marketready solutions.
What are you currently working on? A good portion of my work and that of my team involves supporting everything related to mass production as the company transformed from lab to fab. We also get to work on next-generation products, fundamental research, expanding the product line to capture new applications, and more. After years of hard work by my team, today there is great joy in realizing that the silver nanowires we researched, developed and now mass produce, are shipped to factories overseas where they are coated in a roll-to-roll machine, then fabricated into touch sensors, that are laminated to displays/lens and integrated into a mobile phone or monitor. I can go across the street to the local electronics store and buy a consumer electronics device with ClearOhm material that started in our factory, made its trek across the globe and now is back where it started. How cool is that?!
What do you do when you’re not working on engineering? I have four children and they keep me pretty busy. When I am not at work, I am usually at my kids’ soccer and baseball games, either driving to the game or cheering from the bleachers. I also continue to play music – I started with the piano, and today I play the concertina, button accordion and guitar in a local Irish band.
NXP Semiconductor Logic motive in Automotive Applications By Michael Lyons, Product Marketing, BL Logic
6.40 6.00 6.40 2.10 1.00 As a leading supplier of logic6.40products2.50 to the automotive industry, NXP Semiconductors focuses on quality: quality of product, quality of2.00supply and 3.50 5.00 8.65 5.00 4.50 6.50 1.45 quality of support. Quality that is perfectly represented by our Q100 logic 0.50 range —0.65 1.27 by decades 0.65 0.50 0.65 0.65 0.50 proven either of reliable use in automotive applications or by exceeding the levels of reliability outlined in the automotive industry’s AEC-Q100 standard. Amongst other things, this standard outlines:
Q100 Logic samples available in e-sample store. Order them today! Haven’t found your function? Please contact your local NXP representative.
• Rigorous stresses such as high temperature operating life (HTOL) and highly accelerated stress testing (HAST) that, when combined, simulate the aging of a device in an automotive environment. • Manufacturing practices to limit the potential for non-typical outlier products to be delivered to automotive customers NXP’s logic products are used in a wide variety of automotive applications including instrument clusters, body control modules and engine control units. NXP’s logic products are used in a wide variety of automotive applications including instrument clusters, body control modules and engine control units.
Input and output (I/O) expansion devices such as analog and digital multiplexers are used extensively to reduce the complexity, pin count, and ultimately cost of any microcontroller-based solution. The sensor interface of a gasoline engine control unit, shown in Figure 1, is often an analog multiplexer function such as the 4051. It selects one of eight inputs to be passed to the single output. Using such a device enables eight analog sensors to be interfaced sequentially to a single analog to digital converter (ADC) of a microcontroller. Important parameters to consider when selecting an analog multiplexer are the ON resistance, variation of ON resistance with input voltage, or ON resistance flatness, and the ON-state leakage current. The ON resistance determines how much the sensed signal is attenuated. Any variation of ON resistance with input voltage will lead to signal distortion while high ONstate leakage will result in additional signal loss. The combined effect of these parameters on the sensed signal determines the required accuracy of the microcontroller’s ADC. NXP’s 5 V range of 8:1 analog multiplexers includes the 74HC4051-Q100 and 74HC4851-Q100. The74HC4051-Q100 has 4 μA maximum ON-state leakage current at 125º C and the RON v VIS characteristic shown in Figure 2. This results in 0.04% total harmonic distortion (THD). The 74HC4851-Q100 has a similar RON v VIS characteristic to that of the 74HC4051-Q100, but only 1 μA ONstate leakage current at 125º C. It also has an added injection current control feature which enables the user to apply signals of amplitude greater than the supply voltage to the switch terminals. NXP’s next generation 3.3 V range of 8:1 analog multiplexers includes the NX3L4051-Q100. This has 2 μA maximum ON-state leakage current at 125º C, and the combination of the sub 1 ohm ON resistance and sub 0.35 ohm ON resistance flatness leads to a typical THD of just 0.02%. The 74HC4051-Q100, 74HC4851-Q100 and NX3L4051-Q100 are all available in the industry standard 16-pin TSSOP package, as well as NXP’s innovative smaller footprint leadless DHQFN and HXQFN packages.
NXP’s logic products are used in a wide variety of automotive applications including in clusters, body control modules and engine control units.
Wheel speed sensor
Sensor interface and signal conditioning
Warning lamp driver
Fuel level sensor
02 sensor heater
Input and output (I/O) expansion devices such as analog and digital multiplexe Auxiliary cost of any micr time the complexity, pin count, and ultimately to Real reduce load driver clock solution. The sensor interface of a gasoline engine control unit, shown in Figure analog multiplexer function such as the 4051. It selects one of eight inputs to b single output. Using such a device enables eight analog sensors to be interface I/O protection supply LIN-CAN-FlexRay Glue logic a single analogPower to digital converter (ADC) of a microcontroller. Important param when selecting an analog multiplexer are the ON resistance, variation of ON re input engine voltage, or ON resistance flatness, and the ON-state leakage current. The Figure 1 Gasoline control unit block diagram Figure 1: Gasoline engine control unit block diagram determines how much the sensed signal is attenuated. Any variation of ON res voltage will lead to signal distortion while high ON-state leakage will result in a Temperature extensively sensor
loss. The com of these para sensed signa the required microcontroll
environment Manufacturing practices to limit the potential for non-typical outlier products to b delivered to automotive customers
VIS = 0 V to (VCC -VEE) (1)
VCC = 4.5 V
VCC = 6 V
VCC = 9 V
Figure 2: RFigure v 2VRISON 74HC4051 v VIS 74HC4051 ON
NXP’s 5 V ran analog multip the 74HC405 74HC4851-Q 74HC4051-Q maximum ON current at 125 VIS character Figure 2. This total harmon (THD). The 74 has a similar characteristic 74HC4051-Q 1 µA ON-stat at 125º C. It a injection curr feature which to apply sign greater than to the switch
NXP’s next generation 3.3 V range of 8:1 analog multiplexers includes the NX3 has 2 µA maximum ON-state leakage current at 125º C, and the combination o
connected to the input clock, the other connected to the serial input. Once the 8-b been loaded into the LED driver’s shift register a third microcontroller I/O pin is us
Wheel speed sensor
Fuel level sensor
Indicator and warning lamp driver
Coolant temperature sensor
Mircocontrollers Backlight driver
Battery voltage monitor
Sound generator ampilfier
Oil pressure sensor
Real time clock
Figure3 3: Instrument cluster block diagram Figure Instrument cluster block diagram
bit width solutions. As well as bit width, important parameters to consider when selecting a display Display serial-in parallel-out output current drive and outputdrivers voltage include 8-bitsdrivers to theintegrate open-drain outputs which driver drivearethe LEDs. Logic display shift registers, which are common I/O expansion rating. They determine the suitability of the device which with allow the cascading of devices indisplay, Figure result that three devices, MOSFET LED drivers. They reduce asforshown the given be4. it aThe grid or panel,is seventhe size, complexity, pin count and ultimately segment or single indicator. I/Oofpins can be usedbased to control 24-bit, or even higher bit width solutions. A cost any microcontroller solution.16-bit, The display driver shown in theparameters instrument cluster NXP’s range of shift register based, driver open drain width, important toblock consider when selecting a display are outpu diagram in Figure 3 is often a logic LED driver output display drivers includes the HEF4894-Q100. such the 596 or 4894 functions. They allowdetermine the It combines a 12-bit shiftof register with 15 Vfor / 40the give andasoutput voltage rating. They the suitability the device microcontroller to enter 8-bit data serially using mA open-drain outputs. A wide 5 V to 15 V a grid single indicator. just two ofor its panel, I/O pins seven-segment — one connected toor the supply range allows it to interface to standard 5 input clock, the other connected to the serial V microcontrollers. For higher current applications input. Once the 8-bit data has been loaded into NXP has introduced the NPIC6C596-Q100, 8-bit the LED driver’s shift register shift register with 33 V / 100 mA open drain 12aVthird microcontroller I/O pin is used to clock the 8-bits to the openoutputs which also maintains the standard 5 V drain outputs which drive the LEDs. Logic display control interface. Both devices are available in drivers include serial outputs which allow the the industry standard SO and TSSOP packages, cascading of devices as shown in Figure 4. The while the NPIC6C596-Q100 is also available in result is that three microcontroller I/O pins can NXP’s innovative smaller footprint leadless be used to control 16-bit, 24-bit, or even higher DQFN package.
NXP’s range of shift register based, open drain output display drivers includes the HEF489 Q100. It combines a 12-bit shift register with 15 V / 40 mA open-drain outputs. A wide 5 V indicator. 15 V supply range allows it to interface to standard 5 V microcontrollers. For higher curren applications NXP has introduced the NPIC6C596-Q100, 8-bit shift register with 33 V / 100 open drain outputs which also maintains the standard 5 V control interface. Both devices a available in the industry standard SO and TSSOP packages, while the NPIC6C596-Q100 is available in NXP’s innovative smaller footprint leadless DQFN package.
and output voltage rating. They determine the suitability of the device for the given display, be it a grid or panel, seven-segment or single 12 V
Buffers, line drivers
Buffers and line drivers are used when the output drive capability of a microcontroller is no sufficient to drive the output load. They reduce the size and ultimately cost of any microco based solution. The body control module demux drivers shown in Figure 5 often use a log driver such as the 244, 573 or 125 functions. They provide the higher output drive capabili µC that allows the body control module to drive pumps for wiper/washer control, or motors fo I/O Output_CLK Storage register Storage power window control. In some cases body controlregister modules use multiple line driver circuit Serial output Serial input all these outputs are switched at the same time, it may result in high EMI and system insta I/O due to the high output drive. To avoid this latched drivers are used. In latched drivers the Shift register Shift register Input_CLK I/O output only changes on a HIGH to LOW transition of the LE (Latch Enable) input, as a resu microcontroller can sequentially enable each driver, or combination of drivers, to reduce E The most important parameter to consider when selecting a buffer-line driver is output dri Figure 4: Cascading of 8-bit display drivers which can be used together with the supply voltage to determine if the resultant output vo will be sufficient to switch the target load.
Figure 4 Cascading of 8-bit display drivers
Buffers, Line Drivers
Buffers and line drivers are used when the output drive capability of a microcontroller is not sufficient to drive the output load. They reduce the size and ultimately cost of any NXP White based Paper solution. The body microcontroller control module demux drivers shown in Figure 5 often use a logic line driver such as the 244, 573 or 125 functions. They provide the higher output drive capability that allows the body control module to drive pumps for wiper/washer control, or motors for power window control. In some cases body control modules use multiple line driver circuits. If all these outputs are switched at the same time, it may result in high EMI and system instability due to the high output drive. To avoid this latched drivers are used. In latched drivers the output only changes on a HIGH to LOW transition of the LE (Latch Enable) input, as a result the microcontroller can sequentially enable each driver, or combination of drivers, to reduce EMI. The most important parameter to consider when selecting a buffer-line driver is output drive, which can be used together with the supply voltage to determine if the resultant output voltage will be sufficient to switch the target load. NXP’s range of buffers / line drivers includes the 74AHCT244-Q100, 74HC573-Q100 and 74LVC1G125-Q100. The 74AHCT244-Q100 is an 8-bit solution for 5 V applications and has 8 mA drive capability. Also with 8 mA drive at 5 V supply, the 74HC573-Q100 is an 8-bit latched solution for 3.3 V and 5.0 V applications that use multiple devices. It has
Front light Control
Fog light driver
Rear light cluster control
Power window driver
Central locking driver
Figure 5: Body control module block diagram
Figure 5 Body control module block diagram
the additional advantage of having flow through architecture (data inputs opposite data outputs), allowing for easier board layout. For lower voltage, NXP White Paper higher drive applications the LVC family can be used. The 74LVC1G125-Q100 is a single driver solution for 1.65 V to 5.5 V applications, with an output drive of 24 mA at 3.3 V and 32 mA at 5.5 V. 8-bit solutions such as the 74AHCT244-Q100 and 74HC573-Q100 can be found in the industry standard SO and TSSOP packages as well as NXP’s innovative DQFN leadless package. Single bit solutions such as the 74LVC1G125-Q100 can be found in the industry standard TSSOP5 package as well as NXP’s innovative leadless HSON6 package. ■
The Raspberry Pi Primer Part 2: Raspbian Wheezy Setup Guide by Kyle Olive, EEWeb Contributing Author
If you’re reading this article you’ve got your hands on a Raspberry Pi, and you’ve got all the hardware you’ll need to get yourself up and running. Unfortunately, until you’ve set up an operating system, you’re not going to get a whole lot of use out of it! This article will outline two different popular operating systems for Raspberry Pi’s, Arch Linux ARM and Raspbian “Wheezy,” as well as go through a set-up guide for Raspbian.
Operating System Comparison: Arch Linux ARM and Raspbian “Wheezy” So, does it even make a difference as to which operating system you choose? In short, it depends. Depending on your skills and on your knowledge of Linux operating systems, the choice of operating system may not be an important one, but if you’re new to this realm of development, then there are some things to consider. If you are new to Raspberry Pi, you might want to choose the recommended Raspbian “Wheezy” operating system, which is based off of the popular Debian linux distribution, and is much friendlier to users who may not be too experienced with using Linux. Wheezy comes pre-packed with the LXDE desktop environment, a bunch of sample applications developed for the Raspberry Pi, and applications like Midori (a web browser) and Scratch, a graphical educational programming language). On top of that, it also has many of the standard requirements
for development (gcc, python, and more) pre-packaged and ready to go. If you want to be able to get started using your Raspberry Pi as quickly as possible and with minimal hassle, or if you wanted to be able to start using your Pi in an educational setting, your best bet is to go with this distribution. On the other hand, you might want to choose Arch Linux ARM if you are a bit more experienced. Those familiar with the desktop-based Arch Linux will know that setting it up is a more involved process than other distributions, and Arch Linux ARM is no different. The base image for Arch Linux ARM is very lightweight, containing only the necessary software packages to get your Pi running. While this means a much longer, more involved setup process however, it also means that developers will be able to cut out a good portion of the software that they don’t need, resulting in a faster, more lightweight, operating system. Though there are more differences between the distributions than discussed above, most users will probably want to use Raspbian “Wheezy.” It’s easier to set up, has a higher number of available software packages, and has a higher number of active users (in other words, you will have more people to ask for help from when something goes wrong). Raspbian “Wheezy” will generally be a better choice for random tinkering, while Arch Linux may be a better choice for an experienced developer with a well defined project.
TECH ARTICLES Run df-h once before inserting your SD Card to see the current drives
Run df-h again after inserting your SD Card to see its filesystem path and mount location. The SD Card will be the new addition. In this case, we will want to write our image to /dev/sdb. Run df-h once before inserting your SD Card to see the current drives
Use “df” to get the correct drive path.
The dd command output. It can take a few minutes for the image to be written to the SD Card.
Setting up Raspbian “Wheezy” To install Raspbian “Wheezy” on your Raspberry Pi, you’ll need the Rhaspian image and an SD Card with at least 2GB of memory. If you plan on doing something with your Pi that involves multimedia (videos, music, games, etc.) then you probably want to have a bigger SD Card (I’m currently running with an 8GB). First we’ll have to transfer the image to the SD Card. Mount your SD card on your computer, and extract the .img file from the archive you downloaded into a folder on your computer. It’s important that you don’t just copy the image you downloaded to the SD Card, as that won’t actually format it in a way the Pi can read. The following steps will delete all data on the SD Card, so if you already have stuff on there you will want to back it up.
In Windows you’ll want to use a tool like Win32-Image-Writer. Extract the binary archive to a folder on your computer, and run Win32DiskImager.exe. Select the wheezy image you extracted as the image file, and the drive letter for your mounted SD card. Then press “write” and let the program do its thing. In a few minutes you should get a notice that the write was successful. In Linux you’ll want to use the “dd” command. You first need to mount your sd card and then find its device name by running the “df -h” command. The device name will be something like /dev/sdb/ (note: if your SD card has multiple partitions (sdb1, sdb2, etc) you want to use all the partitions (sdb)). You then have to unmount the card in order to format it. You can do so using a graphical context menu in the file explorer of most Linux distros, or use the “umount” command. Once you’ve gotten the device name of your SD card and you’re ready to setup the SD card use the command: _sudo dd bs=1M if=[WHEEZY IMG DIRECTORY] of=[SDCARD DEVICE PATH] _
IMPORTANT: ENSURE YOUR SD CARD PATH (of) IS CORRECTLY POINTING TO YOUR SD CARD, OTHERWISE YOU CAN WIPE YOUR DRIVE OF ALL DATA The Win32 Disk Imager Tool being used to write the Raspbian image to SD Card.
This will format your SD card (output file) with your Wheezy image (input file) using 1MB blocks.
change_locale – This lets you change your locale, and sets languages and character sets appropriately. This defaults to British English. change_timezone – Lets you set your timezone. memory_split – This lets you set how much of the memory is dedicated to the graphics processing unit of your Raspberry Pi. The more graphically intensive applications you’ll be working with, the higher this value should be. The default of 64 should be fine for most applications. The default desktop of the Raspbian Wheezy Operating System running on a Raspberry Pi The command will take a few minutes to run, when it’s finished you can eject your newly imaged SD card and put it into your Raspberry Pi. Start up your Raspberry Pi and in a minute or so you’ll be greeted with a blue screen and the Raspbiconfig menu. This menu will help you go through the process of setting up your operating system. We’ll walk through the settings here in this article. Accepting the defaults will usually work fine, though you may want to fine tune some of the following settings. expand_roots – This setting will let you expand the root partition of Raspian Wheezy to fill the entire SD card. If you’re planning on using your SD card to store other data or want to manage partitions yourself, then don’t use this option. Otherwise, select it and it it expand the filesystem to use the entire SD card. After selecting it, you should be greeted with a message stating that the filesystem will expand on reboot. overscan – This lets you enable or disable overscan. If you notice that your display isn’t filling your entire monitor, disabling overscan will usually fix that issue. configure_keyboard – If you’re using an international keyboard, you can use this option to change keyboard settings. change_pass – The default login and password for Raspbian Wheezy is pi : raspberry. If you would like to change this, you can do it here.
overclock – This lets you change the clock rate and voltage levels of your Raspberry Pi to some preset defaults. Note that overclocking can potentially lower the lifespan of your Pi and may lead to other issues. Only play with clock speeds if you know what you’re doing. ssh – If you want to be able to ssh into your Raspberry Pi and use it remotely, enable this setting. boot_behaviour – Lets you set up the Pi so the desktop environment starts automatically (otherwise you’ll have to use the command startx to start it) update – Finally, update will check for updates to the config tool. Once you’ve selected the settings you want, select “finish” and restart your Raspberry Pi (when prompted to login the default username is “pi” and the default password is “raspberry”). If everything went smoothly you should now be greeted by the desktop (if you have enabled it to start by default – you can run startx to have it launch otherwise). Hopefully you didn’t run into any issues. If you did, you can always try again by re-formatting the SD card with the original Wheezy image, or head over to the Raspberry Pi forums and FAQs to look for more pointers and tips. Once you’ve got your Raspberry Pi set up with Rhaspbian, you’re ready to start developing. Keep checking back for more articles on making the most out of your Raspberry Pi. ■
SYSTEM ON A CHIP
THREADX: WHEN IT
REALLY COUNTS When Your Company’s Success, And Your Job, Are On The Line You Can Count On Express Logic’s ThreadX® RTOS
Express Logic has completed 14 years of successful business operation, T H R E and our flagship product, ThreadX, has been used in over 1 billion electronic devices and systems, ranging from printers to smartphones, from single-chip SoCs to multiprocessors. Time and time again, when leading manufacturers put their company on the line, when their engineering team chooses an RTOS for their next critical product, they choose ThreadX. Our ThreadX RTOS is rock-solid, thoroughly field-proven, and represents not only the safe choice, but the most cost-effective choice when your company’s product
simply must succeed. Its royalty-free licensing model helps keep your BOM low, A D and its proven dependability helps keep your support costs down as well. ThreadX repeatedly tops the time-to-market results reported by embedded developers like you. All the while, Express Logic is there to assist you with enhancements, training, and responsive telephone support. Join leading organizations like HP, Apple, Marvell, Philips, NASA, and many more who have chosen ThreadX for use in over 1 billion of their products – because their products are too important to rely on anything but the best. Rely on ThreadX, when it really counts!
Contact Express Logic to fi nd out more about our ThreadX RTOS, FileX® fi le system, NetX™ Dual IPv4/IPv6 TCP/IP stack, USBX™ USB Host/Device/OTG stack, and PegX™ graphics toolkit for embedded GUI development. Also ask about our TraceX® real-time event trace and analysis tool, and StackX™, our stack size analysis tool that makestool stack overflows a thing of the patent-pending stack size analysis that makes stack overfl ows a past. And if you’re developing safety-critical products for aviation, industrial or medical applications, ask about our new Certification Pack™ for ThreadX.
E REAL-TIM ED EMBEDD ADING RE MULTITH
adX for ARM, Coldfire, With Thre ices with append ctures Now archite PowerPC MIPS and
For a free evaluation copy, visit www.rtos.com • 1-888-THREADX L. Lam Edward Copyright © 2012, Express Logic, Inc. ThreadX, StackX,and andCertification CertificationPack Packare aretrademarks trademarksofofExpress ExpressLogic, Logic,Inc. Inc. ThreadX,FileX, FileX,and andTraceX TraceXare areregistered registeredtrademarks, trademarks,and andNetX, NetX,USBX, USBX,PrismX, PegX, StackX, All other trademarks are the property of their respective owners.
M CD-RO INCLU DED
EMBEDDED WORKBENCH Motor Control Starter Kit The Motor Control Starter Kit with mTouch Sensing from Microchip is a complete hardware and software tool suite for evaluating Microchip’s ultra-low cost Motor Control Family dsPIC DSCs. It contains a single board with a BLDC motor, capacitive-touch sliders and a built-in debugger. Features: • dsPIC33FJ16MC102 - Very Low cost 16-bit Motor Control DSC • On-board In-Circuit Programming / Debug via USB • On Board 3-phase BLDC Motor • 15v, 2.6A On Board Drive Circuit with pads for user supplied motor • Capacitive Touch Slider for Speed Control with LED indicators
Capacitive Touch Booster Pack The Capacitive Touch BoosterPack from TI is a plug in board for the MSP430 Value Line LaunchPad development kit. This BoosterPack features several capacitive touch elements including a scroll wheel, button and proximity sensor. Also, on- board are 9 LEDs that provide instant feedback as users interact with the capacitive touch elements. In addition, a timer-based UART enables communication to a PC for feedback via GUI or hyperterminal. This BoosterPack also includes a pre-programmed MSP430G2452IN20 Value Line device. When paired with the LaunchPad kit, the Capacitive Touch BoosterPack provides a complete hardware and software reference design to enable developers to quickly and easily replace any physical button with a capacitive touch element.
10-pin Plug-of-Nails™ Cable Tag-Connect cables provide a simple, reliable means of connecting Debuggers and Programmers or other test equipment to your PCB’s while lowering board costs and facilitating efficient production programming. Tag-Connect uses a specially designed and patented connector which eliminates the need for putting a programming header or other mating connector on every PCB. Instead the Tag-Connector uses tried and tested spring-pins rated for over 100,000 operations to make a secure connection to a special footprint pattern of pads and locating holes in your PCB. The legged version footprint takes about the same board space as two or three SMT resistors which means you can locate the footprint right next to the MCU if desired.
om Concept to Reality
olfgang Heinz-Fischer Head of Marketing & PR, TQ-Group
TQ-Group is a technology company that prides
itself on quality. In fact, the company’s initials stand for “Technology” and “Quality.” To achieve this, the company has developed a corporate philosophy of working closely with each of its customers—from the design process to production—so they can be successful together. The scope of TQ’s products ranges from embedded platforms for a variety of different architectures to consumer specific products such as iPad accessories.
Embedded Developer had the chance to speak with Wolfgang Heinz-Fischer, the Head of Marketing at TQ, about the embedded products the company offers, the ever expanding European market, and the company’s unique strategy when it comes to product development.
Could you talk a bit about TQ as a company? What products and services do you provide? TQ started in 1994 as service company in the sense of designing services and electronic manufacturing services. In the first few years, we were developing some important projects; we made a mini module—the first embedded product—but at the time, no one was thinking of the embedded market. In 1997, we saw that the product actually fit into the general market, not only for the one or two customers that it was designed for. This is essentially when the company started in the embedded arena. TQ stands for “technology” and “quality” and primarily serves the Electronic Manufacturing market. In Germany, we rank second, and in Europe we are in the top 20, so we are well positioned in this arena. More than ten percent of the company’s 102,000 employees are in the design field. We also serve a wide range of design sectors. Many of the technologies today are driven by microcontrollers or microprocessors. We are also doing some test and measurement and analog products as well as some products in the telecom market. Our position in the market is based on our strengths in designing, which is a major differentiation factor from the other EMS companies. We have won 1st placeseveral times in design responsibility in the German market In the past five years, we have started to strengthen our embedded group of products to span into the ARM direction and on into the power arena. In the vertical markets, we are certified for medical, aviation, and
for automotive. In the US, we’re representing something around 20 to 25 percent in the aviation market and we’re a top supplier to the Air Force industry and the electronics inside of airplanes. We are also responsible for 15 percent in the industrial field and industrial control and automation. In the future, the company will continue to expand into more arenas for standard products and the services in the European market. Services are a little different than standard products—services means you need on-site facilities and on-site support; you need much more for services than for standard products, as it requires a much deeper and closer relationship with the customer.
What percent of TQ’s business is custom design work within these industries, and what percent are single-board computers and modules? At the moment, the majority of our business is customization, which represents 80 to 85 percent. This leaves 15 percent, which is represented by our own products. In the future, we will try some more of our own products. The target in 3 to 4 years is for our portfolio to be 40 to 50 percent of our own products compared to customization. Engineers have always started from scratch and did a lot of integration in the embedded arena. These days, they understand it’s much easier to start with a module first. So more and more of the customization we’re doing is based on a standard module. We then do a customization carrier board, which is specific to the customer. However, the inside model is a standard product out of our range of products.
It sounds like that area of your business will grow a lot. Can you talk about the worldwide regions you sell to and the things TQ is doing to grow your customer base? We started as a Bavarian company, so we are located close to Munich. When TQ first started out, we had major companies that were only around Munich area. So four years ago, we decided to expand to a German-speaking area for our services. For the products, we decided to go to the European market and developed a process to expand into the market with the help of partners in the major territories, which is nearly done. This year, we decided to focus heavily on the United Statesâ€™ market. A long-term goal is to have a well-known facility in the US.
What sectors in the U.S. market do you think will be some key growth area for TQ? I think the US market will look very similar to the German or European market. We see embedded products as very strong elements in the medical
One of the leading solution providers of innovative technologies for 20 years, TQSystems GmbH has their corporate headquarters in Seefeld, Germany, and employs over 1,200 staff and has production facilties in Germany, Switzerland and China. The company has recently opened TQ-USA which is represented in North America by Convergence Promotions, LLC. 19
TQ modules cover a diverse array of applications such as central fire alarm systems, photovoltaic systems, marine engine controls, medical devices, and smart meters. arena, as a lot of changes are occurring there. We also see very strong growth in the automation area as well as the machinery market. If you look into the processor arena and see what the strengths of Freescale are in that market, I believe that telecom may become an industry market as a Freescale QorIQ-dominating process, which we will see play out in the US market. By being a close partner with Freescale, we believe by having our own organization within the US market and being promoted by Freescale, this will open a lot of doors for us.
Could you give us a little overview of the types of embedded products that TQ sells? We have a complete range of power architectures. We started with the PowerQuicc I, followed by PowerQuicc II, and by PowerQuicc II Pro. We’ve recently stepped into PowerQuicc III and we have products in the QorIQ P1, P2 range. In the pipeline, we will definitely start working with the T1 and T2. We’re one of the very few companies that is offering the complete range of power architecture products from the Freescale range.
Next, we have complete ARM Freescale range, starting from the ARM A9 to the ARM A11. Then have the Cortex A8 and Cortex A9—all the i.Mx products—28, 35, 53, and 6—that is available in the market. We then did a little side step into the TI world, offering the Sitara 335, which boosts the specification of that process that we couldn’t find in the Freescale range. We like to have the complete offering in order to meet all the customer expectations and needs. For that reason, we decided to jump out of the Freescale range. This is a product base that is not x86—but we have the x86 in the Intel range. At the moment, we’re focusing on the main board design. We’re co-working with companies like Congatec, Avatech, and others, and using their COM Express modules to put them onto a carrier board, which is also unique in some specifications. This allows for rapid customization—almost like a Lego box. The consumer market is flexible, but it’s not available in the long term, so it’s not fitting into the industrial market respect of extended temperature range, vibration, and longevity. With a combination of our main board with our COM Express board, we can guarantee our longevity of ten years and more.
It looks like you have a motherboard then you have modules that can plug onto the motherboard. That’s a great strategy. Do you have more one style of motherboards? We have the first one, which is very unique for the industrial market, which is covering the second type of the COM Express. We are working on the next generation, which is covering the sixth type of the COM Express boards and covers everything from Autonom, the COM Express mini, and the COM Express Standard. All the products we’re trying to make have some unique selling points inside the products. For the Intel board, for example, we patented the hard-to-integrate extension boards. This is a problem for the whole market. If you go to the consumer market, you have the mini ITX board plugged in at a ninety-degree angle with the extension board, which means it becomes a biP box. If you go to the industrialized embedded market, which means industrial PCs and Box PCs, there is no
COVER INTERVIEW flexibility to add extension cards. This means that all the players have their standard BoxPCs, but if their extensions have needs that are specific, it has to be added on extra. We made it so you can have all the cards from the market added to the system, and the system will still be ruggedized, condensed, and compact. By concept, we are able to run a BoxPC up to 25 watts with a fanless system. By this systematic, we got rid of the heat quite easily as we can connect the process immediately to the outside plate, which is not possible by other major players in the market. This is beneficial if our customer needs an extension card or if they cannot link directly to the frame of the chassis, for example.
What are a few advantages of having a fanless system? The main reason to have a fanless system is that you want to have system without any rotating or moving parts, which can guarantee a longer lifetime and less service items. This would be needed if you want to run a system for 80 years without touching again.. All the other companies are trying different methods to get rid of the heat with very condensed heat pipes, but this will drive the cost up significantly.
The World of TQ Consumer, Industrial, and OEM Products In addition to manufacturing modules and other components for embedded systems, TQ-Systems GmbH is a global leader in designing and manufacturing consumer, industrial, and OEM products, including:
Drive Systems: RoboDrive Motor Technology Researchers at the Institute of Robotics and Mechatronics at the German Aerospace Center (DLR) developed the new and flexible “RoboDrive” motor technology for industrial applications. E-Bike Drive Train Systems Clean Mobile, a new TQ business unit, develops and produces innovative drive train systems and components for E-Bikes and cargo applications.
What we did is we tried to use the specification of the COM Express. The COM Express board with the heat system is included in the whole board and is always the highest point in our system. With that, we can hook directly to any chassis or plate and link the heat directly to the outside. Usually, the connectors are twice as high, meaning they are higher than the main board and the COM Express board, so they can’t link it directly. If you look into the BoxPC, they have some very complex heat pipes or they have an aluminum block that they mount inside the box. But how can you guarantee that the heat system is well connected and controlled to the outside? There is no way to be certain in this scenario. We take the opposite approach. The height between our main board to the upper side of the complete system is in the specification of COM Express. We simply put it on the opposite side. We drew the whole system on the top side so we can guarantee a well-designed and wellcontrolled heat connection to the outside. This way, we can have a 25-watt system under control with a completely fanless system.
sDock iPad Wallmounts, Docking Stations & Photo Frames If you want to watch your favorite TV series or a football match while soaking in the bath, or reference a recipe in the kitchen without your iPad being covered with splashes of water or grease then the sDock from Smart-Things is ideal. For more information about the other TQ-Sytems products, go to www.tq-group.com or e-mail firstname.lastname@example.org
TQ’s engineering solutions span the world of embedded, industrial and consumer applications. TQ-USA distributes computer modules supporting Freescale’s QorIQ™, ARM926™, ARM11™, Cortex™-A9 processor-based MCUs and Texas Instruments’ ARM® Cortex-A8 processor based MCUs. TQ-USA also distributes Freescale ARM926 and ARM11 MCU-based Hardware Solutions for system integration.
What’s the difference between buying the MCU and building your own boards, instead of buying the off-the-shelf board as is? We see a market trend that the technology is becoming more complex. We’ll request mainly more manpower and will take more power for designing. On the other side, implementation becomes higher risk for design, so you may fail with your design and this will extend the introduction into the market. In the opposite direction, we see less and less design engineers, especially in the hardware area. We see that the lifecycle of products is shortened. Back when I started my career we were talking about 15 years between products and now we’re seeing 5 years. The next generation of products needs to come to the market as soon as possible. This means we have to produce more products in a shorter time, with less manpower, and with more complexity. The only way to survive is to go modular—it’s the only way to handle that system.
COVER INTERVIEW What is TQ doing to ensure customers that it is easy to migrate from one system to another? I think there is a big misunderstanding in the x86 market. It’s so easy to switch from an autonom to an ARM product. People believe the marketing guys, then they’re shocked when they start their project and realize they can’t change from the A to the B—you always need a specific BSP for that board. It’s not like the Intel world where you go to the Intel webpage and download the drivers, start the system, run, and go. The ARM world is different—it’s like nothing happened. The system integration needs much more time and responsibility from their supplies. There is a big misunderstanding that it’s an easy transition from an Intel product to an ARM product and back, but that’s not the reality. It’s a really interesting part of the x86 world. Contron, brought in a smock, which is kind of a standard term, and they explain that there is no real overlapping between these two markets. The PCI Express and ARM arena is more for industrial type of interfaces like CAN and others. There is no overlapping when they decided to have two different products. It’s interesting to see two major groups in the x86 market with two totally different arguments. I believe it’s impossible to switch easily and make a standard. If you have a look into these standards, we always explain to the customers to have a look into the different players and processors, make a list of the available interfaces, and at the end of the day, you will know how much overlapping and compatibility is really there. We believe a standard outside the x86 world is not possible. A standard means you can have interchangeability; but there would be different vendors, processors, and it’s an easy exchange, but this is not reality in the ARM market.
When it comes to support, what does TQ have available for design resources? We have five people on the support team, and 25 people on the software team. The software side becomes the more important part. At the end of the day, from the hardware side, we can put in support range and link the customer to the design engineer. The entire team to support the process is around 50 people.
“Our position in the market is based on our strengths in designing, which is a major differentiation factor from the other EMS companies.” As I said before, support is a major differentiation from our competitors. We have a wide knowledge with the inside of the applications, so we have a few steps to support the customer. First is software support, and second is schematic review. If they’re ready with schematics, we’ll take a look inside the schematic and how they apply the processor to meet their needs. The next step of support is how to bring the schematic into a real board product. TQ offers the layout to the customer. If the board becomes too complex, we can make any type of layout for the customer so that it becomes an easy way of manufacturing. ■
TQ-USA sales, distribution, and technical support is managed by Convergence Promotions LLC, with offices in Northern California and Boston, Massachussettes. To contact, e-mail: email@example.com
The Choices for Programming ARM Cortex-M Microcontrollers by Joseph Yiu and Ian Johnson, ARM ARM ARCHITECTURE AND DEVELOPMENT TOOLS An increasing number of vendors offer 32-bit microcontrollers based on ARM® Cortex®-M processors, and at the same time, there are also new development environments introduced for these microcontroller products. Some programming languages and tools, previously available only for programming for desktop computers, are being ported to ARM microcontrollers too. Technical advantages of the ARM Cortex-M architecture such as high performance, high code density, OS support and memory system flexibility also enable these software development methods to be used on ARM devices. To use these methods with legacy 16-bit or 8-bit devices could be very inefficient or even impossible. The open nature of the ARM architecture allows software tool vendors to develop tools for a wide range of microcontrollers from different vendors, whereas tools developed for 8-bit and 16-bit processors’ architectures typically have a limited market reach.
Figure 1: Design flow using Java ME Embedded
Wider adoption also allows programming tools vendors to create application development environments for particular embedded segments, such as M2M (machine to machine) and IoT (Internet of things) and alternate programming languages. In this article we will cover some of these development environments such as Java and Simulink.
JAVA TECHNOLOGY Java technology speeds up development and prototyping. Although there are multiple Java development environments available, this article will look at two. Oracle® Java on ARM architecture targets IoT and M2M applications. Programming using Java ME (Micro Edition) software development kit (SDK) is identical to the Java SE (Standard Edition) Embedded (e.g. Eclipse/Netbeans IDE), except, currently, the compiled object is optimized for embedded systems with small memory foot print and the GUI library or JavaFX are not available on Java ME.
TECH ARTICLES For example, a microcontroller running the Java ME Embedded and Java applications can be stored on a SD card, or on chip. When the system is started, the Java ME Embedded can read a configuration file and identify the Java application to load and execute. Typically 256KB of RAM and 1 to 1.5MB of program ROM are required to host the application and the JVM. Please note that applications running inside the JVM cannot guarantee real time behavior. However, the JVM can run as one of the application threads inside a system running RTOS, in parallel to other real time tasks and communicate with each other using an event communication mechanism. Source level debugging is available in desktop and simulated environments and on hardware. The Java execution environment contains an optional debug agent (running on target hardware), which can communicate with the debugger via a built-in device manager (running on the debug host) via UART, TCP/IP or USB.
Figure 2: Software architecture combining Java with real time applications
Java is highly portable: the codes can be used from microcontroller systems, to internet gateway, home server, or large database servers. Java ME and Java SE make it possible to develop applications that work across different embedded platforms.
Java’s sandbox environment can improve security, but can be inconvenient for control tasks. Java ME has peripheral APIs to make this easier, but unlike traditional C programming, these APIs are fairly high level and might not able to support many device-specific features. Some I/O control tasks can be separated and run as application threads alongside the JVM in an RTOS environment.
For IoT and M2M applications, Java ME also provides TCP/IP communication APIs that allow Java applications to open TCP/IP sockets, communicate with other devices and add third party communication stacks, like Bluetooth. Optional APIs for server/client communications allow small microcontroller systems to talk to Oracle database servers seamlessly.
There are many Cortex-M microcontrollers with only several hundred KB of flash and RAM. If you would like to use Java with these devices, IS2T’s MicroEJ®is most suitable. The development flow for MicroEJ is optimized for small microcontrollers that it optimizes, pre-processes and links the Java object off board, before loading to the microcontroller, instead of loading the code object directly to the VM.
Figure 3: Design flow using IS2T MicroEJ, which is available as part of the STM32Java SDK from STMicroelectronics
Figure 4: Components in Java platform (JPF)
MicroJvm can be booted up in 2ms running at 120MHz on ARM Cortex-M3/M4 processor-based microcontrollers and requires minimum of 28KB of flash memory and 1KB of SRAM (not including application code). Even with a GUI human machine interface (HMI) library, it only needs 90 to 140KB of flash in total. The MicroEJ SDK contains choices of Java Platform (JPF), including the root components such as MicroJvm® and standard libraries ( B-ON + CLDC – core embedded Java API), and optional packages like MicroUI™ (embedded user interface), MWT (Micro Widget Toolkit, an embedded widgets framework), NLS (embedded national support), runtime PNG image decoder, and graphical tools. These features allow developers to create GUI quickly, and the object-oriented nature of Java and its automatic memory management make it excellent platform for handling dynamic GUI components.
Figure 5: Software architecture in mixed Java and native code applications
Java applications can access device driver library functions through SNI (simple native interface, ESR012) or Shield Plug. The MicroJvm can run as a single task within a third party OS, or run on its own because it contains its own task scheduler, called green thread. MicroEJ provides an Eclipse-based IDE for creating Java applications on desktop, and a simulator called SimJPF which has a hardware-in-the-loop feature that allows simulations to run with true I/O. It also includes a Front Panel Designer tool to design a virtual device.
SCIENTIFIC AND MATHEMATIC APPLICATIONS In Feb 2013 it was announced that programs created in MATLAB® and Simulink® from Mathworks® will be supported on ARM Cortex-M processor-based
Figure 6: Transfer of software development environment
microcontrollers. The Embedded Coder feature generates C code from MATLAB or Simulink designs and utilizes the optimized CMSIS-DSP library for best performance. Model-based software development tools like Simulink can reduces design time. For example, a motor control system model can be created in, and tested using simulation inside Simulink. After the model is tested, the Embedded Coder can generate C code and you can test the design in hardware using processor-in-the-loop (PIL) configuration, and then finally complete the design by adding required peripheral control code. Since the control algorithm code is generated automatically, avoiding human errors in code porting.
TECH ARTICLES LabVIEW National Instruments’ LabVIEW® is also a graphical programming environment which can handle model based design. Unlike most other tools, the designs are completely implemented in diagrams. LabVIEW has a library of functions for DSP (e.g. filter and spectral analysis) , mathematic, array/matrix processing and these allow application software to be developed without an in-depth knowledge of programming or algorithms. For complex applications, software can be partitioned into Virtual Instruments (VIs) and subVIs. Figure 9 shows a LabVIEW subVI (right) which finds the largest variables from four input variables. The LabVIEW C Code Generator takes graphical code and generates procedural C code which can be used in traditional programming environments (Keil® MDK-ARM, IAR Embedded Workbench). During development, the code can be tested by running it inside the LabVIEW environment on a PC.
Figure 7: Microcontroller software development using Simulink with traditional tools
Figure 8: Running a control application in Simulink with PIL
EDUCATION AND HOBBYISTS A number of development platforms are available for education and hobbyists. For example, the Arduino™ IDE and boards are designed for students and hobbyists to learn embedded programming. The Arduino platform supports various architectures: for example, the Arduino Due is based on Atmel ARM Cortex-M3 processor-based SAM3X8E, and Arduino Uno is based on Atmel’s AVR ATmega328 microcontroller.
Figure 9: Hierarchical software design in LabVIEW
Figure 10: Typical development flow for using LabVIEW C code generator
The Java-based IDE can be use with Windows, Linux and Mac OS. It has a large software library for peripheral control functions which simplify peripheral programming. And most of the APIs are hardware platform-independent so that the same program can be used on different Arduino boards.
Figure 12: An mbed board with NXP LPC1768 microcontroller
An Arduino program contains “void setup()”, executed at the beginning of the program and “void loop()”, executed repeatedly after set up. Users program by inserting code into these two functions. During compilation, the IDE adds a software framework and the underlying code for the peripheral APIs. The open source nature of Arduino allows developers to export the project to other development suites for further optimization. Another similar platform is the mbed™, which is also for education, hobbyists and rapid prototyping. Its SDK contains rich set of peripheral APIs to create feature-rich applications. Currently, the mbed boards feature ARM Cortex-M3 (NXP LPC1768), Cortex-M0 (NXP LPC11U24) and CortexM0+ (Freescale™ KL25Z) microcontrollers. Its 40-pin DIP form factor is designed for easy connection to other development boards.
Figure 13: Design flow with mbed platform
Figure 14: A simple radio control state machine design in VisualSTATE
Uniquely, it is web-based and accessed via a web browser and can be used with Windows, Linux and Mac OS, without having to install software. Once a design is developed and compiled, the binary image can be downloaded to a PC. From mbed SDK 2.0, the platform is open source and projects can be exported to traditional development suites directly. For designs with multiple application tasks, there is built-in RTOS support, using CMSIS-RTOS APIs.
Figure 15: ASD:Suite IDE allows designers to define behavior
CONTROL AND FSM DESIGNS In many embedded applications, especially control, system operations can be viewed as a finite state machine (FSM) and specialized development tools are available to make such designs easier. One example is IAR VisualSTATE® which creates FSM designs from a graphic design environment. Available state can be defined, as well as the events that can cause state transitions and the corresponding operations. The design environment is based on state diagrams and UML (Unified Modeling Language). Figure 13, shows a simple design. VisualState has a formal verification tools for detecting errors like deadlocks, unreachable state, conflicting transitions or ambiguous behavior. The transition sequence that triggers these errors can be annotated for debugging, which is via the C Spy debugger with hardware target system. After the state machine is designed, VisualSTATE generates C/C++ codes which can be integrated into projects in IAR Embedded Workbench for ARM (EWARM). Some other model based design tools previously target PC software design now also support ARM microcontroller code genera-
tion. For example, Verum® provides a development suite called ASD: Suite® (Analytical Software Design: Suite) that enables software system verification before coding and system level testing. Once the models are verified, C, C++, C# or Java, code can be generated and is guaranteed to be equivalent to the defined model. Automatic code generation avoids human coding errors, thus reduce verification time.
CONCLUSION The technical advantages and increasing popularity of the ARM Cortex-M processor-based microcontrollers enabled software tool providers to develop wider range of software development environment. The increasing user base also makes it feasible to have development suite for particular application space. In addition to the development suites mentioned in various section of this article, you can also program Cortex-M microcontrollers with ADA, eLua, Pascal, Basic, Python and Forth, and potentially new development languages. As a result, embedded software developers are not limited to traditional software development method. And this also opens new opportunities for software tool vendors. Some programming methods are targeted at specific users or applications, such as education or IoT. Their specific features enable faster time to market and better product quality. ■
Overview of the
Murata SN8200 Network Controller Module
The SN8200 Wi-Fi Network Controller from Murata is an 802.11 BGN Wi-FI module that provides easy Internet connectivity for your serial devices. The SN8200 is a complete wireless solution on a module. It includes an ARM Cortex M3-based controller as well as the necessary tools to set up your own wireless network. The module comes with all of the necessary protocols for communicating and controlling the device over the Internet.
Included Hardware SN8200 EVK+ Wi-Fi Module Evaluation Kit
Serial Flash Interface Reset Button
CN2 on Right)
CN3 Power Indicator
Setup To get the module set up, put the included CD into your optical drive. The CD will show you a few options, but select the EZ Web Wizzard™, which is Murata’s custom software that supports easy web-based control. Go through the quick start guide process and install the Simple Network Interface Controller (SNIC). Once that’s done, you can install the drivers and connect to the device. The next thing you need to do is select the SNIC monitor and run a setup application in the EZ Web Wizzard™ software. Once the SNIC monitor is installed, you can load firmware onto the module. In order to connect to the module, go down to your Wi-Fi connection and select the Murata WS41741C. When that is connected, open your web browser of choice and in your address bar, type in SN8200.com, which is the local web interface. This will connect you via Wi-Fi. You can now click through the different tabs in the web interface and see the different functionalities of the module.
Typical Applications Since the SN8200 is a complete wireless solution on a module, it makes it perfect for applications such as creating a standalone web server. Other examples could be smart medical and fitness devices, home automation, and industrial control and monitoring.
Conclusion All in all, the SN8200 from Murata is a very capable system. The module is easy to set up as an access point connected to another network in order to access all of the serial communication and GPIO functionality. The module comes with a UART demo to configure for a UART device, which can allow you to start exchanging data back and forth with a serial device that’s connected to the dev board. The kit serves as a complete wireless solution and supports a variety of standards for easy integration. To purchase the SN8200 visit Mouser’s website.