ذاكرة قراءة فقط قابلة للبرمجة والمسح الكهربائي: الفرق بين النسختين

[نسخة منشورة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
ط -{{دمج من|ذاكرة الكمبيوتر eeprom}}
ط بوت: إزالة تخريب و/أو تنسيق، أزال وسم بذرة
سطر 1:
 
 
{{أنواع ذواكر الحاسوب}}
 
'''ذاكرة القراءة القابلة للمسح''' هي عبارة عن [[ذاكرة حاسوب|ذاكرات]] قابلة للبرمجة والمسح [[كهرباء|كهربائيا]].
 
 
==ذاكرة الكمبيوتر EEPROM==
السطر 22 ⟵ 19:
===SDRAM===
=== EDO DRAM ===
سؤال
 
ما الاسم الذي جاء منه اختصار
السطر 48 ⟵ 45:
يوجد أمرين مشتركين بين هذه الأنواع :
-البيانات لا تضيع عند قطع التيار الكهربائي كما يحدث في RAM
-البيانات لا يمكن تغييرها باستخدام وسائل خاصة
 
== الذاكرة EEPROM ==
السطر 60 ⟵ 57:
-تغيير المحتويات لا يحتاج إلى أدوات خاصة أو أجهزة
-يمكن تغيير محتويات الخلايا باستخدام برنامج يتحكم بالمجال الكهربائي للخلية ويقوم بشحنها أو تفريغها حسب الطلب
 
-الكتابة(التفريغ أو الشحن) يتم على مستوى الخلية أي بالتدريج كل مرة بايت واحد مما يجعلها بطيئة جداً
السطر 66 ⟵ 63:
== كيفية استخدام الـEEPROM في المعالجات ==
 
تستعمل لحفظ المعلومات الهامة كحفظ معلومات البرامج أو حفظ اعدادات البيوس حيث أنها تحتفظ بمعلوماتها عند قطع التيار الكهربائي
 
يوجد في الـPIC أربع مسجِّلات تستخدم في الوصول إلى ذاكرة الـ EEPROM، هذه المسجلات هي :
السطر 72 ⟵ 69:
=== مسجل EEDATA ===
 
يستخدَم كمسجِّل مؤقَّت لتخزين المعطيات التي نريد إيصالها إلى EEPROM.
 
=== مسجل EEADR ===
السطر 95 ⟵ 92:
MOVLW 2h
 
movwf EEADR
 
و لكِّن لحظة !.. كُنت تريد القراءة من الموقع الثالث، لماذا إذن وضعنا القيمة H2 ؟ …
السطر 103 ⟵ 100:
المسجِّل EECON1 موجود في الصفحة 1 من الـ RAM وبالتالي قبل الوصول إليه لا بُدَّ من تفعيل الخانة RP0 في مسجِّل الـ STATUS (مسجِّل الحالة) :
 
bsf status، RP0
 
و للقراءة من الموقِع قم بتفعيل الخانة RD إلى القيمة 1 :
 
bsf EECON1، RD
 
عندما نقوم بجعل قيمة RD مساوية لـ 1 فإنّ الـ PIC ترى آلياً القيمة الموجودة في EEADR وتستخدمها كعنوان لذاكرة EEPROM التي ستقوم بالقراءة منها، وبعد قراءة الموقع توضع المعطيات في المسجِّل EEDATA وعندما يتُّم ذلكَ يتم إرجاع الخانة RD إلى 0 مجدداً.
كل ما سبق يتُّم أثناء تنفيذ التعليمة :
bsf EECON1، RD
 
المعطيات الآن موجودة في EEDATA ويمكننا أن نعمل بها ما نشاء، هذا المسجِّل موجود في الصفحة 0 من ذاكرة RAM وبالتالي لا بُدَّ أن نمحي الخانة RP0 في STATUS قبل الوصول إليه :
السطر 118 ⟵ 115:
bcf STATUS، RP0
movf EEDATA، W
 
فيما يلي مجموعة التعليمات اللازمة للقراءة من EEPROM :
السطر 132 ⟵ 129:
STATUS، RP0 bcf
EEDATA، W movf
 
نضع هذه التعليمات في إجرائية SUBROUTINE بمنتهى السهولة، وكل ما نحتاجه لاستخدامها هو وضع عنوان الـ EEPROM في المسجِّل W، وبعد تنفيذ هذه الإجرائية فإنَّ القيمة التي سترجعها سوف يتم وضعها في المسجِّل W :
السطر 146 ⟵ 143:
EEDATA، W movf
return
 
لاستخدام هذه الإجرائية قم بشحن المسجِّل W بالعنوان ثم قم باستدعائها..
السطر 165 ⟵ 162:
STATUS، Z btfss
EEloop goto
 
إن إجرائية EepRead قد لا تُنَفَّذ بشكل جيد إذا لم تكُن حذِراً..هل يُمكنِكَ تخمين سبب ذلك ؟؟ ما الذي يجري عندما تكون الخانة RP0 في المسجِّل STATUS لها قيمة '1 ' في الوقت الذي يتُّم فيه استدعاء الإجرائية ؟؟..
السطر 182 ⟵ 179:
EEDATA، W movf
return
 
هذا بالفِعل مثال رائِع لتوضيح دور الخانة RP0 في العملية.. يُمكِنُكَ من خلاله ملاحظة عدد مرات استخدامها، وإنَّ هذه الإجرائية لن تعمل بدونها..
السطر 196 ⟵ 193:
0x45 movlw
EEDATA movwf
 
الترتيب غير ضروري في كتابة التعليمات السابقة (شحن المسجِّلات). الآن حتى نُعلِمَ الـ PIC أننّا نريد كتابة قيمة في الـ EEPROM، فإننا نحتاج لتفعيل بعض الخانات الخاصّة في المسجِّل EECON1، أحد هذه الخانات الخاصة هي WT (الخانة 1) وهي اختصار لـ WRITE (كتابة). والخانة الأُخرى هي WREN (الخانة 2) وهي اختصار لـ WRITE ENABLE (تأهيل القراءة)، تبدو هاتان الخانتان متشابهتين، ولكِّن في الحقيقة لهما وظيفتان مختلفتان قليلاً.
السطر 202 ⟵ 199:
قبل أن تتُّم الكتابة يجب تأهيل WREN أي جعلها'1'، في حال كانَت 0 فإنّ الـ PIC لن تكتُبَ شيئاً من المعطيات حتى لو طُلِبَ مِنها ذلِك. المسجِّل EECON1 متوضِّع في الصفحة 1 من ذاكرة الـ RAM وبالتالي للوصول إليه سوف نضع الخانةRP0 في المسجِّل STATUS على الوضع '1' كالتالي :
STATUS، RP0 bsf
 
ولتفعيل الكتابة قم فقط بتأهيل WREN أي جعله'1' :
 
EECON1، WREN bsf
 
لجعل الـ PIC تبدأ بالكتابة في الـ EEPROM لا بُدَّ من استخدام التعليمات السابقة، بل لا بُدَّ من كتابتها بنفس الشكل الذي ورَدَت فيه تماماً، وبنفس الترتيب حتماً..
السطر 219 ⟵ 216:
EECON2 movwf
EECON1، WT bsf
 
بعد تنفيذ هذه التعليمات، وبِجعلِكَ الخانة WT مساوية '1'، فإنَّ الـ PIC سوف ترى القيمة المخزَّنة في EEADR على أنَّها عنوان موقع الـ EEPROM الذي ستكتُب فيه، كما أنَّها ترى القيمة المخزَّنة في EEDATA على أنَّها المعطيات التي ستكتبها.
إنَّ عملية الكتابة التي تقوم بِها الـPIC في الـ EEPROM تأخُذُ وقتاً، وذلِكَ بسبب طبيعة هذه الذاكرة. إنَّ سرعة القراءة من الـ EEPROM من مرِتبة سرعة القراءة من الـ RAM الاعتيادية ولكِن الذي يأخُذ وقتاً هو الحاجة لتخزين المعطيات بشكل مؤقت إلى أن تُكتَب مِن جديد.
بعد أن تُنهي الـ PIC كتابة المعطيات في الموقِع المعتبر، فإنَّ الخانة WT تعود آلياً لتأخُذ الوضع'0' والعَلَم EEIF يأخذ القيمة'1'.
 
إن الزمن الذي تستغرقه عمليّة الكتابة عادة ما يكون 10ms (أي 10 أجزاء من ألف من الثانية) هذا لا يبدو كثيراً، إلا أنه زمن طويل نسبياً في أبجدية المعالِجات الصِغَريّة.. إنَّ الـPIC التي تعمل على ساعة بسُرعة 4 MHz قادرة على تنفيذ 10.000 تعليمة بنفس الزمن الذي تستغرقه عملية كتابة واحِدة.
السطر 241 ⟵ 238:
 
{{تصنيف كومنز|EEPROM}}
 
{{بذرة هندسة تطبيقية}}
 
[[تصنيف:اختراعات أمريكية]]