فهرست مطالب:

Extension Mémoire Pour BeagleBone Black: 8 مرحله
Extension Mémoire Pour BeagleBone Black: 8 مرحله

تصویری: Extension Mémoire Pour BeagleBone Black: 8 مرحله

تصویری: Extension Mémoire Pour BeagleBone Black: 8 مرحله
تصویری: Сухой голод. Свами Сат Марга - 27 дней без воды, больше 2-х месяцев без еды Dry fasting for 27 days 2024, جولای
Anonim
Extension Mémoire Pour BeagleBone Black
Extension Mémoire Pour BeagleBone Black

Je vous présenter dans cet learnable un de mes projet qui consistait à piloter des mémoires de différents انواع afin de pouvoir tester leur fonctionnement dans des kushtet spatiales (enceinte radiative) et de trouver le taux d'erreurs engendré par cet environnement pour chaque. Vous pouvez aussi utiliser les données de ce projet pour étendre la mémoire de votre BeagleBone، créer une clée USB and simplement pour étudier leur fonctionnement.

مرحله 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 جامع انواع مختلف استفاده از خدمات مربوط به استفاده از avantages و inconvénients:

نوع برتر de mémoire: la mémoire SRAM

La mémoire vive statique (ou Static Random Access Memory) از طریق استفاده از مواد اولیه موجود در مéسسه های تغذیه مورد استفاده قرار می گیرد. Contrairement à la mémoire dynamique، son contenu n’a pas besoin d’être rafraîchit périodiquement. Elle reste cependant فرار: elle ne peut se passer d'alimentation sous peine de voir ses information effacées irrémédiablement!

مزایا: - la SRAM est rapide (temps d'accès 6 à 25 ns) - peu coûteuse (4 €/ماه). متقاضیان: - besoin d'être alimenté en permanence pour ne pas perdre ses données، aussi ce type de mémoire impose 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.

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

La mémoire vive statique magnétique (حافظه دسترسی تصادفی مغناطیسی) 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 notnel name). Elle est très résistante aux radiations and aux hautes températures. مزایا:- la non-volatilité des informations. - inusabilité، puis ce qu’aucun mouvement électrique n'est engagé (استقامت از 10^16 چرخه سخنرانی /écriture!). - la consommation électrique est théoriquement moindre puisqu'il n'y a pas de perte thermique due to à la résistance des matériaux aux mouvements des électrons. - temps d’accès de 10 نانو ثانیه - les débits sont de l'ordre du gigabit par seconde. - اشعه های م uneثر در برابر تشعشعات ، همه چیز را در محیطی فضایی در نظر می گیرد. متقاضیان: - coûteuse (€ 35 €/ماه) خودرو در مرحله توسعه (تجاری سازی de masse du produit prévue en 2018!) mais on peut s'en procurer 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 (Ferroelectric Random Access Memory) یک نوع رمزنگاری فرار غیر قابل فرار و توسعه و توسعه است.

Elle est similaire à la mémoire DRAM à laquelle on a ajouté une couche ferro-électrique pour obtenir la non volatilité. در ماه مه 2011 ، Texas Instruments به عنوان یک FRAM برای اولین بار در زمینه میکروکنترلرها مورد استفاده قرار گرفت.

Leur utilization is destinée au SSD (Solid State Drive)، comme pour les autres mémoires non volatiles، les données n'ont paso besoin d'énergie pour ettre conservées. مزایا: - 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 و réécrite un bien plus grand nombre de fois (استقامت در 10^14 چرخه سخنرانی/écritures). مخاطبین: - des capacités de stockage plus limitées - un coût de fabrication plus élevé ، ~ 30 €/ماه

Les deux grandes familles de mémoires: Série (عکس 1) و parallèle (عکس 2)

Série: les mémoires séries ont pour avantage de permettre un gain de place et de garder la même پیکربندی selon les modèles d'où leur Facilade 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…) doittre reçue avant d’enregistrer ou accéder à la donnée. Typiquement la vitesse d’accès allant de 5 à 20MHz on à au mieux accès aux bits de données que tous les (1/(20*10⁶)) sec soit 50 ns par bits (50ns*8 = 400ns ریختن 8 بیت) Ce type de mémoire est donc utilisé lorsque le temps d’accès aux données à peu d'importance comme lors du charging d'un BIOS dans surees cartes de type FPGA.

به طور کلی: 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 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 vështirëé à intégrer car les nombreux پین 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 adresses.

مرحله 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 à 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 de 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. Ainsi il est commuter des mémoires de différents models pa 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 hêsant 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 technology disponible à l’adresse suivante:

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

مرحله 3: چرخه Serial FRAM

Cycles Serial FRAM
Cycles Serial FRAM
Cycles Serial FRAM
Cycles Serial FRAM
Cycles Serial FRAM
Cycles Serial FRAM
Cycles Serial FRAM
Cycles Serial FRAM

اکریتور:

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

- 8 premiers bit، Op -code de l'écriture (READ): 0000 0011 (0x03h) - 16 بیت آدرس ، même si cette mémoire n'en caère que 11 car il s'agit d'une mémoire de 16Kb ((2 ^11)*8 بیت) il faut فرستاده 16 بیتی ماشین cela permettra de pouvoir aussi piloter des mémoires 64Kb. - 8 بیت دوننی سخنرانی:

Analyze de la trame de lecture envoyée par MOSI de la Beaglebone SI: (شکل Voir 10)- 8 بیت برتر ، کد باز کردن سخنرانی (WRITE): 0000 0010 (0x02h)- 16 بیت آدرس تجزیه و تحلیل de la trame de lecture envoyée par SO à MISO de la Beaglebone: - 8 bits de données

مرحله 4: Code Pilotant La Mémoire FRAM

Pour compiler ce program en langage C: $ gcc programme_spi.c –o spiPour utiliser ce program: $./spi add1 add2 حالت داده

Add1 (MSB) et Add2 (LSB) chacun à 8 bit de donnée، data مطابق à 8 bits de données é écrire (mettre 0 si lecture) حالت مطابق à l’écriture (= 2) ou la lecture (= 1).

مثال استفاده:./spi 150 14 210 2 écrit’l’adresse 16 بیت 150 14 (0x96h ، 0x0Eh) la donnée 210 (0xD2).

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

مرحله 5: Mémoire Parralèle

مومور پارالاله
مومور پارالاله
مومور پارالاله
مومور پارالاله
مومور پارالاله
مومور پارالاله
مومور پارالاله
مومور پارالاله

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

پیکربندی du boitier: 17 آدرس: A0-A16 8 داده: D0-D7 2 تراشه فعال: CE#-CE2 2 نوشتن و خروجی فعال: WE#-OE#2 VCC (3.3V) ، VSS (GND) 1 غیر متصل: NC

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

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

توجه: 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 à utiliser correction (me faisant perdre au passage 2 semaines car je pensais la mé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:

تکنیک Cette fiche indique les différents cycles nécessaires pour lire و écrire dans la mémoire et ainsi réaliser notre program. 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é:)) 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 ilu 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 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 is celle qui permet de faire clignoter une LED and ajoutant des temporisations تعیین کننده مناسب برای انجام چرخه ها در ساخت و ساز. Enffeet l’action de faire clignoter une LED مطابقت با چرخه های چرخه ها و اقدامات اولیه و GPIO ها را نشان می دهد.

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

مرحله 6: چرخه های 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

چرخه دکریت (شکل 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 نوشتن 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)

چرخه سخنرانی (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é در récupère sur les entrée GPIO de la BeagleBone les valeurs se trouvant à cette adresse.

مرحله 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:

گردآوری: $ gcc -lm programme_memoire.c -o memoire

$./memoire 1 اضافه کنید 2 2 data1 data2 slot1 slot2 اضافه کنید

حالت: 1 سخنرانی ، 2 اکریتر

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

مثال: $./ خاطرات 120 140 20 210 2 1 0

écrit 'l'adresse 120 140 (hex 16 bit) les données 20 210 sur la mémoire sur le slot 1.

مثال: $./ خاطره 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: از Pour Mémoires پشتیبانی کنید

Pour Mémoires را پشتیبانی کنید
Pour Mémoires را پشتیبانی کنید
Pour Mémoires را پشتیبانی کنید
Pour Mémoires را پشتیبانی کنید
Pour Mémoires را پشتیبانی کنید
Pour Mémoires را پشتیبانی کنید
Pour Mémoires را پشتیبانی کنید
Pour Mémoires را پشتیبانی کنید

Je vous fournit dans les photos les PCB de support mémoire sur lequel vous pourrez vous inspiring pour vos réalisations. Si vous voulez réaliser un système de mémoire قابل تعویض comme moi veillez bien à câbler correction vos mémoires en utilisant toujours le même ordre pour les les pin.

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

توصیه شده: