Appunti di lavoro su RoadRunner

Appunti di lavoro durante i test della Roadrunner e della Berta D2

Prove su assorbimento

Errori sulla Berta D2 versione 0.1

Note di Roberto

per abilitare pulldown su PA30 (card detect): writel(0x40000000, 0xfc038000); writel(0x400, 0xfc038004);

queste scritture vanno fatte prima che at91 cominci a guardare la microSD

Setup registri in AT91Bootstrap

Occorre inserire prima possibile in at91bootstrap per la roadrunner la scrittura del valore 0x100 nella locazione 0xfc040018. In questo modo si pone a spento lo stato del regolatore della DDR RAM quando la linea SHDN (shutdown) va bassa. In queste condizioni il consumo sulla batteria/supercap scende a 3.8uA anche se spegni di brutto.

Rimettendo il bit a 0 esploreremo la modalità in cui la RAM rimane accesa in autorefresh e dovrebbe consumare ancora meno di 5mA (minimo consumo ad oggi con CPU accesa e risveglio in msec a tempo o con interrupt).

Allocazione su QSPI e DDR3

QSPI Content Size RAM DDR3
0x00000 at91bootstrap.bin 32KB
0x08000 acme-roadrunner.dtb 64KB 0x21000000
0x18000 zImage ... 0x22000000

Kernel 4.10.12

Configurazione con TFT da 5 pollici 800x480 e Touch capacitivo

Kernel defconfig
acme-roadrunner_defconfig
Device tree per tft 5 pollici 800x480 + touch capacitivo
acme-roadrunner-5-touch.dts
acme-roadrunner-5-touch.dtb
Device tree tutti GPIO
acme-roadrunner-gpio.dts
acme-roadrunner-gpio.dtb
zImage
zImage

Pinout LCD e connessioni con Roadrunner

LCD SIGNAL Roadrunner
1 VLED- GND
2 VLED+ 23VDC
3 GND GND
4 VDD 3VDC
5 R0 PB27 LCD DAT16
6 R1 PB28 LCD DAT17
7 R2 PC22 LCD DAT18
8 R3 PC23 LCD DAT19
9 R4 PC24 LCD DAT20
10 R5 PC25 LCD DAT21
11 R6 PC26 LCD DAT22
12 R7 PC27 LCD DAT23
13 G0 PB19 LCD DAT8
14 G1 PB20 LCD DAT9
15 G2 PC16 LCD DAT10
16 G3 PC17 LCD DAT11
17 G4 PC18 LCD DAT12
18 G5 PC19 LCD DAT13
19 G6 PC20 LCD DAT14
20 G7 PC21 LCD DAT15
21 B0 PB11 LCD DAT0
22 B1 PB12 LCD DAT1
23 B2 PC10 LCD DAT2
24 B3 PC11 LCD DAT3
25 B4 PC12 LCD DAT4
26 B5 PC13 LCD DAT5
27 B6 PC14 LCD DAT6
28 B7 PC15 LCD DAT7
29 DGND GND
30 DCLK PD0 LCD PCK
31 DISP PC29 LCD DISP
32 HSYNC PC31 LCD HSYNC
33 VSYNC PC30 LCD VSYNC
34 DE PD1 LCD DEN
35 NC
36 GND GND
37 PD19
38 PC3
39 PD20
40 PC4

Pinout touch capacitivo e connessioni con Roadrunner

TOUCH SIGNAL Roadrunner
1 VDD 2.8V
2 SCL PD5
3 SDA PD4
4 INT PB7
5 RST
6 GND

Altre info su LCD

Varie

Programma di test usato

Esempio di uso:

# pynton pintest -g PA0

Pinout

Appunti di Roberto

Dovresti per favore mettere la seguente istruzione nel punto più idoneo di at91bootstrap: writel(0x100, 0xfc040018);

Serve per far spegnere l'alimentatore della DDR3 quando fai shutdown. Se non si fa dopo lo shutdown il supercap viene drenato a 228 uA invece che a 4 uA.

Sergio Tanzilli (Autore - Progettista hw & sw - Imprenditore - Musicista dilettante, classe 1964)
Fondatore di Area SX srl, Acme Systems srl e del TanzoLab, si occupa dal 1974 di elettronica digitale, dal 1978 di microprocessori, dal 1992 di microcontroller, dal 1995 di Linux e pubblicazioni su Web, dal 2005 di progettazione, produzione e commercializzazione di schede Linux Embedded.
http://www.tanzilli.com - http://www.acmesystems.it - https://github.com/tanzilli - sergio@tanzilli.com

The TanzoLab Project

Il TanzoLab è una iniziativa senza fini di lucro, nata da un'idea di Sergio Tanzilli socio fondatore di Acme Systems srl nel Novembre 2015, per trasferire ad appassionati di elettronica e informatica, professionisti e aziende nel settore, le conoscenze necessarie per poter creare prodotti embedded adatti per la produzione industriale.

Le attività del TanzoLab si svolgono ogni mercoledi sera, salvo casi speciali, dalle ore 18:30 presso i locali della Acme Systems srl e consistono in:

  • Talk monotematici a cura di professionisti in vari settori tecnologici
  • Workshop pratici su elettronica embedded, produzione e informatica
  • Progettazione e realizzazione di nuovi prodotti embedded per l'IT

Le attività vengono coordinate tramite questo sito, in cui vengono pubblicati tutti i lavori svolti o in via di sviluppo, e tramite un gruppo Telegram con cui per interagire direttamente via chat con gli altri membri.