William Wong | ED Online ID #19876 | October 7, 2008
With the latest installment in beta testing, Microsoft’s .NET Micro Framework is into its third incarnation. The production version is 2.5. It targets more compact platforms like those from SJJ Micro’s EDK (Fig. 1) and Design Solutions’ Tahoe (Fig. 2). The EDK runs an ARM9-based chip from Cirrus Logic and the Tahoe uses Freescale’s i.MXS core. Both provide a similar development environment for .NET Micro Framework applications.
To start, I took a look at the hardware from both companies and then Microsoft’s software. The development experience for both platforms was similar, although they have a different hardware complement. Both come with cables, power supplies, and software including customization for the Microsoft .NET Micro Framework SDK for the respective hardware platforms.
SJJ Micro
The EDK board has the same dimensions as a PC/104 board of 3.77 in. by 3.54 in. It houses a 200-MHz Cirrus Logic EP9302 ARM9 processor. The board also has 8 Mbytes of flash, 8 Mbytes of SDRAM and a battery-backed real-time clock. Removable storage is provided via an MMC/SD hot-swap socket.
The EP9302 has a pair of serial ports, one of which is used for development. There is also a pair of USB 2.0 host ports, 10/100 BaseT Ethernet, SPI/I2S, a 5-channel 12-bit analog-to-digital converter (ADC), 16 GPIO lines, 16 PLD 5-V inputs, 16 PLD outputs (eight with high drive capability) and two pulse-width modulators (PWMs).
The form factor is nice if you happen to have the right case handy, but most tend to sit on the lab bench with cables connected to them.
Design Solutions Tahoe
Design Solutions’ Tahoe is built around their Meridian CPU surface-mount module (35 mm by 35 mm) found on the bottom of the board. The module contains a 100-MHz ARM920T-based Freescale i.MXS processor. The module adds 4 Mbytes of flash and 8 Mbytes of SDRAM. The module approach is easier for deployment and allows a simpler host board to be used.
The Tahoe host board contains a QVGA display. It also brings out 32 GPIOs on headers for expansion that can include modules available Design Solutions including an Ethernet interface. Other available peripherals include 2 UARTs, an I2C port, an SPI port, and a USB port. Power can be supplied to the board using a 5-V adapter or the USB port.
Design Solutions would like to sell lots of modules as the Tahoe is for demonstrations and development. The use of a module can greatly simplify a target design and it eliminates much of the more complex board design necessary for today’s micros. The memory complement should be about right for most applications that the processor can handle.
Microsoft .NET Micro Framework Tools
Those expecting a stripped down version of Windows CE will be disappointed. There is just not enough horsepower on most of the targets for .NET Micro Framework to handle something that large. On the other hand, those looking for support for tools like C# will be pleasantly surprised by the compatibility and support that Microsoft delivers.
As with most Microsoft platforms, board vendors deliver a board support package (BSP) that mates with the standard development tools and software that Microsoft delivers. This includes Visual Studio and the .NET Micro Framework SDK. These can be downloaded from Microsoft’s site. The SDK is free and 90-day versions of Visual Studio 2008 are available as well.
Each development kit includes documentation on integrating these tools with the BSP. The process is not trivial but straight forward and is essentially the same for most platforms.
The interface to the two boards is via a serial port. The Tahoe board has a JTAG interface but you need the matching JTAG hardware. This is faster and more effective, but the serial port is adequate for testing the board and for many applications. There is a JTAG and PLD program header for the SJJ EDK board as well.
The .NET Micro Framework is a subset of a subset with .NET sitting on the Windows platforms and the .NET Compact Framework sitting on Windows CE platforms. All include the CLR (common language runtime) that allows all platforms to run a range of languages including C# and VB.NET. Applications written in these languages, and any other compatible languages, will run on the two boards assuming the other runtime components and the application fit within the available memory.
The .NET Micro Framework actually runs a small version of the CLR called TinyCLR. TinyCLR provides core services including memory management, thread management, exception handling and debug services. It handles managed code generated by .NET compilers such as C#.
The systems use a TinyBooter boot loader to bring up the CLR and then the application. It can handle downloading of application code as well as interaction with the Windows host development system running Visual Studio 2008.
The main limitation of both systems is the serial interface. It is workable, but slow, and most developers will want to move to JTAG if they can. The Ethernet interface on the SJJ board is in development—so that high speed link is not available as of yet; and both it and the Ethernet plug-in from Device Solutions are designed for application use. The MMC/SD card support is available from DotVision.com. I was not able to test that out, unfortunately. Everything was setup as Visual Studio projects to it was a simple matter to generate the applications. Direct IO is possible using interface objects like InputPort and the complete documentation for the boards and chips is included.
Keep in mind that the .NET Micro Framework is not a real-time system unless it is placed on top of an RTOS. It provides scheduling services and worked quite well for a range of basic applications as is. It can run on top of RTOSes such as Express Logic’s ThreadX, but these will be separate purchases.
Overall, the process is not much different than using C or C++ to do development. The modularity of .NET is nice but the benefits are more likely to come from a common development platform that supports a wider range of programming languages such as Iron Python. Likewise, there is a level of compatibility between platforms that run .NET Micro Framework and even the higher level .NET environments that only similar platforms such as Java provide. Still, as you get closer to the hardware, this portability becomes more limited. In the case of most of the sample applications provided with the kits, the portability is almost nil since they rely on hardware and support within the BSP to run.
Selasa, 28 Oktober 2008
Minggu, 26 Oktober 2008
electronic music
Electronic music is music that employs electronic musical instruments and electronic music technology in its production. [1] In general a distinction can be made between sound produced using electromechanical means and that produced using electronic technology.[2] Examples of electromechanical sound producing devices include the telharmonium, Hammond organ, and the electric guitar. Purely electronic sound production can be achieved using devices such as the Theremin, sound synthesizer, and computer.[3]
Electronic music was once associated almost exclusively with Western art music but from the late 1960s on the availability of affordable music technology meant that music produced using electronic means became increasingly common in the popular domain.[4] Today electronic music includes many varieties and ranges from experimental art music to popular forms such as electronic dance music.
electronic
Electronics refers to the flow of charge (moving electrons) through nonmetal conductors (mainly semiconductors), whereas electrical refers to the flow of charge through metal conductors. For example, flow of charge through silicon, which is not a metal, would come under electronics; whereas flow of charge through copper, which is a metal, would come under electrical. This distinction started around 1908 with the invention by Lee De Forest of the triode. Until 1950 this field was called "Radio technics" because its principal application was the design and theory of radio transmitters and receivers.
The study of new semiconductor devices and related technology is considered a branch of physics whereas the design and construction of electronic circuits to solve practical problems comes under electronics engineering. This article focuses on engineering aspects of electronics.
The study of new semiconductor devices and related technology is considered a branch of physics whereas the design and construction of electronic circuits to solve practical problems comes under electronics engineering. This article focuses on engineering aspects of electronics.
Jumat, 24 Oktober 2008
Langganan:
Postingan (Atom)