Spisu treści:
- Krok 1: Quelques Types De Mémoires
- Krok 2: Mémoire Serial FRAM SPI
- Krok 3: Cykle seryjnej pamięci RAM
- Krok 4: Code Pilotant La Mémoire FRAM
- Krok 5: Memoire Parralèle
- Krok 6: Cykle Mémoire Parralèle
- Krok 7: Code Pilotant La Memoire Parraléle
- Krok 8: Wesprzyj Pour Mémoires
Wideo: Rozszerzenie Mémoire Pour BeagleBone Black: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Je vous présenter dans cet instructable un de mes projet qui constantait à piloter des mémoires de différents types afin de pouvoir tester leur fonctionnement dans des conditiones przestrzenes (enceinte radiative) et de trouver le taux d'erreurs pourén- envirre type de par ce. Vous pouvez aussi używaj les données de ce projet pour etendre la memoire de votre BeagleBone, creer une clé USB lub simplement pour étudier leur fonctionnement.
Krok 1: Quelques Types De Mémoires
Voici une liste wyczerpująca des différents types de mémoires utilisés dans ce projet avec leurs avantages et inconvénients:
Premier type de mémoire: la mémoire SRAM
Żywa pamięć statystyczna (lub statyczna pamięć o dostępie swobodnym) jest rodzajem żywej pamięci, która służy do przechowywania wspomnień. 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 irrémédiablement !
Zalety: - la SRAM est rapide (temps d'accès 6 do 25 ns) - peu coûteuse (4 €/mies). Niedogodności: - besoin d'être alimenté en permanence pour ne pas perdre ses données, aussi ce type de mémoire apply 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 journée.
Deuxième type de mémoire: la mémoire MRAM
La mémoire vive statique magnétique (magnetyczna pamięć o dostępie swobodnym) zawiera wszystkie données bez dostępu do żywności. Le changement d'état se fait en changeant l'orientation polaire des électrons (par effet tunnel notamment). Elle est très résistante aux radias et aux hautes températures. Zalety:- la non-volatilité des informations. - inusabilité, puis ce qu'aucun mouvement électrique n'est engagé (wytrzymałość 10^16 cykli wykład /écriture !). - la consommation électrique est théoriquement moindre puisqu'il n'y a pas de perte thermique z powodu à la résistance des materiaux aux mouvements des électrons. - temps d'accès de 10 nanosekund. - les debits sont de l'ordre du gigabit par seconde. - une excellente résistance aux radias, omniprésentes dans un milieu przestrzenne. Niedogodności: - coûteuse (~35 €/mies.) car encore en phase de développement (commercialisation de masse du produit prévue en 2018 !) mais on peutkey s'en pro 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 (Ferroelektryczna pamięć o dostępie swobodnym) to rodzaj pamięci nieulotnej encore w zakresie badań i rozwoju.
Można to porównać do pamięci DRAM w laku na żelaznej, elektryzującej kanapie, aby uzyskać niezmienność. W maju 2011 roku Texas Instruments oferuje najlepszy mikrokontroler w pamięci FRAM.
Wykorzystanie danych jest przeznaczone na dysk SSD (Solid State Drive), które można znaleźć w nieulotnych wspomnieniach, które nie mogą zostać wykorzystane w celu zachowania energii. Zalety: - une plus faible consommation d’électricité. - une plus grande rapidité de wykład et d'écriture (temps d'accès de 100 nanosecondes contre 1 microseconde pour la mémoire flash). - la possibilité d'être effacée et réécrite un bien plus grand nombre de fois (wytrzymałość 10 ^ 14 cykli wykładów / prac).
Les deux grandes familles de mémoires: Série (zdjęcie 1) et parallèle (zdjęcie 2)
Série: les mémoires serie ont pour avantage de permettre un gain de place et de garder la meme configuration selon les modeles d'où leur facilité d'integration. 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. Typiquement la vitesse d'accès allant de 5 do 20MHz na au mieux accès aux bits de données que tous les (1/(20*10⁶))sek 50 ns par bitów (50ns*8=400ns dla 8 bitów). 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 surees cartes de type FPGA.
Równolegle: Równoległe wspomnienia są używane w wielu domenach wszystkich pamięci RAM w pamięci USB. Ten typ pamięci jest pięknym oraz szybkim que la mémoire SPI, który pozwala uzyskać dostęp do dodatkowych informacji. Niewygodne jest trudne w przypadku zintegrowanego samochodu szpilki o różnych nazwach różniących się modelem autre i lale du boîtier est plus grande.
Pour accéder à plusieurs en mémoire en meme temps nous devons jouer sur les pins de chip enable (CE) des memoires 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 adresses.
Krok 2: 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
Uwaga: L'avantage de ce type de mémoire SPI est que, peu importe le modèle ou la marque du fabricant de semiconducteurs, la configuration du boîtier reste la même ce qui n'est pas le cas des autres types de mémoires comme les memoires parallèles. De plus les datasheet de ces différentes mémoires indiquent que toutes fonctionnent de la meme manière. Ainsi il est possible de commuter des mémoires de différents modèles sans avoir à programmer de nouveaux algorytmes.
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 memoires SPI à piloter!
Afin de piloter la mémoire il faut d’abord étudier sa fiche technology disponible à l’adresse suivante:
Technika Cette fiche 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.
Krok 3: Cykle seryjnej pamięci RAM
Ecriture:
Avant d'écrire dans la mémoire il faut envoyer une trame d'accès à L'écriture (WREN) 0000 0110 (0x06h) (Voir figure 5)Analiza de la trame d'écriture envoyée par MOSI de la Beaglebone à SI (Voir) 9)
- 8 premiers bits, Op-code de l'écriture (READ): 0000 0011 (0x03h) - 16 bit adresse, même si cette mémoire n'en considère que 11 car il s'agit d'une mémoire de 16Kb ((2 ^11)*8 bitów) 16-bitowy wysłannik samochodowy pozwala uzyskać dostęp do aussi pilotów wspomnień 64Kb. - 8 bitów de données. Wykład:
Analyze de la trame de wykład envoyée par MOSI de la Beaglebone à SI: (Voir Figure 10) - 8 premiers bits, Op-code de la wykład (WRITE): 0000 0010 (0x02h) - 16 bitowy adres Analyze de la trame de wykład envoyée par SO à MISO de la Beaglebone: - 8 bitów de données
Krok 4: Code Pilotant La Mémoire FRAM
Wlać kompilator ce program en langage C: $ gcc program_spi.c –o spiPour utiliser ce program: $./spi add1 add2 data mode
Add1 (MSB) et Add2 (LSB) korespondent chacun à 8 bitów od donnée, dane odpowiadają à l'écriture (= 2) lub wykład (= 1).
Przykładowe użycie:./spi 150 14 210 2 écrit à l'addresse 16 bitów 150 14 (0x96h, 0x0Eh) la donnée 210 (0xD2).
./spi 150 14 0 1 świeci na adres150 14 (0x96h, 0x0Eh)
Krok 5: Memoire Parralèle
Pour ce projet j'ai użyj pamięci SRAM ALLIANCE AS6C1008 128Kb * 8 bitów (schemat)
Konfiguracja du boitier: 17 Adresy: A0-A16 8 Dane: D0-D7 2 Chip Enable: CE#-CE2 2 Write i Output Enable: WE#-OE# 2 VCC (3.3V), VSS (GND) 1 brak połączenia: NC
Uwaga: La disposition des pins varie grandement d'un modèle à un autre ainsi que les temps de wykład / écriture
Pour le câblage à la BeagleBone voir schéma (Un réel plaisir à débugger où lorsque l'on à mal câblé !)
Uwaga: 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 recheriches je n' jamais réussi à utiliser korekta (me faisant perdre au passage 2 semaines car je pensais la mémoire démoire défectueuse alors que sures GPIO ne fonctionnaient simplement pas !)
Afin de piloter la mémoire il faut d’abord étudier sa fiche technology disponible à l’adressesuivante:
Technika Cette fiche indique les différents cycles nécessaires pour lire et écrire dans la mémoire et ainsi réaliser notre Programme. Afin d’écrire dans la mémoire il faut respektujący cykl narzucony przez konstruktorów, qui sont tous les memes pour chacune des mémoires utilisées. Ainsi n'importe quelle mémoire 64Kb peut fonctionner avec notre program (si korekta kabla:)) Zależnie od temps entre les cykli, które mogą być różne memoire autre autre, le cycle le plus long (100ns) des memoires car ut. s'adaptera à toutes les memoires. Ainsi les temps d’écriture i wykładowe minimum annoncés par les konstruktorów ne seront jamais atteints car imposé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 precyzyjne korespondent aux durées des cycles imposées par le constructeur. En effet l’action de faire clignoter une LED odpowiada à la création de cycles d’état haut et bas pour les GPIOs.
Le cycle de wykład quant à lui składa się en la récupération de l’état des GPIO, comme pour détecter l’état d’un bouton poussoir.
Krok 6: Cykle Mémoire Parralèle
Cycle d'écriture (rysunek 1, 2):
Aby zapisać w pamięci odpowiednie szpilki adresowe adresów pomocniczych, które mogą być aktywne we wstępnych chipach, włącz CE, aby uzyskać wysoki poziom i instrukcję Napisz umożliwić 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 à bienspecter les temporisations ! ~100ns)
Cykl wykładu (voir rysunek 3, 4):
Pour écrire dans memoire suffit de mettre s s d'adress aux valeurs souhaitées d'active les entrées chip enable CE à l'État haut and in'struction 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.
Krok 7: Code Pilotant 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:
kompilacja: $ gcc -lm program_memoire.c -o memoire
$./pamięć dodaj 1 dodaj 2 dane1 dane2 tryb slot1 slot2
tryb: 1 wykład, 2 wykłady
Le code étant créer pour piloter deux mémoires il y a deux "slots", mettre à 1 pour utiliser.
Np.: $./pamięć 120 140 20 210 2 1 0
écrit à l'adresse 120 140 (szesnastkowo 16 bitów) les données 20 210 sur la mémoire sur le slot 1.
Np.: $./pamięć 120 140 0 0 1 1 1
lit à l'adresse 120 140 les données sur la mémoire du slot 1 et 2.
Krok 8: Wesprzyj Pour Mémoires
Je vous fournit dans 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 wymienne comme moi veillez bien à câbler Correctement vos mémoires en utilisant toujours le même ordre pour les pins.
Si vous avez des pytania remarques n'hésitez pas tout avis est le bienvenu, en espérant vous avoir aidé!
Zalecana:
Rozszerzenie przeglądarki Chrome - nie wymaga wcześniejszego doświadczenia w kodowaniu: 6 kroków
Rozszerzenie przeglądarki Chrome - nie jest wymagane wcześniejsze doświadczenie w kodowaniu: rozszerzenia Chrome to małe programy stworzone w celu zwiększenia komfortu przeglądania użytkowników. Aby uzyskać więcej informacji o rozszerzeniach do Chrome, wejdź na https://developer.chrome.com/extensions.Aby utworzyć rozszerzenie przeglądarki Chrome, wymagane jest kodowanie, więc bardzo przydatne jest przejrzenie HT
Rozszerzenie dla dowolnego oprogramowania DJ-skiego!: 6 kroków
Rozszerzenie dla dowolnego oprogramowania DJ-skiego!: Nie każdy może po prostu wskoczyć w pierwszy dzień DJ-ski i oczekiwać, że będzie miał wszystkie miksery, gramofony i podkładki pod gorące cue już pierwszego dnia, ale bądźmy szczerzy: miksowanie na laptopie jest do bani. Po to jest to, aby rozwiązać wszystkie problemy finansowe dotyczące
DragonBoard 410c - Jak działa rozszerzenie o niskiej prędkości: 8 kroków
DragonBoard 410c - Jak działa rozszerzenie o niskiej prędkości: Ten samouczek dotyczy rozszerzenia o niskiej prędkości na DragonBoard 410c. Wejścia i wyjścia (I/O) rozszerzeń o niskiej prędkości na płycie DragonBoard 410c to: GPIO (wejście/wyjście ogólnego przeznaczenia); MPP (szpilka wielofunkcyjna); SPI (szeregowy interfejs peryferyjny); I2C (w
Rozszerzenie karty SD, wsparcie i osłona: 7 kroków
Rozszerzenie karty SD, wsparcie i osłona: Jeśli masz osłonę wyświetlacza Arduino TFT z czytnikiem kart SD i za każdym razem musisz sprawdzić lub wprowadzić zmiany w plikach zapisanych na karcie SD, rozszerzenie zaoszczędzi nerwy i czas, bez zdejmowania osłony wyświetlacza TFT. To może być
Intel Aero Drone - Rozszerzenie zasięgu Wi-Fi: 9 kroków
Intel Aero Drone – Rozszerzenie zasięgu Wifi: Aby uzyskać najnowsze informacje i wsparcie dotyczące Aero, odwiedź naszą wiki.Aero działa jako punkt dostępu (AP), co oznacza, że możesz połączyć się z nim jako z urządzeniem Wi-Fi. Ma to zasięg kilku metrów, co zwykle jest wystarczające do celów rozwojowych, ale niech