کارت حافظه یا مموری کارت چیست؟

کارت های حافظه SD

(SDC)  Secure Digital Card   یا کارت های حاافظه SD، حافظه های غیرفراری هستند که به دلیل ارزان قیمت بودن و حافظه نسبتاً بالای خود از محبوبیت زیادی در بین طراحان سخت افزار برخوردار هستند . SDC به عنوان تکنولوژی تکمیلی حافظه ماقبل خود یعنی MMC در سال 1999  معرفی شد، پس میتوان MMC را تکنولوژی منسوخ شده خواند، کما اینکه در بازار ایران نیز دیگر این نوع حافظه ها (MMC)  یافت نمیشود و تمام کارت های حافظه موجود از تکنولوژی SD بهره برداری میکنند.

MMC vs. SDC

MMC vs. SDC

هاSDCاز لحاظ حجم حافظه به چهار دسته تقسیم میشوند. ادامه مطلب …

Memory

انواع حافظه های External

به نام خدا

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

حاظه های خارجی را در دسته بندی های مختلفی تقسیم بندی می کنند. اما در یک نوع دسته بندی می توان این حافظه ها را به دو دسته حافظه فرار (volatile) و غیر فرار (non-volatile) تقسیم بندی نمود.

  • حافظه های فرار (volatile):

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

SRAM ها و SDRAM ها از این دسته حافظه ها می باشند. در زیر به برخی از تفاوت های این دو نوع حافظه اشاره می کنیم.

تفاوت SRAM و SDRAM :

  1.  دسترسی به سکتور ها در SDRAM به دلیل سطری و ستونی بودن ساده تر و سریع تر می باشد. (به خانه های حافظه سکتور می گویند.)
  2. SDRAM ها در مقایسه تعداد پایه با SRAM در حجم یکسان دارای تعداد پایه کمتری می باشد.
  3. SDRAM ها اگر رفرش نشوند پاک می شوند.
  4. SDRAM ها در حجم های بالاتری ساخته می شوند.
  5. قیمت SDRAM ارزان تر از SRAM ها می باشد.
  6. اگر سخت افزار کنترلر واحد حافظه وجود نداشته باشد کار با SDRAM ها دشوارتر از SRAM ها می شود.

 

SDRAM

SDRAM

  • حافظه های غیر فرار (non-volatile):

این دسته از حافظه ها اطلاعات بعد از قطع شدن برق نیز در آن ها ذخیره می ماند.

EEPROM ها، SDC ها، NAND FLASH ها و NOR FLASH ها از این دسته حافظه ها می باشند.

EEPROM ها حافظه هایی هستند که معمولا با پروتکل های سریال مانند SPI و I2C می توان به فضای حافظه آن ها دسترسی داشت و باید به این نیز توجه داشت که حجم حافظه EEPROM ها محدود است و برای ذخیره حجم دیتای زیاد مناسب نمی باشند.

نوع دیگر از حافظه های غیر فرار ،حافظه های SDC یا همان مموری کارد ها می باشند. این دسته از حافظه ها در حجم های بالا ساخته می شوند و دسترسی به فضای حافظه آن ها با دو مد SPI و SDIO (که Native هم گفته می شود) امکان پذیر است. در مد SDIO با حداکثر سرعت 25MHz می توان با این نوع حافظه ها کار کرد. در حال حاضر SDC ها تا حجم 64 گیگابایت ساخته می شوند و در مقایسه با حافظه های دیگر دارای قیمت مناسبی می باشند.

SDC

SDC

NAND FLASH ها و NOR FLASH ها حافظه هایی هستند که معمولا در حجم بالایی ساخته می شوند و به دلیل موازی بودن ارتباط آن ها می توان با سرعت بالایی با آن ها کار کرد. از این حافظه ها حتی به عنوان حافظه برنامه اصلی هم می توان استفاده نمود.

تفاوت NAND FLASH ها و NOR FLASH ها در حجم حافظه و زمان نوشتن،خواندن و پاک کردن آن ها می باشد. که در عکس زیر نمایش داده شده است.

NAND Flash Vs NOR Flash

NAND Flash Vs NOR Flash

برای کار با حافظه های NAND FLASH و NOR FLASH اگر واحد کنترل حافظه نداشته باشیم به سختی می توان با آن ها کارکرد.

  • میکرو ها و حاظه ها:

امروزه با پیچیده تر شدن سیستم ها نیاز های متنوعی در طراحی پدیدار شده است. یکی از این نیاز ها نیاز به حافظه ها می باشد و تقزیبا امروزه حافظه های External (حافظه های جانبی) جزو جدا نشدنی سیستم ها شده اند و در هر سیستم بسته به نیاز ممکن است از یک یا چند حافظه استفاده شود. با پدیدار شدن نیاز به حافظه های مختلف ،سازندگان میکرو کنترلر ها نیاز برای ساده تر شدن کار با این واحد ها اقدام به قرار دادن واحد کنترل کننده حافظه در درون چیپ کرده اند. این واحد معروف به واحد External Memory Control یا EMC می باشد. این واحد توانایی برقرار کردن ارتباط با حافظه های SRAM , SDRAM , NAND FLASH , NOR FLASH را دارا می باشد. قرار دادن این کنترلر ارزشمند موجب سادگی کار با حافظه های نامبرده شده است.

علاوه بر واحد EMC برای برقرار کردن ارتباط پرسرعت با حافظه های ارزان قیمت SDC در برخی میکرو کنترلر ها واحدی به نام SD Controller قرار داده شده است که بتواند مد SDIO که مد پرسرعتی برای برقراری ارتباط با حافظه های SDC می باشد را پشتیبانی کند.

میکرو های سری LPC177x و LPC178x که از سری میکروهای ARM Cortex-M3 شرکت NXP می باشند و میکرو های سری LPC407x و LPC408x و LPC43xx که از سری میکروهای ARM Cortex-M4 شرکت NXP می باشند، واحد های EMC و SD Controller را دارای می باشند.

لازم به ذکر است که بسیاری از میکرو های دیگر شرکت NXP و شرکت های دیگر مانند ST و ATMEL و … نیز در واحد های کنترلر حافظه را در برخی از چیپ های خود قرار می دهند و ما در این مقاله تنها قصد معرفی چند نمونه از چیپ های با این قابلیت را داشتیم.

CMSIS

CMSIS چیست؟

به نام خدا،

در مقاله ای که پیش رو دارین قصد داریم با توضیحاتی اندک با واژه CMSIS بیشتر آشنا شویم و یا به طور مختصر توضیح دهیم CMSIS چیست؟.

با معرفی نسل اول Cortex های سری “M” واژه CMSIS  که مخفف Cortex Microcontroller Software Interface Standard است نیز به گوش می رسید. این تکنیک به منظور نزدیک تر کردن برنامه نویسی میکرو کنترلرها به یکدیگر به کار گرفته شد.

یکی از مشکلاتی که در میکروکنترلر های با هسته ARM به چشم می خورد تغییرات زیاد بین سری های مختلف بود. این تغییرات کاربران قدیمی میکروکنترلر ها نظیر کسانی که با PIC و AVR ها کار می کردند و کاربران جدید که به عنوان اولین میکروکنترلر با ARM ها آشنا شده بودند را آزار می داد؛ چرا که در هر میکرومنترلر رجیسترها تغییر می کرد و کار با امکانات قبلی که کاربران آموخته بودند دشوار می شد و نیازمند مطالعه مجدد می گشت. این مشکل در نگاه اول دو راه حل داشت یکی یکسان سازی رجیسترهای میکروکنترلرهای جدید و راه دیگر ارائه یک لایه نرم افزاری برای یکسان سازی برنامه نویسی. بدلیل این که تغییرات سخت افزاری به مراتب کاری سخت تر نسبت به تغییرات نرم افزاری است شرکت ARM تصمیم به ارائه راه حل لایه نرم افزاری گرفت. در طراحی نسل های جدید پردازنده های ARM یعنی سری Cortex ها سازندگان میکروکنترلرها همراه برگه های اطلاعاتی درایور هایی نیز ارائه می کنند که لایه سطح بالای آن ها یعنی توابع و دستوراتی که کاربران به آن ها نیاز دارند یکسان است و تفاوت در لایه های سطح پایین یعنی در دسترسی های رجیستری است که معمولا کاربران به آن ها یا نیاز ندارند و یا در موارد خاصی به آن ها نیاز پیدا می کنند.

به این درایورها و سایرفایل هایی که از سوی شرکت های سازنده میکروکنترلر ارائه می گردد CMSIS می گویند.

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

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

CMSIS ها به طور کلی به هفت دسته تقسیم می شوند که هر کدام را به طور مختصر شرح می دهیم.

CMSIS چیست؟

  1. CMSIS-CORE : این دسته واسط بین پردازنده سری Cortex-M و امکانات جانبی میکروکنترلر می باشد.
  2. CMSIS-DRIVER : این دسته از CMSIS ها دریوار و راه اندازهای امکانات جانبی را شامل می شوند. این گروه امکان برقراری ارتباط با لایه میانی(میان افزار) را ممکن و استفاده از آن ها را ساده تر می کنند.Driver
  3. CMSIS-DSP : این کتابخانه بیش از 60 تابع که برای عملیات روی دیتا های مختلف (اعداد ثابت و اعداد اعشاری با یک رقم اعشار) را جمع آوری کرده است.
  4. CMSIS-RTOS API : واسط رایج برای سیستم هایی با عملیات های Real-Time می باشد. این دسته واسط نرم افزاری استانداردی را ارائه می کند که بسیاری از سیستم های RTOS را قادر به پرتابل شدن می کند ،در نتیجه سیستم را قادر می سازد از  قالب های نرم افزاری، لایه میانی(میان افزار)،کتابخانه ها و سایر قطعات که سیستم عامل RTOS پشتیبانی می کند استفاده کند.RTOS
  5. CMSIS-PACK : این دسته توضیحاتی را به کاربر درمورد اجزای مرتبط به قطعه می دهد، این پک شامل سورس،هدر، کتابخانه ها، مقاله های مورد نیاز،الگوریتم های پروگرام کردن حافظه فلش،نمونه کدها و پروژه های نمونه می باشد. ابزارات توسعه و وب سایت ها از این فایل که با نام PDSC شناخته می شوند، برای استخراج پارامتر های قطعات،اجزای نرم افزاری و ساختار برد های آموزشی استفاده می کنند.
  6. CMSIS-SVD : سیستم توضیح و توصیف امکانات جانبی می باشد. امکانات جانبی یک قطعه را توصیف می کند و می تواند برای دریافت اطلاعات از یک بخش قطعه(یکی از امکانات قطعه) در دیباگر ها و هدر فایل ها مورد استفاده قرار گیرد.
  7. CMSIS-DAP : دسترسی به پورت دیباگ (Debug Access Port). یک FirmWare استاندارد برای اتصال به بخش دیباگ و اشکال زدایی می باشد و به پورت دسترسی به واحد اشکال زدایی هسته (CoreSight) متصل می شود.
LPC4088 میکروکنترلری با مدرن ترین هسته ARM

LPC4088 میکروکنترلری با مدرن ترین هسته ARM

LPC4088 میکروکنترلری با مدرن ترین هسته ARM  است که با بهره گیری از این هسته پرقدرت یعنی CORTEX-M4  به گزینه قدرتمند، سریع و البته کاملاً اقتصادی برای کارهای پردازش سیگنال تبدیل شده است. این هسته پرسرعت به دلیل دارا بودن واحد FPU  ، مخفف سه کلمه Floating Point Unit،  میتواند عملیات پردازشی را با سرعت بسیار زیادتری نسبت به هسته های فاقد FPU انجام دهد. بخش زیادی ازعملیات های پردازشی شامل محاسبات اعداد شناور(اعشاری) می باشد که در هسته های معمولی این عملیات به CPU سپرده میشود ، البته مشکل از آنجا پدید می آید که CPU برای این نوع محاسبات بهینه عمل نمی کند و بازدهی و سرعت انجام محاسبات به شدت کاهش می یابد. برای حل این نقص واحدی به نام FPU طراحی شد تا انجام عملیات پردازشی حاوی محاسبات اعشاری به این واحد سپرده شود و این واحد به دلیل طراحی تک منظوره و بهینه برای عملیات پردازشی، عملکرد بهتری را ارائه میکند.

البته شایان ذکر است که واحد FPU تنها برای پردازش دیجیتال نیست. برای مثال در زمینه طراحی منوها و رابط های گرافیکی توسط کتابخانه emwin، این واحد کمک شایانی به اجرای سریع و درلحظه گرافیک شما میکند. علت این رفتار اینست که در بسیاری از برنامه های از جمله برنامه های ساخت گرافیک یا استفاده از سیستم عامل ها از محاسبات اعشاری استفاده می شود و این امر اهمیت این واحد و به طور کلی جایگاه ARM-CORTEX-M4 را مشخص میکند. پس اگر میخواهید سیستم عامل سریع و یا گرافیک بی نقصی داشته باشید و پول زیادی خرج نکنید شاید LPC4088 یکی از گزینه های خوب برای شما باشد.

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

برخی از قابلیت های برجسته هسته های جدید cortex-M4 عبارت است از:

  • عملکرد بسیار قدرتمند در عملیات پردازش سیگنال های دیجیتال (DSP)
  • مصرف بهینه و بسیار پایین انرژی نسبت به خانواده های پیشین
  • استفاده آسان و ساده از این هسته ها برای اجرای اهداف پردازشی
  • پورت های ورودی و خروجی تک سیکل (Single-Cycle I/O Port)
  • دسترسی پورت دیباگ (Debug Access Port)
CORTEX-M4

CORTEX-M4

 

emwin قابلیت های خود را به نمایش میگذارد

emwin قابلیت های خود را به نمایش میگذارد

در این ویدئو emwin قابلیت های خود را به نمایش میگذارد و بخشی از امکانات خود را به طراحان نشان می دهد. این کتابخانه با توابع سریع و بهینه شده خود توانسته از گوی سبقت را از رقبای خود نظیر ucgui به راحتی بدزدد و به حق این کتابخانه جایگزین بسیار خوبی برای ابزارهای قدیمی پیشین می باشد

emwin یک کتابخانه برای طراحی منوی گرافیکی است که به کمک توابع متعدد و قدرتمند خود طراح را قادر به خلق یک رابط گرافیکی جذاب و کاربر پسند میکند. emwin علاوه بر دارا بودن توابع بهینه طراحی رابط گرافیکی، امکانات خاص دیگری مانند، پخش فیلم، شبکه VNC و … را دارا می باشد.

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

 

 

 

emwin انقلابی در رابط های گرافیکی

emwin انقلابی در رابط های گرافیکی

emwin کتابخانه طراحی رابط های کاربری گرافیکی با توابع پیشرفته و بهینه شده میباشد و از آنجا که میتواند امکان طراحی یک GUI جذاب و پرفروش را به کاربر بدهد میتوان گفت که emwin انقلابی در رابط های گرافیکی ایجاد کرده است.  توابع متعدد و متنوع emwin طراحی یک گرافیک بسیار سنگین را در زمانی کوتاه و به سادگی تمام فراهم میکند. emwin توسط شرکت segger معرفی و ساخته شده و امروزه علاوه بر شرکت تولید کننده، شرکت های مطرحی همچون Philips و ST نیز حمایت کننده این محصول شده اند. بدین جهت بدیهی است که پیشبرد و ارتقاع این کتابخانه با سرعت زیادی انجام پذیرد، که این امر مژده بسیار خوشحال کننده ای برای کاربران و طراحان emwin  است. این کتابخانه برای ساخت جلوه های گرافیکی مختلف بهینه شده است و عملکرد بدون وقفه و بسیار قدرتمندی را روی سخت افزارهای مبتنی بر میکروکنترلر نشان میدهد. 

AlfaBlending

ترکیبات رنگی آلفا در emwin

ترکیبات رنگی آلفا (AlfaBlending)  یکی از ابزارهای ایجاد افکت های رنگی خیره کننده است که امکان اجرای ایده های خلاقانه ای را به طراح واسط گرافیکی می دهد. به بیان ساده تر  ترکیبات رنگی آلفا در emwin ترکیب دو رنگ است که به واسطه آن جلوه های گرافیکی شگفت انگیزی ایجاد میشود و به طراح رابط کاربری گرافیکی (GUI)  امکانات فراوانی را هدیه میکند. Emwin بهینه شده برای اجرای توابع تصویری است و امکان نمایش سریع رنگ های متوالی را بدون کم شدن سرعت روی انواع LCDها را میدهد.

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

غالباً طراحان منوهای گرافیکی توجه کمتری به توابع ترکیب رنگ در Emwin  میکند در صورتی که تجمیع ابزارهای منو و توابع رنگی، میتواند یک رابط گرافیکی جذاب تولید کند. از توابع ترکیب رنگی میتوان در طراحی یک screen saver، عکس پس زمینه و یا حتی برای نورپردازی قسمت های مختلف طرح استفاده کرد.