ዝርዝር ሁኔታ:

ኤክስቴንሽን Mémoire BeagleBone Black ን አፍስሱ - 8 ደረጃዎች
ኤክስቴንሽን Mémoire BeagleBone Black ን አፍስሱ - 8 ደረጃዎች

ቪዲዮ: ኤክስቴንሽን Mémoire BeagleBone Black ን አፍስሱ - 8 ደረጃዎች

ቪዲዮ: ኤክስቴንሽን Mémoire BeagleBone Black ን አፍስሱ - 8 ደረጃዎች
ቪዲዮ: How Use Stable Diffusion, SDXL, ControlNet, LoRAs For FREE Without A GPU On Kaggle Like Google Colab 2024, ሀምሌ
Anonim
ኤክስቴንሽን Mémoire BeagleBone Black ን አፍስሱ
ኤክስቴንሽን Mémoire BeagleBone Black ን አፍስሱ

የቅድመ -ትምህርት ማስተማሪያ / ማስተማሪያ / የማስተማሪያ / የማስተዋወቂያ ዓይነቶች ከአውሮፕላን ሞካሪ / ሞካሪ / ሞካሪ / ሞካሪ / ሞካሪ / ዲሴምየር / ዲሴፕሬተርስ / አይነቶች / ሁኔታዎች (ስፔሻላይዜሽን) (enceinte radiative). Vous pouvez aussi utiliser les données de ce projet pour étendre la mémoire de votre BeagleBone, créer une clé USB ou simplement pour étudier leur fonctionnement.

ደረጃ 1 - Quelques አይነቶች ዴ ሜሞርስ

Quelques አይነቶች ዴ Mémoires
Quelques አይነቶች ዴ Mémoires
Quelques አይነቶች ዴ Mémoires
Quelques አይነቶች ዴ Mémoires
Quelques አይነቶች ዴ Mémoires
Quelques አይነቶች ዴ Mémoires

Voici une liste exhaustive des différents types de mémoires utilisés dans ce projet avec leurs avantages and inconvénients:

ፕሪሚየር ዓይነት ደ mémoire: la mémoire SRAM

ላ mémoire vive statique (ou Static Random Access Memory) est un type de mémoire vive utilisant des bascules pour mémoriser les données. Contrairement à la mémoire dynamique, son contenu n’a pas besoin d’être rafraîchit périodiquement. Elle reste የማያቋርጥ ተለዋዋጭ።

ጥቅማ ጥቅሞች - ላ 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 በቋሚነት። 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

ላ 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 (par effet tunnel notamment)። Elle est très résistante aux radiations et aux hautes የሙቀት መጠኖች። ጥቅሞች:- la non volatilité des መረጃ። - inusabilité, puis ce qu’aucun mouvement électrique n'est engagé (ጽናት de 10^16 cycles lecture /écriture!)። - ላ 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'acacès de 10 nanosecondes። - les débits sont de l'ordre du gigabit par seconde. - እጅግ የላቀ የርቀት ድጋፍ ራዲየስ ፣ ሁለንተናዊ ቦታዎች በየአካባቢያዊው ቦታ። የማይገኙ ሰዎች። - ተጓዳኝ (~ 35 €/ሞ) መኪና በመኪና ደረጃ (በንግድ ልማት) commercialisé sous la marque Everspin.- capacité de stockage est très limitée ምክንያት aux champs magnétiques qui risquent de perturber les cellules voisines si elles sont trop proches les unes des autres.

የትሮይሲሜ ዓይነት ደ mémoire: la mémoire FRAM

ላ mémoireFRAM (Ferroelectric Random Access Memory) est un type de mémoire d'ordinateur non volatile encore à l'état de recherche et développement.

Elle est similaire à la mémoire DRAM à laquelle on a ajouté une couche ferro-électrique pour obtenir la non volatilité። እ.ኤ.አ. በ 2011 ፣ የቴክሳስ መሣሪያዎች ላንስ ለ ፕሪሚየር ማይክሮ ኮንስትራክሽን à mémoire FRAM።

Leur utilization is destinée au SSD (Solid State Drive) ፣ comme pour les autres mémoires non volatiles, les données inont besoin dénergie to être conservées. ጥቅሞች - - une plus faible consommation d’Electricité. - une plus grande rapidité de lecture et d'écriture (temps d'accès de 100 nanosecondes contre 1 microseconde pour la mémoire flash)። - ላ possibilité d'être effacée et réécrite un bien plus grand nombre de fois (ጽናት ከ 10^14 ዑደቶች ንግግሮች/ሥነ -ሥርዓቶች)

Les deux grandes familles de mémoires: ሴሬ (ፎቶ 1) et 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 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. Typiquement la vitesse d’accès allant de 5 à 20MHz on a 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 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 pour ordinateur à la clé USB። Ce type de mémoire est beaucoup plus rapide que la mémoire SPI car en in coup dhorloge 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. ሊንኮንቬኒየንት ኢስ ኤስ ኤ ኤስ አስቸጋሪ በሆነው በአገር ውስጥ መኪና ለ nombreux pins diffèrent d'un modèle à l’autre et la taille du boîtier est plus grande.

አፈሰሰውን ወደ 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 semi-conducteurs, la configuration du boîtier reste la même ce qui nest pas le cas des autres አይነቶች ዴ ሞሞርስ 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 ይቻላል de commuter des mémoires de différents modèles sans avoir à programmer de nouveaux ስልተ ቀመሮች።

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 et et utiles si l’on avait plusieurs mémoires SPI à አብራሪ!

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

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 pilot.

ደረጃ 3: ዑደቶች ተከታታይ FRAM

ዑደቶች ተከታታይ FRAM
ዑደቶች ተከታታይ FRAM
ዑደቶች ተከታታይ FRAM
ዑደቶች ተከታታይ FRAM
ዑደቶች ተከታታይ FRAM
ዑደቶች ተከታታይ FRAM
ዑደቶች ተከታታይ FRAM
ዑደቶች ተከታታይ FRAM

ምጣኔ

Avant d'écrire dans la mémoire il faut envoyer une trame d'accès à L'écriture (WREN) 0000 0110 (0x06h) (Voir ምስል 5) ትንተና ዴ ላ ትራሜ ዲኢክራይተሪ ልዑክ በ MOSI de la Beaglebone à SI (Voir Figure) 9)

- 8 ፕሪሚየር ቢት ፣ ኦፕ -ኮድ ዴ ኤልኤርትሪቲ (አንብብ) 0000 0011 (0x03h) - 16 ቢት አድሬሴ ፣ même si cette mémoire n’en considère que 11 car il s’agit d’une mémoire de 16Kb ((2 ^11)*8bits) il faut envoyer 16 ቢት መኪና cela permettra de pouvoir aussi piloter des mémoires 64Kb. - 8 ቢት ደ données። ትምህርት ፦

ትንተና ዲ ላ ትራሜ ዲ ሌክቸር envoyée par MOSI de la Beaglebone à SI: (Voir fig 10)- 8 premiers bits ፣ Op-code de la lecture (WRITE): 0000 0010 (0x02h)- 16 bits adresse ይተንትኑ ዲ ላ ትራሜ ዲ ሌክቸር envoyée par SO à MISO de la Beaglebone: - 8 ቢት ደ données

ደረጃ 4 ኮድ አብራሪ ላ ሜሞር ፍሬም

በ C: $ gcc programme_spi.c –o spiPour utiliser ce program: $./spi add1 add2 የውሂብ ሁኔታ

Add1 (MSB) et Add2 (LSB) ዘጋቢ chacun à 8 ቢት ዴ donnée ፣ መረጃ ከ 8 ቢት ዲ données à écrire (mettre 0 si lecture) ሞድ ጋር ይዛመዳል l’écriture (= 2) ou la lecture (= 1)።

አርአያነት d’ilisation:./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

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

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

Configuration du boitier: 17 Adresses: A0-A16 8 Data: D0-D7 2 Chip Enable: CE#-CE2 2 Write et Output Enable: WE#-OE#2 VCC (3.3V) ፣ VSS (GND) 1 non connecté: ኤን.ሲ

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

አፍስሱ።

ትኩረት: - Vous vous demandez sans doute pourquoi j'ai sauté GPIO dans les lignes d'adresses et data, sout 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 ምንባብ 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 ቴክኒክ የማይሰራ በአድራሴስቫቫንት

Cette fiche ቴክኒክ 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 for cycle imposé par les constructeurs, qui sont tous les mêmes pour chacune des mémoires utilisées. አይንሲ n'importe quelle mémoire 64 ኪ.ቢ. 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 ኮድ. 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 ዑደት 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 précises correspondent aux durées des cycles imposées par le constructeur. En effet l’action de faire clignoter une LED correspond à la création de cycles d’état haut et bas pour les GPIOs።

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

ደረጃ 6: ዑደቶች 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

የሳይክል ዲፕሬቲቭ (ምስል 1 ፣ 2)

አፍስሱ። 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)

የዑደት ትምህርት (የድምፅ ቁጥር 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 ቺፕ ያንቁ 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: ኮድ አብራሪ ላ ሜሞር ፓራሬሌ

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 ውሂብ 1 ዳታ 2 ሞድ 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 (ሄክስ 16 ቢት) 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: Mémoires ን አፍስሱ

ድጋፍ Mémoires ን ያፈስሱ
ድጋፍ Mémoires ን ያፈስሱ
ድጋፍ Mémoires ን ያፈስሱ
ድጋፍ Mémoires ን ያፈስሱ
ድጋፍ Mémoires ን ያፈስሱ
ድጋፍ Mémoires ን ያፈስሱ
ድጋፍ Mémoires ን ያፈስሱ
ድጋፍ Mémoires ን ያፈስሱ

የፒ.ሲ.ቢ. ድጋፍን ለሞሞር ሱር ሌክሴል vous pourrez vous inspirer vos réalisations ን ያገኙታል። Si vous voulez réaliser un système de mémoire interchangeable comme moi veillez bien à câbler correctement vos mémoires en utilisant toujours le même ordre pour les pin.

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

የሚመከር: