PARTE PRIMA
Componenti base
Resistori
Condensatori
Diodi
Transistor
Porte logiche

                   Claudyus
Componente - Resistore

    V=R*I




http://it.wikipedia.org/wiki/Resistore
Comp. passivi – Condensatore




http://it.wikipedia.org/wiki/Capacitore
Componente - Diodo




 http://it.wikipedia.org/wiki/Diodo   http://it.wikipedia.org/wiki/Giunzione_p-n
Componente – Diodo LED



   (Vin – 1,5)
R = ---------------
         0,02

Vin


       R




 GND
Componente - Transistor



           C
       B

           E
Il primo circuito - Porta NOT


                             IN        OUT




                         IN       OUT

                         0         1
                         1         0
Comp. attivi – Porte logiche
Uno sbroglio




  http://www.youtube.com/watch?v=8HJrzaW5B3g

 http://www.youtube.com/watch?v=FkHpjzOhzxA
 http://www.youtube.com/watch?v=gyRw51EnuQ0
PARTE SECONDA
             Microcontrollori
             Processori embedded
             Linux



IP SERVER:192.168.9.1   USER:root   PASS:test


                                                Autore: Claudio Mignanti
Architetture e porte - PIC16F84




                        PA    05H

                        PB    06H
Architetture e porte–ATmega328
(aka Arduino)
Architetture e porte–
AT91SAM9G20 (aka NetusG20)
Registri GPIO


AT91_PIN_PA0       (PIN_BASE + 0x00 + 0)
...
AT91_PIN_PA31      (PIN_BASE + 0x00 + 31)
.
.
.
AT91_PIN_PE0       (PIN_BASE + 0x80 + 0)
…
AT91_PIN_PE31      (PIN_BASE + 0x80 + 31)




Ref: arch_arm_mach-at91_include_mach_gpio.h.pdf
Layer API GPIO -

   USER SPACE     USER SPACE     USER SPACE
    PROGRAM        PROGRAM        PROGRAM
       I2C            SPI           GPIO



   /DEV/I2C-0   /DEV/SPI-TEST   /DEV/GPIO       SYSFS

     I2C API         SPI         GPIO API



                   AT91 MUXER    LINUX KERNEL



                       CPU
Interfaccie
Driver kernel GPIO
https://dev.openwrt.org/browser/trunk/target/linux/generic-2.6/files/drivers/char/gpio_dev.c
Esempio di programma user-space gpio
https://dev.openwrt.org/browser/trunk/package/gpioctl/src/main.c

Driver SPI
http://lxr.linux.no/#linux+v2.6.32/drivers/spi/spidev.c

Esempio di programma user-space spi
http://lxr.linux.no/#linux+v2.6.32/Documentation/spi/spidev_test.c

Driver I2C
http://lxr.linux.no/#linux+v2.6.32/drivers/i2c/i2c-dev.c

Esempio di programma i2c userspace
http://netus.acmesystems.it/doku.php?id=tutorial:srf02
Esempio GPIO
echo 82 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio82/direction

echo 1 > /sys/class/gpio/gpio82/value
echo 0 > /sys/class/gpio/gpio82/value
DISPLAY
1    2                       3
                                 4


                        PIN          NOME     KERNELID
                        1            J7.3     82
                        2            J7.5     80

                        3            J7.7     66

                        4            J7.9     64

                        5            J7.35    60

                        6            J7.36    59

                        7            J7.37    58

                        GND          J7.1|2



                        NC
     5   6          7
              GND
Stepper motor



                                 N

                                 S




Ref: http://wiki.ninux.org/cnc
PARTE TERZA
Protocolli di comunicazione on board
Seriale, I2C, SPI, 1-wire




                                       Autore: Claudio Mignanti
Comunicazione on board

            0 1 0 0 1 0 1 1


                   CHIP

       D7                     D0




                   CHIP
Seriale


0 1 0 0 1 0 1 1   TX


                  RX
       CHIP
I2C
SPI
PARTE QUARTA
Vhdl e FPGA




               Autore: Claudio Mignanti

Elettronica digitale with Example