Bien choisir ses condensateurs

 Sans catégorie  Commentaires fermés sur Bien choisir ses condensateurs
Mai 212015
 

Condensateurs électrolytiques :

Techniquement
– grande capacités de stockage mais avec forte tolérance.
– tension de claquage faible.
– Polarisé.
– grande résistance en série
– relativement faible résistance parallèle
– grande inductance série.
– Vieillissent mal à haute température.
En conclusion :
– quand une grande capacité de stockage est nécessaire ;
– lorsqu’un condensateur parfait n’est pas nécessaire ;
– une mauvaise réponse aux hautes fréquences, un grande tolérance.
Ils vieillissent mal surtout à haute température.

Condensateurs électrolytiques au tantale :
Techniquement
– résistance série (ESR) réduite ;
– faibles inductances série ;
– faibles résonances ;
– pas de dégradation dans le temps, en stockage ou en utilisation ;
– Polarisé.
– tension de claquage (très) faible.
– légère non-linéarité (distortion du signal)
– risque d’explosion en cas de dépassement du courant max.
En conclusion :
– Excellents pour le filtrage d’alimentations à découpage (HF) ou pour le découplage d’elements nécessitant de fortes capacités.
– Attention à la tenue en température. (Imax)

Céramique
Techniquement
– capacités faibles.
– très grande résistance parallèle
– inductance série extrêmement faible
– capacité très sensible à la température
Conclusion
haute fréquence
haute tension
Les X7R (les plus courants) sont généralistes.
Les C0G ou NP0 on une meilleurs stabilité de capa selon la température mais sont plus chers et plus volumineux.
Les Y4T et Z5U ont de meilleures capacités mais fluctuent encore plus avec la température. Ils ont bien adaptés au découplage de circuits numériques.

Polyester
– vieillissent bien
– faible bruit
– plutot BF

Polystyrène
– très stables
– pas de bruit.
– précis
– volumineux est chers

Polypropylène
résistance série très faible et admettent donc des courants efficaces importants
volumineux pour leur capacité
très utilisés en audio et dans les applications impulsionnelles (alimentations à découpage, circuits d’aide à la commutation, etc.)

Pour les détails : voir wikipedia/Condensateur

Raspberry Pi Boot sequence

 Sans catégorie  Commentaires fermés sur Raspberry Pi Boot sequence
Mai 162015
 

De façon contre-intuitive, le CPU ARM1176JZF-S 700 MHz du SoC (system on a chip) Broadcom BCM2835 de la Raspberry Pi ne démarre pas immédiatement à l’allumage.
Le processeur est en réalité tenu à RESET.

C’est le GPU (VideoCore IV) contennu dans ce même SoC qui va se charger de la sequence de boot.

Le « first stage bootloader » est donc chargé depuis une ROM du SoC.
A ma connaissance cette ROM n’est pas « flashable » ou alors la procédure qui le permet n’est pas publiques.
Ce « first stage bootloader » est capable de charger et executer le « second stage bootloader » qui doit impérativement être le fichier nommé « bootcode.bin » situé sur la permière partition de la SD-Card, (ou de la eMMC embarquée sur le computemodule) laquelle doit être un système de fichier FAT32 ou FAT16.

Le « second stage bootloader » (bootcode.bin) est toujours executé par le GPU VideoCore. La seule différence avec le first-stage est qu’on est plus sur quelque chose de complètement figé (rom). Il charge le « third stage bootloader » « start.elf. »

C’est là que ça commence a devenir intéressant.
Le « third stage bootloader » (start.elf) commence par lire le fichier config.txt.
Ce fichier contient les paramètres de fonfiguration pour le GPU ( modes HDMI, mapping mémoire, load addresses, device tree, uart/console baud rates etc).

Ensuite, le « third stage bootloader » va charger « kernel.img » dans la mémoire du processeur ARM et lui passer en paramètres le contennu de cmdline.txt.

C’est alors et seulement alors que le RESET du CPU est relaché.

A ce moment le kernel doit démarrer…

A noter que le système ne permet pas de charger des noyaux avec initialramdisk.
Tous les elements nécessaires au boot (et en particulier au montage du filesystem) doivent être compilés « en dur » dans le noyau.

Note : Il existe plusieurs déclinaisons du « third stage bootloader » selon la configuration et en particulier selon le split mémoire. (par exemple la version « cut-down » si on a configuré seulement 16Mo pour le GPU.)

liste des fichier de /boot

bcm2708-rpi-b.dtb Hardware definition file used by bootloader (Device Tree Binary)
bcm2708-rpi-b-plus.dtb Hardware definition file used by bootloader (Device Tree Binary)
bcm2709-rpi-2-b.dtb Hardware definition file used by bootloader (Device Tree Binary)
bootcode.bin Seccond stage bootloader
cmdline.txt Arguments passed to the kernel
config.txt Configuration of third stage bootloader
COPYING.linux Legal / no technical use
fixup_cd.dat bugfixes used by bootloader (need more info)
fixup.dat bugfixes used by bootloader (need more info)
fixup_db.dat bugfixes used by bootloader (need more info)
fixup_x.dat bugfixes used by bootloader (need more info)
issue.txt Legal / no technical use ( to be confirmed)
kernel7.img Linux image for ARM7 (raspiB+)
kernel.img Linux image for ARM6 (normal)
LICENCE.broadcom Legal / no technical use
overlays subdir with Hardware definition files (Device Tree Binary)
start_cd.elf cut-down version of third stage bootloader (for low memory configs)
start_db.elf special version of third stage bootloader (need more info)
start.elf Third stage bootloader
start_x.elf special version of third stage bootloader (need more info)