Difference between revisions of "AS1531"

From ArmadeusWiki
Jump to: navigation, search
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
  
AS1531 is a 8 channels 12bits analog do digital converter made by [http://www.austriamicrosystems.com/ Austriamicrosystem]. The driver is included in ARMadeus distribution, but not currently on ARMadeus board.
+
AS1531 is a 8 channels 12bits analog do digital converter made by [http://www.austriamicrosystems.com/ Austriamicrosystem]. The driver is included in ARMadeus distribution and can be used with the APF51Dev board.
  
 
== Soldering ==
 
== Soldering ==
  
AS1531 chip use a SPI bus to communicate with the microprocessor, then to use it on APFx board it must be solder on a SPI bus. For example on APF27-Dev board it can be soldered on SPI3 bus, that can be found on connector J8.
+
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.
 +
 
 +
On the APF27-Dev board it can be soldered on SPI3 bus, which is availbale on connector J8.
  
 
{| class="wikitable" style="text-align:center; width:50%;"
 
{| class="wikitable" style="text-align:center; width:50%;"
Line 40: Line 44:
 
         <M>  Austria Microsystems AS1531 Analog to Digital Converter
 
         <M>  Austria Microsystems AS1531 Analog to Digital Converter
 
</pre>
 
</pre>
 
If the chip is plugged on SPI3 don't forget to select SPI3 and platform module :
 
<pre class="config">
 
Device Drivers  --->
 
    [*] SPI support  --->
 
        [*]    CSPI3
 
</pre>
 
<pre class="config">
 
Device Drivers  --->
 
    Armadeus specific drivers  --->
 
        <M>  AS1531 platform data
 
</pre>
 
 
  
 
Then compile the distribution :
 
Then compile the distribution :
Line 61: Line 52:
 
== Use it ==
 
== Use it ==
 
=== modprobe ===
 
=== modprobe ===
To use the ADC first load module hwmon and as1531 (if configured as module) :
+
To use the ADC first load module hwmon and as1531:
  
 
<pre class="apf">
 
<pre class="apf">
 
# modprobe hwmon
 
# modprobe hwmon
 
# modprobe as1531
 
# modprobe as1531
# modprobe as1531_plat
 
 
</pre>
 
</pre>
  
 
=== read values ===
 
=== read values ===
 
If chip is plugged on SPI3, adc input file will be found under directory :
 
  
 
<pre class="apf">
 
<pre class="apf">
# cd /sys/bus/spi/devices/spi2.0/
+
# cd /sys/bus/spi/devices/spi0.0/
 
# ls
 
# ls
 
driver    in1_input  in4_input  in7_input  modalias  subsystem
 
driver    in1_input  in4_input  in7_input  modalias  subsystem

Revision as of 14:24, 26 April 2011

Introduction

AS1531 is a 8 channels 12bits analog do digital converter made by Austriamicrosystem. The driver is included in ARMadeus distribution and can be used with the APF51Dev board.

Soldering

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.

On the APF27-Dev board it can be soldered on SPI3 bus, which is availbale on connector J8.

Soldering schema for SPI3 APF27-dev
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

The driver is included in ARMadeus distribution, then to use it, select it :

[  ] $ 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

modprobe

To use the ADC first load module hwmon and as1531:

# modprobe hwmon
# modprobe as1531

read values

# 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.