Supported Hardware

A typical hardware configuration for an embedded control system includes a microcontroller surrounded with peripherals and electronic circuits for signal conditioning, data acquisition and control of outputs. In this sense, the Ethernut boards provide the microcontroller and some basic peripherals that can be used for data IO (available GPIO pins and ADCs). When this is not enough the hardware designer will have to create a separate board containing all the required extra circuitry (like amplifiers, ADCs, DACs, expanders, etc.) and connect them to the Ethernut. For the sake of simplicity and easiness we will call this board an “Instrumentation Board”. Thus the microcontroller of the Ethernut board accesses the chips of the instrumentation board in order to retrieve measurements (i.e. read an ADC) and set outputs (i.e. an servo motor, an DAC, etc.).

Microcontroller boards

NutDAC_Micro has been tested and used in Ehthernut2 and Ethernut3 boards. However, due to the fact that it is based on NutOS, it should be straight forward to use it in any other of the NutOS compatible boards. The architectural dependent source code is (almost all) in the arch directory, and, as the reader can easily see in the NutDAC_Micro API, it deals with the non common hardware of the boards. That is:

  • Channel drivers for microcontroller specific peripherals
  • The SD card available in Ethernut3, used by the http server, the sdlogger and sdreporter.
  • The Xflash file system, used in the Ethernut2 for the http server
  • The SPI driver

Portability is, thus, mostly provided by NutOS itself.

Instrumentation boards

During the development of NutDAC within the fuel cell related projects several instrumentation boards have been created with different amount of inputs and outputs available. In these pages we make available to the public the design of 2 instrumentation boards that have been used with the latest power packs, including all the necessary drivers to be used with NutDAC_Micro. Although they have been used for controlling the BoP of fuel cells, they can be in principle used as general purpose IO cards, as long as they fit your requirements, of course.

Custom made boards

The drivers of the chips used in the previous boards are included in the chaldrivers library of NutDAC_Micro, and new boards can easily be built based on these chips. If you plan to use other chips, creating NutDAC_Micro compatible drivers is really easy once that you know how to use the chip itself. The ib2tester or the ib3tester projects are good examples and starting points for the drivers of your custom boards.