Embedded microcontroller update
Warren reports on a recent OpenSystems Media E-cast covering microcontroller architecture for embedded designs, “Take your Design to the Next Level with Intel Atom[1].” Curt Schwaderer, technology editor for OpenSystems Media, moderated. Speakers were Charlie Wu, product manager for Advantech’s Embedded Single Board Computer Product Line and Joe Broxson, senior embedded engineer at Adeneo Embedded.
Curt opened the E-cast by pointing out the wide range of embedded systems in use today and the one thing they all have in common: the need for higher performance and shorter development times. In response to these needs, Intel has developed the Atom processor with a high performance level and flexible I/O while keeping thermal and board footprints within range for embedded requirements. Curt mentioned an ARC Advisory Group report naming the Intel Atom as a key market driver for improving the performance of future embedded systems.
Charlie Wu of Advantech then presented a detailed description of the Intel Atom processor E6xx series including features such as low power, scalable performance, flexible I/O, extended temperature, and a large software ecosystem. Charlie noted that the E6xx series is available in a wide range of off-the-shelf modules and industrial PCs to simplify and shorten embedded design projects. He also presented technical information on two new Advantech modules designed around the E6xx series: The SOM-6764 COM Express 95 x 95 mm module with type 2 pin-out for compact/rugged applications (Figure 1) and the PCM-9364 3.5-inch single board computer for vehicle, signage, and industrial control applications (Figure 2).
Next, Curt introduced a pre-recorded video entitled “Getting to Market Quickly with Windows Embedded Standard 7 and the Intel Atom Processor E6xx Series” hosted by Joe Broxson of Adeneo Embedded on behalf of Microsoft. During the video presentation Joe demonstrated the startup and customization options available with Windows Embedded Standard. He went through the step-by-step process necessary to create a custom firmware image for a digital signage application. The Windows Embedded development toolset allows the designer to pick from predesigned templates or create a completely unique software configuration.
Joining the speakers for the Q&A was Joe Sunga, application manager for Advantech. Following are excerpts from that session:
CS: Are certain board form factors better or standard for certain embedded markets? For example, is there any advantage to using COM Express versus PC/104?
CW: There are a few different form factors that Advantech offers in single board computers such as the PC/104 in 3.5-inch and also 5.25-inch. The COM Express is more for custom design purposes. You can use COM Express for virtually anything that you want to design. We have seen vehicle computers, medical applications, and embedded signage applications using COM Express. The PC/104 in particular, or that interface connection, is more for traditional industrial control or ruggedized applications such as transportation. It is also very popular for machining applications.
CS: So if I needed a board for some kind of reference design, I could take a COM Express board from Advantech and use that for software development. Is that an option?
CW: Yes, that is an option. With the COM Express board, we also offer a standard carrier board that you can use to do your development on, and it will come with most of the standard PC I/O functions.
CS: OK, and is that how I would add my own I/O to the board if I need I/O interfaces that didn’t show up on it?
CW: Once you have been developing your application software using the carrier development board then you can either start doing your own design using the carrier board that you like using the form factor and functionality, or Advantech will also help develop the carrier board for you if you [so] specified.
CS: What if I need 64-bit support for my embedded application? Is that available?
JB: Yes, it is available with Windows Embedded Standard 7. You just have to take the same precautions that you would with the desktop, meaning that you have to ensure that you have all of the correct 64-bit drivers. But once you have done that you can use both 64- and 32-bit applications on the Windows Embedded Standard system.
CS: With regard to the build environment do users have the option of activating specific devices?
JB: Here you are talking about Windows activation. When you buy a new version of Windows and install it on a computer, it asks you if you would like to activate using a key. With Windows Embedded Standard 7 there is no product activation. You are issued a key from Microsoft when you sign up for licensing and you use that key when you create your image. If you use that key when you create the image, there is nothing else to do. You simply create the image, deploy it, and then you work with a licensed distributor to purchase stickers that you apply to your devices. Those stickers are the license. You don’t have to do activation like you would with the retail, off-the-shelf version of Windows.
CS: They say they make their devices for a regulated industry. Does the tool chain integrate with source control?
JB: Yes, it is very common that if you are in a regulated environment making devices that have to be certified for FDA or for other areas, you need to make sure that your systems are controlled as far as change control. With Windows Embedded Standard 7 it is very easy to do that. We have this thing called a distribution share, which is simply a directory that contains all the different components, or packages, which you can apply or use within your system as well as drivers or other things. That entire directory can be checked in as source control as well as your project files that define which different file packages or settings are included in your device. So it is extremely easy to do source control with Windows Embedded Standard 7. This is a large improvement over previous versions of Windows Embedded Standard.
CS: What is the status of the Windows 7 support for the Advantech boards? Are the drivers ready specifically for the E6xx series and your circuit boards and how much off-the-shelf software is there for the Advantech form factor?
JS: Based on Intel’s roadmap, most of the drivers are available for Windows 7, but some of them are not including the graphics driver. That’s currently still in beta stage, and what they are predicting is that everything will be ready early this year.
CS: There’s a question about Bluetooth and its importance to things such as in-car applications. Does the Atom support that and are the drivers there, or does the developer have to worry about creating drivers to enable the desired I/O?
JS: Atom does not support Bluetooth, but it has a bunch of I/O expandabilities through the PCI Express bus where someone could actually use a Bluetooth adapter with PCI Express, and they could develop their drivers for that. Or if they are using an IOH there is also the option of using the UART. They could interface their Bluetooth through the serial bus, and the drivers would be inherent to the serial bus. I think there are also seven USB 2.0 ports on there, so you could also interface through USB.
CS: Another I/O capability is CANbus. What is that I/O capability for and where can developers find more information on CANbus?
CW: The CANbus has been used mostly in the vehicle applications. More recently we found that the CANbus has been used in medical applications as well. My understanding is that the CANbus is used for communications on specific measurements on vehicle sensors. We currently have PC/104 modules specifically to support CANbus. And of course the great thing with the Atom E6xx processor is that we can now start supporting CANbus directly on the board.
CS: What video and resolution and frame rates are planned to be ported onto the E6xx platform for both encoding and decoding?
JB: There is no limitation imposed by Windows 7.
JS: A display controller utilizes the Atom graphics engine and from there the controller will support 18-bit and 24-bit single-channel LVDS. The maximum resolution is 1280 x 768 at 60 Hz or you can utilize the SDVO output, which has a maximum resolution of 1280 x 1024 at 85 Hz. And if you are talking about frame rate for video encode, that can be done at up to 720p at 30 frames per second using the H.264 codec or MPEG-4. Other codecs can actually be done up to 1080p at 60 frames per second and 720p at 60 frames per second.
CS: Regarding the iManager and the SUSI interface from Advantech, can you give a flavor for the kind of service APIs that are available and what functions they offer? And what kinds of operating systems are available for it? Can you run Linux, Windows 7, and other embedded operating systems?
CW: First I would like to answer that the iManager is an embedded controller to monitor the system input voltage and other power management signals such as S3 and S4, and then accurately program and control the power-on sequence logic for the chipset. That makes the power sequencing more accurate and also makes the power-on more reliable. It also has additional features such as watchdog timer, hardware monitor, and GPIO controlled SMBus. The SUSI on the other hand is the software interface for the iManager at this point. The features include the monitoring portion (watchdog timer, hardware monitor, and hardware control). The control portion is SMBus, I2C Bus, and GPIO. The display portion includes brightness control, on/off control, etc. Currently the operating system support that we have is Windows XP Embedded. Soon we will have Windows 7 or Windows 7 Embedded. It also supports Windows CE and Linux.
CS: Why should we use the Windows 7 Embedded operating system instead of the desktop Windows 7?
JB: The primary reason that people prefer the Windows 7 Embedded Standard is that it is broken down into these packages where you can only pick the portions of the OS that you need. You can actually create an operating system image that is as small as 600 megabytes. However if you are going through the OEM channel and using the standard OEM OS image it is upwards of 16 gigabytes because of the items that it includes. You get other options for customization such as the unbranded startup screen as well as other embedded enabling features. In addition, the licensing cost is typically lower for the Embedded Standard than it is for full OEM SKUs or the desktop retail SKUs. Benefits include the lack of activation. You don’t have to activate each device. You just have to put your key in once and download the image to a thousand devices and you are ready to go. Another reason is that you don’t have to use the Windows shell. There is no startup; it starts with what you want to see in your embedded application.
CS: In terms of things that users know and love from Windows such as the Winsock API and standard Windows APIs for graphics: Are those available on Windows Embedded, and how hard is it to take a Windows desktop application and port it to Windows Embedded?
JB: The difficulty in porting is minimal. The API set is identical. However the operating system is broken down into modules that have to be selected. So as long as you have all the dependencies that are required, then your application will just run. For example if you have an application the uses the .NET Framework3.5, you have to include that in your image.
CS: Current design requirements are for RAM on a single board computer. Does Advantech have an E6xx board with both RAM and Flash included on the SBC? If not, is there a way to get Flash through an I/O interface?
CW: Regarding the design requirement on the memory on the SBC, currently for the 2.5-inch single board computer and the PC/104 form factor computer we have CFast design, not on board, but through a CFast socket. At this moment we do not have a product that has both memory and Flash on board, but this is something that we can investigate.
CS: Are there default builder packages that you can plug into the Windows Embedded environment? So if I want an Advantech SBC part number xyz, I could load it into this builder and take in or out the components that I want? Or do I need to build this up myself?
JS: Depending on the Advantech model number and software, say for Windows Embedded Standard 7, we have a board support package that can be worked through, so you can get an idea of what kind of components the board utilizes. And from there if a custom design were needed, then you could basically depopulate the components you do not use. That board support package has everything for the components that are on the Advantech board. On some boards we have an expansion slot and if the designer adds something there, it would have to be added to the board support package.
JB: The way it works with Embedded Standard is that we have a tool that will analyze the target and identify what drivers are needed on it and so on. What you can do is take the output file from that and import it into the tool and then do your minimal configuration. Just the things you need to get the OS booted. There is a component called eCore that goes along with that. You have eCore and all the drivers required, and you save that as a template. You can actually save that project as a new template. And by doing that it gives you the ability to use that as a starting point. Let’s say you were working with a specific board, then you would save that base model as a template and whenever you want to start on a new project you would just start up the tool and load up the template for that board. On top of that you can load the template for some sort of display device, or set-top box, or whatever you are trying to create. You just load the template on top of that and go ahead and build it. Creating a custom template is no harder than creating a project. You just save that project in the right place, and it becomes a new template.
CS: If you have a board with multiple configurations, how do you handle that in a template environment?
JB: There are multiple ways to handle that. Just ensure that all of the drivers for all the different components are available in the image. It is a bit of an advanced step as to how the phases work, but you would simply specify that all of those drivers would be added during this offline-servicing phase. All of the drivers are on the hard drive so that whenever the device comes up, any other components will be recognized during plug and play and then they will be available on the system. Then you have your base image with all these optional drivers that are also available on the system when you install that image. If the hardware is there it will automatically be installed by the Windows installer the first time the image boots.
CS: Can you give a few more details on how to create and install a custom splash screen for branding purposes?
JB: There are two pieces to it. The first is the standard boot screen and you can go with the Windows flowering screen if you like or you can switch it to a black screen. Also, a second screen comes up. Now that second screen is typically the log-on screen, and you have the ability to add a package to your image that allows you to exchange the background – and all the things seen there – with your own background. You would supply a PNG file that would become the background, and all the Windows messages would appear on top of that. You have a lot of control over that startup process and what you see there.
CS: What are the I/O hub options? Are there any third-party companion chips if they are needed?
JS: Intel developed the chip codenamed Topcliff, which is essentially the EG20T. That is what Advantech utilizes for the I/O hub on this. The I/O has two SATA II ports, seven USB 2.0 ports, a Gigabit Ethernet, one CANbus, one I2C, and one SPI bus. It also has eight general purpose I/O ports, four UARTs and also options for two SD or MMC interfaces. Intel does not normally certify third-party I/O, but there are IOH vendors out there such as OKI Semiconductor, STMicroelectronics, and Realtek. To make things easier, there is no front side bus. It just uses a standard PCI Express bus, so you can install anything using that standard.
CS: In terms of the 1080 HD video, via the SDVO, is there any documentation available to support this design requirement?
CW: At this moment, I am not aware that there is a readily available document, however we do have reference designs where we take SDVO and we turn that into various signal outputs including LVDS, HDMI, and also DVI-D. So as long as the video output can support the 1080p and we have a reference design available to our customer who wants to make a custom design, we can provide the 1080 SDVO video support.
CS: How do you use the video encoder/decoder hardware on the board?
JS: I know for video decode, the application software must be compliant with GStreamer or MPlayer framework. The application must use the API those frameworks provide to utilize a video decoder. For video encoding, the application must also be compliant with the GStreamer framework.
JB: Windows 7 does provide the same encoding and decoding pipelines on the embedded as it does on the others. So as long as the device drivers and the codecs that take care of handling hardware acceleration are available for a piece of hardware, then Windows 7 can absolutely take advantage of it.
CS: Is Advantech doing any boards with Tunnel Creek only and no Topcliff or any other IOH solution?
CW: At this moment, for the single board computers, functional in PC/104 form factors, we don’t have that offering because it is more general purpose and they will all come with Topcliff, the EG20T, which is the I/O hub. However, we do have the computer modules for the SOM product line in the works, and we will have a couple of products to support the Tunnel Creek only or E6xx series only without the Topcliff IOH. Basically the Atom E6xx series can stand alone, and IOH is usually required for lower-level functions. The IOH connects to storage solutions, the USB client functions, CANbus, I2C, and the general-purpose I/Os. If the customer is developing portable applications, they will usually want to incorporate the storage connectivity such as SD, SDIO, or the MMC card. It is not necessary to add an EG20T or a third-party I/O hub unless one of the functions mentioned is required for the application.
[1] Register to view the archived E-cast, Take your Design to the Next Level with Intel Atom with slides and audio at http://bit.ly/fHQvdw.

Leave a Comment