 |
:: عضو ماسي ::
تاريخ التسجيل: Apr 2005
الدولة: غزة هاشم/فلسطين
المشاركات: 2,687
|
|
نشاط [ osama matar ]
قوة السمعة:
|
|
20-07-2008, 10:51 AM
المشاركة 2
|
|
تتمة الموضوع
اختيار كتلة صفحة الجهاز .
عند تواجد عدة أجهزة من نفس النوع على ناقل IIC BUS (عدة إييبرومات) فإن عنوان A2, A1, A0 تستعمل كجزء من عنوان المحكوم حيث كل جهاز على الناقل يقارن داخلياً جمله الثلاث هذه مع ترتيب الأطراف (A2, A1, A0) الخاص به لكي يتأكد من اختيار الجهاز بشكل سليم.
هذه المقارنة بالإضافة لمقارنة "نوع الجهاز" بالإضافة لاختيار الاييبروم فإن البيتات الثلاثة هذه تستعمل أيضاً لاختيار "كتلة صفحة" من داخل الاييبروم. كل كتلة صفحة هي عبارة عن حجم 2 كيلوبت (256بايت) اعتماداً مع كثافته فإن الاييبروم قد يحتوي على 1 إلى ما أقصاه 8 كتلة صفحة بمجموعات زوجية ويتم اختيار كتلة الصفحة في الجهاز باستخدام بتات A2, A1, A0 .
بت R/W
آخر بت في عنوان المحكوم يشير إلى نوع الوصول هو للقراءة أم للكتابة إذا كان البت "1" فالوصول هو للقراءة بينما "0" تستعمل للكتابة.
إشارة عُلم ACK
عُلم هي نبضة فعالة منخفضة على خط SDA يتم إيصالها من مستقبل معنون لمرسل معنون وهي تدل على استقبال بيانات مكونة من 8 بت. المستقبل يعطي نبضة ACK بعد كل 8بت من البيانات. ميكانيزم التصافح يتم كالتالي:
بعد استقبال 8بت من المعلومات يقوم المرسل بإفلات خط SDA وينتظر نبضة ACK.المستقبل المعنون إن كان موجوداً يوصل نبضة ACK على خط SDA خلال الزمن التاسع فيعيد إفلات خط SDA للمرسل.
عنوان المصفوفة Array address.
عنوان المصفوفة هو عبارة معلومة 8 بت تحتوي عنوان مكان الذاكرة الذي يجب اختياره ضمن كتلة الصفحة المنتقاة من الجهاز
اقتصار العنونة على 16 كيلوبت
إن تحديد IIC القياسي يحدد حجم الذاكرة والاييبروم على الناقل بـ 16كيلوبت هذا التحديد يرجع لبروتوكول العنونة المستعمل والذي يحتوي على عنوان محكوم من 8بتات وعنوان المصفوفة مكون من 8 بت.
عنوان الصفحة يختار واحد من 256 موقع (28=256) ونظراً لأن تنسيق البيانات في تخصيص IIC يعتمد نظام 8بت فإن ما مجموعه 8 X 256 =2048 بت = 2كيلوبت يمكن عنونته بعنوان المصفوفة 8 بت. يشار لهذا الـ 2كيلوبت ب"كتلة صفحة" وعند جمع هذه العنونة ذات الثمان بتات مع عنوان كتلة الصفحة أي الثلاث بتات فيمكن تعريف ما أقصاه 8 صفحات (23=8) من الذاكرة. ونظراً لأن كل صفحة تسع ل 2كيلوبت فإن حجم الذاكرة الأقصى الذي يمكن عنونته = 8X2 =16 كيلوبت في تخصيص ناقل IIC القياسي هذه الـ16 كيلوبت يمكن أن تكون على صورة جهاز إييبروم منفرد أو مجموعة.
من أجل عنونة أكثر من 16 KB في ناقل IIC يعتمد نظام آخر يسمى تخصيص ناقل IIC الممتد (EXTENDED IIC BUS SPSCIFICATION) .
نظرة حول IIC الممتد
تخصيص IIC الممتد هو عبارة عن امتداد لتخصيص IIC القياسي بحيث يسمح بعنونة إييبرومات بأكثر من 16 KB ذاكرة على نفس الناقل IIC وذلك بتعريف بايتين لعنوان المصفوفة وبالتالي يمكن عنونة 4ميجابت من الذاكرة (28.28.23)=(4 Mbits) .
[device type]-[device/page block selection]-[R/W bit]-{acknowledge pulse}-[array address 1] [array address 0]
ملاحظة هامة:/ في سياق هذا البحث سنتعامل مع الإييبروم على أنها محددة بـ 16 كيلوبت أي ما يختص بالناقل IIC القياسي حيث لا يوجد هناك فرق كبير بينهما يسترعي التخصيص لـ IIC الممتد خلال الشرح.
تعريف الأطراف
طرف SCL (المزامن المتسلسل)
يستخدم دخل SCL كي يوفر بعد الزمن للبيانات الداخلة والخارجة من الجهاز
طرف SDA(البيانات المسلسلة)
هو عبارة عن طرف ثنائي الاتجاه يستعمل لنقل البيانات من وإلى الجهاز
طرف WP الحماية ضد الكتابة
عند وصله مع Vcc فلن يتم تنفيذ عمليات البرمجة في النصف الأعلى من الذاكرة بينما تظل عمليات القراءة ممكنة . وعند وصله مع Vss يعود للحالة الطبيعية أي قراءة وكتابة من كل الجهاز.
مدخلات اختيار الجهاز A0 A1 A2 .
هذه المدخلات معاً تعمل كإشارة اختيار للاييبروم عند تواجد أكثر من واحدة على نفس الناقل وكل طرف يربط مع Vss أو Vcc مما يسمح باختيار واحدة من الإييبرومات بشكل صحيح ومنفرد كل إييبروم على الناقل تقارن تركيبها مع خيار كتلة صفحة الجهاز على الناقل ضمن عنوان المحكوم لتحديد الخيار الصالح فمثلاً إذا كان هذا الخيار هو (1-0-1) فإن الإييبروم التي يرتبط أطرافها (A2, A1, A0) مع (Vcc, Vss, Vcc) سيتم اختياره0
اعتماداً على حجم الذاكرة، فقط هناك عدد محدد من "مدخلات اختيار الجهاز" يمكن توفيرها في إييبروم لذلك فإنه لكل "مدخل اختيار جهاز" غير متوفر فإن البت في حقل "خيار كتلة صفحة الجهاز" سيستخدم من أجل اختيار كتلة الصفحة من داخل الجهاز بدلاً من الجهاز نفسه.
شكل (11) علاقة حجم الذاكرة مع "مدخلات اختيار الجهاز" يلاحظ هنا أنه حتى مع وجود جهاز إييبروم واحد على الناقل فيجب وصل هذه الأطراف مع Vcc أو Vss لضمان إغلاق الاتصال.
عمليات الكتابة والقراءة في EEPROM عمليات الكتابة
كتابة بايت
من أجل الكتابة نحتاج لحقل عنوان ثاني والذي هو عبارة عن عنوان كلمة يتكون من 8 بت يوفر وصول لأي بايت من الـ 256 بايت داخل الصفحة المختارة من إييبروم. عند وصول بايت العنوان فإن الإييبروم تستجيب بـ "عُلم" ACK وتنتظر لاستقبال ثمان بتات من المعلومات وترد بـ "عُلم" عندها فإن "الحاكم" ينهي عملية النقل بتوليد إشارة "قف" STOP عندها ستبدأ الإييبروم دورة الكتابة الداخلية لذاكرتها الثابتة. أثناء عملية الكتابة الداخلية لا تستقبل إييبروم أي مدخلات أو طلبات من خارجها.
شكل (12) كتابة كلمة
كتابة صفحة
من أجل تقليل زمن دورة الكتابة يمكن استعمال أسلوب كتابة صفحة والذي يتيح كتابة 16 بايت بشكل متجاور دفعة واحدة. لأجل ذلك تصنع الشركات مصفوفة الذاكرة على هيئة صفحات، حيث تتكون الصفحة من 16 موقع بايت متجاورة تبدأ عند حدود عنوان كل 16 بايت. عملية كتابة صفحة يمكن البدء بها تماماً كعملية كتابة بايت ولكن هنا بدل إنهاء الدورة بعد إرسال أول بايت من المعلومات يستمر الحاكم بإرسال ما أقصاه 15 بايت أخرى. بعد استقبال كل بايت يجيب الإييبروم بإشارة "عُلم" مع الزيادة بواحد على عداد العنونة الداخلي للانتقال للعنوان التالي وبالتالي الجاهزية لاستقبال بايت البيانات التالي. إذا استمر الحاكم بإرسال أكثر من 16 بايت قبل إرسال إشارة "قف" فإن العداد الداخلي يعيد الكتابة لفوق أول بايت ويستمر منه هناك حتى وصول إشارة "قف". عندها تتوقف إييبروم عن الاستقبال حتى تنتهي دورة الكتابة الداخلية.
شكل (13) كتابة صفحة إحراز "عُلم "
بعد أن يرسل الحاكم إشارة "قف" دلالة على إنهائه دورة الكتابة تبدأ الإييبروم دورتها الداخلية للكتابة. يمكن إحراز إشارة "عُلم" مباشرة. هذا يتضمن إصدار إشارة "بدأ" يليها عنوان المحكوم لعملية الكتابة. إذا كانت الإييبروم لا تزال مشغولة بالكتابة فهي لن ترجع إشارة "عُلم". لكن إذا كانت قد انتهت من الكتابة فسترسل إشارة "عُلم" وسيقوم الحاكم المضيف لها بمواصلة عملية القراءة أو الكتابة التالية.
الحماية ضد الكتابة
يتوفر في بعض المنتجات التجارية خاصية منع الكتابة في النصف الأعلى من الإييبروم عندما يوصل طرف WP فيها مع Vcc . ستجيب الإييبروم على عنوان المحكوم والبايت المرسلين، ولكن إذا كان عنوان الذاكرة المطلوب محمي بطرف WP ، فإن الإييبروم لن تولد إشارة "عُلم" بعد استقبال بايت البيانات الأول ولن تبدأ دورتها للكتابة عند وصول إشارة "قف".
عمليات القراءة
يتم تنفيذ عمليات القراءة بطريقة مشابهة لتلك المتبعة للكتابة مع الاستثناء بأن بت R/W من عنوان المحكوم يأخذ قيمة1. هنالك ثلاث طرق قراءة وهي قراءة العنوان الحالي والقراءة العشوائية والقراءة المتتابعة.
القراءة من العنوان الحالي
تحتوي الإييبروم على عداد داخلي يتذكر آخر عنوان بايت تم الوصول إليه يضاف عليه 1. وبالتالي، إذا كانت آخر عملية وصول للقراءة أو للكتابة عند عنوان (ن) فإن عملية القراءة التالية ستكون من العنوان (ن+1). عند استقبال عنوان المحكوم ومعه بت R/W موضوع على 1، فإن الإييبروم ترسل "علم" متبوعة ببايت من ثمان بتات. الحاكم لن يرسل "علم" ولكنه سيولد "قف" وبالتالي ستتوقف الإييبروم عن الإرسال.
شكل (14) القراءة من العنوان الحالي
القراءة العشوائية
وفيها يمكن الوصول لأي مكان في الذاكرة مباشرة. قبل إرسال عنوان المحكوم بأمر القراءة (بت R/W == 1)، يقوم الحاكم بتنفيذ عملية كتابة وهمية. حيث يقوم الحاكم بإرسال إشارة "بدأ" START يليها عنوان المحكوم مع بت R/W == صفر وبعدها عنوان البايت المراد قراءته. بعد وصول "علم" يقوم الحاكم حالاً بإرسال إشارة "بدأ" بعدها عنوان المحكوم مع بت R/W == 1 . هذا طبعاً يجب أن يتبع بإشارة "علم" من الإييبروم يليها بايت من ثمان بتات. الحاكم لن يرسل "علم" ولكنه سيولد "قف" وبالتالي ستتوقف الإييبروم عن الإرسال
شكل (15) القراءة العشوائية
القراءة المتتابعة
يمكن البدء بها كعملية قراءة حالية أو عشوائية. أول كلمة ترسل بالطريقة سالفة الذكر ولكن الحاكم سيرد "علم" كرغبة في المزيد وبالتالي يواصل الإييبروم إرسال البيانات بعد كل "علم" يتلقاها حيث يمكن فقط للحاكم إنها العملية بإرسال "قف".
المعلومات الخارجة هي متتالية من بيانات العنوان (ن) يليها بيانات العنوان (ن+1). حيث يقوم عداد العنوان بزيادة 1 كل مرة مما يمكن من قراءة كل محتويات الذاكرة بشكل متسلسل بعملية واحدة. بعد قراءة كل الذاكرة سيدور العداد للبداية وستواصل الإييبروم إخراج البيانات لكل إشارة "علم" تتلقاها.
شكل (16) القراءة المتتابعة
ما هي الذاكرة الفلاش؟
What is Flash Memory?
تتميز الفلاش عن باقي أنواع الذاكرة بأنها رخيصة، عالية السعة، عالية السرعة، قليلة الاستهلاك للطاقة وعالية الثقة. تتشابه الفلاش مع الإييروم ولكنها أرق كما أن بعض الشركات مثل إنتل طورت تقنية تمكنها من استغلال الخلية الواحدة من الذاكرة لتخزين 2 بت كتطوير للنظام العادي الذي يستغل كل خلية لتخزين بت واحد ( 1= ممسوح، 0 = مبرمج) أما النظام المطور ويدعى بنية "الخلية متعددة المستويات" فيعتمد الدقة المتناهية كي يستطيع تخزين 2 بت في كل خلية. حيث أن برمجة الخلية (وضع الشحنة) أو قراءتها (الاستشعار)، يتم التحكم به بدقة عالية لتحديد حالات أربع (00=مبرمج، 01=مبرمج، 10=مبرمج، 11=ممسوح) ضمن الترانزيستور.
تتوافر وحدات الذاكرة مهندسة على هيئة مصفوفة كتل من خلايا الذاكرة فمثلاً وحدة ذاكرة تتكون من 134217728 بت تحتوي 16777218 بايت (8 بت) أو 8388608 كلمة (16 بت) أو 128 ميغابت يمكن تنظيمها على هيئة مائة وثمان وعشرون كتلة كل منها عبارة عن 128 كيلو بايت (أنظر الشكل (17
المراجع
المراجع[/CENTER]
1- MICRON flash memory data sheets.
2- MICRON boot block flash memory technical note.
3- INTEL flash memory data sheets.
4- FAIRCHILD Semiconductors EEPROM data sheets.
5- PHILIPS Semiconductors EEPROM and RAM data sheets.
6- PHILIPS Semiconductors EEPROM product data.
7- SST technical paper "Super Flash EEPROM Technology".
8- "A Nonvolatile Memory Overview" By Jitu J. Makwana, Dr. Dieter K. Schroder.
[center]" What is Flash Memory?" Article by Intel Corporation
التعديل الأخير تم بواسطة : osama matar بتاريخ 15-07-2009 الساعة 06:05 AM
|