Difference between revisions of "ADC max1027"

From ArmadeusWiki
Jump to: navigation, search
(Usage)
(Usage)
Line 37: Line 37:
  
 
An input can be read like that
 
An input can be read like that
  # cat /sys/bus/spi/devices/max1027/spi1.0/in0_input
+
  # cat /sys/bus/spi/devices/spi1.0/in0_input
  
 
The temperature can be read like that
 
The temperature can be read like that
  # cat /sys/bus/spi/devices/max1027/spi1.0/temp1_input
+
  # cat /sys/bus/spi/devices/spi1.0/temp1_input
  
 
The two configurations files allow direct access to the corresponding register in the MAX1027.
 
The two configurations files allow direct access to the corresponding register in the MAX1027.

Revision as of 21:57, 10 December 2007

Instructions to install and use the onboard ADC (MAX1027)

Introduction

The Max1027 is a 8 channels 10 bits A/D converter with an integrated temperature sensor.
The 8 inputs voltage range is 0 - 3,3V. Don't try to put higher voltage on ADC inputs !!
The i.MXL SPI_1 interface is used to communicate with the device.
For the Linux kernel, the Max1027 is considered as a Hardware Monitoring device. For the moment only a low speed interface (/sys) is available: the eight channels and the temperature are updated every 10ms.

Installation

From the top directory:

# make linux-menuconfig

Then select in Device Drivers->SPI support->Freescale iMX SPI controler driver (builtin not module !!) SPI Linux Config.png

Then select in Device Drivers->Hardware Monitoring Support->MAX1027 sensor chip (Module) HWMonitor Linux Config.png

MAX1027 Linux Config.png

Once the new config saved, rebuild your image

# make

and copy hwmon.ko and max1027.ko driver to your target or reflash your rootfs.

On the target, the driver can be started like this:

# insmod /lib/modules/drivers/hwmon/hwmon.ko
# insmod /lib/modules/drivers/hwmon/max1027.ko

or like this if you reflashed your rootfs:

# modprobe max1027

Usage

Several interfaces in /sys/bus/spi/are created in order to

  • read the 8 inputs (inx_input). Result in mV
  • read the temperature (temp_input). Result in deg celsius
  • modify the default configuration (config and conv)

An input can be read like that

# cat /sys/bus/spi/devices/spi1.0/in0_input

The temperature can be read like that

# cat /sys/bus/spi/devices/spi1.0/temp1_input

The two configurations files allow direct access to the corresponding register in the MAX1027. For more details, take a look at the datasheet

FrenchFlag.png Cette page en français