| Using Windows CE in Precision Farming Systems |
(Jul. 29, 2003)
Microsoft spoke with Larry Ricci, of Applied Data Systems (ADS), about the company's choice to use Windows CE in the development of a precision farming system in conjunction with MidWest Technologies.
Microsoft: What was the embedded systems project that Applied Data Systems worked on with Midwest Technologies?
ADS: Midwest Technologies needed a precision farming system rugged enough to survive installation in a farm tractor, but still powerful and real-time responsive enough to monitor and operate over 100 points of sprayer control. What's more, the system needed to support a full VGA color GUI, and maintain in memory nutrient maps profiling the chemical application and resultant crop yield of the fields. A Windows CE system running on Applied Data System's Graphics Master proved to be the answer.
By selectively building Windows CE for the Midwest application, ADS was able to keep total overhead below 5 MB, leaving Midwest with as much main memory as they wanted for field nutrient maps, and allowing precision application of chemicals to one foot accuracy in the field. ADS simply left out the browser, MFC support (Midwest was coding directly to the Windows API), third-party drivers, SQL server, ADOCE, VB support, and a few other unneeded features. The operating system build came in at under 5 MB and still included the full Windows GUI, all desktop and control panel features, support for GPS, Power Management, and support for extensive real time IO. No special methods or custom code was required, and no alternates to the standard Windows CE system were used where Windows components existed.
The resulting system is robust and real-time responsive, operating tractor-mounted sprayers and ratio controllers over direct I/O and CAN 2.0b while simultaneously giving the operator a visual indication of how to keep exactly on path within a foot or so, preventing overlap and recording exact chemical dosage.
Key Features include:- Full VGA/color GUI
- Full desktop and control panel support
- Real-time monitoring and control of ~100 points
- CAN 2.0b
- Validated CE BSP
Microsoft: What were the decision points that lead to your using Windows CE in your device?
ADS: The customer had what amounted to a "fast prototype" application running on a Windows 98 laptop, written directly to the Win32 API. Without too much trouble, they were able to port it over to the Windows CE platform with a limited re-code and recompile for ARM. The primary work required only dealt with the fundamentally different hardware features such as power management and sleep mode.
Even if there had not been a legacy application, Windows CE would have been a good fit. The customer needed good graphics to provide a useable HMI in the tractor cab that was driven, in part, by large databases and real time data. The combination of database, real time, and graphics is not easily found in an operating system.
Microsoft: Explain why componentization was important to this project.
ADS: This system needs to fit a lot into a basic 32MB flash, 32MB DRAM single-board computer. In particular, there is a big stack of data required to store the nutrient map of the field. In addition, the system needs full graphics and real-time components such as an interface to CAN bus. Surprisingly, however, this is one of the smaller operating system builds we have made here at ADS. How is it that such a "big system" can be supported by a small operating system? The reason is componentization. Windows CE, perhaps unjustly, has a reputation for being big. However, if you really look at the build process, item by item, you can see the size of Windows CE is really a function of all the resources it offers. For example MFC's and ADOC support, a great convenience to programmers with legacy PC code, are rather large. Leave these components out and the operating system size drops by several MBs, freeing up application and data space. Similarly, browsers, Web servers, Visual Basic support, CLI/.NET, and more can be left out. At the end, Windows CE is quite compact.
Microsoft: Beyond the core operating system features, what in-house or third-party technologies did you need to add to your device, and was integration of additional applications/drivers easy?
ADS: The system required a CAN bus driver and a GPS driver. The CAN bus driver was a standard ADS driver that was moved for this project, with minimal problem, from a prior version of the operating system running on a slightly different hardware platform. The GPS driver was sourced from the GPS supplier and similarly integrated without event.
Microsoft: How was the footprint of your device reduced using the Platform Wizard and/or catalog?
ADS: This system foot print was built down in a "subtractive" manner. We started with the standard ADS build (essentially MaxALL) and worked with the customer to select which component to drop. Then each element was installed into the CEC and the system was built.
Microsoft: Describe the tool chain used to develop your device (Platform Builder, eMbedded Visual C++, Visual Studio .NET). Did you have the same engineers working on all parts of the project, or were you also able to develop parts of the project in parallel?
ADS: Applied Data Systems used Platform Builder to create the device and the BSP. These engineers work on the system software, making the operating system application ready. ADS provided the Windows CE API to Midwest, along with full support for various Microsoft utilities, such as the control panel. Midwest took it from there, working with Visual Studio in C++ to develop their application.
Larry Ricci is a senior consultant with an extensive background in multinational business-to-business ventures, including joint ventures, partnerships, and technology transfer agreements. He is a real-time and automation specialist.
Copyright © 2003 Microsoft Corp. All rights reserved. This story was initially published here. Reproduced by WindowsForDevices.com with permission.
(Click here for further information)
|
|
|