خانه - اینترنت
برنامه نویسی NAND FLASH برنامه نویس جهانی TNM5000 برنامه نویس هایی که از فلاش ناند پشتیبانی می کنند

2017-05-25 آخرین تاریخ اصلاح: 2018-10-10

مقاله بحث می کند: ویژگی های استفاده از ریز مدارها NAND فلاش، روش هایی برای صفحه آرایی و مدیریت بد بلوک. توصیه هایی برای برنامه نویسی با استفاده از برنامه نویس.

فهرست:

1. تئوری

1.1. تفاوت بین تراشه های NAND FLASH و تراشه های معمولی

اگر به پیچیدگی‌های فناوری نپردازید، تفاوت بین ریز مدارها وجود دارد NANDاز دیگر تراشه های حافظه به شرح زیر است:

  • ریز مدارها NANDبسیار دارند حجم زیاد.
  • ریز مدارها NANDمی تواند داشته باشد بلوک های بد (بد)..
  • اندازه صفحهسوابق توان 2 نیست .
  • نوشتن روی تراشهانجام شد فقط صفحات , پاک کردن - حداقل در بلوک ها .

چند تفاوت دیگر وجود دارد، اما دو ویژگی اول کلیدی هستند. بیشترین مشکلات را ایجاد می کند وجود بلوک های بد.

1.2. سازماندهی تراشه های NAND FLASH

جزئیات بیشتر در مورد سازماندهی و ساختار میکرو مدارها NANDرا می توان در ادبیات تخصصی خواند، اما توجه داریم که:

  • ریز مدارها NANDسازماندهی شده در صفحات (صفحات)، صفحات در بلوک ها (بلوک ها)، بلوک در ماژول های منطقی (لون).
  • اندازه صفحه NAND مضرب 2 نیست.
  • صفحه شامل پایه ایو یدکی (یدکی) مناطق.

به گفته توسعه دهندگان NAND Vمنطقه اصلیباید قرار گیرد خود داده ها، آ در منطقه یدکی (رزرو). - نشانگرهای بلوک بد, چک جمع هامنطقه اصلی، دیگر اطلاعات خدمات.

اگر صحبت می کنند اندازه صفحهتراشه های NAND 512 بایت یا 2Kبایت، پس ما در مورد آن صحبت می کنیم اندازه منطقه اصلیصفحات، به استثنای یدکی.

1.3. راه های استفاده از صفحه یدکی

یک بار دیگر یادآوری می کنیم که طبق برنامه های توسعه دهندگان تراشه های NAND در قسمت یدکی بایدواقع شده: نشانگرهای بلوک بد, چک جمع هاناحیه اصلی داده، دیگراطلاعات خدمات

بیشتر توسعه دهندگان فقط توضیح می دهند محلنشانگرهای بلوک بددر ریز مدارهای عرضه شده برای سایر جنبه‌های استفاده از فضای یدکی، توصیه‌های کلی و الگوریتمی برای محاسبه ECC، معمولاً مطابق با Haming ارائه می‌شود. سامسونگ کمی فراتر رفته و توصیه هایی را به نام " فضای یدکی حافظه فلش NAND. استاندارد هدف "("NAND Flash Spare Area. Assignment Standard"، 27. آوریل. 2005، بخش حافظه، Samsung Electronics Co., Ltd).

بنابراین، این استاندارد استفاده زیر را از قسمت یدکی پیشنهاد می کند:

برای تراشه هایی با اندازه صفحه 2048+64 بایتقسمت های اصلی و یدکی صفحه به 4 بخش (بخش) تقسیم می شوند:

منطقهاندازه (بایت)قطعه
اصلی512 بخش 1
512 بخش 2
512 بخش 3
512 بخش 4
یدکی16 بخش 1
16 بخش 2
16 بخش 3
16 بخش 4

هر قطعهمنطقه اصلی آنها مطابقت دارد قطعه منطقه یدکی.

استفاده از یک قسمت اضافی (برای هر یک از چهار قطعه)
برای تراشه های با اندازه صفحه 2048+64 بایت:
جانبداری
(بایت)
اندازه
(بایت)
هدفشرح
نشانگر بلوک بد
رزرو شده است
شماره بخش منطقی
برای شماره بخش رزرو شده است
رزرو شده است
کد ECC برای منطقه صفحه اصلی
کد ECC برای شماره بخش منطقی
رزرو شده است

اما این تنها "استاندارد" برای تخصیص حافظه صفحه نیست، فقط ما چندین ده مورد از آنها را می شناسیم، به عنوان مثال:

  • "مدیریت NAND FLASH تحت WinCE 5.0 "، NXP؛
  • "مدیریت بلوک بد برای NAND Flash با استفاده از NX2LP "، 15 دسامبر 2006، نیمه هادی سرو;
  • "مدیریت بلوک بد OLPC NAND "، OLPC.

1.4. تصویر NAND و تصویر باینری

ممکن است مواجه شوید دو گزینهتصویر برای ضبط:

  1. فایل باینری نشکستهبه صفحات و بدون منطقه یدکی.
    این گزینه در صورتی امکان پذیر است که یک توسعه دهنده دستگاه باشید NANDیا چنین فایلی را از توسعه دهنده دریافت کرده است. این تصویر برای نوشتن روی ریزمدارهایی با صفحات با هر اندازه و هر توزیعی از ناحیه یدکی مناسب است، فقط باید بدانید که ناحیه یدکی با چه روشی تشکیل می شود.
  2. یک تصویر خوانده شده از یک ریزمدار دیگر (نمونه)، حاوی یک قسمت اضافی با علامت‌گذاری بلوک‌های خراب، اطلاعات سرویس و کدهای کنترل.
    این تصویر را می توان نوشت فقطبه یک تراشه با دقیقا همین ابعادصفحات و بلوک ها

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

1.5. علامت گذاری کارخانه بلوک های بد

تنها چیزی که کم و بیش استاندارد شده این است علامت گذاری کارخانه بلوک های بد.

  • بلوک های بد مشخص شده اندبر صفحه 0 یا 1برای تراشه هایی با اندازه صفحه کمتر از 4K.
  • برای صفحات 4K و بیشتر، علامت گذاری ممکن است روشن باشد آخرین صفحه مسدود کردن.
  • خودم نشانگر بلوک بددر قسمت اضافی صفحه در بایت 5 برای صفحات کوچک (512 بایت) و در بایت 0 برای صفحات بزرگ (2K) قرار دارد.
  • نشانگر بلوک بدممکن است مهم باشد 0x00یا 0xF0 برای صفحات کوچکو 0x00 برای بیشترایکس.
  • بلوک های زیباهمیشه علامت گذاری شده است 0xFF.
  • در هر صورت معنی متفاوت از 0xFFبرنامه نویس به عنوان نشانگر بلوک بد.
  • به عنوان یک قاعده، در مدرن NAND بلوک بد به طور کامل با مقدار 0x00 پر شده است.

یک مشکل وجود دارد: یک بلوک بد را می توان پاک کرد. به این ترتیب می توانید اطلاعات مربوط به بلوک های تراشه بد را از دست بدهید.

با این حال، اگر میکرو مدار قبلاً در دستگاه کار کرده است، این روش علامت گذاری بلوک های بد همیشه استفاده نمی شود. گاهی اوقات حتی اطلاعات بلوک بد در حافظه NAND ذخیره نمی شود. اما، اغلب، حتی اگر توسعه‌دهنده نرم‌افزار دستگاه از طرح متفاوتی برای مدیریت بلوک‌های بد استفاده کند، ترجیح می‌دهد علامت‌های کارخانه را پاک نکند.

1.6. مدیریت بلاک بد

توسعه دهندگان NANDریز مدارها پیشنهاد می کنند از طرح های کنترل بلوک بد زیر استفاده کنند:

  • عبوربلوک های بد
  • استفاده یدکیمنطقه

همچنین، روش‌هایی برای مدیریت بلوک‌های بد گاهی اوقات شامل استفاده از آن می‌شود تصحیح خطا(ECC). لازم به ذکر است که استفاده از تصحیح خطای واحد، خطاهای متعدد را از بین نمی برد و همچنان شما را مجبور به استفاده از یکی از طرح های فوق می کند. علاوه بر این، اکثریت NANDتراشه ها دارای یک منطقه بدون عیب تضمین شده هستند که بلوک های بد در آن ظاهر نمی شوند. ناحیه بدون خرابی معمولاً در ابتدای تراشه قرار دارد.

این روش ها برای مدیریت بلوک های بد به خوبی در مستندات فنی سازندگان توضیح داده شده است NANDو به طور گسترده در ادبیات در مورد استفاده مورد بحث قرار گرفته است NAND. با این حال، اجازه دهید به طور خلاصه ماهیت آنها را یادآور شویم:

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

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

2. تمرین کنید

2.1. اسکن بلوک های بد تراشه NAND

برنامه نویس چیپ استاربه شما اجازه می دهد تا به سرعت ریز مدار را اسکن کنید NANDبرای وجود بلوک های بد مطابق با علامت گذاری کارخانه بلوک های بد.

انتخاب آیتم منو " تراشه| به دنبال بلوک های بد باشید "، تراشه برای بلوک های بد بررسی می شود. نتیجه به شکل جدول نشان داده شده است.

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

2.2. بلوک های بد در تصویر NAND

هنگام خواندن تصویری از یک تراشه NAND، برنامه نویس علاوه بر این اطلاعات مربوط به صفحه و اندازه بلوک تراشه را ذخیره می کند. اطلاعات در یک فایل جداگانه ذخیره می شود. بنابراین اگر تصویر تراشه را شمارش کرده و در یک فایل ذخیره کرده باشید <имя_файла>nbin برنامه فایل دیگری ایجاد می کند: <имя_файла>.cfs . هنگام باز کردن یک فایل <имя_файла>nbin فایل <имя_файла>.cfs به همین ترتیب خوانده خواهد شد. در پرونده <имя_файла>.cfs اطلاعات مربوط به صفحه و اندازه بلوک تراشه ثبت می شود. پس از خواندن تراشه یا باز کردن یک فایل مانند nbin ، اسکن پس زمینه تصویر برای وجود بلوک های بد بر اساس اطلاعات مربوط به صفحه و اندازه بلوک انجام می شود.

گزینه ها NANDو اطلاعات مربوط به بلوک های بد را می توانید در "برگه" پیدا کنید NAND"ویرایشگر برنامه نویس:

تصویر باینری NANDدر "برگه" قابل مشاهده است حافظه اصلی ":

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

2.3. پاک کردن NAND

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

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

2.4. تست میکرو مدار برای عدم ضبط

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

2.5. نوشتن تصویر تمام شده روی تراشه

سوزاندن یک تصویر NANDدر میکرو مدار کمی با موارد معمولی متفاوت است فلاشریز مدارها اول از همه، آنها باید مطابقت داشته باشند اندازه های صفحهتراشه تصویر و هدف اگر از کنترل استفاده می شود بلوک های بد باید مطابقت داشته باشند اندازه های بلوکتصویر و میکرو مدار

نرم افزار برای همه برنامه نویسان چیپ استارپشتیبانی می کند سه روش برای مدیریت بلوک های بدابزارهای داخلی و تعداد نامحدودی با استفاده از افزونه ها. علاوه بر این، می توانید تعداد بلوک های قابل نوشتن را در ابتدای تراشه تنظیم کنید که در واقع همینطور است چهارمروشی برای مدیریت بلوک های بد

روش 1: نادیده گرفتن بلوک های بد

کپی کردن ساده، نادیده گرفتن بلوک های بد (بلاک های بد به همان روشی نوشته می شوند که معمولی هستند).

تصویر اصلی تراشه
(وضعیت اولیه)
تراشه
(نتیجه)
بلوک 0
خوب
مسدود کردن
تمیز
بلوک 0
خوب
بلوک 1
بد
مسدود کردن
تمیز
بلوک 1
نادرست
بلوک 2
خوب
مسدود کردن
تمیز
بلوک 2
خوب
بلوک 3
خوب
مسدود کردن
بد
بلوک 3
معیوب
بلوک 4
خوب
مسدود کردن
تمیز
بلوک 4
خوب
مرز ثبت
بلوک 5
خوب
مسدود کردن
تمیز
مسدود کردن
تمیز

بهترین گزینه برای کپی کردن تراشه های NANDبدون پرداختن به ساختار درونی آن، به شرطی که تراشه نوشته شود حاوی بلوک های بد نیست . اگر در تصویر اصلی است بلوک های بدی وجود داشت ، در نهایت شکل می گیرد بلوک های بد کاذب . ظاهر بلوک های بد کاذب بر عملکرد دستگاه تأثیر نمی گذارد. با این حال، اگر تراشه از قبل دارای بلوک های بد باشد، وقتی می خواهید روی چنین تراشه ای بنویسید، بلوک های بد با عواقب غیرقابل پیش بینی ظاهر می شوند. نکته: می توانید سعی کنید کل تراشه، از جمله بلوک های بد را پاک کنید، سپس آن را کپی کنید. اگر نوشتن در یک بلوک بد با موفقیت انجام شود (اغلب این اتفاق می افتد)، دستگاه شما به درستی کار می کند؛ در آینده، نرم افزار دستگاه بلوک بد را شناسایی کرده و مطابق با الگوریتم عملکرد خود، آن را با یک بلوک خوب جایگزین می کند.

روش 2: دور زدن بلوک های بد

تصویر اصلی تراشه
(وضعیت اولیه)
تراشه
(نتیجه)
بلوک 0
خوب
مسدود کردن
تمیز
بلوک 0
خوب
بلوک 1
بد
مسدود کردن
تمیز
مسدود کردن
تمیز
بلوک 2
خوب
مسدود کردن
تمیز
بلوک 2
خوب
بلوک 3
خوب
مسدود کردن
بد
مسدود کردن
بد
بلوک 4
خوب
مسدود کردن
تمیز
بلوک 4
خوب
مرز ثبت
بلوک 5
خوب
مسدود کردن
تمیز
مسدود کردن
تمیز

هنگام دور زدن بلوک های بد بلوک های بد از تصویر منبع نوشته نشده استو اطلاعات روی بلوک های تراشه بد نوشته نمی شود. این بهترین سیاست کپی نیست، اما در برابر بلوک های تراشه بد ایمن است: هیچ اطلاعاتی گم نمی شوددر مورد بلوک های تراشه بد و بلوک های بد کاذب ظاهر نمی شوند. در برخی موارد، چنین سیاست کپی می تواند به بازیابی عملکرد یک دستگاه ناشناخته کمک کند.

روش 3: از بلوک های بد بگذرید

تصویر اصلی تراشه
(وضعیت اولیه)
تراشه
(نتیجه)
بلوک 0
خوب
مسدود کردن
تمیز
بلوک 0
خوب
بلوک 1
بد

مسدود کردن
تمیز
بلوک 2
خوب
بلوک 2
خوب
مسدود کردن
تمیز
بلوک 3
خوب
بلوک 3
خوب
مسدود کردن
بد
مسدود کردن
بد
بلوک 4
خوب
مسدود کردن
تمیز
بلوک 4
خوب
مرز ثبت
بلوک 5
خوب
مسدود کردن
تمیز
مسدود کردن
تمیز

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

روش 4: فقط ناحیه تضمین شده بدون خرابی را بنویسید

تصویر اصلی تراشه
(وضعیت اولیه)
تراشه
(نتیجه)
بلوک 0
خوب
مسدود کردن
تمیز
بلوک 0
خوب
بلوک 2
خوب
مسدود کردن
تمیز
بلوک 1
خوب
مرز ثبت
مسدود کردن
بد
مسدود کردن
تمیز
مسدود کردن
تمیز
بلوک 3
خوب
مسدود کردن
بد
مسدود کردن
بد
بلوک 4
خوب
مسدود کردن
تمیز
مسدود کردن
تمیز
بلوک 5
خوب

مسدود کردن
تمیز

مسدود کردن
تمیز

در اکثر مدرن ها NANDریز مدارها، اولین بلوک (حداقل یکی) تضمین می شود که هیچ خرابی نداشته باشد. در بسیاری از دستگاه ها کد بوت لودر در ابتدای تراشه و سیستم عاملدستگاه ها کپی کردن فقط این قسمت ها اغلب کافی است.

در گفتگوی تنظیمات حالت ضبط، اندازه ضبط را در بلوک ها مشخص کنید.

راه های دیگر برای مدیریت بلوک های بد

نرم افزار برنامه نویسان ChipStarاز هر گونه الگوریتم مدیریت بلوک بد پشتیبانی می کند NANDبا استفاده از پلاگین های خارجی در حضور پلاگین های نصب شدهتوضیحات روش های اضافی در لیست ظاهر می شود " مدیریت بلوک های بد NAND می توانید پارامترهای روش انتخاب شده را با کلیک کردن روی دکمه " پیکربندی کنید افزونه خارجی ".

استفاده از کدهای تصحیح خطا (ECC)

استفاده از کدهای تصحیح خطا اجازه می دهد بازیابی خطاهای منفرددر صفحه NAND

الگوریتم های مختلفی را می توان برای بازیابی خطاهای منفرد در بخش استفاده کرد. بسته به الگوریتم ECC، تعداد متفاوتی از خطاها در هر بخش (512+16 بایت) قابل بازیابی است. تحت عنوان " تنها " فهمیده می شود خطا فقط در یک بیتداده ها. برای NAND با اندازه صفحه 512+16 بایت، مفهوم " بخش" و " صفحه" مطابقت دادن برای NAND با اندازه‌های صفحه بزرگ، برنامه‌نویس ChipStar از یک طرح صفحه‌آرایی بخش استفاده می‌کند که توضیح داده شد. در تنظیمات ضبط یا تأیید، می توانید تعیین کنید که الگوریتم مورد استفاده در دستگاه شما چند خطا را در هر بخش تصحیح کند. بر این اساس، ریز مدارهای با تعداد خطای قابل قبول رد نمی شوند؛ اطلاعات مربوط به تعداد خطاهای قابل تصحیح در پنجره آمار نمایش داده می شود:

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

هنگام اضافه کردن مستقلریز مدارها:

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

برای ریز مدارهای جدید NANDتولید سامسونگمقدار تعداد مجاز خطا در هر بخش به عنوان بخشی از شناسه تراشه کدگذاری می شود. بنابراین، برای چنین ریز مدارهایی تعداد خطاهای مجاز در هر بخش نیز به درستی تنظیم می شود.

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

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

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

الگوریتم تشخیص خطای آماری به صورت زیر عمل می کند:

  1. صفحه NAND چندین بار پشت سر هم خوانده می شود (حداقل سه بار).
  2. داده های خوانده شده بایت به بایت مقایسه می شوند.
  3. اگر هیچ خطای مقایسه ای تشخیص داده نشود، صفحه بدون خطا در نظر گرفته می شود.
  4. اگر در حین مقایسه خطاهایی تشخیص داده شود، صفحه چندین بار دیگر خوانده می شود.
  5. برای هر خطا، تعداد دفعات خوانده شده شمارش می شود. واحدهاو صفرها.
  6. مقدار صحیح ("0" یا "1") در نظر گرفته می شود که تعداد بیشتری از آنها وجود دارد.

اگر احتمال خطا در یک بیت خاص از ریز مدار کمتر از 0.5 باشد، الگوریتم به خوبی کار می کند. هنگام خواندن یک ریز مدار، خطاهای "تصحیح" و احتمال خواندن صحیح محاسبه می شود.

2.6. تبدیل تصویر باینری به تصویر NAND

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

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

اگر نیاز به پیاده سازی دارید گزینه توزیع مختلف - به ما اطلاع دهید و ما افزونه مناسب را آماده می کنیم یا خودتان می توانید افزونه مورد نیاز را پیاده سازی کنید.

2.7. سازگار با تصاویر NAND خوانده شده توسط برنامه نویسان دیگر

اگر تو داری تصویر NAND، باید توسط برنامه نویس دیگری خوانده شود یا از منبع دیگری دریافت شود تبدیلبه فرمت مناسب برای ضبط برنامه نویس ChipStar.

برای انجام این کار؛ این موارد را دنبال کنید:

  • فایل خود را باز کنید، آیتم منو را انتخاب کنید " ویرایش|حالت ویرایشگر NAND را تغییر دهید یک دیالوگ مانند شکل بالا ظاهر می شود.
  • حالت تبدیل را به فرمت تنظیم کنید NAND: "تصویر از قبل NAND است... "، نشان می دهد اندازه صفحهو مسدود کردن NANDیا تراشه مورد نیاز را انتخاب کنید. کلیک " ادامه هید".
  • یک برگه در ویرایشگر ظاهر می شود " NAND و تصویر شروع به اسکن برای بلوک های بد می کند.
  • فایل حاصل را می توان در قالب ذخیره کرد NAND، فایل پسوند را دریافت می کند nbin پیش فرض

این دستگاه جهانی، برای برنامه نویسی طیف بسیار گسترده ای از ریزمدارها، از تراشه های I2c و MicroWire معمولی گرفته تا Nand Flash چند پایه.
در طول سال‌های متمادی رادیو آماتور و اشتیاق به الکترونیک، تعداد نسبتاً زیادی از این دستگاه‌های خانگی را جمع‌آوری کرده‌ام که برای کارهای خاص و صرفاً به خاطر خود فرآیند مونتاژ شده‌اند. با ظهور دامنه فزاینده ریز مدارها و افزایش ظرفیت آنها، مجبور شدم یک دستگاه کارخانه ای به نام MiniPro TL-866 را خریداری کنم.
دستگاه واقعاً بسیار زیبا است، سال‌هاست که صادقانه کار می‌کند، اما عدم کنترل تماس، محدودیت‌های سخت‌افزاری و در نتیجه ناتوانی در کار با تراشه‌های مدرن، مرا مجبور کرد که توجهم را به سمت گران‌تر و گران‌تر معطوف کنم. دستگاه های کاربردی بررسی سریع بازار چنین دستگاه هایی منجر به این شد که دو دستگاه به وضوح نیازهای من را برآورده می کنند: ChipProg-48(1) روسی و TNM5000 ایرانی. مورد دوم با عملکرد قابل مقایسه بیش از 2 برابر ارزان تر بود و پس از مدتی متقاعد کردن، وزغ من که هوشیاری خود را در انتخاب هدیه برای عزیزش برای تولدش از دست داده بود، نتوانست با دلیل استدلال کند. .
سفارش در صفحه رسمی فروشنده در Aliexpress انجام شد، تحویل توسط پست سنگاپور انتخاب شد و پرداخت انجام شد. در روند مکاتبات بیشتر با فروشنده ، که اتفاقاً بسیار اجتماعی است ، معلوم شد که ترجیحاً با پیک SPSR ارسال می کند. این سریعتر است، اما اطلاعات گذرنامه اضافی برای گمرک مورد نیاز است که باعث نگرانی هایی شده است، زیرا ... این بسته توسط یک غیر شهروند فدراسیون روسیه ملاقات شد. ما در مورد هوای معمولی روسیه توافق کردیم، فروشنده تفاوت زیادی در تحویل را با آداپتور SSOP34 جبران کرد.
با وجود همه نگرانی ها، تحویل سریع و بدون دردسر بود.
بنابراین برنامه نویس ایرانی از چین به روسیه فرستاده شد و توسط یک شهروند جمهوری بلاروس مقیم مسکو که آموزش دیده بود و به بلاروس منتقل شد. ثبت نام موقت. چنین طرح پیچیده ای به جلوگیری از پرداخت عوارض کمک کرد پیوست های ایمیلهزینه بیش از 20 یورو، برای کالاهایی که از مرز گمرکی جمهوری بلاروس عبور می کنند.


عکس خود برنامه نویس را نشان می دهد، کابل یو اس بیبرای اتصال به کامپیوتر، یک مکنده خلاء برای انتقال تراشه های کوچک، یک کابل برای برنامه نویسی در مدار، یک تراشه NAND Flash جایزه K9GAG08U0E-SCB0 و یک آداپتور SSOP34 با کیفیت بسیار بالا. سی دی به همراه نرم افزار و دستورالعمل داخل عکس نبود، داخل جعبه فراموشش کردم.


جعبه به طور غیرمنتظره‌ای بزرگ‌تر از آن چیزی بود که من تصور می‌کردم، محتویات آن با توضیحات مطابقت داشت.
برای مقایسه، در اینجا یک عکس با TL-866 محبوب است.








به هر حال، برچسب قیمت فروشنده برای آداپتورها به سادگی ظالمانه است، من آداپتور TSOP48-DIP48 را که به آن نیاز داشتم از فروشنده دیگری چند برابر ارزان تر، با کیفیت عالی خریداری کردم و حتی به نظر می رسد پنل از YAMAICHI ژاپنی باشد.




بدنه برنامه نویس از پلاستیک نسبتاً باکیفیت تیره رنگ، بدون فرز، فلاش یا سایر ویژگی های یک مجموعه نیمه زیرزمین ساخته شده است. در یک طرف کیس، یک کانکتور برنامه نویسی 10 پین در مدار وجود دارد، این یک IDC10 استاندارد است. در بالا، یک سوکت DIP 48 پین از ARIES. عجیب است که بر خلاف سایر سوکت ها، با قدرت به حالت باز آورده می شود و به حالت "تراشه ای وارد شده، گیره و آماده برای کار است" به خودی خود به حالت آورده می شود، این حالت پیش فرض آن است. در بالای کیس نیز یک نشانگر فعالیت و یک برچسب با مدل برنامه نویس وجود دارد.


در طرف دیگر، یک USB-B استاندارد برای اتصال به رایانه شخصی و یک کانکتور برای انرژی اضافی وجود دارد، با طراحی ناشناخته برای من، که با دقت با یک برچسب هشدار پوشانده شده است.


در پایین قاب یک برچسب حاوی اطلاعات، برچسب گارانتی روی پیچ و پایه های لاستیکی وجود دارد.


برنامه نویس یک سال ضمانت دارد که بعید است بتوانم از آن استفاده کنم، اما فقط در صورتی که آن را جدا نکنم؛ از عکس مالک دیگری که جسورتر است استفاده خواهیم کرد.






در اینجا توضیحات برنامه نویس به زبان روسی است، من نیز کمی سرقت ادبی می کنم:

اطلاعات تکمیلی

حافظه فلش (موازی / ناند / سریال)، EPROM، EEPROM، سریال EEPROM، میکروکنترلرها، RAM غیر فرار، FRAM، CPLD، PLD، FPGA).
پنل ZIF 48 پین با کیفیت بالا و کانکتور ISP/JTAG 10 پین.
USB 2.0 با سرعت بالا
برنامه نویسی 1 گیگابیت Nand Flash در کمتر از 50 ثانیه
تجزیه و تحلیل ریزمدارهای NAND برای وجود بلوک های بد، می تواند هنگام نوشتن، هنگام خواندن، آنها را نادیده بگیرد.
تشخیص خودکار تمام فلش مموری/میکروکنترلرها با شناسه دستگاه.
نرم افزار کاربر پسند برای ویندوز XP/VISTA/7/8 (32.64 بیت).
عملکرد تست کنتاکت های میکرو مدار عرضه شده (Pin Test)!
اگر آی سی را بد وارد بلوک کرده اید یا پایانه های آن کثیف است، نرم افزار برنامه نویس این را گزارش می دهد و شماره این مخاطب را نشان می دهد!
هزینه پایین واحد اصلی و آداپتورهای بودجه.
یک آداپتور TSOP 32/40/48 برای تمام حافظه های فلش.
یک آداپتور TSOP56 برای تمام حافظه های فلش 56 پین.
ویژگی های ویژه ای که به طور قابل توجهی قابلیت های برنامه نویس را گسترش می دهد؛ ما چندین برنامه نویس را در یک برنامه دریافت می کنیم:
شبیه سازی کامل Altera USB-Blaster برای نرم افزار Quartus-II.
شبیه سازی پورت سریال کامل
پشتیبانی از میکروکنترلر ECU، ایموبلیزر و داشبورد خودرو.
برنامه نویس فلش TopJTAG، پروب TopJTAG.
قلب برنامه نویس TNM 5000 یک FPGA 500.0000 Gate با یک هسته CPU طراحی شده با ساعت 96 مگاهرتز برای برنامه ریزی سریع ریز مدارها است.
کار با ناحیه OTP تراشه های EN25F16، EN25F80، EN25Q16، EN25Q32، EN25Q64... خواندن... ذخیره... ویرایش... برنامه نویسی ناحیه OTP تراشه ها.
فلاش موازی تا 56 پین:
از انواع مختلف بسته ها (PLCC، TSOP1، TSOP2، VSOP و…) پشتیبانی می کند. تمام فلاش ها به طور خودکار توسط نرم افزار قابل شناسایی هستند. با استفاده از یک آداپتور برای تمام فلاش های TSOP 32-48 پین، کاربر فقط به 1 آداپتور برای بیش از 2000 تراشه فلش نیاز دارد.
حافظه های فلش NAND:
برنامه نویس دارای نرم افزار Nand+ اضافی است که به طور خاص برای NAND Flash طراحی شده است. نرم افزار Nand+ دارای یکی از جامع ترین لیست های NAND Flash Memories با الگوریتم تصحیح داده های بد در MLC NAND می باشد. TNM5000 یکی از سریع ترین برنامه نویسان Nand در جهان با سرعت خواندن و نوشتن تا 8 مگابایت بر ثانیه است. همه Nand را می توان به طور خودکار توسط نرم افزار شناسایی کرد.
فلش مموری سریال:
تمام فلاش SPI سریال 8-16 پین توسط برنامه نویس پشتیبانی می شود. تمام SPI های فلش را می توان به طور خودکار توسط نرم افزار شناسایی کرد. فلش SPI را با حداکثر سرعت مطمئن 6-7 مگابیت بر ثانیه می خواند و برنامه ریزی می کند. همچنین حفاظت را حذف می‌کند، با محافظ نوشتن قبل از نوشتن داده چشمک می‌زند.
میکروکنترلرها:
ATMEL: همه تراشه های AVR 8 بیتی (ATMEGA/ATTINY/AT90S) روی سوکت ZIF و کابل ISP پشتیبانی می شوند. برنامه نویسی AVR تا 64 پین پشتیبانی می شود. سری جدید معرفی شده ATXMEGA و روش PDI و JTAG پشتیبانی می شوند. سری های قدیمی C51 و سری های تک چرخه جدید C51 به طور کامل پشتیبانی می شوند. همه سری ها به صورت خودکار شناسایی می شوند. ARM7 از برنامه نویسی JTAG پشتیبانی می کند.
PIC ریزتراشه:
یکی از مهمترین لیست کاملدستگاه‌هایی برای میکروکنترلرهای ریزتراشه PIC شامل تمام سری‌های PIC12F/PIC12C/PIC16C/PIC16F/PIC18F/DPIC33F/J&K. دستگاه های تا 40 پین را می توان در سوکت ZIF برنامه ریزی کرد، تمام PIC ها را می توان به طور خودکار شناسایی و با کابل ISP برنامه ریزی کرد.
علاوه بر این:
برنامه های MIO KB9012، ST، SST، Philips (NXP)، Motorola، Syncmos، Silicon Lab، ICSI، Infineon، Intel، Winbond و…
میکروکنترلرهای خودرو:
پشتیبانی از کابل ISP سری ST10F و TMS370 برای بسیاری از ECU های BOSCH/VALEO/SAGEM (پشتیبانی کامل از ST10F از لیست دستگاه های برنامه نویس XPROG-m). پشتیبانی از Siemense & Infineon SAK - C167 متصل به فلاش 44 یا 48 پین (ECU Siemense / BOSCH / SAGEM S2000)، مانند برنامه نویس HSE FlashHit. پشتیبانی از دستگاه های NEC و موتورولا برای داشبورد. از Motorola/FreeScale MC68HC11KA4/MC68HC11A8 پشتیبانی می کند. پشتیبانی از فیوز OTP سری MC68HC908 اضافه شده است. خانواده Infineon Tricore Audo-NG (نسل بعدی) TC1796 TC1766 با پشتیبانی از فلاش خارجی 32 بیتی (S29CD032 - S29CD016) در ECU های جدید بوش. برنامه نویسی Motorola MPC562 MPC561 BDM برای فلاش خارجی و EEPROM خارجی در ECU های EDC (Bosch & Sim2K). سری موتورولا HC9S12DG64 / HC9S12DG128 / HC9S12DG256 / HC9S12DG512 با قابلیت بای پس امنیتی.
PLD/CPLD/FPGA:
پشتیبانی از تمامی دستگاه های ALTERA JTAG از طریق شبیه سازی برنامه نویس Altera USB Blaster در نرم افزار Quartus. پشتیبانی از Xilinx CPLD/FPGA با فایل jed. پیکربندی سریع Xilinx FPGA با فایل بیت. پشتیبانی از دستگاه های GAL/Palce با یک گزینه ویژه برای باز کردن قفل Palce.
نرم افزار چند زبانه (انگلیسی/چینی/عربی/فرانسوی/فارسی/روسی). زبان ها و دستگاه های دیگر را می توان در صورت درخواست مشتری اضافه کرد. می توانید نرم افزار را دانلود کرده و در حالت دمو اجرا کنید تا آن را ارزیابی کنید.


خوب، من نمی توانم صبر کنم تا دستگاه را در عمل آزمایش کنم. تراشه را با دقت در بستر آداپتور قرار دهید، خود آداپتور را در سوکت جهانی برنامه نویس نصب کنید، برنامه نویس را به لپ تاپ وصل کنید، لپ تاپ 32 کار می کند. بیت ویندوز 10 با نرم افزار نصب شده، از قبل از وب سایت سازنده دانلود شده است.




برای کار با برنامه نویس با تراشه های NAND FLASH از یک نرم افزار و برای کار با بقیه انواع تراشه ها از نرم افزار دیگری استفاده می شود.
ما تراشه خود را از لیست انتخاب می کنیم و ...


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


ما می نویسیم، می خوانیم، پاک می کنیم، همه چیز خوب است، برنامه نویس به سرعت در تمام حالت ها کار می کند.
خوب، بیایید به عمل اصلی که برنامه نویس برای آن خریداری شده است، بپردازیم. در محل کار، ما از ده ها نوع صنعتی استفاده می کنیم نقاط وای فای HP MSM-310R.


دستگاه گران است، اما با این وجود، از کار می افتد. گارانتی تمام شده و تعدادی از آنها جمع شده است. در داخل، همانطور که Hewlett-Packard و سایر مارک های سفید مانند آن هستند، یک سازنده خریداری شده به نام Canadian Colubris وجود دارد.


با قضاوت با اطلاعات اندک سازنده و چشمک زدن LED ها، می توان فهمید که مشکل نرم افزاری است. نقطه به سادگی به دلیل خرابی در داخلی بارگذاری نشد سیستم فایلیا تراشه فلش مموری فرسوده. خوب، ما تراشه K9F5608UOD را از نقطه زنده با سشوار جدا می کنیم، آن را می خوانیم و آن را به عقب لحیم می کنیم. ما متوجه می شویم که در کجای قسمت خواندنی پارامترهای پیکربندی وجود دارد که شماره سریال و آدرس MAC دستگاه را توصیف می کند. دو تا از اینها، چند بلوک کیلوبایتی وجود دارد. آنها با یکدیگر یکسان هستند. از نقطه‌ای مرده، تراشه را نیز منفجر می‌کنیم، آن را می‌خوانیم، بلوک‌های شناسایی را در همان آدرس‌ها در محل تخلیه پیدا می‌کنیم، آن را برش می‌دهیم و ذخیره می‌کنیم. ما این بلوک‌ها را در میان‌افزار خوانده‌شده از یک نقطه زنده با بلوک‌های مورد نیاز با سریال‌ها و MAC‌های مرده جایگزین می‌کنیم. چشمک می زند تراشه جدید، که از قبل در Aliexpress خریداری شده است، این سیستم عامل ترکیبی را لحیم کنید و voila، نقطه کار می کند. من خوش شانس بودم، تراشه جدیدی که خریداری کردم از کیفیت بسیار بالایی برخوردار بود و هیچ بلوک بدی از کارخانه وجود نداشت، بنابراین می‌توان Dump را یک به یک، بدون هیچ تغییری نوشت. البته، از نظر روش شناختی درست تر است که به رابط jtag پردازنده نقطه متصل شوید، اما در آن زمان آنها واقعاً خارش داشتند که ناشناخته را امتحان کنند.
و در آخر می خواهم از مینی مسابقات تعدادی از برنامه نویسانم بگویم. آنها را از سطل ها بیرون آوردم، از آنها عکس گرفتم و برای آزمایش آماده کردم.


با Bidipro آشنا شوید، دستگاه خود لحیم کاری که در زمان خود در بین ناوشکن های رادیویی بسیار محبوب بود. اما در نتیجه یک دوره طولانی عدم فعالیت، یک خطای سخت افزاری در جایی به شکل اتصال از دست رفته یا اتصال کوتاه ناشی از پارگی بخیل یک مهندس الکترونیک نوستالژیک رخ می دهد. و علاوه بر این، نرم افزار کنترل به DOS نیاز دارد. در همان ابتدا ترک تحصیل می کند.


دستگاه دوم، یک کلون SEEPROG، یک برنامه نویس تراشه سریال خوب است، سازنده هنوز نرم افزار را به روز می کند.


سومین شرکت کننده، Ezoflash، نسخه ساده شده Willema، نیز قبل از خرید MiniPro به طور فعال مورد استفاده قرار گرفت.


شرکت‌کننده چهارم، TL-866، نیازی به معرفی ندارد.
برخی از تراشه‌ها را می‌خوانیم، پاک می‌کنیم، می‌نویسیم، اگر کیس‌ها DIP نیستند، از مجموعه‌ای از آداپتورهای MiniPro استفاده می‌کنیم. برای Ezoflash - آداپتورهای خودمان، آنهایی که موفق شدیم در میان آوارها پیدا کنیم. فضاهای خالی در جدول به این معنی است که برنامه نویس مربوطه نمی تواند با تراشه تحت آزمایش کار کند.
همچنین از رایانه شخصی دیگری که دارای پورت LPT سخت افزاری است استفاده خواهیم کرد.
پیکربندی کاملاً مدرن است، DualCore اینتل Core i3-4170، 3700 مگاهرتز، 4 گیگابایت رم، مادربردگیگابایت GA-H81M-S2PV، درایو SSD ADATA SP550، ویندوز 7 x32.
نتایج تحقیق در جدولی ارائه خواهد شد که زمان هر حرکت بر حسب ثانیه نشان داده شده است.


یک مزیت در سرعت عملیات اساسی برنامه نویسان USB وجود دارد.
من عملکرد برنامه نویس را در حالت برنامه نویسی در مدار بررسی نکردم - به دلیل عدم علاقه به این قابلیت ها، برنامه ریزی میکروکنترلرها را نیز بررسی نکردم، زیرا من 146% به قابلیت های دستگاه اطمینان دارم.
به طور خلاصه، من می خواهم به نکته اصلی توجه کنم
مزایای این برنامه نویس:
طرز کار،
طیف گسترده ای از تراشه های پشتیبانی شده، لیست به طور مداوم به روز می شود.
آداپتورهای پین 2 پین ارزان برای اکثریت قریب به اتفاق ریزمدارها (به جز SOP44 - DIP40 مبتنی بر تراشه، با قیمت بسیار زشت تقریباً پنجاه دلار)
قیمت مناسب در مقایسه با دستگاه های مشابه با عملکرد مشابه.
ایرادات:هنوز پیداش نکردم
از همه کسانی که تا این لحظه اولین خلاقیت من را در Muska خواندند، متشکرم، پیشاپیش به خاطر زبانمزدگی احتمالی عذرخواهی می کنم، من از Word استفاده نکردم، روسی زبان مادری من نیست.
بله، باز هم می گویم، دستگاه با پول خودم خریداری شده است. من قصد خرید +30 را دارم اضافه کردن به علاقه مندی ها من نقد را دوست داشتم +75 +124

تاریخ 2019-12-30 اخرین بروزرسانیبرنامه ها: 2019-12-30

ژانوس دو رو

ما تصمیم گرفتیم این برنامه نویس را صدا کنیم ژانوس".

چرا اینطور است؟ زیرا در اساطیر رومی ژانوس است دو روخدای درها، ورودی‌ها و خروجی‌ها و همچنین آغاز و پایان. چه ارتباطی؟ چرا برنامه نویس ChipStar-Janus ما دو رو?

در اینجا دلیل آن است:

  • از یک طرف، این برنامه نویس ساده است. به عنوان توزیع شده است پروژه رایگان، ممکن است به راحتی خودتان درست کنید.
  • از سوی دیگر، توسط این شرکت توسعه یافته است مدت زمان طولانی به صورت حرفه ای درگیرتوسعه و تولید انواع تجهیزات الکترونیکی از جمله برنامه نویسان.
  • از یک طرف، این برنامه نویس ساده است، در نگاه اول ویژگی های چندان چشمگیری ندارد.
  • از سوی دیگر، با هم کار می کند برنامه حرفه ای (به هر حال، دقیقاً مانند سایر برنامه نویسان حرفه ای ChipStar).
  • از یک طرف، ما این برنامه نویس را به صورت رایگان ارائه می دهیم رایگانمجامع
  • از یک طرف، ما همچنین آن را به صورت تمام شده مانند یک محصول معمولی می فروشیم.
  • از یک طرف، برنامه نویس خانگی مشمول گارانتی نمی شود (که طبیعی است).
  • از یک طرف، اگر توانستید آن را مونتاژ کنید، می توانید آن را تعمیر کنید و برنامه نویس آنقدر ساده است که در واقع چیزی برای شکستن وجود ندارد.
  • از یک طرف، ساده است در مداربرنامه نویس
  • از یک طرف، از طریق آداپتورهای توسعه ساده از برنامه نویسی پشتیبانی می کند NAND فلاشو سایر ریز مدارها در حال حاضر "در سوکت" هستند.

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

چه چیزی ما را بر آن داشت تا این برنامه نویس را توسعه دهیم.

تنوع زیادی از برنامه نویسان تخصصی ساده مناسب برای خود ساخته.

ارزان قیمت های زیادی وجود دارد برنامه نویسان چینیبه صورت آماده

تعداد کمی وجود دارد تحولات آماتور، اغلب از نظر کیفیت نسبت به دومی برتر است.

به نظر می رسد، کاردستی دیگر چیست؟

ما برای مدت طولانی در حال توسعه، تولید و حمایت از برنامه نویسان جهانی، عمدتاً برای اهداف بوده ایم. ما تجربه گسترده ای در کار با طیف گسترده ای از ریز مدارها داریم. اغلب افرادی با ما تماس می گیرند که قبلاً یکی از "محصولات" ذکر شده در بالا را جمع آوری کرده و اغلب خریداری کرده اند. برای متخصصان ما اغلب غیرممکن است که بدون خنده/اشک/وحشت به طرح‌های مدار، کیفیت ساخت و به‌ویژه نرم‌افزار این دستگاه‌ها نگاه کنند (در صورت لزوم زیر خط بکشید). وقتی یک برنامه نویس «سه کوپک» قیمت دارد، اشکالی ندارد، شما آن را می خرید، برخی کار می کنند، برخی نه، اما پول آن زیاد نیست. اما اغلب نسبت قیمت/قابلیت چنین دستگاه هایی، به بیان ملایم، ما را شگفت زده می کند. من می خواهم فریاد بزنم: آنقدر هزینه ندارد!

علاوه بر همه موارد فوق، دسته خاصی از برنامه نویسان مناسب برای تولید خود وجود دارد - اینها برنامه نویسان (به طور دقیق تر، مدارهای برنامه نویس و نرم افزار) هستند که توسط متخصصان شرکت های تولید کننده ریز مدارها (عمدتاً میکروکنترلرها) توسعه یافته اند. چنین برنامه نویس هایی کاملاً حرفه ای طراحی شده اند؛ هیچ "اشتباهی" در طراحی مدار آنها وجود ندارد. آنها از همه تراشه های اعلام شده پشتیبانی می کنند. اما دو اشکال "کوچک" وجود دارد: لیست ریزمدارهای قابل برنامه ریزی بسیار محدود است (که کاملاً قابل درک است) و نرم افزار بسیار اسپارتانه است - به طور معمول بدون عملکرد غیر ضروری - فقط پاک کردن, بنویس, تایید کنید. اغلب حتی توابع خواندنمیکروچیپ وجود ندارد

پس برنامه نویس ChipStar-Janusدر پیکربندی اولیه یک برنامه نویس درون مدار است. در این حالت از میکروکنترلرها پشتیبانی می کند PICو AVRشرکت ها ریزتراشه، برخی از معماری های میکروکنترلر MCS51، میکروکنترلرهای شرکت STMicroelectronicsو تعدادی دیگر و همچنین تراشه های حافظه سریال با رابط I2C(اغلب قسمت 24). می توانید آداپتورهای ساده را به کانکتور توسعه برنامه نویس متصل کنید و برنامه نویسی تراشه های حافظه را "در سوکت" شروع کنید.

اکنون برنامه نویسی "در سوکت" اجرا می شود:

  1. EPROM) با رابط I2C(سلسله 24xx);
  2. تراشه های فلش مموری سریال (سریال فلاش) با رابط SPI (SPI Flash);
  3. تراشه های حافظه سریال (سریال EPROM) با رابط M.W. (سری 93xx);
  4. ریز مدارها NAND FLASH;

برنامه نویس و نرم افزار از فناوری افزودن مستقل ریز مدارها در سه کلیک پشتیبانی می کند. افزودن ریز مدارها تاکنون اجرا شده است NANDو I2C. در آینده بسیار نزدیک برنامه ریزی شده است که این فناوری برای تراشه های MW ( سری 93xx) و AVR. بنابراین، شما نه تنها یک برنامه نویس، بلکه ابزار قدرتمندبرای کار مستقل.

سه راه برای دریافت برنامه نویس ChipStar-Janus

روش اول:
برنامه نویس را خودتان به طور کامل مونتاژ کنید

این روش برای کسانی مناسب است که زمان، تجربه و تمایل دارند اما منابع مالی محدودی دارند. یا فقط کنجکاو

الگوریتم اقدامات:

روش دوم:
با خرید یک برد مدار چاپی آماده و یک میکروکنترلر سیستم عامل، برنامه نویس را خودتان مونتاژ کنید.

روش مشابه روش قبلی است، فقط شما خود را از سخت ترین عملیات نجات خواهید داد: ساخت بردهای مدار چاپی و فلش کردن سیستم عامل میکروکنترلر بدون برنامه نویس.

الگوریتم اقدامات:

  1. شرایط استفاده برای برنامه نویس خود مونتاژ شده را بخوانید.
  2. دستورالعمل مونتاژ برنامه نویس را بخوانید.
  3. دانلود مستندات کامل برای برنامه نویس.
  4. یک کیت مونتاژ (برد مدار چاپی آماده و میکروکنترلر با سیستم عامل از قبل ضبط شده) بخرید.
  5. تجهیزات لازم برای مونتاژ برنامه نویس را مطابق با آن خریداری کنید

من عکسی را در آرشیو خود پیدا کردم که روند ساخت یک برنامه نویس JTAG را نشان می داد که باید آن را احیا کنم. تیونر ماهواره ای. اکنون کمی جزئیات بیشتر در مورد نوع "جانور" JTAG:

JTAG(مخفف انگلیسی) گروه اقدام آزمون مشترک; تلفظ "جی تگ") - نام گروه کاریدر مورد توسعه استاندارد IEEE 1149. بعداً این مخفف به طور محکم با رابط سخت افزاری تخصصی توسعه یافته توسط این گروه بر اساس استاندارد IEEE 1149.1 مرتبط شد. نام رسمی استاندارد پورت دسترسی تست استاندارد و معماری اسکن مرزی. رابط برای اتصال تراشه های دیجیتال پیچیده یا دستگاه های سطح طراحی شده است تخته مدار چاپیبه تجهیزات استاندارد تست و اشکال زدایی. برای علاقه مندان، مقاله کامل را درویکیپدیا.

حالا بیایید به تجارت برگردیم، دوستانم یک تیونر ماهواره ای به من دادند، رایج ترین و ساده ترین Globo روی یک پردازنده Ali M3329B. با چنین علائمی، به هیچ وجه روشن نشد، در ابتدا منبع تغذیه را مقصر دانستم، اما پس از بررسی تمام ولتاژها با یک مولتی متر، معلوم شد که همه چیز با منبع تغذیه خوب است. پس از مطالعه چند مقاله مختلف در مورد تعمیر این گیرنده ها، به این نتیجه رسیدم که با توجه به علائم، فریمور کاملاً از بین رفته است و با فلش کردن آن از طریق برنامه نویس JTAG قابل بازیابی است. همچنین این فکر وجود داشت که کاملاً سوخته است و نمی توان آن را بازیابی کرد، اما هنوز ترجیح می دادم باور کنم که سیستم عامل از طریق JTAG به شما کمک می کند.

برای تولید من این طرح را انتخاب کردم:

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

74HC244 یک بافر معکوس نیست. این تراشه شامل دو بافر چهار بیتی مستقل است. هر بافر سیگنال فعال خروجی خود را دارد (فعال کم). هیچ تریگر اشمیت در ورودی ها وجود ندارد. ریز مدار با استفاده از فناوری CMOS "سریع" ساخته شده است که عملکرد بالا را تضمین می کند. خروجی جریان قدرتمند، حفظ عملکرد بالا را حتی با یک بار خازنی امکان پذیر می کند. عملکرد 74HC244 با تراشه های مبتنی بر دیودهای شاتکی قابل مقایسه است، در حالی که 74HC244 مزایای تراشه های CMOS را حفظ کرده است. ایمنی بالای سر و صدا و مصرف برق کم. ورودی های ریز مدار با استفاده از دیودها از آسیب توسط الکتریسیته ساکن محافظت می شوند.

افسوس، من 74HC244 را در لوازم خود پیدا نکردم. من فقط یک آنالوگ 74F244 پیدا کردم که در ولتاژ تغذیه Vcc کمی متفاوت بود. 74HC244 دارای ولتاژ توصیه شده 2 تا 6 ولت و 74F244 دارای ولتاژ توصیه شده 4.5 تا 5.5 ولت است. اگرچه حداکثر محدودیت ها از 0.5- تا 7 + ولت است، بنابراین تصمیم گرفتم که زحمت ندهم و شروع به ساخت کنم.

با گرفتن نمودار اصلی در تصویر اول و ترسیم مجدد آن در برنامه DipTrace، به این نمودار رسیدیم:

همه چیز به طور خودکار ردیابی شد، فقط یک خط ردیابی نشد، اما این مشکل توسط دو جامپر SMD حل شد. تصویر بالا یک برد مدار چاپی آماده برای ساخت است.

روی برد همه پین ​​ها را هم امضا کردم اما متاسفانه سیگنال های خروجی را اشتباه امضا کردم همانطور که در منبع اصلی دیده می شود 1- GND, 2- TCK, 3- TMS, 4- TDO, 5- TDI و 6- RST ، اما GND، TMS، TCK، TDI، TDO و RST گرفتم، وقتی مخاطبین را امضا کردم اشتباه کردم، طبق نمودار همه چیز درست است، طبق منبع اصلی، یعنی. 1- GND، 2- TCK، 3- TMS، 4- TDO، 5- TDI و 6- RST.

PCB با تعیین پین های صحیح:

در واقع، چیز اصلی یک getinax، یک فایل، یک اره دستی کوچک، کاغذ سنباده است. یک پیچ گوشتی و یک کاتر برای دو قسمت شدن getinax چون تکه من از دو طرف روکش فویل شده بود و تخته ما ساده و یک طرفه است.

پس از انجام تمام کارها و چرخاندن getinax به اندازه تخته (تقریباً 55x50 میلی متر) ، ماده تمیز کننده COMET را در پودر و یک اسفنج ظرفشویی می گیریم. گتیناکس را از آثار چربی و کثیفی پاک می کنیم. بهتر است آب باقیمانده را پاک نکنید بلکه بگذارید خشک شود.

در حالی که getinax در حال خشک شدن است، به کامپیوتر می رویم و نمودار خود را روی آن چاپ می کنیم پرینتر لیزریو کاغذ عکس آینه ای که حداکثر کیفیت چاپ را نشان می دهد. مهم است که گذاشتن را فراموش نکنید انعکاس آینه، در غیر این صورت ما با همه چیز روی تخته به پایان خواهیم رسید!

و به این ترتیب، getinax آماده است، برد مدار چاپی چاپ می شود، لبه های getinax را با دقت به طرح برد مدار چاپی روی کاغذ عکس چسبانده، آن را با چسب کاغذی به getinax وصل کنید، اتو را بردارید و آن را تنظیم کنید. تا حداکثر دما

به طور طبیعی، طرف فویل getinaks به الگوی برد مدار چاپی.

وقتی اتو گرم شد، با فشار محکم، شروع به اتو کردن می کنیم - گیتینک ها را به طور مساوی از سمت کاغذ گرم می کنیم. تخته ای به این اندازه را بیش از 30-60 ثانیه گرم نمی کنیم، در غیر این صورت تونر پخش می شود. توصیه می کنم یک تایمر روی تلفن خود تنظیم کنید تا زمان نزدیک باشد، جلوی چشمان شما. وقتی همه چیز تمام شد، بگذارید تخته خنک شود.

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

در طول فرآیند اچ کردن با کلرید آهن، باید به طور مداوم محلول را به هم بزنید، مثلاً با تکان دادن ظروف شیشه ای. اگر اندازه تخته خیلی بزرگ نیست، می توانید تخته را با الگوی پایین روی سطح محلول قرار دهید - نیازی به تکان دادن آن نیست، اما ردیابی پایان فرآیند اچ کردن دشوار است. زمان اچ کردن با کلرید آهن بین 5 تا 50 دقیقه است و به دما، غلظت محلول و آلودگی آن به مس و ضخامت فویل مسی بستگی دارد. پس از اچ کردن، تخته باید با آب جاری شسته شود و خشک شود.

در نتیجه، ما این برد مدار چاپی را دریافت می کنیم

تونر را هم با پودر Comet تمیز می کنیم، کاملاً خوب نگه می دارد و برای اینکه به ردهای برد آسیب نرساند، آرام آرام تمیز می کنیم.

پس از تمیز کردن تونر، یک برد مدار چاپی تمیز و زیبا می بینیم


حالا بیایید لحیم کاری عناصر را شروع کنیم:



 


خواندن:



استفاده از تابع isnull()

استفاده از تابع isnull()

2017/06/27 NULL، ISNULL() و IS NULL در جستارهای 1C NULL NULL چیست در نتیجه یک پرس و جو به معنای عدم وجود یک مقدار است (این خالی نیست...

موارد در مورد موقعیت های آموزشی

موارد در مورد موقعیت های آموزشی

وزارت آموزش و پرورش و علوم موسسه آموزشی دولتی فدرال روسیه آموزش عالی حرفه ای "ایالت خاکاس...

نگهبان پراچت (ترجمه S. Zhuzhunava، ویرایش A. Zhikarentsev) دانلود fb2. نقل قول از کتاب «نگهبانان! نگهبانان! تری پرچت

نگهبان پراچت  (ترجمه S. Zhuzhunava، ویرایش A. Zhikarentsev) دانلود fb2.  نقل قول از کتاب «نگهبانان!  نگهبانان!  تری پرچت

2 فوریه 2017 نگهبان! نگهبانان! Terry Pratchett (هنوز هیچ امتیازی وجود ندارد) عنوان: Guard! نگهبانان! نویسنده: Terry Pratchett سال: 1989 ژانر: خارجی...

نامگذاری در حسابداری 1s 8

نامگذاری در حسابداری 1s 8

حساب‌های حسابداری مورد کجا تغییر می‌کنند (1C Accounting 8.3، نسخه 3.0) 2016-12-08T11:33:27+00:00 بیشتر و بیشتر، حسابداران از من می‌پرسند که کجا...

فید-تصویر RSS