সুচিপত্র:

এক্সটেনশন Mémoire agালা BeagleBone কালো: 8 ধাপ
এক্সটেনশন Mémoire agালা BeagleBone কালো: 8 ধাপ

ভিডিও: এক্সটেনশন Mémoire agালা BeagleBone কালো: 8 ধাপ

ভিডিও: এক্সটেনশন Mémoire agালা BeagleBone কালো: 8 ধাপ
ভিডিও: How to Extend RAM Memory on Xiaomi Redmi Note 12? 2024, নভেম্বর
Anonim
এক্সটেনশন Mémoire agালা BeagleBone কালো
এক্সটেনশন Mémoire agালা BeagleBone কালো

Je vous présenter dans cet instructable un de mes projet qui consistait à piloter des mémoires de différents type afin de pouvoir tester leur fonctionnement dans des conditions spatiales (enceinte radiative) et de trouver le taux d'erreurs engendré par cote enournement পরিবেশ । 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 প্রকার De Mémoires

Quelques প্রকার De Mémoires
Quelques প্রকার De Mémoires
Quelques প্রকার De Mémoires
Quelques প্রকার De Mémoires
Quelques প্রকার De Mémoires
Quelques প্রকার De Mémoires

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

প্রিমিয়ার টাইপ ডি মেমোয়ার: লা ম্যামোয়ার এসআরএএম

La 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 cependant volatile: elle ne peut se passer d'alimentation sous peine de voir ses informations effacées irrémédiablement!

সুবিধা: - la 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 টাইপ ডি স্মৃতি: লা মেমোয়ার MRAM

La mémoire vive statique magnétique (Magnetic Random Access Memory) stocke les données sans avoir besoin d’être alimentée। Le পরিবর্তন d'état se fait en changeant l'orientation polaire des électrons (par effet tunnel notamment)। Elle est très résistante aux radiation et aux hautes তাপমাত্রা। সুবিধা:- la non-volatilité des informations। - inusabilité, puis ce qu’aucun mouvement électrique n'est engagé (endurance de 10^16 cycles lecture /ritcriture!)। - 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। - 10 nanosecondes d'accès। - les débits sont de l'ordre du gigabit par seconde। - une excellente résistance aux radiation, omniprésentes dans un milieu spatial। Inconvénients: - coûteuse (~ 35 €/Mo) car encore en phase de développement (commercialization de masse du produit prévue en 2018!) peut s'en procurer chez digike 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 টাইপ ডি স্মৃতি: লা মেমোয়ার ফ্রেম

La 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, টেক্সাস ইন্সট্রুমেন্টস ল্যান্স লে প্রিমিয়ার মাইক্রোকন্ট্রোলার এবং মেমোয়ার ফ্রেম।

লিউর ব্যবহার est destinée au SSD (Solid State Drive), comme pour les autres mémoires non volatiles, les données n'ont pas besoin d'énergie pour être conservées। সুবিধা: - une plus faible consommation d’électricité। - une plus grande Rapidité 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 et réécrite un bien plus grand nombre de fois (endurance de 10^14 cycles lectures/ritcritures)।

Les deux grandes familles de mémoires: Série (ছবি 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। টাইপিকমেন্ট la vitesse d’accès allant de 5 à 20MHz on u au mieux accès aux bits de données que tous les (1/(20*10⁶)) sec soit 50 ns par bits (50ns*8 = 400ns pour 8 bit)। 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 specifices 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 un coup 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 hardé à intégrer car les nombreux pins 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 সিরিয়াল 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 n'est pas le cas des autres types de mémoires comme les স্মৃতি সমান্তরাল। De plus les datasheet de ces différentes mémoires indiquent que toutes fonctionnent de la même manière। Ainsi il est possible de commuter des mémoires de différents modèles sans avoir à programmer de nouveaux algorithmes।

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। সেপেন্ডেন্ট ces fonctionnalités auraient été utiles si l'on avait plusieurs mémoires SPI à piloter!

আফিন ডি পাইলটার লা মোমোয়ার ইল ফাউট ডি’বোর্ড ইটুডিয়ার সা ফিচ টেকনিক ডিসপোনিবল à 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 piloter।

ধাপ 3: সাইকেল সিরিয়াল FRAM

সাইকেল সিরিয়াল ফ্রেম
সাইকেল সিরিয়াল ফ্রেম
সাইকেল সিরিয়াল ফ্রেম
সাইকেল সিরিয়াল ফ্রেম
সাইকেল সিরিয়াল ফ্রেম
সাইকেল সিরিয়াল ফ্রেম
সাইকেল সিরিয়াল ফ্রেম
সাইকেল সিরিয়াল ফ্রেম

ক্ষয়:

Avant d'écrire dans la mémoire il faut envoyer une trame d'accès à L'écriture (WREN) 0000 0110 (0x06h) (Voir figure 5) বিশ্লেষণ দে লা ট্রাম ডি'ক্রিচার দূত পার MOSI de la Beaglebone à SI (Voir figure) 9)

- 8 প্রিমিয়ার বিট, অপ -কোড ডি ল'ক্রিচার (পড়ুন): 0000 0011 (0x03h) - 16 বিট অ্যাড্রেস, মোম সি সেট মোমোয়ার এন'ন কনসিডেয়ার কিউ 11 গাড়ি ইল স'গিত ডি'উন মোমোয়ার ডি 16 কেবি ((2 ^11)*8bit) il faut envoyer 16 bits car cela permettra de pouvoir aussi piloter des mémoires 64Kb। - 8 বিট ডি données। বক্তৃতা:

দে লা ট্রাম দে বক্তৃতা বিশ্লেষক প্যার MOSI de la Beaglebone par SI: (Voir চিত্র 10)- 8 প্রিমিয়ার বিট, অপ-কোড দে লা লেকচার (লেখা): 0000 0010 (0x02h)- 16 বিট adresse বিশ্লেষণ দে লা ট্রাম দে বক্তৃতা দূত SO à MISO de la Beaglebone: - 8 bit de données

ধাপ 4: কোড পাইলট্যান্ট লা মেমোয়ার ফ্রেম

কম্পাইলার সিই প্রোগ্রাম এন ল্যাঙ্গেজ সি $ালাও: $ gcc programme_spi.c –o spi

Add1 (MSB) et Add2 (LSB) সংবাদদাতা চকুন à 8 বিট ডি ডননি, ডেটা রিপোর্টার à 8 বিট ডি ডোনেস à écrire (mettre 0 si বক্তৃতা) মোড সংশ্লিষ্ট à l’écriture (= 2) ou la lecture (= 1)।

উদাহরণ d'utilisation:./spi 150 14 210 2 ritcrit à l’adresse 16 bits 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

মেমোয়ার প্যারাললে
মেমোয়ার প্যারাললে
মেমোয়ার প্যারাললে
মেমোয়ার প্যারাললে
মেমোয়ার প্যারাললে
মেমোয়ার প্যারাললে
মেমোয়ার প্যারাললে
মেমোয়ার প্যারাললে

Proালা সিজে প্রোজেট জাই ইউটিলিসিয়া লা ম্যামোয়ার SRAM অ্যালায়েন্স AS6C1008 128Kb * 8 বিট (ভয়ের স্কিমা)

কনফিগারেশন du boitier: 17 ঠিকানা: A0-A16 8 ডেটা: D0-D7 2 চিপ সক্ষম করুন: CE#-CE2 2 লিখুন এবং আউটপুট সক্ষম করুন: WE#-OE#2 VCC (3.3V), VSS (GND) 1 non connecté: NC

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

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

মনোযোগ দিন জামাই রাউসি à ইউটিলাইজার সংশোধন

আফিন ডি পাইলটার লা মোমোয়ার ইল ফাউট ডি’বোর্ড udtudier sa fiche টেকনিক ডিসপোনিবল à l’adressesuivante:

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 le cycle imposé par les constructioneurs, 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 ilten cartenu s'adaptera à toutes les mémoires। Ainsi les temps d’écriture et lecture Minimums annoncés par les consteuurs ne seront jamais attints 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। লে চক্র ডি'ক্রিচার রিভিয়েন্ট à সংশোধক l'état des GPIOs। La base du code est celle qui permet de faire clignoter une LED en ajoutant des temporisations précises correspondant aux durées des cycles imposées par le constructioneur। En effet l’action de faire clignoter une LED correspond à la création de cycles d’état haut et bas pour les GPIOs।

Le cycle 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

চক্র d'écriture (voir চিত্র 1, 2):

Ourcrire 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 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)

সাইকেল ডি লেকচার (voir চিত্র 3, 4):

Ourcrire 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é on récupère sur les entrée GPIO de la BeagleBone les valeurs se trouvant à cette adresse।

ধাপ 7: কোড পাইলট্যান্ট লা মেমোয়ার প্যারাললে

Ce কোড permet de পাইলটার 2 mémoire parallèles indépendamment l'une de l'autre et s'utilise comme ceci:

সংকলন: $ gcc -lm programme_memoire.c -o স্মারক

$./memoire যোগ 1 যোগ 2 data1 data2 মোড slot1 slot2

মোড: 1 লেকচার, 2 ইক্রিচার

Le কোড étant créer pilotালা পাইলটার deux mémoires il y a deux "slots", mettre à 1 pour utiliser।

উদাহরণ: $./ স্মারক 120 140 20 210 2 1 0

ritcrit à l'adresse 120 140 (hex 16 bits) les données 20 210 sur la mémoire sur le slot 1।

যেমন: $./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।

ধাপ 8: স্মৃতি ourালা সমর্থন

সমর্থন ourালা Mémoires
সমর্থন ourালা Mémoires
সমর্থন ourালা Mémoires
সমর্থন ourালা Mémoires
সমর্থন ourালা Mémoires
সমর্থন ourালা Mémoires
সমর্থন ourালা Mémoires
সমর্থন ourালা 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 বিনিময়যোগ্য comm moi veillez bien â câbler correctement vos mémoires en utilisant toujours le même ordre pour les pins।

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

প্রস্তাবিত: