AS1531
From ArmadeusWiki
Contents
Introduction
AS1531 is a 12bits 8 channels Analog to Digital Converter made by Austriamicrosystem. Its use a SPI bus to communicate with a master microprocessor. A driver is included in the Armadeus BSP/SDK and can be used on the APF51Dev board.
Connecting chip on APF boards
On the APF51Dev, the AS1531 is connected to the SPI1 bus by default, so you can move to next chapter.
On the APF27Dev board it can be soldered on SPI3 bus, which is available 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.