خانه / پایان نامه / فنی و مهندسی / رشته مهندسی کامپیوتر و IT / مقاله درباره Universal Serial Bus) USB)

مقاله درباره Universal Serial Bus) USB)

  • قیمت : رایگان تومان
  • کد فایل : 11065

Universal Serial Bus )USB)

  نماد USB

USB یک استاندارد باس برای اتصال تجهیزات است. USB قطعه مهمی است که برای اتصال قطعات جانبی به واسطه یک سوکت اتصالی استاندارد طراحی شده است که توانایی plug and play را با ایجاد امکانی برای اتصال و قطع ارتباط بدون reboot کردن کامپیوتر گسترش می دهد. دیگر خصوصیات راحتی آن شامل تامین توان تجهیزات کم مصرف بدون نیاز به تغذیه توان خارجی و ایجاد امکان استفاده از برخی تجهیزات بدون نیاز به نصب درایورهای تجهیز مستقل است.

هدف USB کنار گذاشتن سریال های قدیمی و پورت موازی است. USB می تواند تجهیزات جانبی را مانند موس، کیبرد، PDA ها، گاماپدها و joystickها، اسکنرها، دوربین های دیجیتال و پرینترها را متصل کند.

برای بسیاری تجهیزات مانند اسکنر و دوربین های دیجیتال، USB تبدیل به یک روش اتصال استاندارد شده است. USB همچینین به طور گسترده ای جهت اتصال پرینترهای non-netwoked استفاده میشود؛ USB اتصال چندین پرینتر را به یک کامپیوتر ساده می کند. USB منحصراً برای کامپیوترهای شخصی طراحی شد، اما به قطعه ای معمول در دیگر تجهیزات مانند PDAها و ویدئوگیم ها تبدیل شده است.

طراحی USB توسط USB Implementers Forum (USB-IF) ، یک موسسه استاندارد کننده با همکاری شرکت های بزرگ کامپیوتری و صنایع الکترونیک استاندارد شده است.

تاریخچه

از سال ۲۰۰۶، مشخصات USB با ویرایش ۲٫۰ است. برخی شرکت های بزرگ در توسعه نرخ انتقال داده بالاتر نسبت به مختصات ۱٫۱ پیشقدم هستند. مشخصات USB 2.0 در آوریل ۲۰۰۰ تدوین شد و توسط USB-IF در پایان سال ۲۰۰۱ استاندارد سازی شد. نسخه های پیشین قابل ذکر، ۰٫۹، ۱٫۰ و ۱٫۱ هستند. تجهیزات مطابق با هریک از ویرایش های استاندارد همچنین با تمامی تجهیزات طراحی شده بر اساس مختصات پیشین قابلیت اجرا دارد.

سیستم USB یک طراحی متقارن دارد، شامل یک کنترلر هاب و تجهیزات جانبی. هاب های USB اضافی ممکن است در زنجیره گنجانده شود، که اجازه انشعاب به یک ساختار درختی را می دهد، با محدودیت ۵ سطح انشعاب در هر کنترلر. حداکثر تا ۱۲۷ تجهیز شامل باس ممکن است به یک کنترلر میزبان (host)  تک متصل شود. کامپیوترهای مدرن همچنین دارای کنترلرهای میزبان متعددی هستند که امکان اتصال تعداد زیادی تجهیزات USB را فراهم می کند. کابل های USB نیازی به Terminate شدن ندارند.

در ترمینولوژی USB، تجهیزات مجزا به عنوان functionها شناخته می شوند، چون هر تجهیز ممکن است عملاً به عنوان میزبان چندین function باشد، مانند یک webcam با یک میکروفون همراه. Functionها توسط هاب به صورت سری به یکدیگر متصل می شوند. هاب ها تجهیزات با وظایف ویژه هستند که به عنوانfunction  شناخته نمی شوند. همیشه یک هاب به عنوان هاب ریشه وجود دراد که به طور مستقیم به کنترلر میزبان متصل است.

Functionها و هاب ها دارای لوله های متصل هستند (کانال های منطقی). لوله ها اتصالاتی از کنترلر میزبان به یک واحد منطقی روی تجهیز به نام endpoint هستند. ترم endpoint همچنین گاهی به کل لوله اطلاق می شود. یک function می تواند تا ۳۲ لوله اکتیو داشته باش، ۱۶ تا به کنترلر میزبان و ۱۶ تا بیرون کنترلر. هر endpoint می تواند داده را تنها در یک جهت منتقل کند، به دون یا خارج تجهیز/function . بدین معنی که هر لوله تک جهت است.

هنگامی که یک تجهیز متصل می شود، ابتدا میزبان آنرا تعیین و تشخیص می دهد و درایوری را که نیاز دارد load می کند. هنگامی که یک function یا هاب به کنترلر میزبان از طریق هر هاب روی باس متصل می شود، یک آدرس ۷ بیتی روی باس توسط کنترلر میزبان با آن اختصاص داده می شود. هیچ داده ای بدون دستور مستقیم از کنترلر میزبان نمی تواند توسط function انتقال یابد.

کانکتورهایی که کمیته USB مشخص کرده اند، جهت تامین تعدادی از اهداف USB و بنا به تجربیات به دست آمده طراحی شده است. به طور کلی:

کانکتورها مقاوم طراحی شده اند. بسیاری از طراحی کانکتورهای قدیمی شکننده بود، با پین ها یا دیگر تجهیزات حساس مستعد خم شدن یا شکستن حتی با اعمال نیروی معمولی. اتصالات الکتریکی در یک کانکتور الکتریکی توسط زبانه پلاستیکی مجاور و کل سیستم اتصال توسط غلاف فلزی محصور کننده محافظت می شوند. در نتیجه کانکتورهای USB به طور ایمن می توانند حمل، نصب یا جدا شوند. غلاف محافظ و قالب بدنه بدین معنی است که کانکتور می تواند ضربه ببیند، بیفتد و تصادم کند بدون آن که صدمه ببیند. نیروی قابل ملاحظه ای برای صدمه زدن به کانکتور یک USB مورد نیاز است.

اتصال اشتباه یک کانکتور USB مشکل است. کانکتورها را نمی توان در جهت عکس نصب کرد و از شکل و حس ظاهری اتصال پیداست که اتصال به طور مناسب صورت گرفته است یا خیر.

کانکتورها با قیمت ارزانی تولید می شوند.

نیروی متوسطی برای اتصال/ جدا کردن مورد نیاز است. کابل های USB و تجهیزات کوچک USB با نیروی گیرایی در محل قرار گرفتن جای می گیرند (بدون نیاز به پیچ، گیره یا نگهدارنده هایی که دیگر تجهیزات به آنها نیازمندند.

ساختار کانتور این اطمینان را ایجاد میکند که محافظ خارجی روی plug با قطعه مقابل خود در محل قرار گرفتن پیش از اتصال چهار کانکتور متصل می شوند. این محافط معمولاً به گراند سیستم متصل است و به بارهای استاتیک اجازه میدهد از این طریق تخلیه شوند (به جای قطعات الکتریکی حساس).

به علاوه، توان و اتصالات مربوطه پس از گراند سیستم ایجاد می شوند، اما پیش از اتصالات داده. کابل ها فقط دارای plug و میزبان ها فقط دارای receptacle هستند.

کانکتور USB ۱
تجهیز کنترلر ذخیره USB ۲
نقاط تست ۳
چیپ حافظه فلش ۴
اسیلاتور کریستال ۵
LED ۶
سوئیچ Write-protect ۷
فضا برای چیپ حافظه فلش دوم ۸

سلول حافظه فلش:

حافظه فلش اطلاعات را در یک آرایه از ترانزیستورها معروف به سلول ذخیره می کند که هر کدام به طور سنتی یک بیت اطلاعات را ذخیره می کنند. حافظه های فلش جدید که بعضاً با نام تجهیزات سلول چند سطحی (multi level cell) شناخته می شوند می توانند بیش از یک بیت را در هر سلول ذخیره کنند.

چنان که در شکل ۱ نشان داده شده است،در فلش NOR، هر سلول شبیه به یک ترانزیستور MOSFET استاندارد است، جز این که به جای یک گیت دارای دو گیت است. یک گیت، گیت کنترل (CG) شبیه دیگر ترانیستورهای MOS است، اما دومی یک گیت شناور (FG) است که توسط یک لایه اکسید ایزوله شده است. FG بین CG و substrate است.

از آنجا که FG توسط لایه اکسید عایق شده است، هر الکترون قرار گرفته روی آن در آنجا محبوس می شودو بنابراین اطلاعات ذخیره می شود. هنگامی که الکترون ها روی FG هستند میدان الکتریکی حاصل از CG که ولتاژ انتقالی (Vt) سلول را اصلاح می کند را تعدیل می کند. بنابراین هنگامی که سلول با قرار گرفتن ولتاژ مشخصی روی CG در حالت read است، جریان الکتریکی می تواندبسته به Vt روی سلول در جریان یا متوقف باشد که این پدیده با مقدار الکترون روی FG کنترل می شود.

این حضور یا غیبت جریان حس و به ۱ها یا ۰ها تفسیر می شود که داده های ذخیره شده را بازتولید می کنند. در یک تجهیز سلول چند سطحی که بیش از یک بیت اطلاعات را در هر سلول ذخیره می کنند، به جای حضور یا غیاب جریان، مقدار آن جهت تعیین مقدار الکترون ذخیره شده روی FG حس می شود.

شکل۱- سلول حافظه فلش

عملیات write

یک سلول فلش NOR، با شروع جریان الکترون ها از source به drain، program میشود. آنگاه ولتاژ زیاد قرار گرفته روی CG یک میدان الکتریکی با انداره کافی قوی را جهت مکش آنها به روی FG ایجاد می کند. این پروسه که ممکن است در MOST معمول هم اتفاق بیفتد به عنوان تزریق الکترون داغ کانال (CHE injection) نامیده می شود. این پروسه در شکل ۲ نشان داده شده است.

 شکل۲- مراحل write

عملیات erase

جهت erase یک سلول فلش NOR یک ولتاژ تعیین شده روی substrate قرار می گیرد، در حالیکه source و drain شناورند و CG به GND متصل است. این شرایط الکترون ها را از درون تونل FowlerNordeim، یک پروسه تونل مکانیک کوانتومی می کشد. پروسه erase در شکل ۳ آورده شده است.

شکل۳- عملیات erase

عملیات read

در حین عملیات reads یک ولتاژ بالا به گیت جلویی اعمال می شود. چنانچه ترانزیستور انتخاب شده روشن شود، خروجی drain آن روی bit line کمی کشیده می شود که با استفاده از منطق منفغی به ۱ تفسیر می شود. چنانچه ترانزیستور انتخاب شده روشن نشود ولتاژ drain آن روی Bit Line بالاست و به ۰ تعریف می شود. عملیات read در شکل ۴ نشان داده شده است.

 شکل۴- عملیات read

فلش سلول چند سطحی:

چنانچه پیشتر گفته شد یک سلول فلش معمولی می تواند یک بیت اطلاعات را ذخیره کند. از آنجا که سازندگان علاقه زیادی به کاهش نرخ هزینه بر بیت دارند امروزه سازندگان فناوری هایی برای ساخت سلول هایی با توانایی ذخیره بیش از یک بیت اطلاعات را توسعه می دهند. این گونه سلول ها به سلول های چند سطحی (MLC) شناخته می شوند. در عملکرد MLC سلول حافظه فلش منطقی برای مثال به دو بیت در هر سلول با استفاده از چهار حالت ممکن تعریف شده با چهار محدوده ولتاژ استانه سلول فلش دست می یابند. هر سطح برای روشن کردن ترانزیستور یک ولتاژ ورودی را ارائه می کند. بنابراین هر سطح ورودی encoding دو بیت را ارائه می دهد. زمان دسترسی ممکن است بیشتر شوداما ظرفیت دو برابر می شود.چنانچه مقدار بار منفی روی یک گیت شناور دارای هشت سطح باشد، آنگاه ۳ بیت اطلاعات می تواند روی هر سلول ذخیره شود. برای مثال یک سلول چند سطحی حافظه فلش ۳۲Mb که چهار بیت داده را در هر سلول ذخیره می کند با استفاده از سلولهای حافظه فلش ۱۶Mb به ۳۲Mb ظرفیت ذخیره حافظه دست می یابد. بنابراین با استفاده از این فناوری هزینه حافظه/بیت کاهش می یابد.

مشخصات اصلي AMD :

  • كارايي بالا

– حداكثر زمان دسترسي ۷۰ ns (نانوثانيه)

  • توان مصرفي پائين cmos
    • حداكثر جريان فعال (active) 30 mA
    • حداكثر جريان standby ، ۱۰۰µA
    • بدون مصرف توان جهت نگهداري داده
  • سازگار با پهناي بايت استاندارد JEDEC ، ۳۲-pin EPROM pinouts
    • ۳۲-pin PDIP
    • ۳۲-pin PLCC
    • ۳۲-pin TSOP
  • حداقل ۱۰٫۰۰۰ چرخه write/erase
  • ولتاژ write و erase برابر ۰ v ±۵%
  • قفل محافظت شده (latch-up) تا ۱۰۰mA

                –  از -۱ v تا +۱ v Vcc

  • Bulle chip-erase الكتريكي

          – chip-erase يك ثانيه

  • برنامه ريزي Flashrite
    • byte-program نمونه ۱۰µs
    • chip-program نمونه ۰٫۵ثانيه
  • معماري رجيستر فرمان براي ميكروپروسسور / ميكرو كنترلر سازگار با write اينترفيس (interface)
  • latch (قفل) داده و آدرس on-chip
  • تكنولوژي پيشرفته فلش مموري (flash memory) Cmos

   –  سلول حافظه تك ترانزيستور كم هزينه

  • تايمر توقف پالسي write/erase اتوماتيك

توضيحات كلي:

          Am28F256 يك حافظه فلش ۲۵۶k است كه به صورت ۸ بيت آن كه هر بيت آن ۳۲ كيلوبايت است، طراحي شده است. حافظه هاي فلش AMD مقرون به صرفه ترين و قابل اطمينان ترين read/write غير فرار (nonrolatile) ، (Random Access memory) حافظه دسترسي تصادفي را ارائه مي كند Am28F256 به صورت ويرايش هاي ۳۲ پيني TSOP, PLCC, PDIP بسته بندي شده و طوري طراحي شده است كه قابل برنامه ريزي و پاك شدن in-system يا در استاندارد برنامه نويسان EPROM باشد. Am28F256 هنگام خروج از كارخانه erase شده است.

          استاندارد Am28F256 زمان دسترسي به سرعت ۷۰ns را ارائه ميكند كه امكان عمليات ميكروپروسسور پر سرعت را بدون حالت انتظار فراهم مي كند. براي حذف اتصالات bus ، Am28F256 ، كنترل هاي chip enable (CE #) و output enable (OE #) را جدا كرده است.

          حافظه هاي فلش AMD ، عملگري EPROM با پاك كردن (erasure) و برنامه دهي (programming) الكتريكي درون مداري (in-circuite) را تقویت ميكند. Am28F256 از يك رجيستر فرمان براي مديريت اين عملگر استفاده مي كند در حالي كه يك استاندارد فلش pinout JEDEC 32 پيني را maintain مي كند. رجيستر فرمان ۱۰۰% ورودي هاي كنترل سطح TTL و سطوح تغذيه توان ثابت در حين erase و programming را تامين مي كند (اجازه عمل مي دهد).

          تكنولوژي فلش AMD ، محتوبات حافظه را به طور قابل اطميناني حتي پس از ۱۰٫۰۰۰ دوره پاك كردن و برنامه ريزي ذخيره ميكند. سلول AMD ، براي بهينه سازي مكانيزم پاك كردن و برنامه ريزي طراحي شده است. بعلاوه، تركيب پروسه اكسيد تونل پيشرفته و ميدان الكتريكي دروني كم براي عمليات پاك كردن و برنامه ريزيژ، سيكل قابل اطميناني ايجاد مي كند.

          بيشترين درجه حفاظت latch-up با پروسه  AMD non-epiبه دست آمده است. حفاظت latch-up براي تنش هايي تا ۱۰۰ ميلي آمپر روي پين هاي آدرس و داده از -۱ v تا  Vcc +1 v تهيه شده است.

          Am28F256 داراي قابليت برنامه ريزي بايت با استفاده از پالس هاي برنامه ريزي ۱۰µs مربوط به الگوريتم برنامه ريزي AMD flashrite است. زمان برنامه ريزي معمول Am28F256 در دماي اتاق نيم ثانيه است. تمام چيپ bulk erased است. با استفاده از پالس erase برابر ۱۰ms مربوط به الگوريتم AMD flasherase ، پاك كردن معمول در دماي اتاق در كمتر از يك ثانيه انجام مي شود. بسته پنجه دار و ۲۰-۱۵ دقيقه مورد نياز براي پاك كردن EPROM با استفاده از نور ماوراي بنفش حذف شده اند.

          دستورات بر رجيستر فرمان با استفاده از write timing هاي ميكروپروسسور استاندارد نوشته مي شوند. محتويات رجيستر فرمان به عنوان ورودي ها به يك ماشين حالت دروني (internal state) كه مدارهاي پاك كردن و برنامه ريزي را كنترل مي كند، عمل مي نمايد. در حين سيكل هاي wire رجيستر فرمان به طور دروني آدرس و داده هاي مورد نياز عمليات برنامه ريزي و پاك كردن را latch مي كند. براي ساده سازي طراحي سيستم، Am28F256 براي write هاي كنترل شده توسط WE# و CE# طراحي شده است. در حين يك سيكل write سيستم، آدرس ها روي لبه falling (پائين رونده) از WE# يا CE# ، هر كدام ديرتر رخ دهد، latch مي شود. داده هاي لبه rising از WE# يا CE# ، هر كدام كه زودتر رخ دهد، latch مي شود.

          براي ساده سازي تحليل هاي بعدي، پين WE به عنوان پين كنترل سيكل write در ادامه اين مقاله استفاده مي شود. تمامي زمان هاي setup و hold نسبت به سيگنال WE# هستند.

          تكنولوژي فلش AMD ، تجربه ي ساليان EPROM و EEPROM را براي دستيابي به بالاترين كيفيت، قابليت اطمينان و بهينه سازي هزينه به كار برده است. Am28F256 تمامي بيت ها را به طور همزمان با استفاده از روش تونل flower-nordheim به طور الكتريكي erase  مي كند. بايت ها يك بايت را در هر زمان با استفاده از مكانيزم برنامه ريزي EPROM تزريق الكترون داغ برنامه ريزي مي كنند.

شرح Pin

A0-A14

          ورودي هاي آدرس براي محل حافظه. Latch هاي داخلي آدرس ها را درحين دوره write نگهداري مي كنند.

CE# (E#)

          ورودي chip enavle active low ، منطق كنترلي چيپ و بافرهاي ورودي را فعال مي كند. Chip enable بالا، تجهيز را از حالت انتخاب خارج مي كند و حالت (mode) standby را براي چيپ عمل مي كند.

DQ0-DQ7

          ورودي هاي داده ها حين دوره write حافظه. Latch هاي داخلي داده را در حين دوره write نگهداري مي كند. در حين دوره read حافظه داده ها به خارج داده مي شود.

NC (No Connect)

          پين مربوط به عدم اتصال به سرپيچ (die) از داخل متصل نيست.

OE# (G#)

ورودي مابين فعال output enable active low ، خروجي هاي تجهيز را از طريق بافر data در حين چرخه read حافظه gate مي كند. Output enable در حين مراحل فرمان  و عمليات برنامه ريزي و پاك كردن، بالا است.

Vcc

          توان تغذيه شده براي عملكرد تجهيز. (۵٫۰ v ±۵% or 10%)

Vpp

          ورودي ولتاژ برنامه. Vpp بايد ولتاژ بالايي داشته باشد تا روي رجيستر فرمان write كند. رجيستر فرمان تمام function هاي مورد نياز را براي جايگزيني [alter] محتويات آرايه حافظه كنترل مي كند. محتويات حافظه نمي تواند alter شود زماني كه Vpp<=Vcc +2v باشد.

Vss     گراند.

WE# (W#)

          ورودي مابين فعال write enable ، محتويات write رجيستر فرمان را بر آرايه حافظه كنترل مي كند. آدرس هدف (target) روي لبه falling پالس write enable ، latch مي شود و داده مربوطه روي لبه rising پالس latch مي شود. Write enable بالا از نوشتن روي تجهيز جلوگيري مي كند.

اصول پايه:

          تجهيز ازصد درصد ورودی کنترلTTL-level براي مديريت رجيستر فرمان استفاده مي كند. عمليات erase و programming از ولتاژ بالاي ورودي و ثابت ۱۲٫۰ v ±۵% استفاده مي كند.

Read only memory

          بدون ولتاژ بالاي (زياد) Vpp ، تجهيز به عنوان يك read only memory و به مانند يك EPROM استاندارد عمل ميكند. ورودي هاي كنترل همچنان حالت هاي سنتي read ، output disable standby و auto select را مديريت مي كند.

رجيستر فرمان:

          رجيستر فرمان تنها زماني فعال (enable) مي شود كه ولتاژ زياد به پين Vpp داده شود. دسترسي به عمليات erase و programming آنها از طريق رجيستر است. بعلاوه دستورات دو مرحله اي (two-cycle commands) براي عمليات erase و programming مورد نياز است. حالت هاي سنتي read ، standby ، output disable و auto select از طريق رجيستر در دسترس است.

          رجيستر فرمان تجهيز با استفاده از write timing ميكروپروسسور استاندارد نوشته مي شود. كنترل هاي رجيستر ماشين هاي حالت داخلي هستند كه تمام تجهيزات را مديريت مي كند. براي ساده سازي طراحي سيستم، تجهيز به گونه اي طراحي شده است كه write هاي كنترل شده WE# و CE# را support كند. در حين سيكل write سيستم، آدرس ها روي لبه falling WE# يا CE# ، هر كدام كه ديرتر رخ دهد، latch مي شود. داده ها روي لبه rising از WE# يا CE# ، هر كدام در ابتدا روي دهد، latch مي شود. براي ساده كردن شرحي كه در پي مي آيد، پين WE# به عنوان پين كنترل سيكل write در بقيه متن استفاده مي شود. تمامي زمان هاي setup و hold نسبت به سيگنال WE# برمیگردد.

نگاه كلي به عمليات earse/programming

مراحل flasherase

          مراتب فرمان چند مرحله اي براي erase تجهيز فلش مورد نياز است ( فرمان erase دو سيكلي و فرمانهاي تشخيص يك سيكلي تكرار شده).

نكته: آرايه حافظه فلش بايد براي erasure به صفرمين perior برنامه ريزي شود.

  1. erase setup : فرمان setup erase روي رجيستر فرمان نوشته شود.
  2. erase : فرمان erase (همانند فرمان setup erase) دوباره به رجيستر فرمان نوشته شود. فرمان دوم، عمليات erase را پايه ريزي مي كند. حال routin هاي نرم افزار سيستم مي بايد پهناي پالس erase (10ms) را پيش از انتشار (issuing) فرمان erase-verify ، time-out كند.
  3. erase-verify : فرمان erase-verify روي رجيستر فرمان نوشته شود. اين فرمان، عمليات erase را پايان مي بخشد. پس از عمليات erase ، همه بيت هاي آرايه بايد شناخته (verify) شود. اطلاعات آدرس بايد توسط فرمان erase-verify تامين شود. اين فرمان، مرز را تشخيص مي دهد و بايت آدرس را براي مقايسه داده آرايه با داده FFH به خروجي مي برد ( بايت پاك شده است ). پس از تشخيص موفقيت آميز داده، فرمان erase-verify دوباره با اطلاعات آدرس جديد نوشته مي شود. همه بايت هاي آرايه به ترتيب با اين روش تشخيص داده مي شوند.

چنانچه داده هاي مكان آدرس تشخيص داده نشوند، مراحل erase تا شناسايي كامل آرايه يا تكرار مراحل تا ۱۰۰۰ بار تكرار مي شود.

مراتب Flashrite programming

          مراحل فرمان سه مرحله اي (فرمان برنامه دو سيكلي و فرمان تشخيص يك سيكلي) براي program كردن يك بايت از آرايه فلش مورد نياز است. به الگوريتم flashrite مراجعه شود.

  1. program setup : فرمان setup program روي رجيستر فرمان نوشته شود.
  2. program : فرمان program روي رجيستر فرمان با آدرس داده مناسب نوشته شود. Routin هاي نرم افزار سيستم هم اكنون بايد پهناي پالس program (10µs) را پيش از انتشار فرمان program-verify ، time-out كند. يك تايمر توقف integerated از امكان overprogramming جلوگيري مي كند.
  3. program-verify : فرمان program-verify بر رجيستر فرمان نوشته شود. اين فرمان، عمليات programming را پايان مي دهد. بعلاوه، اين فرمان مرز (margin) را تشخيص مي دهد و بايت تازه program شده را جهت مقايسه داده آرايه با داده program شده اصلي به خروجي مي برد. پس از تشخيص موفقيت آميز داده، مراتب programming ، دوباره براي آدرس بايت بعدي براي program شدن، initiate مي شود.

چنانچه بايت به طور موفقيت آميز تشخص داده نشود، مراحل program تا هنگامي كه يك مقايسه موفقيت آميز تشخيص داده شود يا مراحل تا ۲۵ بار تكرار شوند، تكرار مي گردد.

حفاظت داده:

          تجهيز به گونه اي طراحي شده است تا حفاظتي در برابر erasure يا programming اتفاقي به علت سيگنال هاي سطح سيستم جعلي كه ممكن است در حين انتقال توان روي دهد، ايجاد كند. به تجهيز در حالت read only خود توان داده مي شود. همچنين با معماري رجيستر كنترل آن، جايگزيني محتويات حافظه تنها پس از اتمام موفقيت آميز مراحل فرمان مخصوص روي مي دهد.

          تجهيز همچنان چندين ترکیب را جهت جلوگيري از سيكل هاي I ناخواستهwrite ناشي از انتقال توان – بالا و توان – پائين Vcc يا نويز سيستم، ثبت كند.

Low Vcc write inhibit

          براي اجتناب ازورود I سيكل write در حين توان – بالا و توان – پائين Vcc ، تجهيز سيكل هاي write را براي Vcc < Vlko قفل مي كند ( بخش مشخصات DC براي ولتاژها را ببينيد ). هنگامي كه Vcc < Vlko باشد، رجيستر فرمان غير فعال مي شود، تمام مدارهاي program/erase داخلي غير فعال مي شوند و تجهيز به حالت read ، reset مي شود. تجهيز تمامي write ها را تا زماني كه Vcc > Vlko شود ناديده مي گيرد. كاربر بايد مطمئن شود كه پس از كنترل هنگامي كه Vcc > Vlko است، در حالت منطقي صحيح قرار دارند جهت جلوگيري از write هاي uninitentional .

Write pulse “Glitch” protection

          نويز پالس هاي كمتر از ۱۰ns روي OE# ، CE# يا WE# ، سيكل write را initiate نميكند.

Logical Inhibit

          Write كردن با نگه داشتن (قرار دادن) هر يك از OE# = VIL ، CE# = VIH يا WE# = VIH ، inhibit مي شود.براي initiate كردن يك سيكل write ، CE# و WE# بايد صفر منطقي باشند در هنگامي كه OE# برابر يك منطقي است.

Power-up write inhibit

Power-up تجهيز با WE# = CE# = VIL و OE# = VIH فرمان ها را روي لبه rising از WE# نمي پذيرد. ماشين حالت داخلي (internal state machine) به طور اتوماتيك به حالت read روي power-up ، reset مي شود.

Read only mode

          زماني كه VPP كمتر از VCC + 2v باشد، رجيستر فرمان غير فعال است. تجهيز ميتوان هر يك از حالات read array يا auto select data يا حالت standby باشد.

Read

          تجهيز به عنوان يك حافظه read only هنگامي كه VPP < VCC + 2v باشد عمل ميكند. تجهيز داراي دو عمليات كنترلي است. هر دو بايد براي به خروجي فرستادن داده ارضا شوند. CE# توان را به تجهيز كنترل ميكند. پين بايد براي انتخاب تجهيز specific استفاده شود. OE# خروجي هاي تجهيز را كنترل مي كند و بايد براي gateكردن داده به پين هاي خروجي چنانچه يك تجهيز انتخاب شده باشد مورد استفاده قرار گيرد.

          زمان دسترسي آدرس tACC برابر است با تاخير از آدرس هاي پايدار (stable) به داده خروجي valid. زمان دسترسي فعال سازي tCE برابر تاخير از آدرس هاي پايدار و CE# پايدار به داده valid در پين هاي خروجي است. زمان دسترسي فعال سازي خروجي تاخير از لبه falling از OE# به داده valid در پين هاي خروجي است ( با فرض اينكه آدرس ها حداقل در tACC – tOE پايدار باشند).

Standby mode

          تجهيز داراي ۲ حالت standby است. حالت Cmos standby (ورودي CE# در VCC ± ۰٫۵v نگه داشته مي شود) كه كمتر از ۱۰۰µA جريان را مصرف ميكند. حالت استندباي TTL ( CE# در VIH نگه داشته مي شود) جريان مورد نياز را تا كمتر از ۱mA كاهش ميدهد. هنگام حالت standby ، خروجي ها در حالت امپدانس بالا هستند مستقل از ورودي OE#.

          چنانچه تجهيز در حين erasure ، programming يا program / erase vorification ، deselect شود ( از انتخاب خارج شود )، تجهيز تا زمان پايان عمليات جريان active منصرف مي كند ( مي كشد).

Output disable

          خروجي از تجهيز هنگامي كه OE# در سطح بالاي منطقي باشد، disable مي شود. هنگام disable شدن، پين هاي خروجي در حالت امپدانس بالا هستند.

Auto select (خود جايگزين)

          حافظه هاي فلش مي توانند به طور in-system يا در يك PROM programmer استاندارد، program شوند. تجهيز مي تواند به برد مدار متصل شود تا هنگام دريافت محموله و برنامه ريزي شدن in-system . تجهيز ممكن است از ابتدا در يك PROM programmer پيش از اتصال تجهيز به برد program متصل شده باشد.

          حالت خود جايگزين اماكن reading خارج از كد باينري را از تجهيز فراهم مي كند كه سازنده و نوع آن را تشخيص مي دهد. اين حالت براي تطابق اتوماتيك تجهيز جهت program شدن با الگوريتم programming مروبطه مورد نياز است. اين حالت عملا بالاي محدوده دمايي تجهيز است.

Programming in APROM Programmer

برای فعال سازی این حالت، تجهیز programming باید ولتاژ Vid (11.5V تا ۱۳٫۰V) را روی آدرس A9 اعمال کند. آنگاه دو بایت تشخیص دهنده باید توسط خروجی های تجهیز فعال شوند، با toggling آدرس A0 از Vil تا Vih. در هنگام استفاده از این حالت تمامی خطوط آدرس دیگر باید در Vil نگه داشته شوند و Vpp باید کمتر یا مساوی با Vcc+2.0V باشد. بایت ۰ (A0=Vil) معرفی کننده کد سازنده است و بایت ۱ (A0=Vih) معرفی کننده کد تشخیص دهنده تجهیز است. برای تجهیز این دو کد در جدول ۲ آورده شده است.

Erase, program and read mode

زمانی که Vpp برابر ۱۲٫۰V+_5% باشد، رجیستر فرمان فعال است. تمامی عملیات ها در دسترس هستند. بدین معنی که تجهیز قابل program، erase ، آرایه read و داده خودگزین (autoselect) یا در حالت standby است.

عملیات write

برای فعال سازی رجیستر فرمان، ولتاژ بالایی باید به پین Vpp اعمال شود. داده نوشته شده بر رجیستر به عنوان ورودی به ماشین حالت داخلی (internal state machine) عمل می کند. خروجی ماشین حالت مشخص کننده عملیات کاربردی تجهیز است. رجیستر فرمان مکان حافظه قابل ادرس دهی (addressable memory location) را اشغال نمی کند. رجیستر یک latch است که فرمان را به همراه آدرس و اطلاعات مورد نیاز برای اجرا کردن فرمان ذخیره می کند.

رجیستر با آوردن WE# و CE# به Vil در حالیکه OE# در VIH است، نوشته می شود. آدرس ها روی لبه falling از WE#، Latch میشوند، در حالی که داده روی لبه rising از پالس WE#، مشفزا میشود. زمان write میکروپروسسور استاندارد مورد استفاده قرار می گیرد. برای عملیات write، تجهیز نیاز دارد که پین OE# برابر VIH باشد. جهت write کردن، OE# باید برابر VIH و CE# و WE# برابر VIL باشند. چنانچه هریک از پین ها در حالت صحیح نباشند، فرمان write، اجرا نمیشود.

تعاریف فرمانها

محتویات رجیستر فرمان به طور پیش تنظیم (default) برابر ۰۰h (حالت read ) در غیاب ولتاژ بالای اعمال شده به پین Vpp قرار دارد.تجهیز به عنوان یک حافظه فقط خواندنی عمل میکند. ولتاژ بالا روی پین Vpp، رجیستر فرمان را فعال میکند. عملیات تجهیز با نوشتن کد داده های خاص بر رجیستر فرمان انتخاب میشود. جدول ۳ این فرمان های رجیستر را مشخص می کند.

Read command

محتویات حافظه از طریق فرمان Read زمانی که Vpp زیاد است قابل دسترسی هستند. برای خواندن از تجهیز باید ۰۰h بر رجیستر فرمان نوشته شود. سیکل های read میکروپروسسور استاندارد، دسترسی به داده های حافظه را امکان پذیر می کنند. تجهیز در حالت read تا زمانی که محتویات رجیستر فرمان تغییر کندف باقی می ماند.رجیستر فرمان به طور پیش تنظیم روی ۰۰h (حالتread) تا زمان Vpp power-up قرار دارد. پیش تنظیم رجیستر حالت read (00h) این اطمینان را ایجاد میکند که تغییرات ناخواسته ای در محتویات حافظه در هنگام تغییر توان Vpp رخ نمی دهد. به مختصات AC read و waveform ها برای پارامترهای timing خاص مراجعه شود.

Flasherase erase sequence

Erase setup

Erase setup نخستین مرحله از فرمان erase دو سیکلی است. این یک عملیات فقط فرمانی (command-only) است که تجهیز را برای bulk chip erase آماده میکند. محتویات آرایه با این فرمان تغییری نمی کند. جهت اجرای عملیات erase setup، ۲۰h بر رجیستر فرمان نوشته میشود.

Erase

فرمان دوم erase دو سیکلی، عملیات bulk erase را اجرا می کند. فرمان erase (20h) بار دیگر باید بر رجیستر نوشته شود. عملیات erase با لبه rising پالس WE# شروع میکند. عملیات  شروع میکند. عملیات erase باید با نوشتن فرمانی جدید (erase-verify) بر رجیستر پایان یابد. دو مرحله فرامین setup و erase این اطمینان را ایجاد میکنند که محتویات حافظه به طور تصادفی پاک نمی شوند. همچنین erase شده chip تنها زمانی رخ می دهد که ولتاژ بالایی به پین  Vpp اعمال شود و همه پین های کنترل در حالت مناسب خود قرار داشته باشند. در غیاب این ولتاژ بالا، محتویات حافظه قابل تغییر نیستند.

فرمان erase-verify

عملیات erase، تمامی بایت های آرایه را پاک میکند. پس از عملیات erase، تمتمی بایت ها باید به ترتیب آزموده شوند. عملیات erase-verify با نوشتن A0h بر رجیستر اجرا می شود. آدرس بایت برای تشخیص داده شدن باید با فرمانی تغذیه شود. آدرس ها روی لبه falling پالس WE# یا پالس CE#، هرکدام که دیرتر رخ دهد، latch  میشود و لبه rising پالس WE# عملیات erase را پایان میدهد.

Margin verify

در حین عملیات erase-verify، تجهیز ولتاژ مرزی (margin) تولید شده را به بایت آدرس داده شده اعمال میکند. خواندن FFh از بایت آدرس داده شده بیانگر آن است که تمامی بیت های درون بایت به طور مناسب erase شده اند.

Verify next address

فرمان erase-verify با آدرس مناسب باید پیش از آزمودن هر آدرس بر رجسیتر نوشته شود. هر آدرس جدید روی لبه falling پالس WE# یا CE#، هر کدام که دیرتر رخ دهد، latch میشود. عملیات برای هر بایت در آرایه حافظه تا زمانی که یک بایت داده FFh را بازنگردانیده باشد یا به تمامی بایت ها در آرایه دسترسی و تشخیص داده شده باشد ادامه می یابد.

چنانچه یک آدرس، داده FFh تشخیص داده نشود، کل chip دوباره erase میشود. آنگاه erase verification به آدرسی که آزموده نشده است باز میگردد. Erase زمانی پایان می یابد که تمامی بایت های آرایه آزموده شوند. حال تجهیز جهت program کردن آماده است. در این نقطه عملیات آزمون با نوشتن یک فرمان موجود (مانند program setup) بر رجیستر فرمان پایان می یابد. شکل ۱ و جدول ۴، الگوریتم erase الکتریکی flasherase ، نشان دهنده چگونگی ترکیب فرمان ها و عملیات ها جهت erase کردن الکتریکی است.

Flasherase electrical erase algorithm

این تجهیز حافظه فلش، کل آرا یه را به طور موازی erase می کند. زمان erase بستگی به Vpp، دما و تعداد سيكل های erase/program روی تجهیز دارد. به طور عموم، زمان reprogramming، با افزایش تعداد سیکل های erase/program افزایش می یابد.

الگوریتم erase الکتریکی flasherase با استفاده از جریان لوپ بسته interactive به طور همزمان تمامی بایت های آرایه را erase می کند. عملیات erase کردن با خواندن محتویات حافظه شروع می شود. تجهیز هنگام خروج از کارخانه erase شده است. خواندن داده FFh از تجهیز بلافاصله با اجرا کردن الگوریتمflashrite program با الگوی داده مناسب دنبال خواهد شد.

اگر داده دیگری بجز FFh از مکان آدرس برگردد تجهیز باید دوباره program شود. Erase کردن یکنواخت و قابل اطمینان با نخستین program کردن همه بیتهای موجود در تجهیز به حالت شارژ آنها (داده=۰۰h) حاصل می گردد. این با استفاده از الگوریتم flashrite program کامل می گردد. Eraseکردن آنگاه با یک عملیات erase اولیه ادامه می یابد. آزمون erase (داده=FFh) در آدرس ۰۰۰۰h شروع می شود و درون آرایه به آخرین آدرس ادامه می یابد یا تا زمان که با داده ای بجز FFh مواجه شود. چنانچه بایتی در آزمون تایید نشود، تجهیز دوباره erase می شود. با هر عملیات erase، تعداد افزونی از بایتها در حالت erase شده آزموده میشوند. به طور معمول، تجهیزات در کمتر از ۱۰۰ پالس (یک ثانیه) erase میشوند. کارایی erase را می توان با ذخیره کردن آدرس بایت آخری که در آزمون تایید نشده است در رجیستر بالا برد. در عملیات erase بعدی، آزمون را میتوان از مکان آدرس ذخیره شده آغاز کرد.

تعداد ۱۰۰۰ پالس erase در هر سیکل reprogrammingمجاز است که تقریباً به ۱۰ ثانیه زمان erase فزاینده در ارتباط است. تمام مراحل  فزاینده در ارتباط است. تمام مراحل  erase و آزمون بایت توسط ولتاژ بالای اعمال شده به پین Vpp صورت می گیرد. شکل ۱ بیانگر الگوریتم erase الکتریکی است.

Analysis of erase timing waveform

Erase setup/erase

این آنالیز نمایانگر استفاده از فرمان های erase دو سیکلی (بخش A و B) است. فرمان erase اول یک (۲۰h) فرمان setup است و بر داده آرایه ای (بخش A) اثری ندارد. فرمان erase دوم (۲۰h) عملیات erase را (بخش B) روی لبه rising این پالس WE# آغاز می کند. همه بایت های آرایه حافظه به طور موازی erase میش.ند. اطلاعات آدرس مورد نیاز نیست. پالس erase در بخش C روی میدهد.

Time-out

یک timing سخت افزار (مدت ۱۰ms) باید روی لبه rising پالس WE# در بخش B، آغاز می شود.

نکته: یک تایمر توقف پیوسته از هر گونه over erase محتمل با محدود کردن هر دوره ۱۰ms از timeout جلوگیری می کند.

آزمون  erase

تا تکمیل timing routine سخت افزاری erase، میکروپروسسور باید فرمان erase-verify را بنویسد (A0h). این فرمان عملیات erase را روی لبه rising پالس WE# پایان می دهد (بخش D). فرمان erase-verify همچنین تجهیز را برای آزمون داده آماده می کند (بخش F).

پس از هر عملیات erase هر بایت باید آزموده شود. آدرس بایتی که باید آزموده شود باید با فرمان erase-verify تغذیه شود (بخش D). آدرس ها روی لبه falling پالس WE# ، latch میشوند.

Timing routine سخت افزاری دیگری (مدت ۶µs) باید برای اجازه دادن به تولید ولتاژ داخلی برای چک کردن مرز و عملیات read اجرا شود (بخش E).

در حین آزمون erase (بخش F) هر آدرسی که داده FFh را بازگرداند به طور موفقیت آمیزی erase شده است. هر آدرس از آرایه به ترتیب بدین صورت آزموده می شود؛ با تکرار مراحل D تا F تا آنکه کل آرایه آزموده شود یا یک آدرس در آزمایش تایید نشود. چنانچه مکان آدرسی در آزمون داده FFh تایید نشود، تجهیز باید دوباره erase شود. مراحل A تا F ذوباره تکرار میشوند. سابقه تشخیص با آدرس تایید نشده بدست می آید (بخش D).

هر ترتیب تغییر آدرس اجازه می دهد که تجهیز تا ۱۰۰۰ پالس erase را استفاده کند تا کاملاً erase شود. به طور معمول ۱۰۰ پالس erase مورد نیاز است.

نکته: تمامی مکان آدرس ها باید پیش از erase به ۰۰h ، program شده باشند. این عمل، بار را روی تمامی سلول های حافظه برابر می کند و erase قابل اطمینانی را ایجاد می کند.

Flashrite programming sequence

Program setup

تجهیز بایت به بایت program می شود. بایت ها ممکن است به ترتیب یا به صورت رندوم program شوند. Program setup اولین مرحله از فرمان program در سیکلی است که تجهیز را برای byte programming آماده می کند. عملیات program setup با نوشتن ۴۰h بر رجیستر فرمان عمل می کند.

Program

تنها پس از تکمیل عملیات program setup، پالس بعدی WE# عملیات programming فعال را شروع می کند. آدرس و داده مناسب برای program کردن باید روی پالس WE# دوم در دسترس باشد.

آدرس و داده به طور داخلی به ترتیب روی لبه های falling و rising پالس WE#، latch می شوند. لبه rising از WE# همچنین عملیات programming را شروع می کند. فرمان program verify باید برای پایان دادن به عملیات programming نوشته شود. این دو مرحله متوالی فرمانهای setup و program به ایجاد اطمینان از این که محتویات به طور تصادفی نوشته نمی شوند کمک می کند. همچنین programming تنها زمانی می تواند رخ دهد که ولتاژ بالایی به پین Vpp اعمال شود و تمامی پین های کنترل در حالت مناسب خود باشند. در غیاب این ولتاژ بالا، محتویات حافظه قابل program کردن نیستند.

Program verify command

به دنبال هر عملیات program، بایتی که تازه program شده باید آزموده شود. C0h باید روی رجیستر فرمان نوشته شود تا عملیات program verify شروع شود. لبه rising این پالس WE عملیات programming را پایان میدهد. عملیات program verify ، تجهیز را برای آزمودن آخرین بایت program شده آماده میکند. آدرس ها پیشتر latch شده اند. اطلاعات جدیدی مورد نیاز نیست.

Margin verify

در حین عملیات program verify، تجهیز یک ولتاژ مرزی تولید شده داخلی را به بایت آدرس داده شده، اعمال می کند. یک سیکل read میکروپروسسور نرمال داده را به خروجی می دهد. یک مقایسه موفقیت آمیز بین بایت program شده  و داده صحیح، بیانگر program شده صحیح بایت خواهد بود. داده program شده اصلی باید برای مقایسه ذخیره شود. Program کردن آنگاه به مکان بایت مورد نظر بعدی ادامه می یابد. چنانچه آزمون بایت تایید نشود reprogram انجام می شود. شکل ۳ و جدول ۵ بیانگر چگونگی ترکیب دستورالعمل ها با عملیات bus برای اجرای programming بایت است. به مختصات AC programming شکل موج پارامترهای timing مخصوص مراجعه شود.

Flashrite programming algorithm

الگوریتم flashrite programming از یک جریان لوپ بسته interactive برای program کردن داده به صورت بایت به بایت استفاده می کند. بایت ها ممکن است به ترتیب یا به صورت رندوم program شوند. الگوریتم flashrite program از پالس های programming 10µs استفاده می کند. هر عملیات با یک آزمون بایت جهت تعیین زمان program شدن موفقیت آمیز بایت آدرس داده شده، دنبال می شود. الگوریتم program تا ۲۵ عملیات program را در هر بایت در هر سیکل reprogramming امکان پذیر می کند. اکثر بایت ها پس از نخستین یا دومین پالس تشخیص داده می شوند. مراحل کلی program کردن و آزمون بایت توسط ولتاژ بالای اعمال شده به پین Vpp اجرا می گردد. شکل۳ و جدول ۵ نمایانگر الگوریتم programming هستند.

Analysis of program timing waveforms

Program setup/program

فرمان های write دو سیکلی برای عملیات program مورد نیاز است ( بخش های A و B). اولین فرمان program (40h) یک فرمان setup است و بر داده آرایه اثری ندارد (بخش A). فرمان program دوم آدرس و داده مورد نیاز برای program را به ترتیب روی لبه های falling و rising از WE#، latch می کنند (بخش B). لبه rising از پالس WE# (بخش B) همچنین پالس programming را آغاز می کند. تجهیز به طور بایت به بایت به ترتیب یا به صورت رندوم program می شود. پالس program در بخش C رخ می دهد.

Time-out

یک timing-routine سخت افزاری (مدت ۱۰µs) باید روی لبه rising پالس WE# از بخش B آغاز شود.

نکته: یک تایمر توقف پیوسته از هر گونه امکان overprogramming با محدود کردن هر دوره time- out به میزان ۱۰Ms جلوگیری می کند.

Program verify

پس از تکمیل program timing routine، میکروپروسسور باید فرمان program verify را (C0h) بنویسد. این فرمان عملیات programming را روی لبه rising پالس WE# پایان می دهد (بخش D). فرمان prigram verify همچنین تجهیز را برای آزمودن داده آماده می کند (بخش F). یک routine timing سخت افزاری دیگر (مدت ۶Ms) باید برای امکان دادن براب ایجاد ولتاژهای داخلی برای چک کردن مرز و عملیات read اجرا شود (بخش E).

در هنگام آزمودن program (بخش F) هر با یتی که program شده برای مقایسه داده آرایه با داده program اصلی خوانده می شود. پس از آزمون موفقیت آمیز، آدرس مورد نظر بعدی program می شود. چنانچه بایتی در آزمون تایید نشود بایت reprogram می شود (بخش های A تا F تکرار می شومد). هر دوره تغییر داده به تجهیز اجازه می ده که تا ۲۵ بار پالس program در هر بایت را استفاده کند. به طور معمول بایت ها رد یک یا دو پالس آزموده می شوند.

اطلاعات فایل
  • موضوع : مقاله درباره Universal Serial Bus) USB)
  • قیمت : رایگان تومان

درباره ی MrDoc.ir

فروشگاه مسترداک دات آی آر شامل پایان نامه های آماده رایگان و غیر رایگان از رشته های فنی و مهندسی، علوم پایه و انسانی و پزشکی که کاملا تایپ شده و موضوعات متفرقه از تمام رشته های تحصیلی برای دانشجویان عزیز ارائه می دهد، که ارزش واقعی فایل ها بیشتر از قیمت آن است. آدرس شرکت: اصفهان - خیابان لاله شمالی - شرکت سامان گستر 03135673766

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *