Kazalo:

Podaljšek Mémoire Pour BeagleBone črn: 8 korakov
Podaljšek Mémoire Pour BeagleBone črn: 8 korakov

Video: Podaljšek Mémoire Pour BeagleBone črn: 8 korakov

Video: Podaljšek Mémoire Pour BeagleBone črn: 8 korakov
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, November
Anonim
Podaljšek Mémoire Pour BeagleBone Black
Podaljšek Mémoire Pour BeagleBone Black

Je vous présenter dans cet instructable un de mes projet qui consistait à piloter des mémoires de différents types afin de pouvoir tester leur fonctionnement dans des conditions spatiales (enceinte radiative) et de trouver le taux d'erreurs engendré par cet Environmement pour chaque type. Vou pouous aussi utiliser les données de ce projet pour étendre la mémoire de votre BeagleBone, créer une clé USB ali simplement pour étudier leur fonctionnement.

Korak: Quelques Types De Mémoires

Quelques Types de Mémoires
Quelques Types de Mémoires
Quelques Types de Mémoires
Quelques Types de Mémoires
Quelques Types de Mémoires
Quelques Types de Mémoires

Poiščite izčrpen opis različnih tipov pomnilniških pripomočkov, ki bodo projecirali avec leurs avances et inconvénients:

Premier type of mémoire: la mémoire SRAM

La mémoire vive statique (ali Statični pomnilnik z naključnim dostopom) je ena od vrst pomnilniških vive uporabnih des bascules za pomnilnik les données. Contrairement à la mémoire dynamique, son contenu n’a pas besoin d’être rafraîchit périodiquement. Elle reste cependant volatile: elle ne peut se passer d'alimentation sous peine de voir ses information effacées irémédiablement!

Prednosti: - la SRAM est rapide (temps d'accès 6 à 25 ns) - peu coûteuse (4 €/Mo). d'ajouter à notre carte mémoire un moyen de l'alimenter en stalnost. Le moyen trouvé est d’ajouter un super condensateur Cellergy pouvant alimenter la mémoire obesek une journée.

Deuxième type de mémoire: la mémoire MRAM

La mémoire vive statique magnétique (magnetni pomnilnik z naključnim dostopom) stocke les données sans avoir besoin d’être alimentée. Le changement d'état se fait en changeant l’orientation polaire des électrons (par Effet tunel notamment). Elle est très résistante aux radiations et aux hautes températures. Prednosti:- la non-volatilité des information. - inusabilité, puis ce qu’aucun mouvement électrique n'est angagé (vzdržljivost de 10^16 ciklov predavanje /écriture!). - la consommation électrique est théoriquement moindre puisqu'il n'y a pas de perte thermique zaradi à la résistance des matériaux aux mouvements des électrons. - temps d’accès de 10 nanosekund. - les débits sont de l'ordre du gigabit par seconde. - une excellente résistance aux radiations, omniprésentes dans un milieu spatial. Inconvénients: - coûteuse (~ 35 €/Mo) encore en faza en faza de développement (komercializacija de masse du produit prévue en 2018!) mais on peut s'en procurer chez Digikey commercialisé sous la marque Everspin.- kapacité de stockage est très limitée due aux champs magnétiques qui risquent de perturber les cellules voisines si elles sont trop proches les unes des autres.

Troisième type de mémoire: la mémoire FRAM

La mémoireFRAM (feroelektrični pomnilnik z naključnim dostopom) je vrsta, ki ni nestanovitna, nehlapna na encore, na podlagi podatkov o razvoju in razvoju.

Elle est similaire à la mémoire DRAM à laquelle on ajouté une couche ferro-électrique pour obtenir la non volatilité. Maja 2011, Texas Instruments je lance premier microcontrôleur à mémoire FRAM.

Največja uporaba je namenjena SSD disku (Solid State Drive), ki je namenjen shranjevanju avtorskih zapisov, ki niso hlapni, in ne porabite energije za shranjevanje energije. Prednosti: - une plus faible consommation d’électricité. - une plus grande rapidité de predavanje in izdelava (temps d'accès de 100 nanosecondes contre 1 microseconde pour la mémoire flash). - la mogućnost d'être effacée et réccrite un bien plus grand nombre de fois (vzdržljivost 10^14 ciklov predavanj/ecritures). Neprimerni: - des kapacités de stockage plus limitées - un coût de fabrication plus élevé, ~ 30 €/mesec

Les deux grandes familles de mémoires: Série (fotografija 1) et parallèle (fotografija 2)

Série: les mémoires séries ont pour avantage de permettre un gain de place et de garder la même configuration selon les modèles d'où leur facilité d'intégration. Cependant ces mémoires ne sont pas très rapide car la trame entière (type d'opération, adresse, données…) doit être reçue avant d’enregistrer ou accéder à la donnée. Običajno nastavite vitalizacijo na 5 do 20 MHz, če želite, da so v pomnilniku vgrajeni bitovi, ki jih ne potrebujete (1/(20*10⁶)) sekund, da 50 ns par bitov (50ns*8 = 400ns na 8 bitov). Ce type de mémoire est donc utilisé lorsque le temps d’accès aux données à peu d'importance comme lors du chargement d'un BIOS dans certaines cartes de type FPGA.

Parallèle: Les mémoires parallèles sont très utilisées dans tous les domaines allant de la RAM for ordinateur à la clé USB. Ce type de mémoire est beaucoup plus rapide que la mémoire SPI car en un coup d'horloge il permet d'accéder aux information, nous sommes donc able de récupérer en quelques ms tout le contenu de la mémoire de 1Mo. L'inconvénient est sa hardé à intégrer car les nombreux pins diffèrent d'un modèle à l'autre et la taille du boîtier est plus grande.

Pour accéder à plusieurs en mémoire en même temps nous devons jouer sur les pins de chip enable (CE) des mémoires afin d'indiquer à laquelle nous voulons accéder (voir schéma). Le schéma est valable pour les deux types de mémoires seul change le moyen d’accès aux données et naslovi.

2. korak: Serijski pomnilnik FRI SPI

Spominski serijski FRAM SPI
Spominski serijski FRAM SPI
Spominski serijski FRAM SPI
Spominski serijski FRAM SPI

Câblage de la BeagleBone à la mémoire: Reliés ali 3.3V: VDD, HOLD, WP A la masse: VSS MISO relié à SO MOSI relié à SI CS relié à CS

Opomba: L'avantage de ce type de mémoire SPI est que, peu importe le modèle ou la marque du fabricant de semi-conducteurs, la configuration du boîtier reste la même ce qui n'est pas le cas des autres types of mémoires comme les mémoires parallèles. Podatkovni list De plus les de ces différentes mémoires indiquent que toutes fonctionnent de la même manière. Ainsi il est possible de commuter des mémoires de différents modèles sans avoir à programmer de nouveaux algorithms.

Les pins HOLD et WP sont reliés au 3.3V: si cela empêche l’utilisateur d’utiliser ces fonctionnalités, cela permet de faciliter la programmation. Cependant ces fonctionnalités auraient été utiles si l’on avait plusieurs mémoires SPI à piloter!

Afin de piloter la mémoire il faut d’abord étudier sa fiche tehnika disponible à l’adresse suivante:

Cette fiche tehnika indique les différents cycles nécessaires pour lire et écrire dans la mémoire et ainsi réaliser un program permettant de les piloter.

Korak 3: Kolesa Serijski FRAM

Cikli Serijski FRAM
Cikli Serijski FRAM
Cikli Serijski FRAM
Cikli Serijski FRAM
Cikli Serijski FRAM
Cikli Serijski FRAM
Cikli Serijski FRAM
Cikli Serijski FRAM

Izvleček:

Avant d'écrire dans la mémoire il faut envoyer une trame d'accès à L'écriture (WREN) 0000 0110 (0x06h) (slika Voir 5) Analiza de la trame d'écriture odposlanka po MOSI de la Beaglebone à SI (slika Voir 9)

- 8 premiers bitov, op -code de l'écriture (READ): 0000 0011 (0x03h) - 16 bits adresse, même si cette mémoire n'en obzir que 11 car il s'agit d'une mémoire de 16Kb ((2 ^11)*8bit) il faut envoyer 16 bits car cela permettra de pouvoir aussi piloter des mémoires 64Kb. - 8 bitov za donnéées. Predavanje:

Analizirajte odposlanca predavatelja predavanja za MOSI de la Beaglebone à SI: (slika Voir 10)- 8 premier bitov, Op-code de la predavanje (WRITE): 0000 0010 (0x02h)- 16 bitov naslov Analyse de la trame de predavanje odposlanec za SO à MISO de la Beaglebone: - 8 bitov za données

Korak: Pilotni kod La Mémoire FRAM

Pour compiler ce program en langage C: $ gcc programme_spi.c –o spiPour utiliser ce program: $./spi add1 add2 podatkovni način

Add1 (MSB) in Add2 (LSB) dopisni chacun à 8 bits de donnée, podatki ustrezajo à 8 bits de données à ecrire (metre 0 si predavanje) Način ustreza à l’écriture (= 2) ali predavanje (= 1).

Primer uporabe:./spi 150 14 210 2 écrit à l’adresse 16 bitov 150 14 (0x96h, 0x0Eh) la donnée 210 (0xD2).

./spi 150 14 0 1 lit à l'adresse150 14 (0x96h, 0x0Eh)

5. korak: Mémoire Parralèle

Mémoire Parralèle
Mémoire Parralèle
Mémoire Parralèle
Mémoire Parralèle
Mémoire Parralèle
Mémoire Parralèle
Mémoire Parralèle
Mémoire Parralèle

Pour ce projet j'ai utilisé la mémoire SRAM ALLIANCE AS6C1008 128Kb * 8 bits (voir schéma)

Konfiguracija: 17 naslovov: A0-A16 8 Podatki: D0-D7 2 Omogočen čip: CE#-CE2 2 Omogoči zapisovanje in izhod: WE#-OE#2 VCC (3.3V), VSS (GND) 1 brez povezave: NC

Opomba: La disposition des pins varie grandement d'un modèle à un autre ainsi que les temps de predavanje / écriture

Pour le câblage à la BeagleBone voir schéma (Un réel plaisir à débugger où lorsque l'on à mal câblé!)

Pozor: Vous vous demandez sans doute pourquoi j'ai sauté določeni GPIO na les lignes d'adress et data, c'est tout simplement que ces GPIO sont alloués à l'EMMC présent sur la BBB et que malgré mes recherches je n'ai jamais réussi à utiliser correctement (me faisant perdre au passage 2 semaines car je pensais la mémoire défectueuse alors que certains GPIO ne fonctionnaient simplement pas!)

Afin de piloter la mémoire il faut d’abord étudier sa fiche tehnika disponible à l’adressesuivante:

Cette fiche tehnika indique les différents cycles nécessaires pour lire et écrire dans la mémoire et ainsi réaliser notre program. Afin d’écrire dans la mémoire il faut respecter le cycle impoposé par les constructeurs, qui sont tous les mêmes pour chacune des mémoires utilisées. Ainsi n'importe quelle mémoire 64Kb peut fonctionner avec notre program (si correctement câblé:)) Cependant les temps entre les cycles peuvent varier d'une mémoire à une autre, le cycle le plus long (100ns) des mémoires utilisées étant retenu car s'adaptera à toutes les mémoires. Ainsi les temps d’écriture et Minister Minimums Annoncés par les constructeurs ne seront jamais atteints car impposés par la mémoire la plus lente. La durée des cycles est définie dans le code. Le seul moyen d’aller d’atteindre la vitesse maximale et de programmer les cycles pour une mémoire en particulier avec les temps minimaux. Le cycle d’écriture revient à modifier l’état des GPIOs. La base du code est celle qui permet de faire clignoter une LED en ajoutant des temporisations precizes korespondistant aux durées des cycles imposées par le constructeur. En efekt de faire clignoter une LED ustreza à la création de cycles d'état haut et bas pour les GPIO.

Le cycle de predavanje quant à lui consiste en la récupération de l’état des GPIO, comme pour détecter l’état d’un bouton poussoir.

Korak 6: Cikli Mémoire Parralèle

Kolesa Mémoire Parralèle
Kolesa Mémoire Parralèle
Kolesa Mémoire Parralèle
Kolesa Mémoire Parralèle
Kolesa Mémoire Parralèle
Kolesa Mémoire Parralèle
Kolesa Mémoire Parralèle
Kolesa Mémoire Parralèle

Cikel d'écriture (slika 1, 2):

Pour écrire dans la mémoire il suffit de mettre les pins d'adresse aux valeurs souhaitées puis d'activer les entrées chip enable CE à l'état haut et l'instruction Write enable WE. Une fois cela effectuer mettre les pins des données aux valeurs souhaitées et le tour est joué (Pozornost tout de même à bien spoštovanje les temporisations! ~ 100ns)

Cikel predavanja (slika 3, 4):

Pour écrire dans la mémoire il suffit de mettre les pins d'adresse aux valeurs souhaitées puis d'activer les entrées chip enable CE à l'état haut et l'instruction Output enable OE. Une fois cela effectué on récupère sur les entrée GPIO de la BeagleBone les valeurs se trouvant à cette adresse.

7. korak: Pilotant kode La Memoire Parraléle

Ce code permet de piloter 2 mémoire parallèles indépendamment l'une de l'autre et s'utilise comme ceci:

kompilacija: $ gcc -lm programme_memoire.c -o spomin

$./spomin dodaj 1 dodaj 2 data1 način data2 reža 1 slot2

način: 1 predavanje, 2 predavanja

Le code étant créer pour piloter deux mémoires il y a deux "slots", metrate à 1 pour utiliser.

Primer: $./Spomin 120 140 20 210 2 1 0

écrit à l'adresse 120 140 (šestnajstiški 16 bitov) les données 20 210 sur la mémoire sur le slot 1.

Primer: $./Spomin 120 140 0 0 1 1 1

lit à l'adresse 120 140 les données sur la mémoire du slot 1 et 2.

8. korak: Podprite Pour Mémoires

Podprite Pour Mémoires
Podprite Pour Mémoires
Podprite Pour Mémoires
Podprite Pour Mémoires
Podprite Pour Mémoires
Podprite Pour Mémoires
Podprite Pour Mémoires
Podprite Pour Mémoires

Je vous fournit in les photos les PCB de support mémoire sur lequel vous pourrez vous inspirer pour vos réalisations. Si vous voulez réaliser un système de mémoire zamenljiva comme moi veillez bien à câbler correctement vos mémoires en utilisant toujours le même ordre pour les pins.

Si vous avez des questions remarques n'hésitez pas tout avis est le bienvenu, en espérant vous avoir aidé!

Priporočena: