Taula de continguts:

Extensió Mémoire Pour BeagleBone Black: 8 passos
Extensió Mémoire Pour BeagleBone Black: 8 passos

Vídeo: Extensió Mémoire Pour BeagleBone Black: 8 passos

Vídeo: Extensió Mémoire Pour BeagleBone Black: 8 passos
Vídeo: THE WOLF THAT TIME FORGOT 2024, Juliol
Anonim
Extensió Mémoire Pour BeagleBone Black
Extensió Mémoire Pour BeagleBone Black

Je vous presenter en aquest instructable un del meu projecte que consisteix en pilotar els mòbils de diferents tipus afin de poder tester el seu funcionament en les condicions espacials (enceinte radiative) i trobar els nivells d’erreurs engendrats per aquest entorn per cada tipus de memòria. Vous també es poden utilitzar les dades d’aquest projecte per aprendre el record del vostre BeagleBone, crear un clé USB o simplement per estudiar el seu funcionament.

Pas 1: 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

Veu una llista exhaustiva dels diferents tipus de memòries utilitzades en aquest projecte amb els seus avantatges i inconvenients:

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

La mémoire vive statique (ou Static Random Access Memory) és un tipus de memòria que utilitza els bascules per recordar les dades. Contrairement à la mémoire dynamique, son content n’a pas besoin d’être rafraîchit périodiquement. Ella reste cependant volatile: elle ne peut se passer d'alimentation sous peine de voir ses informations effacées irrémédiablement!

Avantatges: - la SRAM és ràpida (temps d’accés de 6 a 25 ns) - poca despesa (4 € / Mo). d'ajouter à notre carte mémoire un moyen de l'alimenter en permanence. Le moyen trouvé est d’ajouter un super condensateur Cellergy pouvant alimenter la mémoire pendant una journée.

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

La mémoire vive statique magnétique (Magnetic Random Access Memory) stocke les données sans avoir besoin d’être alimentée. Le changement d'état se fait en changeant l’orientation polaire des électrons (per effet tunnel notamment). És molt resistent a les radiacions i les altes temperatures. Avantatges: - la no volatilitat de les informacions. - inusabilité, puis ce qu’aucun mouvement électrique n'est engagé (endurance de 10 ^ 16 cycles lecture / écriture!). - la consumation électrique est théoriquement moindre puisqu'il n'y a pas de perte thermique due à la résistance des materials aux mouvements des électrons. - temps d’accés de 10 nanosegons. - 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) car encore en phase of development (commercialization de masse du product prévue en 2018!) mais on peut s'en procurer chez Digikey comercialitzat sota la marca Everspin.- capacitat d’estocament és molt limitada a causa de champs magnètics que risc de perturber les cèl·lules veïnes si són trop properes a les altres.

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

La mémoireFRAM (Ferroelectric Random Access Memory) és un tipus de memòria d’ordinador no volàtil encara a l’estat de recerca i desenvolupament.

És similar a la memòria DRAM a la qual s’afegeix un sofà ferro-elèctric per obtenir la no volatilitat. El maig de 2011, Texas Instruments llança el primer microcontrolador a la memòria FRAM.

La seva utilització està destinada a SSD (Solid State Drive), així com els altres mètodes no volàtils, les dades no necessiten energia per ser conservats. Avantatges: - une plus faible consommation d’électricité. - une plus grande rapidité de lecture et d'écriture (temps d'accés de 100 nanosegons contra 1 microseconde pour la mémoire flash). - la possibilitat d’ésser eficaç i escriure un bé més gran nombre de vegades (resistència de 10 ^ 14 cycles lectures / écritures).

Les dues grans famílies de memòries: Série (foto 1) i paral·lela (foto 2)

Série: les mémoires séries ont pour avantage de permettre un gain de place and de garder la même configuration selon les modèles d’où leur facilité d’integració. Cependant these mémoires ne sont pas très rapide car the trame entière (type d'opération, adresse, données …) Ha de ser rebut abans d'enregistrar-se o accedir a la dona. Typiquement la vitesse d’accés allant de 5 à 20MHz on à better access aux bits de dades que tous les (1 / (20 * 10⁶)) sec soit 50 ns par bits (50ns * 8 = 400ns pour 8 bits). Aquest tipus de memòria s’utilitza per tant quan s’aconsegueix el temps d’accés a les dades a poca importància com durant el càrrec d’un BIOS en algunes cartes de tipus FPGA.

Paral·lel: Les memòries paral·leles són molt útils en tots els dominis allant de la RAM per ordinador a la clé USB. Aquest tipus de memòria és molt més ràpid que la memòria SPI car en un coup d’horloge permet accedir a les informacions, així que som capaços de recuperar en alguns ms tot el contingut de la memòria de 1Mo. L'inconvenient és sa difficulté a integrer car the many pins diffèrent d'un model à l'autre et la taille du boîtier est plus grande.

Per accedir a diversos en memòria en mateix temps nosaltres devons jouer sur les pins de chip enable (CE) des mémoires afin d’indiquer à which 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 adresses.

Pas 2: Mémoire Serial FRAM SPI

Mémoire Serial FRAM SPI
Mémoire Serial FRAM SPI
Mémoire Serial FRAM SPI
Mémoire Serial FRAM SPI

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

NB: L’avantatge d’aquest tipus de memòria SPI és que, poc importat el model o la marca del fabricant de semiconductors, la configuració del boixier resta el mateix que no és el cas dels altres tipus de memòries com les mémoires parallèles. De plus les datasheet de ces différentes mémoires indiquen que totes funcionen de la mateixa manera. Així és possible el desplaçament de mòbils de diferents models sense tenir un programador de nous algorismes.

Les pins HOLD et WP sont reliés au 3.3V: si cela empêche l’utilisateur d’utiliser ces fonctionnalités, això permet facilitar la programació. Tot i que aquestes funcions hagin estat utilitzades si l’on tenia diversos mòbils SPI a piloter!

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

Cette fiche technique indique els diferents cicles necessaris per a lire i escriure en la memòria i així realitzar un programa que permet el pilot.

Pas 3: Cicles de sèrie FRAM

Cicles de sèrie FRAM
Cicles de sèrie FRAM
Cicles de sèrie FRAM
Cicles de sèrie FRAM
Cicles de sèrie FRAM
Cicles de sèrie FRAM
Cicles de sèrie FRAM
Cicles de sèrie FRAM

Ecriture:

Avant d'écrire dans la mémoire il faut envoyer una trame d'accès à L'écriture (WREN) 0000 0110 (0x06h) (Voir figure 5) Analyze de la trame d'écriture envoyée par MOSI de la Beaglebone à SI (Voir figure 9)

- 8 premiers bits, Op-code de l'écriture (READ): 0000 0011 (0x03h) - Adreça de 16 bits, fins i tot si aquesta memòria no té en compte que 11 car il s'agit d'una mémoire de 16Kb ((2 ^ 11) * 8bits) il faut envoyer 16 bits car cela permetra de pouvoir aussi piloter des mémoires 64Kb. - 8 bits de dades. Conferència:

Analyse de la trame de lecture envoyée par MOSI de la Beaglebone à SI: (Veure figura 10) - 8 premiers bits, Op-code de la lecture (WRITE): 0000 0010 (0x02h) - 16 bits adresse Analyse de la trame de lecture enviat per SO a MISO de la Beaglebone: - 8 bits de dades

Pas 4: Code Pilotant La Mémoire FRAM

Pour compilator ce program in langage C: $ gcc programme_spi.c –o spiPour use this program: $./spi add1 add2 mode mode

Add1 (MSB) et Add2 (LSB) correspondent chacun à 8 bits de donnée, data correspond à 8 bits de dades à écrire (mettre 0 si lecture) Mode correspond à l’écriture (= 2) ou la lecture (= 1).

Exemple d’utilització:./spi 150 14 210 2 écrit à l’adresse 16 bits 150 14 (0x96h, 0x0Eh) la donnée 210 (0xD2).

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

Pas 5: 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

Per al projecte que he utilitzat la memòria SRAM ALLIANCE AS6C1008 128Kb * 8 bits (veure esquema)

Configuració del boitier: 17 Adreces: A0-A16 8 Dades: D0-D7 2 Habilitat xip: CE # -CE2 2 Habilitat d'escriptura i sortida: WE # -OE # 2 VCC (3.3V), VSS (GND) 1 no connectat: NC

NB: La disposition des pins varie grandement d'un model à un autre ainsi que les temps de lecture / écriture

Pour le câblage à la BeagleBone voir schéma (Un réel plaisir à débugger where when l'on à mal cable!)

Atenció: Vous demandez sans doute pourquoi j'ai sauté certain GPIO in the lines d'adresses and data, c'est tot simplement que aquests GPIO són alloués à l'EMMC present sobre la BBB i que malgrat mes investigacions no n'hei mai no faig servir correctament (faig perdre al passatge 2 semaines car je pensais a la mémoire défectueuse alors que certs GPIO no funcionen simplement!)

Afin de piloter la mémoire il faut d’abord étudier sa fiche technique available to l’adressesuivante:

Aquesta fitxa tècnica indica els diferents cicles necessaris per a lire i escriure al magatzem i així realitzar el nostre programa. Afin d’écrire dans la mémoire il faut respecter le cycle imposé par les constructors, qui sont tous les mêmes pour chacune des mémoires utilisées. Ainsi n'importe quelle mémoire 64Kb peut fonctionner with our program (si correctement cablebl:)) Tot i que els temps entre els cicles poden variar-se d'una memòria a una altra, el cicle més llarg (100ns) dels mètodes utilitzats restant al seu car s'adaptera à toutes les mémoires. Ainsi les temps d’écriture et lecture minimums annoncés per les constructors no serà mai atteints car imposés per la memòria la plus lente. La durada dels cicles està definida en el codi. Le seul moyen d’aller d’atteindre la vitesse maximale et de programmer les cycles per a una memòria en particular amb els temps mínims. Le cycle d’écriture revient à modifier l’état des GPIOs. The base du code is celle qui permet de fer clignoter un LED en afegit de temporitzacions precises corresponent als dureses dels cicles imposats pel constructor. En effet l’action de faire clignoter un LED correspon a la creació de cicles d’estat alt i bas per als GPIOs.

El cicle de conferència quant a ell consisteix en la recuperació de l’estat des de GPIO, com per a la detecció de l’estat d’un botó possoir.

Pas 6: Cicles Mémoire Parralèle

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

Cicle d’escriptura (veure figures 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 a l'estat alt i la instrucció Write enable WE. Une fois cela effectuer mettre les pins des données aux valeurs souhaitées et le tour est joué (Mais attention tout de même à bien respecter les temporisations! ~ 100ns)

Cicle de conferència (veure figures 3, 4):

Per escriure en el seu record el suficient per posar els pins d’adreça als valors desitjats després d’activer els entrades chip enable CE a l’estat alt i la instrucció Output enable OE. Une fois cela effectué on récupère sur les entrée GPIO de la BeagleBone les valeurs es troben a aquesta adreça.

Pas 7: Code Pilotant La Memoire Parraléle

Aquest codi permet al piloter 2 memòria paral·leles indépendamment l'une de l'autre i s'utilitza com a ceci:

recopilació: $ gcc -lm programme_memoire.c -o memoire

$./memoire afegir 1 afegir 2 dades1 dades2 mode ranura1 ranura2

mode: 1 Conferència, 2 Ecriture

El codi que es crea per al pilotador de dos mòbils i a dos "slots", posar a 1 per utilitzar.

Ex: $./memoire 120 140 20 210 2 1 0

écrit à l'adresse 120 140 (hex 16 bits) les dades 20 210 sobre la memòria sobre el slot 1.

Ex: $./memoire 120 140 0 0 1 1 1

lit à l'adresse 120 140 les dades sobre la memòria del slot 1 i 2.

Pas 8: ajusteu Pour Mémoires

Suport a Pour Mémoires
Suport a Pour Mémoires
Suport a Pour Mémoires
Suport a Pour Mémoires
Suport a Pour Mémoires
Suport a Pour Mémoires
Suport a Pour Mémoires
Suport a Pour Mémoires

Us proporcionareu a les fotos el PCB de suport de memòria sobre el que us inspirareu per a les vostres realitzacions. Si voleu realitzar un sistema de memòria interchangeable comme moi veillez bien à cable correction vos mémoires en utilitzant sempre el mateix ordre per als pins.

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

Recomanat: