AS1531
Contents
Introduction
AS1531 is a 8 channels 12bits Analog to Digital Converter made by Austriamicrosystem. The driver is included in ARMadeus distribution and can be used with the APF51Dev board.
Connecting chip on APF boards
AS1531 chip use a SPI bus to communicate with the microprocessor, then to use it on APFx board it must be connected to a SPI bus.
On the APF51Dev, the AS1531 is connected to the SPI1 bus by default, so you can move to next chapter.
On the APF27-Dev board it can be soldered on SPI3 bus, which is availbale on connector J8.
J8 pin | AS1531 pin |
---|---|
SD1_D0_SPI3_MISO | DOUT |
SD1_D3_SPI3_SS | CSN |
SD1_CMD_SPI3_MOSI | DIN |
SP1_CLK_SPI3_SCLK | SCLK |
Driver
Driver is by default included if you choose an APF51 as target.
Otherwise, you can select it that way:
[ ] $ make linux26-menuconfig
Device Drivers ---> <M> Hardware Monitoring support ---> <M> Austria Microsystems AS1531 Analog to Digital Converter
Then compile the distribution :
[ ] $ make linux26 && make
Use it
Warning: AS1531 is used with internal reference voltage of 2,5V, so DO NOT TRY to acquire signals with greater voltage range. |
Load driver
To use the AS1531, first load as1531 module:
# modprobe as1531
Read channels value
# cd /sys/bus/spi/devices/spi0.0/ # ls driver in1_input in4_input in7_input modalias subsystem hwmon in2_input in5_input in_max name uevent in0_input in3_input in6_input in_min power
or:
# cd /sys/class/hwmon/hwmon0/device/ # ls driver in1_input in4_input in7_input modalias subsystem hwmon in2_input in5_input in_max name uevent in0_input in3_input in6_input in_min power
To read adc value just «cat» an input :
# cat in5_input 887
All values read are in milivolts.