Testing NVidia Tegra 2 and Microsoft Windows Embedded Compact 7 SoC Artsiom Staliarou, Pavel Savyghin, AXONIM Devices, Microsoft Embedded Partner Plan 1. Survey on the Embedded Windows Сompact 7 for System-on-Chip (SoC). 2. General analysis of SoC NVidia Tegra 2. 3. Application of Embedded Windows Сompact 7 for work with NVidia Tegra 2. 4. Video coding and decoding (H.264, MPEG4, MJPEG). 5. Literature 6. Summary We are not going to describe here the chip itself in details and cite numerous already available articles on Tegra 2. We shall tell you about our experience in the use of this SoC and our view on the existing opportunities of its application. This chip can not be characterized as user s choice because of its limited availability but it can not be an obstacle for its use. To our mind, the companies Qseven and Toradex did right producing modules NVidia based on NVidia mobile solutions, thus, giving the opportunity for using the chip in embedded systems. 1. Survey on the Embedded Windows Сompact 7 for System- on-chip (SoC). Windows Embedded Compact 7 OS being released, it became clear that Microsoft was not going to give in its positions in mobile devices sector. Moreover, looking at the innovations in the OS, it becomes evident that today Microsoft Embedded platforms have made one more serious step in the direction of mobile devices development. 1
We believe such opportunities as SMP (Symmetric Multiprocessing) and support of ARMv7 instructions enabled breathing in a new life into the OS. Today, such architectures as ARM Cortex-A8 and Cortex-A9 are widely used (Cortex-A9 are multicore) and in the nearest time it is planned to bring multicore SoCs with Cortex A15 core architecture to the market with operating at frequency higher than 1 GHz. It makes possible to use the OS for the chips mentioned above. It should be noted, the sphere of its application is constantly widening thanks to the innovations in this OS. Up till now, many skeptically minded engineers remain sure that Microsoft Embedded products are not capable of competing with those of Embedded Linux or Google Android because of a number of reasons based on far-fetched principles, not grounded and not connected with the current state of arts in the field of embedded systems. To a great extent, the operation of the final product depends not so much on the OS itself, but primarily, on the quality of BSP (the level of abstraction and drivers). The OS being Real Time OS (RTOS), in case of the right approach to the BSP implementation it is possible to get stable work of the OS and events processing with minimum latency. Almost all initial codes are available and, consequently, one can easily adjust a certain module to match his task and it beats the theory of open source OS s adherents. We believe, the most valuable innovations into the Windows Embedded Compact 7 OS are: - emergence of compiler supporting EABI calls (Embedded- Application Binary Interface), that provide greater efficiency as compared to the existing solutions: - emergence of a valid support of mathematic coprocessor (VFP) in the OS image; - support of ARMv5, ARMv6, ARMv7 instructions; 2
- emergence of OpenMP supporting during compiling applications that enables an equal and correct distribution of tasks in multicore SoCs among several cores; - support of debugging applications in the Platform Builder environment using more than one core; - emergence of numerous innovations improving the process of debugging in the Platform Builder environment; - new utilities of remote work (Remote FX) with the opportunity to create own means; - emergence of a new approach to OS updating (Windows Embedded Developer Update); - emergence of Silverlight 3.0 component enabling creating user s interfaces supporting recognizing multiple touching of a sensor screen. In our opinion, Windows Compact 7 OS is a successful product of Windows Embedded series and thanks to a common structured ecosystem it allows to develop successful products or improve those already existing on the other OS. High quality of product development will, no doubt, guarantee its success and profitable business. 7. General analysis of SoC NVidia Tegra 2. Having released Tegra 2 chips in the first quarter of 2010, NVIDIA gained a serious revenge after its first Tegra series. The use of multi-core ARM Cortex-A9 MP with a good periphery set and an excellent graphic GeForce subsystem turned to be of advantage for the market of mobile devices. Working at the graphical subsystem we were impressed by its performance at high resolution. It should be noted that the chip itself does not take much place (there are versions with dimensions 12x12 or 23x23 3
mm) but it emits a lot of heat and according to the readings of the embedded electronic thermometer without passive cooling the temperature reaches 85 C. Because of this, it is necessary to lower the frequency of cores in order not to put it out of order. We would recommend to use passive cooling for this SoC. Fig.1 External view of NVidia Tegra 240 (PoP) SoC Having studied the present SoC it became clear that the company NVidia had paid great attention to the quality of the chip. According to the set of peripheral elements and functionality, the SoC may be referred to a multi-core series. The processor provides multichannel sound with the opportunity of outputting the digital threads through several audio-ports; support of SPDIF, support of PCI Express bus, there two independent embedded display controllers with the opportunity of output on two screens connected through LCD interfaces. (max resolution 1680x1050) and HDMI 1.3 1080p (max resolution 1920x1080). There is also disc interface EIDE,that supports PIO-, UltraDMA-, MultiwordDMA-modes. It is necessary to note, the present SoC has got additional closed ARM cores used for coding and decoding HD sound, HD video and images. The codecs are supplied with BSP for this SoC in the form of binary files. What concerns the rest of periphery it is possible to say it is an ordinary gentleman s set: NAND-controller, SPI, I2C, SDIO, UART and many other things. A distinguishing feature of this SoC is the presence of its own 3D graphics accelerator GeForce with 8 cores. 4
Fig.2 Block-diagram of NVidia Tegra 250 SoC. 3. Application of Embedded Windows Сompact 7 for work with NVidia Tegra 2. Because of a complicated situation relative to the availability of the chip, AXONIM Devices has used a ready-made module of Toradex company with NVidia Tegra 2 (Tegra 250). 5
Fig.3 Iris Pico ITX Carrier board with Colibri Tegra 2 module Fig.4 Toradex Colibri Tegra 2 module For these modules the company Toradex offers a ready made BSP for Windows Embedded Compact 7 which includes the following modules: - Loader EBOOT; - OAL supporting VFP and SMP; - KITL; - Sensor screen s driver using Wolfson WM9715L as a cont6roller; - Driver of two independent screen controllers (LCD, HDMI); - Driver of GeForce hardware graphic accelerator; - Driver of HD AVP module (hardware module for accelerating processing video/audio data); - Audio driver using Wolfson WM9715L controller; - Driver emmc NAND of memory; - Driver of Network adaptor on the base of AX88772B; - Driver USB Device и USB Host; - Driver of the serial port UART; - Driver for power supply control; - Driver emmc/sd of memory; - DirectShow filters enabling playing video/audio files with the help of stand Windows media player using hardware decoding. 6
All subsequent drivers AXONIM Devices developed independently having signed an NDA (Non Disclosure Agreement) with NVidia. 4.Video coding and decoding (H.264, MPEG4, MJPEG) Before starting the work at the device on the base of NVidia Tegra 2, AXONIM devices carried out a serious of tests on checking the work of codecs in BSP of 0,1Beta4 version. Their results are presented in table 1 and 2. Table 1. The results of video decoding in format H264 H.264 1920x1080 1280x720 Max observed values Basic profile audio, Basic profile,b-frames Basic profile Withot audio 4bit Basic profile High profile High profile of loading loading 20mbit, Audio MP3, 20Mbit Audio Mp3 4Mbit Main profile B-frames adio 2Mbit Withot audio 2 Mbit CPU with regard to 1000 МHz, % 4 25 70 22 67 100 100 AVP (with regard to 237 МHz, % 2 13 25 12 19 70 70 EMC (work frequency 333 МHz), % 20 45 45 44 46 37 37 VID (with regard to 250 МHz), % 90 98 99 99 96 96 AHB (with regard to 100 МHz), % 16 18 15 15 10 10 APB (with regard to 100 МHz), % 0,5 2 1,25 2,5 2 2 Notes 30 FPS 10 FPS on dynamic picture because of B- frames 30 FPS 30 FPS Does not work 4 FPS 3 FPS Table 2 The results of video decoding of MJPG and MPEG4 Motion JPEG (MJPG) 1920x1080 MPEG4 1920x1080 Max observed values of loading loading audio 20 mbit Audio MP3 20Mbit audio 20 Mbit Audio MP3, 80Mbit audio, 2Mbit B-frames Audio MP3, 2Mbit without audio 6Mbit B-fram frames Audio MP3, 6Mbit 7
CPU regard to 1000 МHz), % 4 12 36 21 43 35 40 80 80 AVP (regard to 237 МHz), % 2 13 23 13 23 80 100 93 100 EMC (regard to 333 МHz), % 20 34 37 35 37 40 42 46 46 VID (regard to 250 МHz), % 41 56 45 45 30 51 89 82 AHB (regard to 100 МHz), % 15 17 17 18 19 24 21 24 APB (regard to 100 МHz), % 1,5 1,5 1,75 2,25 1,25 1,5 1,75 1,75 Notes 30 FPS 30 FPS 30 FPS 30 FPS 30 FPS 30 FPS 30 FPS 15 FPS For the purpose of testing special video files of the required formats (H.264, MJPG, MPEG4, MPEG2 and WMV8) were formed. MPEG2 and MPEG4 Video files failed to play. The video files were played at SDHC card at the speed of 12 MB/sec 4. Literature 1. NVIDIA Tegra 200 Series Mobile Web Processor Datasheet; 2. NVIDIA Tegra 2 Family Technical Reference Manual; 3. Toradex Colibri Tegra 2 Datasheet. 8