سلام به همه مایکروالکامی ها. در قسمت قبلی از سری آموزش های ESP8266 به مبحث ساخت سریال مانیتور تحت وب با ESP8266 و NodeMCU پرداخته شد. در این مطلب قصد دارم نحوه افزایش حافظه فلش (FLASH) و تعویض آن با آی سی فلش دیگه را مورد بررسی قرار بدم. پس با من تا انتهای مطلب همراه باشید. همچنین شما میتونید سایر مطلب من رو از این قسمت مطالعه کنید.
(FLASH IC) آی سی حافظه فلش
حافظه ها دارای انواع گوناگونی بوده و رایج ترین آنها نوع EEPROM و FLASH میباشد. در برخی از پروژه ها نیاز است که غیر از حافظه داخلی میکروکنترلر بدلیل محدودیت میزان حافظه آنها از سایر حافظه های دیگر استفاده کنیم. برای این کار از آی سی های حافظه خارجی موسوم به FLASH ،EEPROM و … استفاده مینماییم.
در بسیاری از کاربرد ها به حافظه ای نیاز داریم که دارای سرعت زیادی باشد و مقرون بصرفه هم باشد. در این حالت انتخاب اصلی ما در شرایطی که بخواهیم حافظه آن خیلی زیاد مانند مموری ها نباشد و خیلی کم مثل EEPROM ها نیز نباشد از حافظه های فلش (FLASH) استفاده خواهیم کرد.
در واقع میتوان گفت حافظه های FLASH همانند EEPROM ها بوده اما دارای تفاوت هایی نیز میباشند. در آی سی های EEPROM به خانه های حافظه بصورت بایت بایت دسترسی داریم اما در آی سی حافظه FLASH میتوانیم مجموعه ای از حافظه را مدیریت کرده و به آن دسترسی داشته باشیم. در این مطلب از آی سی حافظه فلش W25Q32 که دارای ظرفیت حافظه 32Mbit میباشد استفاده شده است. این حافظه معادل 4MB (4 مگا بایت) میباشد. حداکثر ظرفیت حافظه ای که توسط تراشه ESP8266EX پشتیبانی میشود، تا 16MB است.
قطعات مورد نیاز
- ماژول ESP8266
- برد بورد
مبدل سریال - سیم برد بوردی
- کلید فشاری
- مبدل کاهنده ولتاژ
- آی سی حافظه فلش W25Q32JV
- هیتر و هویه
تعویض حافظه FLASH ماژول ESP8266
این مطلب دارای 2 بخش اصلی میباشد. بخش اول قبل از تعویض حافظه فلش و بخش دوم مربوط به بعد از تعویض و افزایش حافظه فلش ماژول ESP8266 است.
مرحله اول
در مرحله اول قبل از هرکاری برای اینکه متوجه شویم حافظه فعلی نصب شده روی ماژول ESP8266 دارای چه ظرفیتی است، طبق آموزش پروگرام کردن ماژول ESP8266 کد زیر را روی ماژول آپلود نمایید. در سریال مانیتور فرکانس کاری و مقدار حافظه کلی را مشاهده خوهید کرد.
سورس کد
void setup(void) { Serial.begin(115200); } void loop() { uint32_t realSize = ESP.getFlashChipRealSize(); uint32_t ideSize = ESP.getFlashChipSize(); FlashMode_t ideMode = ESP.getFlashChipMode(); Serial.printf("Flash real id: %08X\n", ESP.getFlashChipId()); Serial.printf("Flash real size: %u bytes\n\n", realSize); Serial.printf("Flash ide size: %u bytes\n", ideSize); Serial.printf("Flash ide speed: %u Hz\n", ESP.getFlashChipSpeed()); Serial.printf("Flash ide mode: %s\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == FM_DOUT ? "DOUT" : "UNKNOWN")); if (ideSize != realSize) { Serial.println("Flash Chip configuration wrong!\n"); } else { Serial.println("Flash Chip configuration ok.\n"); } delay(5000); }
بعد از آپلود کد های بالا روی ماژول ESP8266 در سریال مانیتور مقدار حافظه نمایش داده خواهد شد. همانطور که در تصویر زیر مشاهده میگردد، حافظه FLASH فعلی موجود روی ماژول، داری 1 مگابایت حافظه است. در گام دوم با تعویض حافظه باعث افزایش این مقدار شده و حافظه 4 مگابایتی (W25Q32JV) را روی آن نصب مینماییم.
مرحله دوم
در این مرحله، با استفاده از هیتر نسبت به دمونتاژ آی سی حافظه فلش روی ماژول اقدام کنید. این نکته را در نظر داشته باشید که این قسمت باید با دقت انجام شود. چرا که در اثر حرارت زیاد امکان آسیب به آی سی فلش فعلی و سایر قطعات مجاور شده و چنانچه هوای خروجی پمپ هیتر زیاد باشد امکان دمونتاژ شدن سایر قطعات نیز میباشد. همچنین به این نکته توجه نمایید که پایه شماره 1 آی سی فلش فعلی در کدام جهت قرار دارد و حتما ان را بخاطر بسپارید.
بعد از دمونتاژ با تمیز کردن پد های مربوط به فوت پرینت حافظه، آی سی حافظه فلش جدید را در جهت درست (به محل قرار گیری شماره 1 طبق حالت قبل از دمونتاژ دقت کنید) روی محل مورد نظر قرار دهید و آن را در سر جای خود لحیم کنید. دقت کنید که در صورتی که لحیم سردی وجود داشته باشد ماژول پرورگام نشده یا دچار عملکرد صحیحی نخواهد بود.
برای اطمینان از صحت عملکرد و انجام مراحل، قبل از اتصال تغذیه به ماژول بصورت چمشی اطمینان حاصل نمایید که آی سی در جهت صحیح، بصورت درست و اصولی مونتاژ شده و بین پد ها اتصال کوتاه بوجود نیامده باشد. در نهایت تغذیه را متصل نموده و مجددا سورس کد قبلی را روی ماژول پروگرام نمایید. در صورتی که طبق توضیحات پیش رفته باشید بعد از پروگرام کردن در سریال مانیتور مقدار حافظه جدید که معادل 4 مگابایت بوده است را مشاهده خواهید کرد.
نتیجه گیری
استفاده از آی سی های حافظه FLASH یکی از مرسوم ترین روش ها برای ذخیره اطلاعات میباشد. برروی ماژول های وایفای مبتنی بر تراشه ESP8266EX یک حافظه فلش که دارای ارتباط SPI میباشد وجود دارد. این حافظه قابل تغییر نیز میباشد. بطوری که در این آموزش مشاهده کردید آن را دمونتاژ کرده و با تراشه جدید جایگزین نمودیم. حداکثر حافظه فلش که ESP8266EX میتواند پشتیبانی نماید، تا 16 مگابایت است.
امیدوارم از این آموزش کمال بهره را برده باشید. در صورتی که هرگونه نظر یا سوال داشتید درباره این آموزش لطفا اون رو در انتهای همین صفحه در قسمت دیدگاه ها قرار بدید. در کوتاه ترین زمان ممکن به اون ها پاسخ خواهم داد. اگر این مطلب براتون مفید بود، اون رو حتما به اشتراک بگذارید. همینطور میتونید این آموزش را پس از اجرای عملی توی اینستاگرام با هشتگ microelecom# به اشتراک بگذارید و پیج مایکروالکام (microelecom@) رو هم منشن کنید.