Përmbajtje:

Extension Mémoire Pour BeagleBone Black: 8 hapa
Extension Mémoire Pour BeagleBone Black: 8 hapa

Video: Extension Mémoire Pour BeagleBone Black: 8 hapa

Video: Extension Mémoire Pour BeagleBone Black: 8 hapa
Video: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, Рик Хулихан 2024, Nëntor
Anonim
Extension Mémoire Pour BeagleBone Black
Extension Mémoire Pour BeagleBone Black

Je vous présenter dans cet instructable un de mes projet qui konsistant à piloti des mémoires de différents types afin de pouvoir tester leur fonctionnement dans des condition spatiales (enceinte radiative) et de trouver le taux d'erreurs engendré par cet ambient mjedis chaque. Vous pouvez aussi utiliser les données de ce projet pour étendre la mémoire de votre BeagleBone, ju nuk mund të përdorni USB ose thjeshtë për të lexuar fonctionnement.

Hapi 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

Voici une liste shteruese e llojeve të ndryshme të përdorimit të përdorimit nga avantazhet dhe inconvénients të avec leurs.

Lloji kryesor i mémoire: la mémoire SRAM

Statistika e mémoire vive (ou Static Random Access Memory) nuk është një lloj përdorimi i vlerave të përdorura të bazave për mémoriser 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 informatat effacées irrémédiablement!

Avantazhet: - SRAM est rapide (temps d'accès 6 à 25 ns) - peu coûteuse (4 €/muaj). Të interesuarit: - besoni në ekzistencën e ushqimit në qëndrueshmëri, derdhni pas pasardhjes ses données, aussi ce type de mémoire imponojnë 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 une journalée.

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

La mémoire vive statique magnétique (Kujtesa e Rritjes së Rastit Magnetike) 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 dhe aux hautes températures. Avantazhet:- la non-volatilité des informations. - inusabilité, puis ce qu’aucun mouvement électrique n'est engagé (qëndrueshmëri nga 10^16 cikle leksion /ékriturë!). - la consommation électrique est théoriquement moindre puisqu'il n'y a pas de perte thermique due à la résistance des matériaux aux mouvements des électrons. - temps d’accès de 10 nanosekonda. - les débits sont de l'ordre du gigabit par seconde. - një shkëlqim i shkëlqyeshëm i rrezatimit aux, i gjithëpranishëm jep një mjedis hapësinor. Të paditurit: - bashkëjetesa (~ 35 €/muaj) e makinës encore në fazën e zhvillimit (komercializimi i masës së prodhimit paraprak në 2018!) Mais on peut s'en prokuror chez Digikey commercialisé sous la marque Everspin.- capacité 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 (Kujtesa aksesore e rastësishme ferroelektrike) nuk është një lloj memoire e caktuar e një ruajtje jo të paqëndrueshme, e cila përpunohet dhe zhvillohet.

Elle est similaire à la mémoire DRAM à laquelle on a ajouté une couche ferro-électrique pour obtenir la non volatilité. Në maj 2011, Texas Instruments u shfaqën në FRAM të mikrokontrollorëve të mëdhenj.

Shfrytëzimi është i destinuar në SSD (Solid State Drive), të hyjë në autome mémoires non volatiles, nuk ka nevojë të besojë në energjinë e konservuarëve. Avantazhet: - une plus faible consommation d’électricité. - une plus grande quickité de lecture et d'écriture (temps d'accès de 100 nanosecondes contre 1 microseconde pour la mémoire flash). - la possibilité d'être effacée dhe réécrite un bien plus grand nombre de fois (qëndrueshmëria e 10^14 cikleve leksione/écritures). Të pabindurit: - des kapacitetet e stokut plus kufizimet - pa prodhim plus élevé, ~ 30 €/muaj

Les deux grandes familles de mémoires: Série (foto 1) dhe parallèle (foto 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 lehtësimin e integrimit. Cependant ces mémoires ne sont pas très rapide car la trame entière (type d'opération, adresse, données…) do të bëjnë një kërkesë për të regjistruar ou accéder à la donnée. Typiquement la vitesse d’accès allant de 5 à 20MHz në à au mieux accès aux bits de données que tous les (1/(20*10⁶)) sek për 50 ns par bit (50ns*8 = 400ns derdh 8 bit). Ce type de mémoire është donc utilisé lorsque le temps d’accès aux données à peu d'importance comme lors du chargement d'un BIOS dans surees cartes de type FPGA.

Regjistrimi: Les mémoires parallèles sont très utilisées dans tous les domaines allant de la RAM pour ordinateur à la clé USB. Ce type de mémoire est beaucoup plus rapide que la mémoire SPI car en un pupp d'horloge il permet d'accéder aux informations, 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 vështirë à intégrer car les nombreux kunjat ndryshojnë në modalitetin à 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 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 adresa.

Hapi 2: Seriali Mémoire 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 à 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'avantage de ce type de mémoire SPI est que, peu importe le modèle ou la marque du fabricant in half-condueurs, la configuration du boîtier reste la même ce qui n'est pas le cas des autres types de mémoires comme les mémoires parallèles. De plus les datasheet de ces différentes mémoires indiquent que toutes fonctionnent de la même manière. Insshtë e mundur që të udhëtoni me rrugë të ndryshme për module pa avoir dhe programues të algoritmeve të reja.

Les pins HOLD et WP sont reliés au 3.3V: si një ndërveprim i shkëlqyeshëm i përdorimit të funksioneve, për të lehtësuar programimin. Për më tepër, ju mund të përdorni pajisje shtesë si një avion pilot SPI!

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

Cette fiche teknikë indikale të cikleve të ndryshme që nevojiten për lire dhe emisione të tjera për mémoire et ainsi réaliser un program permettant de les pilot.

Hapi 3: Ciklet FRAM Serial

Ciklet FRAM Serial
Ciklet FRAM Serial
Ciklet FRAM Serial
Ciklet FRAM Serial
Ciklet FRAM Serial
Ciklet FRAM Serial
Ciklet FRAM Serial
Ciklet FRAM Serial

Ekritura:

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

- 8 kryeministra, Op -code de l'écriture (LEXO): 0000 0011 (0x03h) - 16 bits adresse, për shembull, nuk do të marr parasysh 11 makina në s'agit d'une mémoire de 16Kb ((2 ^11)*8bits) il faut dërguar 16 copë makinë cela permettra de pouvoir aussi piloter des mémoires 64Kb. - 8 copa të donuara. Leksion:

Analizoni de la trame de ligjërimin e dërguar në MOSI de la Beaglebone SI: (Figura e Vojës 10)- 8 copa kryesore, Op-code de la leksion (SHKRUAJ): 0000 0010 (0x02h)- 16 bit adrese Analizoni de la trame de leksion i dërguari SO SO à MISO de la Beaglebone: - 8 copa de données

Hapi 4: Kodi Pilotant La Mémoire FRAM

Derdhni programin e përpiluesit ce në gjuhën tuaj C: $ gcc programme_spi.c –o spiPour programin e përdoruesit ce: $./spi add1 shtoni modalitetin e të dhënave

Add1 (MSB) et Add2 (LSB) korrespondent chacun à 8 bit de donnée, të dhënat korrespondojnë à 8 bit de données é é cri cri é (met met met met met met met correspond correspond correspond correspond correspond correspond correspond l'écriture (= 2) ou la lecture (= 1).

Shembull i përdorimit:./spi 150 14 210 2 écrit à l’adresse 16 bit 150 14 (0x96h, 0x0Eh) la donnée 210 (0xD2).

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

Hapi 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

Derdhni një përdorim të përdorimit të mémoire SRAM ALLIANCE AS6C1008 128Kb * 8 bit (voir schéma)

Konfigurimi më i mirë: 17 Adresat: A0-A16 8 Të dhënat: D0-D7 2 Çipi Aktivizo: CE#-CE2 2 Shkruaj dhe dalje Aktivizo: NE#-OE#2 VCC (3.3V), VSS (GND) 1 pa lidhje: NC

NB: La dispozita des pins varie grandement d'un modèle à un autre ainsi que les temps de lecture / écriture

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

Kujdes: Vous vous demandez sans doute pourquoi j'ai sauté sures GPIO dans les lignes d'adresses 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 à përdoruesi korrigjim (me faisant perdre au passage 2 semaines car je pensais la mémoire defektueuse alors que sures GPIO ne fonctionnaient simplement pas!)

Afin de pilot la mémoire il faut d’abord étudier sa fiche teknikë disponible à l’adressesuivante:

Cette fiche teknikë indikale të cikleve të ndryshme që ju nevojiten për të shkarkuar programin tuaj të lirë dhe të menjëhershëm dhe të aritshëm. Afin d’écrire dans la mémoire il faut respecter le cycle imposé 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é:)) Përfundimet e kohëve të fundit i përfshijnë ciklet e ndryshme që mund të ndryshojnë nga moti à une autre, le cikël le plus të gjatë (100ns) des mémoires utilisées étant retenu car s'adaptera toutes les mémoires. Ainsi les temps d’écriture et lecture minimums annoncés par les constructeurs ne seront jamais atteints car imposés par la mémoire la plus lente. La durée des cycles është përcaktuar për kodin. 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. Baza e kodit është një bazë e shkëlqyeshme e klignoter -it dhe LED -ve në kohën e duhur dhe përcakton korrespondentët e nevojshëm të cikleve të vendosura në ndërtim. En effet l’action de faire clignoter une LED korrespondojnë me ciklet e krijimit të cikleve të së ardhmes dhe të derdhjes së GPIO -ve.

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

Hapi 6: Ciklet Mémoire Parralèle

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

Cikli i dekretimit (figura voir 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 U shkruaj aktivizo WE. Une fois cela effectuer mettre les pins des données aux valeurs souhaitées et le tour est joué (Mais vëmendje tout de même à bien respecter les temporisations! ~ 100ns)

Cikli i ligjëratës (figura voir 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éé në récupère sur les entrée GPIO de la BeagleBone les valeurs se trouvant à cette adresse.

Hapi 7: Kodi Pilotant La Memoire Parraléle

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

përmbledhje: $ gcc -lm programme_memoire.c -o memoire

$./memoire shtoni 1 shtoni 2 data1 mode2 data2 slot1 slot2

mënyra: 1 Leksion, 2 Ecriture

Le të përdorim kodin për të drejtuar pilotin në pajisjet e tjera, duke përdorur "lojëra elektronike", duke përdorur 1 përdorues.

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

écrit à l'adresse 120 140 (gjashtëmbëdhjetë bits) les données 20 210 sur la mémoire sur le slot 1.

P.sh.: $./memoire 120 140 0 0 1 1 1

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

Hapi 8: Mbështetni derdhjen e Mémoires

Mbështetni Pour Mémoires
Mbështetni Pour Mémoires
Mbështetni Pour Mémoires
Mbështetni Pour Mémoires
Mbështetni Pour Mémoires
Mbështetni Pour Mémoires
Mbështetni Pour Mémoires
Mbështetni Pour Mémoires

Je vous fournit dans les photos les PCB de support mémoire sur lequel vous pourrez vous inspirues pour vos réalisations. Si vous voulez réaliser un système de mémoire të këmbyeshëm comme moi veillez bien à câbler correction vos mémoires en utilisant toujours le même ordre pour les les pin.

Si një pyetje në lidhje me remarques n'hésitez pas tout avis est le bienvenu, en espérant vous avoir aidé!

Recommended: