دانلود ‫پروژه طراحی و ساخت سیستم ضبط و پخش سیگنال با میکروکنترلر AVR و کارت حافظه ی MMC

Word 1 MB 18554 73
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۳۰,۰۰۰ تومان
قیمت: ۲۴,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • در این پروژه سعی بر این است که علاوه بر آشنایی با میکروکنترلر AVRو محیط نرم افزاری (labview) سخت افزار،به گونه ای طراحی شود که با دریافت سیگنال آنالوگ ورودی (صوت) از میکروفن ، از طریق واحدADC میکرو این سیگنال به دیجیتال تبدیل شود و با توجه به برنامه‎ای که در داخل میکرو تعبیه شده است،این اطلاعات به داخل MMC ریخته شده ومیکرو با دریافت فرمان از کامپیوتر به صورت ارتباط سریال دستور پخش را دریافت می‎کند و از طریق واحد تایمر/ کانترکه در مد PWM کار می‎کند,اطلاعات ذخیره شده در MMC را با آشکار سازی موج PWM توسط یک انتگرال گیر،باز سازی و به آنالوگ تبدیل می‎کند و این سیگنال آنالوگ بوسیله یک سری مدارات مورد نیاز برای پخش از طریق یک هدفن پخش می‎گردد.
    نگاهی اجمالی به میکروکنترلرها

    بخش اول : میکروکنترلرها

    سیر تکاملی میکروکنترلرها :

    اولین میکروکنترلرها در اواسط دهه 1970 ساخته شدند.

    این میکروکنترلرها در ابتدا پردازنده‎های ماشین حساب بودند که دارای حافظه برنامه کوچکی از نوع ROM ، حافظ داده از نوعRAM وتعدادی درگاه ورودی وخروجی بودند.


    با توسعه فناوری سیلیکون ، میکرو کنترلرهای 8 بیتی قویتری ساخته شدند .

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

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

    از آن زمان تاکنون 8051 یکی از محبوبترین میکروکنترلرها بوده و بسیاری از شرکتها دیگر نیز به تولید آن اقدام کرده‎اند .

    در حال حاضر مدل‎های مختلفی از 8051 وجود دارد که در بسیاری از آنها امکاناتی نظیر مبدل آنالوگ به دیجیتال حجم نسبتاً بزرگ از حافظه برنامه و حافظه داده،مدولاتور عرض پالس(PWM) در خروجی‎ها که امکان پاک کردن و برنامه ریزی مجدد آن توسط سیگنال‎های الکتریکی وجود دارد،تعبیه شده است.


    میکروکنترلرها اکنون به سمت 16 بیتی شدن در حرکت هستند .

    میکروکنترلر های 16 بیتی، پردازنده‎هایی با کارایی بالا (نظیر پردازش سیگنالهای دیجیتال ) می‎باشند که در کنترل فرایندهای بلادرنگ و در مواردی که حجم زیادی از عملیات محاسباتی مورد نیاز است، به کار برده می‎شوند.


    بسیاری از میکروکنترلرهای 16 بیتی، امکاناتی نظیر حجم زیاد حافظه برنامه و حافظه داده، مبدل های آنالوگ به دیجیتال چند کانالی، تعداد زیادی درگاهI/O ، چندین درگاه سریال، عملکردهای بسیار سریع ریاضی و منطقی و مجموعه دستورالعمل‎های بسیار قدرتمند با قابلیت پردازش سیگنال را دارا می‎باشند .


    معماری داخلی میکرو کنترلرها:
    ساده ترین معماری میکروکنترلر، متشکل از یک ریز پردازنده، حافظه و درگاه ورودی/خروجی است.

    ریز پردازنده نیز متشکل از واحد پردازش مرکزی (CPU)و واحد کنترل(CU) است.
    CPUدر واقع مغز یک ریز پردازنده است و محلی است که در آنجا تمام عملیات ریاضی و منطقی ،انجام می‎شود.

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

    حافظه برنامه ، تمام کد برنامه را ذخیره می‎کند .این حافظه معمولا از نوع فقط خواندنی (ROM) می باشد.

    انواع دیگری از حافظه‎ها نظیرEPROM وحافظه‎های فلش EEPROM برای کاربردهایی که حجم تولید پایینی دارند وهمچنین هنگام پیاده‎سازی برنامه به کار می‎روند .

    حافظه داده از نوع حافظه خواندن/نوشتن(RAM) می‎باشد.

    در کاربردهای پیچیده که به حجم بالایی از حافظه ‎‎RAM نیاز داریم ، امکان اضافه کردن تراشه های حافظه بیرونی به اغلب میکروکنترلر ها وجود دارد.
    در گاههای ورودی / خروجی (I/O) به سیگنال‎های دیجیتال بیرونی امکان می‎دهند که با میکروکنترلر ارتباط پیدا کند .درگاههای (I/O) معمولاً به صورت گروههای 8 بیتی دسته بندی می‎شوند و به هر گروه نیز نام خاصی اطلاق می¬¬شود به عنوان مثال ، میکروکنترلر 8051 دارای 4 درگاه ورودی / خروجی 8 بیت می‎باشد که P3,P2,P1,P0 نامیده می‎شوند.

    در تعدادی از میکروکنترلرها ، جهت خطوط درگاه I/O قابل برنامه ریزی می‎باشد .

    لذا بیتهای مختلف یک درگاه را می توان به صورت ورودی یا خروجی برنامه‎ریزی نمود.

    در برخی دیگر از میکروکنترلرها (از جمله میکروکنترلرهای 8051) درگاههای I/O به صورت دو طرفه می‎باشند .

    هر خط از درگاه I/O این گونه میکرو کنترلرها را می توان به صورت ورودی و یا خروجی مورد استفاده قرار داد .

    معمولاً ، این گونه خطوط خروجی ، به همراه مقاومتهای بالا کش بیرونی به کار برده می‎شوند.

    خانواده AVR :
    میکروکنترولر AVR به منظور اجرای دستورالعملهای قدرتمند در یک سیکل کلاک (ساعت) به اندازه کافی سریع است و می‎تواند برای شما آزادی عملی را که احتیاج دارید به منظور بهینه سازی توان مصرفی فراهم کند .

    میکروکنترلر AVR بر مبنای معماری(RISC کاهش مجموعه‎ی دستورالعملهای کامپیوتر ) پایه‎ گذاری شده و مجموعه ای از دستورالعملها را که با 32 ثبات کار می‎کنند ترکیب می‎کند .

    به کارگرفتن حافظه از نوع Flash که AVR ها به طور یکسان از آن بهره می‎برند از جمله مزایای آنها است.یک میکرو AVR می‎تواند با استفاده از یک منبع تغذیه 2.7 تا 5.5 ولتی از طریق شش پین ساده در عرض چند ثانیه برنامه ریزی شود یا Program شود.
    میکروهای AVR در هرجا که باشند با 1.8 ولت تا 5.5 ولت تغذیه می‎شوند البته انواع توان پایین نیز وجود دارند که بهLow Power معروفند.

    ویژگیهایی که سبب شد، AVRها جای 8051 را بگیرند،عبارتست از:
    1.

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

    این میکروها تا مقدار 1.8 ولت قابل تغذیه هستند که این امر باعث طولانی تر شدن عمر باتری می‎شود.

    در میکروهای با توان پایین ، عملیات شبیه حالت Standby است یعنی میکرو می‎تواند تمام اعمال داخلی و جنبی را متوقف کند و کریستال خارجی را به همان وضعیت شش کلاک در هر چرخه رها کند !
    2.

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

    قابلیت دوباره برنامه ریزی کردن بدون احتیاج به اجزای خارجی
    4.

    بایت کوچک که به صورت فلش سکتور بندی شده اند
    5.

    داشتن مقدار متغیر در سایز بلوک بوت
    6.

    خواندن به هنگام نوشتن
    7.

    بسیار آسان برای استفاده
    8.

    کاهش یافتن زمان برنامه ریزی
    9.

    کنترل کردن برنامه ریزی به صورت سخت افزاری
    10.

    استفاده از فیوزها و بیتهای قفل
    11.

    ایزوله بودن نسبت به نویز که باعث کابرد آن در محیط صنعتی می شود.
    راههای مختلف عمل برنامه ریزی :
     موازی یاparallel یکی از سریعترین روشهای برنامه ریزی.
     خود برنامه ریزی توسط هر اتصال فیزیکی.
     برنامه ریزی توسط هر نوع واسطی از قبیل TWIو SPI و غیره، دارا بودن امنیت صد درصد در بروزرسانی و کد کردن.
     : SPI واسطه سه سیمی محلی برای بروزرسانی سریع ، آسان و موثر در استفاده.
     واسط JTAG : واسطه ای که تسلیم قانون IEEE 1149.1 است و می‎تواند به صورت NVM برنامه‎ریزی کند یعنی هنگام قطع جریان برق داده‎ها از بین نروند .


    AVR همچنین مجهز به امکانات دیگر مانند تایمر واچ داگ و مبدل‎های ADC و PWM است.
    یکی از مهمترین بخشهای AVR که کمتر در هر میکروکنترلرهای دیگر دیده می‎شود مقایسه کننده آنالوگ با گین 1 و 200 و ...

    می باشد.

    لازم به ذکر است که در 8051 باید از فلش(EEPROM) وADC و کریستال مولد ساعت به صورت بیرونی استفاده می‎کردیم اما در AVR این امکانات به صورت درونی وجود دارد .

    انواع میکروهایAVR :
    شرکتATMEL که شرکت اصلی تولید کننده میکروهایAVR می‎باشد, سه نوع میکروکنترلر AVR تولید می‎کند :
    (1سری Tiny (2 سری AT90s (3 سریATmega

    که هر سری از این میکروها ویژگیهای خاصی داشته و در مصارف خاصی کاربرد بیشتری دارند که در ذیل به توضیح مختصری پیرامون هر یک از این سری‎ها پرداخته می‎شود :

    سریTiny:
    میکروهای این سری برای : 1- کاهش قیمت 2- صرفه جویی در وقت بهینه شده‎اند ، میزان مصرف ، حجم حافظه و تعداد پایه ها در میکروهای این سری کم است.
    از جمله میکروهای این سری می‎توان موارد زیر را نام برد :
    از جمله میکروهای این سری می‎توان موارد زیر را نام برد : • AT tiny 10 • AT tiny 11 • AT tiny 12 • AT tiny 15 L • AT tiny 26 • AT tiny 26 L • AT tiny 28 L سری 90s: از نظر حجم حافظه و تعداد پین ورودی / خروجی و توان مصرفی متوسط می‎باشد و به آن AVR معمولی هم میگویند.چند نمونه معروف از این میکروها در زیر نام برده شده است : • AT 90s 1200 • AT 90s 2313 • AT 90s2323/LS2323/S2343/LS2343 • AT 90s 2333/LS2333/S4433/LS4433 • AT 90s 8515 • AT 90s 8535/LS8535 سری MEGA: این میکروها نسبت به دو سری قبل دارای قابلیت‎های بیشتری می‎باشد ؛ تعداد ورودی / خروجی(I/O) بیشتر و فضای حافظه گسترده‎تر و به طبع اینها مصرف بالاتر.چند نمونه از AVR های موجود در بازار این سری ، در زیر لیست شده‎اند : • AT MEGA 323 , AT MEGA 323 L • AT MEGA 32 , AT MEGA 32 L • AT MEGA 128 , AT MEGA 128 L • AT MEGA 163 , AT MEGA 163 L • AT MEGA 8 , AT MEGA 8 L • AT MEGA 8515 , AT MEGA 8515 L • AT MEGA 8535 , AT MEGA 8535 L • AT MEGA 161 , AT MEGA 161L • AT MEGA 162 V , AT MEGA 162 • AT MEGA 16 , AT MEGA 16 L • AT MEGA 100 , AT MEGA 103 L • AT MEGA 169 V , AT MEGA 169 , AT MEGA 169 L • AT MEGA 64 L , AT MEGA 64 نگاهی گذرا به معماری درونی میکروکنترلرهایAVR : میکروکنترلرهای 8 بیتی AVR دارای 32 ثبات 8 بیتی همه منظوره هستند .(یعنی R0 تا R31 ) سه ثبات آدرس شانزده بیتی با نام مستعارX,Y,Z که هر کدام از این سه ثبات دو ثبات از همان 32 ثبات 8 بیتی هستند یعنی: (R28:R29) =رجیسترY (R26:R27)=رجیستر X (R30:R31)=رجیسترZ یک ثبات 16 بیتی به منظور اشاره گر پشته که در آدرسهای ورودی /خروجی : SPH(0x3e)و SPL (0x3d) قرارگرفته اند .همچنین این آدرسها در حافظه داده با آدرسهای 0x5e و0x5d هستند .

    یک ثبات 8 بیتی به منظور سنجش وضعیت یا همان ثبات پرچم با نامSREG I : فعال ساز و غیرفعال ساز عمومی وقفه یا Global Interrupt Enable/Disable Flag T : بیت انتقالی مورد استفاده دستورالعملهای BLD وBST H: Half Carry Flag S : بیت علامت یاSigned tests Instruction Set V : سرریزنما برای مکمل دو یا Two's Complement Overflow Indicator N : بیت منفی یا Negative Flag Z : بیت صفر یا Zero Flag C :Carry Flag حافظه داده و ثباتهای AVR : 32 آدرس اول حافظه یعنی 0x0000)تا (0x001f متعلق به ثباتهای R0 تا R31 هستند البته در برخیMCU ها برای ثبات ها از فضای حافظه ی داده استفاده می‎شود.

    آدرس های 0x0020تا 0x005f از حافظه داده در دسترس آدرسهای ورودی / خروجی0x00 تا 0x3f است.از آدرس0x006 حافظه ی داده به بعد فقط شامل حافظه استاتیک است یعنی SRAM است.

    دو ثبات برای واحد ریاضی منطقی ALU : تعداد زیادی از دستورالعملهایALU شامل دو ثبات هستند یکی مقصد یا (Destination(Rd و یکی منبع یا (Source(Rr که نحوه کدگشایی دستورالعمل را در زیر می‎بینید : بیتهایی که در آن حرف i قرار گرفته دستورالعمل و حرفd بیت های مقصد هستند وحرف r بیتهای منبع.

    ثبات منبع از بهم پیوستن بیتهای r0 :r1 :r2 :r3 :r9 ثبات مقصد از بهم پیوستن بیتهای d4 :d5 :d6 :d7 : d8 مشخص میشوند همچنین بیتهای باقی مانده i10 :i11 :i12 :i13 :i14 :i15 خود دستورالعمل را مشخص می‎کنند .

    به عنوان مثال حاصل جمع r17 وr2 که همانAdd r17,r2 است به صورت زیر کدگشایی یاEncode می‎شود که در این صورت خروجی از این قرار است: Hex : 0 :12 0d add r17 , r2 توجه داشته باشید که یک کلمه ی 16 بیتی از هشت بیت کم ارزش آن در حافظه ذخیره می شود.

    فصل دوم: مختصری درباره MMC و واسط SPI در میکروکنترلرهای AVR پروتکل های ارتباطی درMMC پروتکل‎های ارتباطی آن دردومد MMC وSPI می‎باشند.

    بیشترین فرکانس پالس ساعت هر هر دو مد 20MHZ است.

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

    Multimedia card(MMC) امروزه اکثر دستگاه های دیجیتال که به بازار ارائه می شوند معمولاً شامل هستند و دلایل استفاده از این است که آنها از طریق سریال داده ها را انتقال می دهند و سرعت بالایی در حدود Mbit/s 20 یا به عبارت دیگر چیزی حدود Mbyte/s 2.5 دارند.

    همچنین یکی دیگر از دلایل استفاده از mmc این است که به راحتی می توان اطلاعات را بر روی آنها ذخیره و بازیابی کرد.

    مقدمه: شکل زیر ساختار درونی را نشان می دهد که از بلوک های جداگانه تشکیل شده است .

    همه این بلوک ها به وسیله یک اسیلاتور داخلی کلاک می خورند.

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

    این کارت توسط واحد انجام می شود.

    ها به وسیله 3 پین (خط داده) کنترل می شوند که هریک از این خطوط داده کار خاصی را در طول انتقال داده انجام می دهند.

    همچنین ها دارای 4 رجیستر داخلی هستند که از این رجیستر ها برای شناسایی و یک سری از خصوصیات استفاده می شود.

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

    رجیستر شناسایی کارت رجیستر تعیین داده ( دانستن محتویات این رجیستر مهم است) رجیستر تخصیص آدرس برای انتقال داده بین و دانستن محتویات این رجیستر ها حائز اهمیت است.

    برای انتقال داده از دو پروتکل پشتیبانی می کند یا به عبارت دیگر به دو روش می توان داده را بین و تبادل کرد که عبارتند از : در هریک از دو پروتکل بالا طریقه اتصال بین و تفاوت دارد(به شکل زیر توجه کنید) (mmc mode) Multimedia mode : در این روش برای انتقال داده از کمترین خط داده استفاده شده است که عبارتند از: CLK : با هر دوره تناوب از سیگنال ورودی به این پین یک بیت داده بر روی خط یا جابجا می شود .

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

    CMD : این خط یک خط داده دو طرفه است(ورودی و خروجی) که برای فعال کردن و دستور انتقال داده و پاسخ مورد استفاده قرار می گیرد .

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

    DAT : این خط یک خط داده دو طرفه است وبرای انتقال داده ای که باید بر روی حافظه ذخیره یا از حافظه خوانده شود مورد استفاده قرار می گیرد.

    RSV : این خط در این روش بدون استفاده است اما در به عنوان خط انتخاب تراشه به کار می رود.

    SPI mode : پروتکل توسط شرکت ارائه شد و توسط اکثر میکروکنترلرهای پشتیبانی می شود .

    این مزیت باعث شده که بیشتر پروژه های امروزی از این کارت استفاده کنند.

    در پروژه انجام شده مذکور نیز از این پروتکل استفاده شده است.

    خطوط داده در این پروتکل عبارتند از: CLK :سیگنال کلاک برای سنکرون سازی انتقال داده است.

    Data In : این خط داده ورودی است.

    بر روی میکرو کنترلر خط داده باید به این پین وصل شود.

    زیرا به عنوان و به عنوان عمل می کند.

    Data Out : این خط داده ورودی است .

    بر روی میکرو خط داده(پین) باید به این پین وصل شود.

    CS :() از این خط داده برای انتخاب و فعال سازی استفاده می شود.

    در پروتکل به وسیله آدرس مخصوصی که توسط (کنترلر) به آن اختصاص داده, شناسایی می شود.

    اما در پروتکل شناسایی کارت توسط خط انجام می گیرد که برای انتخاب هر کارت می توانیم به وسیله خط (وقتی که 0 می شود کارت فعال می شود) را انتخاب کنیم و باید توجه کنیم که در طول انتقال داده این خط باید فعال باشد .

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

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

    درجدول بالا رجیستر برای مشخص کردن رنج ولتاژهایی است که توسط این پشتیبانی می شود.

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

    حافظه ///////نوعی کارت حافظه از نوع// بوده و معمولا دارای ظرفیت های بالا تا 1 و از کاربردهای آن می توان در موبایل , , دوربین های دیجیتال و // نام برد.

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

    کارتهای حافظه دارای 7 پایه می باشند.

    پایه های کارت عبارتند از: 1-پایه با فعال کردن //// این پایه کارت انتخاب خواهد شد.

    2.

    پایه/// ورودی سریال داده به کارت حافظه 3.

    پایه//// اتصال به زمین 4.پایه برای تغذیه کارت حافظه باید ولتاژ مابین 2.7تا3.6ولت به این پایه اعمال شود.

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

    کارتهای حافظه برای فعالیت به یک ولتاژ تغذیه بین 2.7 تا 3.6 ولت با حداکثر جریان دهی 100 میلی آمپر نیاز دارند.

    همان طور که در شکل ملاحظه می فرمایید بعلت آنکه ولتاژهای تغذیه کارت حافظه 3.3 ولت و میکرو 5 ولت است برای تطابق بین این دو ولتاژ از یک شبکه تقسیم کننده مقاومتی استفاده می شود.

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

    مد عملیاتی SPI مد عملیاتی در کارتهای پشتیبانی می شود.

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

    مد اطلاعاتی در باید در حالت صفر انتخاب شود .برای اطلاعات بیشتر در مورد واسط به فصل ؟

    مراجعه کنید.

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

    در مد SPI انتخاب چیپ (کارت حافظه ) به صورت سخت افزاری( توسط پایه CS ) بوده و در حالی که درMMC به صورت نرم افزاری و از طریق آدرسی که در ابتدای ارتباط تنظیم می‎شود می‎باشد.

    با توجه به مورد 2 برای ارتباط با یک کارت علاوه بر GNDدر مد MMC به3خط (Data,CMD,CLK) و در مد SPI به 4خط (DI,DO,SCK,CS ) نیاز داریم.

    با توجه به مورد 2 به ازای هر کارت در مد SPI یک خط انتخاب (CS) به مدار اظافه می‎شود.

    این در حالی است که درMMC تعداد خطوط ارتباطی همان 3 خط خواهد بود.

    موردی که تحت عنوان یک مزیت در مدSPI نسبت به مد MMC می‎تواند مورد توجه قرار بگیرد این است که دراین مد بر خلاف مد MMC با افزایش تعداد کارتها کارایی (Performance) مدار تغییر چندانی ندارد.

    ارسال ها در مد MMC با یک بیت آغازگر(Start Bit ) شروع و با یک بیت پایانی (Stop Bit) خاتمه می یابد ولی مد SPI بایت گرا (بایت مبنا (Byte Oriented می‎باشد یعنی همه دستورات، پاسخها و ارسال و دریافت داده ها به صورت 8 بیتی انجام می‎پذیرد.

    در مد MMC و SPI خواندن و نوشتن به روشها زیر صورت می‎پذیرد: :Single Blockدر این روش در هر مرحله فقط یک بلوک انتقال داده می‎شود .

    :Open_Ended در این روش با ارسال فرمان عملیات انتقال شروع و تا دریافت فرمان STOP ارسال بلوک ها ادامه خواهد داشت.

    Multiple block with : در این روش قبل از ارسال فرمان انتقال با ارسال CMD23 تعداد بلوکهای انتقالی از پیش تعیین می‎شود.

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

    SPI در میکروکنترلر: ATMEGA 8 واسط وسایل جانبی سریال که اولین بار توسط شرکت موتورولا تدوین گردید، یک روش انتقال اطلاعات به صورت سریال همزمان (سنکرون) می باشد که در مدارات دیجیتال به صورت گسترده از آن استفاده می شود.

    در میکروکنترلرهای AVR از واسط SPI برای ارتباط با دیگر وسایل جانبی که از این واسط پشتیبانی می کنند، استفاده می شود.

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

    واسط SPI در میکروکنترلرهای AVR دارای خصوصیات زیراست: ارسال اطلاعات از طریق سه خط به صورت همزمان و دو طرفه (Full Duplex) عملکرد به صورت Master وSlave اولویت در ارسال MSB وLSB قابلیت انتخاب سرعت انتقال وجود پرچم وقفه در پایان انتقال وجود پرچم تداخل بیدار شدن دستگاه از مد Idle دو برابر شدن سرعت در مدMaster ( فقط در بعضی از مدلهایAVR ) در میکروکنترلرهای AVR جهت ارسال اطلاعات در این واسط علاوه بر خط زمین (GND) حداقل به سه خط MISO وMOSI وSCK نیازمندیم .

    همچنین هر کنترلر قابلیت عمل کردن به عنوان Master ویا Slave را دارا میباشد، در این واسط سرعت تبادل اطلاعات از حد اقل 1/128 فرکانس تا حداکثر نصف فرکانس کاری مدار در مدMaster و1/4 در مد Slaveمی تواند تغییر کند.

    با پایان پذیرفتن ارسال اطلاعات بیتSPIF از رجیستروضعیت(SPSR) یک خواهد شد و در صورت فعال بودن بیتهای SPIE از رجیستر SPCR و فعال ساز وقفه عمومی(I) از رجیسترSREG وقفه مربوطه اتفاق خواهد افتاد.

    معرفی رجیسترهای :SPI رجیستر کنترل (SPCR) بیت SPIE_7 : فعال ساز وقفه SPI بیتSPE_6 : فعال ساز SPI بیتDORD_5 : جهت ارسال داده ها DORD=1 ابتدا بیت LSB ارسال می‎شود.

    DORD=0 ابتدا بیت MSB ارسال می‎شود.

    بیتMSTR_4 : (انتخاب مد Slave یا Master) MSTR=1 مد Master MSTR=0 مد Slave بیتCPOL_3 : این بیت وضعیت پین SCK را در حالت Idle مشخص می‎کند.

    بیت CPHA_2 : این بیت مشخص می کند که اطلاعات روی پین هایMISO وMOSI در لبه بالارونده معتبر است یا پایین رونده.

    بیت های SPR1,SPR0_1,0 : توسط این بیتها فرکانس SCK در مدMaster مشخص می‎شود و در مد Slave تاثیری ندارد.

    جدول زیر روابط بین SCK و فرکانس نوسان ساز(focs) را نشان می‎دهد.

    رجیستر وضعیت(SPCR) بیت SPIF_7 : با پایان یافتن ارسال داده این پرچم بالا می‎رود و در صورت فعال بودن SPIE وI یک وقفه ایجاد می‎شود که در زمان اجرای سرویس وقفه این پرچم پاک خواهد شد.

    بیتWCOL_6 : در صورتی که در هنگام ارسال داده در رجیسترSPDR مقداری نوشته شود این بیت یک می شود که نشان دهنده برخورد داده به هنگام نوشتن است.

    بیت های 5-1 : این بیت ها رزرو شده و همیشه صفر باز می‎گرداند.

    بیتSPI2X_0 : با یک شدن این بیت در مدMaster سرعت پالس ساعتSPI دو برابر می‎شود ودر مد Slave تاثیری در کارکرد مدار نخواهد داشت.

    این بیت در بعضی ازAVR ها از جمله ATMEGA 32 وجود دارد.

    رجیستر داده (SPDR) از این رجیستر برای خواندن و نوشتن جهت ارسال یا دریافت بوسیله SPI استفاده می‎شود.

    مد های اطلاعات با توجه به رجیستر کنترل(SPCR) از دو بیت CPOL و CPHA می توان برای تعیین قطبیت و فاز پالس ساعتSCK استفاده کرد .

    با دقت در جدول زیر می توان گفت با ترکیب این دو بیت چهار مد ارتباطی بوجود میآید.

    مدهای صفر و دو درحالت صفر پایه SCK درحالت Idle در سطح پایین و اطلاعات روی پینهایMOSI وMISO در لبه بالارونده نمونه برداری می‎شود.

    درحالت دوم عکس حالت صفر اتفاق می‎افتد.

    مدهای یک و سه درحالت یک پایهSCK در حالت Idle در سطح پایین و اطلاعات روی پینهایMOSI وMISO در لبه پایین رونده نمونه برداری می‎شود.

    درحالت سه عکس حالت یک اتفاق می‎افتد.

    فصل سوم: راه اندازیMMC در مد SPI ودستورات آن از آنجایی کهMMC در هنگام اتصال تغذیه به صورت پیش فرض در مدMMC شروع به کار می‎کند ، لذا جهت راه اندازیMMC در مد SPI باید از مد MMC خارج شد.

    قبل از توضیح درباره نحوه ورود به مدMMC لازم است تا توضیحاتی درباره دستوراتMMC و چگونگی ارسال دستورات داده شود.

    قالب دستورات در مد SPI : به طور کلی دستورات ارسالی در مدSPI از قالب بالا برای ارسال داده استفاده می‎کنند.

    قالب دستور تشکیل شده از : یک بیت صفر و یک بیت یک(Start bit) شش بیت اندیس فرمان 32 بیت آرگومان فرمان (که می تواند آدرسی از حافظه باشد) 7 بیت CRC یک بیت یک(Stop bit) یک بایت داده بی ارزش(داده 0xFF است و در کارتهای حافظه SD تعداد بایت ها بزرگتر مساوی یک است) یک بایت پاسخ(R1) که با صفر شروع می‎شود.

    دستورات MMC در مد SPI: Command Index Argument Response Data Abbreviation Description CMD0 : با ارسال این دستورMMC به صورت نرم افزاری بازنشانی خواهد شد و به اختصارGO_IDLE_STATE نامیده می شود.

    پاسخ این فرمان (R1) به صورت(0x01) می‎باشد.

    :CMD1 با ارسال این فرمان عملیات آغاز سازی اجرا می‎شود و در اختصار به آن SEND_OP_COND می‎گویند.

    : CMD9 با ارسال این دستور می توان اطلاعات رجیسترCSD (از رجیسترهای داخلی MMC )را دریافت کرد.

    : CMD10 با ارسال این دستور می توان اطلاعات رجیسترCID (از رجیسترهای داخلی MMC ) را دریافت کرد.

    : CMD12 از این فرمان برای توقف خواندن و نوشتن داده در فرمانهای CMD18 وCMD25 استفاده می‎شود.

    : CMD16 از این فرمان جهت تعیین طول بلوک داده که می‎نواند از یک تا2048 بایت تغییر کند استفاده می‎شود.

    توجه داشته باشید به صورت پیش فرض و در ابتدا تعداد بلوک داده ها 512 بایت می‎باشد.

    : CMD18 جهت خواندن بیش از یک بلوک داده از این فرمان استفاده می‎شود .

    اگر قبل از ارسال این دستور با دستورCMD23 تعداد بلوکها مشخص شود انتقال داده حد اکثر تا زمانی ادامه خواهد داشت که تمام بلوکهای درخواستی انتقال یابند، در غیراین صورت انتقال فقط با ارسال دستورCMD12 قطع خواهد شد.

    قالب دریافت داده مانندCMD17 میباشد با این تفاوت که فقط یک بار در طول انتقال فرمان ارسال می‎گردد.

    CMD23 : توسط این دستور تعداد بلوکهایی که در عمل نوشتن و یا خواندن گروهی بعدی مورد نظر است مشخص می‎شود.

    توجه داشته باشید تعداد بلوکها در آرگومان و در شانزده بیت پایین آن مشخص شده و شانزده بیت دیگر خالی میماند.

    : CMD24 برای نوشتن یک بلوک داده از این فرمان استفاده می‎شود .

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

    پس از دریافت پاسخMMC برای مدت زمانی مشغول بوده و در برابر ارسال هرگونه داده ای صفر بر می‎گرداند.

    : CMD25 جهت نوشتن بیش از یک بلوک داده از این فرمان استفاده می‎شود .

    اگر قبل از ارسال این دستور با دستورCMD23 تعداد بلوکها مشخص شود انتقال داده حد اکثر تا زمانی ادامه خواهد داشت که تمام بلوکهای درخواستی انتقال یابند، در غیر این صورت انتقال فقط با ارسال دستورCMD12 قطع خواهد شد.

    قالب دریافت داده مانندCMD24 میباشد با این تفاوت که فقط یک بار در طول انتقال فرمان ارسال می‎گردد.

    نکات قابل توجه : آرگومان ها در دستورات خواندن و نوشتن(17,18,24,25) به صورت بایت به بایت و ضریبی از طول بلوک دادهمی باشند.

    یعنی اگر آدرس اول را 0 (0x00000000) در نظر بگیریم آدرس بعدی512 (0x00000200) خواهد بود و آدرس دهی به همین روش ادامه خواهد یافت.

    توکنهای داده در دستورات مختلف وهمچنین پاسخ های داده به صورت زیر است: آغاز به کار در مد : SPI پایه CS از MMC را که با صفر فعال می شود غیر فعال می‎کنیم .

    در حالی که پایهMOSI یک است حد اقل74 پالس ساعت به سمتMMC ارسال می‎کنیم.

    حال پایه ی CS را دوباره فعال می‎کنیم MMC آماده دریافت فرمان در مدSPI می‎باشد.

    اولین فرمانی که در این مد باید ارسال کرد فرمانReset است.

    پس از بازنشانی نرم افزاری کنترلر کارت باید دوباره آغازسازی (initialize ) شود که این امر توسط فرمانCMD1 صورت می‎گیرد.

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

    فصل چهارم : مبدل ADC: به طور کلی 6 روش برای تبدیل سیگنال‌های آنالوگ به دیجیتال وجود دارد.

    در میکرو کنترلرهای AVR از روش تقریب متوالی برای تبدیل سیگنال‌های آنالوگ به دیجیتال استفاده می‌شود.

    مبدل ADC به روش تقریب متوالی: در این روش تبدیل ، خروجی یک شمارنده که به ورودی یک مبدلDAC متصل شده است.

    باعث می‌شود که خروجی DAC متناسب با مقدار خروجی شمارنده دارای یک ولتاژ آنالوگ باشد.

    این ولتاژ(VDAC)توسط یک مقایسه کننده با ولتاژ آنالوگ ورودی مقایسه شده و در صورت تساوی پایه Stop شمارنده را فعال کرده تا شمارنده متوقف شود.

    حال مقدار دیجیتال خروجی شمارنده همان مقدار متناسب با ولتاژ آنالوگ ورودی خواهد بود.

    رابطه مقدار دیجیتال خروجی متناسب با ولتاژ آنالوگ ورودی از رابطه زیر پیروی می‌کند.

    n: شمارنده با تفکیک n بیتی: بررسی واحد ADC در میکروکنترلر AVR مبدل ADC در AVR بسته به نوع AVR از کانال‌های ورودی متعددی بهره می‌برد.

    در ذیل در مورد واحد ADC توضیح می‎دهیم.

    ADC دارای دقت 10 بیتی است.(شمارنده 10 بیت) ADC دارای دو مد تبدیل single و Free می‌باشد.

    درمد single بعد از هر عمل تبدیل ADC منتظر می‌ماند تا دوباره تحریک شود.

    ولی در مد Free ، ADC به صورت پیوسته از ورودی نمونه‌برداری می‌کند و مقدار تبدیل را در رجیستر داده قرار می‌دهد.

    ولتاژ مرجع Vref برای DAC از سه طریق تامین می‌شود.

    1 ولتاژ مرجع داخلی567/2 ،2 ولتاژ روی پایه Aref ، 3 ولتاژ روی پایه Avcc ADC دارای پایه تغذیه آنالوگ مجزا می‌باشد.

    که اختلاف آن با vcc نباید بیشتراز 37/0 باشد.

    در صورتیکه از ولتاژ مرجع داخلی 567/2 استفاده شود، با توجه به اینکه این ولتاژ روی پایه Aref نیز ظاهر می‌شود، برای کاهش نویز روی این پایه یک خازن(حدود nf100) قرار می‌گیرد.

چکيده: DTMF يا Dual Tone Multiple Frequecies روشي است براي توليد سيگنالهاي Tone به منظور استفاده در سيستمهاي تلفن، مودم، کارتهاي صوتي و غيره. اين روش با توجه به استاندارهاي مشخصي که دارد اين امکان و قابليت را به ما مي دهد تا سيگنال Tone مورد نظر را

کارت صدا(۱) Sound Card کارت صدا یکی از عناصر سخت افزاری رایانه است که باعث پخش و ضبط صدا می گردد. قبل از گسترش کارت های صدا، صدا در رایانه توسط بلند گوهای داخلی ایجاد می شد. این بلند گوها توان خود را از برد اصلی می گرفتند. استفاده از کارت صدا از اواخر سال ۱۹۸۰ شروع شد. در حال حاضر شرکت های متعددی تولیدات خود را در این زمینه به بازار عرضه می کنند. کارت صوتی همانند کارت گرافیکی بر ...

فصل 1 « پردازش سيگنال ديجيتال و سيستم هاي DSP »: سيستم پردازش سيگنال به هر سيستمي گفته مي شود که از اين دانش بهره مي برد . پردازش سيگنال ديجيتال کاربرد اعمال حسابي بر روي سيگنالها مي باشد که بصورت رقمي نمايش داده مي شوند سيگنالها

حافظه هاي ATMagUlb, AVR اين بخش تفاوت ميان حافظه هاي دو، ATmegulb را توصيف مي کند در ساختار AVR دو فضاي حافظه اي، فضاي حافظه اي برنامه توليست وفضاي حافظه اي اوليه وجود دارد در مجموع ATMega16 يکEEPROM براي نگهداري اطلاعات حافظه اي دارد همه

پیشگفتار در اوایل دهه 60 میلادی ایالات متحده در آستانه شکل گیری تکنولوژی نوینی در مهندسی برق بود. ترانزیستور که کمی پس از پایان جنگ جهانی دوم توسط سه دانشمند در آزمایشگاههای کمپانی بل ابداع شده بود، کم کم جایگزین رقیبش لامپ خلا می شد. در سال 1968 رابرت نویس و گوردون مور، دو نفر از پایه گذاران اصلی کمپانی فیرچایلد شرکت جدیدی موسوم به اینتل[1] تاسیس نمو دند. در سال 1969 یک شرکت ...

پيشگفتار يکي از مهمترين قطعات مورد تاکيد در استانداردهاي جهاني سيستم‌هاي آسانسوري، برد کنترل اضافه بار مي‌باشد. وظيفه اين برد اندازه‌گيري بار ورودي به کابين، مقايسه آن با ظرفيت مجاز و ارسال پيامهاي مناسب به برد کنترل مرکزي آسانسور مي‌باشد.

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

مقدمه از ابتداي عرضه برنامه‌ هاي تلويزيوني لزوم يک روش قابل اطمينان براي ضبط اطلاعات مربوط به تصوير بطوري که بتوان بلافاصله بعد از ضبط مجدداً آن را پخش و مورد ارزيابي و اصطلاح قرار داد احساس مي شد چه اصلاحات مي بايست قبل از پراکنده شدن هنرمندان

کامپيوترهاي شخصي اغلب مردم زمانيکه با واژه تکنولوژي برخورد مي نمايند ، بي اختيار کامپيوتر براي آنها تداعي مي گردد. امروزه کامپيوتر در موارد متعددي بخدمت گرفته مي شود. برخي از تجهيزات موجود در منازل ، داراي نوع خاصي از ريزپردازنده مي باشند. حتي اتوم

کامپيوترهاي شخصي اغلب مردم زمانيکه با واژه تکنولوژي برخورد مي نمايند ، بي اختيار کامپيوتر براي آنها تداعي مي گردد. امروزه کامپيوتر در موارد متعددي بخدمت گرفته مي شود. برخي از تجهيزات موجود در منازل ، داراي نوع خاصي از ريزپردازنده مي باشند. حتي اتوم

ثبت سفارش
تعداد
عنوان محصول