آموزش تعمیرات لوازم برقی

در این وبلاگ قصد داریم به شما تعمیرات انواع مختلف لوازم برقی را آموزش دهیم

آموزش تعمیرات لوازم برقی

در این وبلاگ قصد داریم به شما تعمیرات انواع مختلف لوازم برقی را آموزش دهیم

چگونه می توان یک موتور پله ای را کنترل کرد

استپ موتور

نحوه کنترل یک موتور پله ای

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

استپ موتور

درایو دو قطبی (در سمت چپ) و درایو تک قطبی (در سمت راست). جهت جریان جریان در سیستم تک قطبی نشان می دهد که مرکز هر سیم پیچ به ولتاژ تغذیه موتور متصل است.

IC های عمومی برای کنترل Stepper

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

نمونه ای از بخش “General IC” DRV8803 از Texas Instrument است. این دستگاه به عنوان “راه حل درایور برای هر برنامه سوئیچ جانبی ” توصیف شده است

استپ موتور

نمودار از داده DRV8803 گرفته شده است

یا این دستگاه ، مرکز سیم پیچ موتور پله ای، به ولتاژ منبع تغذیه متصل می شود و سیم پیچ ها با روشن کردن ترانزیستورهای کم مصرف، انرژی می گیرند به طوری که اجازه می دهند جریان از منبع عبور کند ، از طریق نیمی از سیم پیچ ، از طریق ترانزیستور ، به زمین. در صورتی رویکرد Generic-IC مناسب است که اگر شما از قبل کار با یک درایور تجربه داشته باشید . می توانید با استفاده مجدد از تکه های قدیمی در هزینه صرفه جویی کنید. نکته منفی این است که یک IC پیشرفته می تواند عملکرد پیشرفته ای داشته باشد و یک کار ساده تر از طراحی را تضمین کند ، به همین دلیل ما یک درایور پله ای را ترجیح می دهیم که دارای ویژگی های اضافی باشد.

درایورهای برجسته استپر

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

بیایید L6208 را از STMicroelectronic بعنوان نمونه بگیریم.

استپ موتور

نمودار از داده داده L6208 گرفته شده است.

 

L6208 به جای ورودی های منطقی که مستقیماً جریان استفاده شده، سیم پیچ های موتور را کنترل می کند ، دارای ویژگی های زیر است:

  • پینی که بین نیمی از مراحل و مراحل کامل را انتخاب کند
  • پینی که جهت چرخش را تعیین می کند
  • یک پین ورودی “ساعت” که باعث می شود ماشین حالت داخلی کنترل موتور با یک گام، در پاسخ به یک لبه در حال افزایش پیش برود

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

استپ موتور

 

این یک الگوی کامل، برای کنترل پله موتور دو قطبی است. “” A و “” B به دو سیم پیچ اشاره دارند و ستونهای “” Q وضعیت ترانزیستورهایی را که کنترل جریان سیم پیچ را دارند، نشان می دهد.

میکرواستپ ها

همانطور که از نام آن پیداست ، میکرواستپینگ باعث می شود موتور پله ای یک چرخش را انجام دهد که به طور قابل توجهی کمتر از یک مرحله باشد. این ممکن است ۴/۱ از یک مرحله یا ۲۵۶/۱ از یک مرحله یا مکانی در بین باشد. میکرواستپینگ، موقعیت یابی موتور با وضوح بالاتر را امکان پذیر می کند ، همچنین امکان چرخش نرم تر را نیز فراهم می آورد. در برخی از برنامه ها ، میکرواستپینگ کاملاً غیر ضروری است. با این حال ، اگر سیستم شما از موقعیت یابی دقیق ، چرخش نرم تر و یا کاهش صدای مکانیکی بهره مند می شود ، باید یک درایور IC را در نظر بگیرید که قابلیت میکرواستپینگ دارد.

TMC2202 از Trinamic نمونه ای از کنترل کننده استپ موتور میکرواستپینگ است.

استپ موتور

نمودار از داده TMC2202 گرفته شده است

اندازه مرحله می تواند به اندازه۳۲/۱ یک مرحله کامل باشد ، و سپس نوعی عملکرد درون یابی وجود دارد که “صافی کامل ۲۵۶ میکرواستپ را فراهم می کند.” این تراشه همچنین به شما ایده ای می دهد که یک درایور استپر چقدر پیشرفته است، دارای رابط UART برای کنترل و تشخیص ، یک الگوریتم ویژه درایور که باعث بهبود عملکرد و سرعت پایین و سایر موارد دیگر می شود.

نتیجه

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

 

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

 

نحوه شبیه سازی منبع جریان کنترل شده با ولتاژ دو سر

منبع جریان

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

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

توضیحاتی در رابطه با منبع جریان

همانطور که در شکل زیر مشاهده می کنید، تقویت کننده ابزار در حلقه بازخورد op-amp باعث می شود که خروجی op-amp یک جریان بار را تولید کند که مستقل از مقاومت در برابر بار باشد.

منبع جریان

 

مدار بالا دقت و عملکرد دینامیکی خوبی را ارائه می دهد و رابطه مستقیمی بین ولتاژ ورودی کنترل کننده و جریان بار تولید شده برقرار می کند. قبل از شروع کار و عملکرد دینامیکی توپولوژی، به آنچه در مدار LTSPice به نظر می رسد می پردازیم.

 

پیاده سازی LTspice

نسخه LTspice ما از مدار در زیر نشان داده شده است که می توان از آن یک منبع جریان ساخت.

منبع جریان

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

همانطور که مشاهده می کنید، پین ۲ و پین ۷ از LT1102 در حال حاضر قطع شده اند. این قسمت را برای سود ثابت ۱۰۰ پیکربندی می کند و تابع انتقال حاصل شده ILOAD = VCNTRL / (100 R R1) است. اگر پین ۲ را به زمین و پین ۷ را به پین ​​۸ وصل کنید، افزایش LT1102 10 خواهد بود، در این صورت تابع انتقال به ILOAD = VCNTRL / (R1 × ۱۰) تبدیل می شود.

ولتاژ کنترلی نشان داده شده در شکل بالا نشان دهنده یک سطح شیب دار است که از -۵ ولت تا ۵+ V در یک دوره ۱۰۰ میلیونی گسترش می یابد. این ولتاژ کنترل برای نشان دادن عملکرد با فرکانس پایین مدار استفاده می شود و به کمک منبع جریان چنین چیزی صورت می گیرد.

 

عملیات فرکانس پایین / Low-Frequency Operation برای منبع جریان

طرح زیر نشان می دهد که چگونه منبع جریان به یک ولتاژ ورودی به آرامی در حال تغییر واکنش می دهد. همانطور که انتظار می رود، جریان بار به طور خطی از -۵ میلی آمپر به ۵ میلی آمپر افزایش می یابد.

منبع جریان

 

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

منبع جریان

 

بنابراین ما در حال بررسی یک خطای تقریبا ۴۵ میکروولتیمتر هستیم که فقط با تغییرات جزئی در محدوده ولتاژ ورودی -۵ ولت تا ۵ ولت همراه است که به کمک منبع جریان صورت گرفته است.

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

این خطا فرض بر این است که R1 دقیقا ۱۰ Ω است. از آن جا که R1 (در رابطه با به دست آوردن تقویت کننده ابزار دقیق) ثابت بودن تناسب بین ولتاژ کنترل و جریان خروجی را تعیین می کند، اگر می خواهید تابع انتقال واقعی بسیار کم باشد اگر می خواهید تابع انتقال واقعی برای تکرار انتقال نظری استفاده کنید.

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

چند مقادیر شبیه سازی بیشتر را با مقادیر مختلف مقاومت در برابر بار اجرا کردم و روند کلی برای افزایش خطا با افزایش مقاومت بار است. به عنوان مثال، خطا در RLOAD = 600 Ω تقریبا ۱۹ میکرو ولت است.

 

عملکرد پویا / Dynamic Performance

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

در نتیجه، ما نباید انتظار داشته باشیم که این مدار تغییرات سریع ولتاژ ورودی را به تغییرات به همان نسبت سریع جریان تبدیل کند.

با این حال، همه مواردی که در نظر گرفته شده است، خروجی توانایی خوبی در تولید مثل تغییرات ناگهانی در ولتاژ کنترل دارد و همچنین لازم به ذکر است که این تغییرات ناگهانی باعث زنگ زدگی بیش از حد نمی شوند.

برای شبیه سازی پاسخ پویا، منبع ولتاژ را به پالس تغییر دادیم که از ۰ ولت به ۵ ولت با زمان افزایش / سقوط ۱ میکروگرم منتقل می شود.

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

منبع جریان

 

یادداشت ابزار Linear Tech، پاسخ پویای این مدار را “به خوبی کنترل شده” و یا به انگلیسی ” well controlled ” توصیف می کند و ما با چنین مسئله ای کاملا موافقت داریم.

جریان خروجی به طور یکنواخت افزایش یافته و کاهش می یابد و شیب ۰.۶۵ میلی آمپر در میکرولیتر چیزی برای ایجاد مشکل ندارد.

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

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

منبع جریان

 

شما می توانید با کاهش مقدار خازن، این زمان ریکاوری را کوتاه کنید اما این منجر به یک واکنش زودگذر می شود که کمتر “کنترل شده” است و در تصویر زیر، نمونه مثالی را برای شما آورده ایم.

منبع جریان

نتیجه گیری

با کمک LTspice، ما اطلاعات مفیدی درباره عملکرد “منبع جریان جیم ویلیامز” جمع آوری کرده ایم.

همانطور که ذکر شد، تصمیم داشتیم تا برای شما در رابطه با شبیه سازی منبع جریان، صحبت کنیم و شما را با این مسئله آشنا کنیم.

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

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

آموزش تقویت توان خروجی محرک جریان op-amp

تقویت توان خروجی

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

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

آموزش دوره های فنی حرفه ای در آموزشگاه فنی پویان

آموزش تقویت توان خروجی محرک جریان op-amp

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

آموزش ارزیابی ثبات آمپلی فایرهای کامپوزیت:

معمولا op-amp ثانویه درون حلقه بازخورد آمپر اصلی قرار می گیرد، همانطور که در شکل (a)1  می بینید. تاخیر فازی (پس افت فاز) که توسط دستگاه ثانویه معرفی شده، تمایل به فرسایش حاشیه فاز φm از آمپلی فایر کامپوزیت دارد، بنابراین ممکن است مجبور شویم اقدامات مناسبی برای جبران فرکانس انجام دهیم.

تقویت توان خروجی

( شکل (a)1 نمودار بلوکی یک تقویت کننده (آمپلی فایر) ولتاژ کامپوزیت. (b) مداری برای یافتن بهره حلقه ی باز ac و بهره نویز β/۱  از آمپلی فایر کامپوزیت )

برای ارزیابی ثبات آمپلی فایر کامپوزیت، باید از تکنیک سرعت نزدیکی یا همان (ROC ) استفاده کنیم. این تکنیک به نمودار نیاز دارد.

  • بهره حلقه ی باز ac (a۱ × A۲=) آمپلی فایر کامپوزیت است.
  • بهره نویز آن β /۱ است، جایی که β عامل بازخورد آمپلی فایر کامپوزیت است.

سپس برای شناسایی وضعیت مورد نظرمان به شکل ۲ مراجعه کرده و براساس آن، φm را برآورد می کنیم.

تقویت توان خروجی

 ( شکل۲. (a) اغلب موقعیت های حاشیه ی فاز (b) مستقل از فرکانس و (b) وابسته به فرکانس بهره ی نویز β /۱ مواجه می شود )

برای پیدا کردن ac و β /۱، مدار را مانند شکل(b)1 می شکنیم، که احتمالا امپدانس یا مقاوت ظاهری خروجی آمپلی فایر ثانویه، بسیار کوچکتر از امپدانس شبکه فیدبک ( بازخورد شبکه) است.

( معادله ی ۱ )

تقویت توان خروجی

( معادله ی ۲ )

تقویت توان خروجی

آموزش تقویت توان خروجی محرک جریان op-amp:

بیشترop-amp  به گونه ای طراحی شده اند که جریان های خروجی، بیش از چند ده میلی آمپر را تأمین نمی کنند. به عنوان مثال، ۷۴۱ op-amp می توانند حداکثر ۲۵ میلی آمپر جریان خروجی را تحمل و به کار ببرند. از طرف دیگر، تلاش برای فراتر از این مقدار، برخی از مدارهای نگهدارنده داخلی را فعال می کند که از افزایش بیشتر جریان واقعی جلوگیری شود.

این آموزش به ما می گوید که در چنین شرایطی، احتمالا op-amp عملکرد طولانی مدتی نخواهند داشت، اما حداقل در اثر اتلاف های بیش از حد قدرت (توان) در برابر آسیب های احتمالی، محافظت می شود.

یک روش متداول برای تقویت توان خروجی محرک جریانop-amp  با استفاده از بافر ولتاژ است، که در شکل  (a) 3برای شما آموزش داده است.

تقویت توان خروجی

( آموزش شکل ۳. (a) استفاده از بافر برای تقویت محرک جریان خروجیop-amp. (b) جزئیات شماتیک بافر )

 

عمل Q۱، منبع (یا فشار) جریان برای بار RL است، در حالی که Q۲، جریان را از RL  بیرون می کشد. به همین دلیل گفته می شود که جفت Q۱-Q۲، مرحله ی خروج فشاری – کششی را ایجاد می کنند. ترانزیستورهای Q۳ و Q۴ دارای هدفی دوگانه هستند:

  1. آنها تابعی از نوع دارلینگتون برای افزایش بهره ی جریان از ورودی به خروجی گره فراهم می کنند.
  2. افت ولتاژ بر پایه ی امیتر (منتشر کننده) طوری طراحی شده است که Q۱ و Q۲ را حتی در صورتی که بار خروجی وجود نداشته باشد، رسانا نگه می دارد. به همین علت گفته می شود که Q۱ و Q۲ مرحله ی خروجی کلاس AB را تشکیل می دهند.در این آموزش باید بدانید که عملکرد کلاس AB، مانع از تحریف طبیعی عملکرد کلاس B می شود.

در این آموزش برای آنالیز دقیق تر، به شکل شماتیک کامل ۳ (b) مراجعه کنید، جایی که موارد زیر را دنبال می کنیم:

  • جفت Q۵-Q۶ و Q۷-Q۸ دو آینه جریانی مشترک تشکیل می دهند که همان جریان یک طرفه ( تحت تاثیر قرار گرفته) IBIAS است، جایی که

تقویت توان خروجی

( آموزش معادله ی ۳ )

  • به ترتیب، Q۶ و Q۸ آینه IBIAS و از آنها برای تحت تاثیر قرار دادن Q۳ و Q۴ استفاده کنید. در نتیجه، Q۳ و Q۴ افت ولتاژ بر پایه ی امیتر VEB3 و VBE4 گسترش می دهد.
  • در پاسخ به VEB3 و VBE4 ، Q۱ و Q۲ افت ولتاژ بر پایه ی امیتر VBE1 و VEB2 را توسعه می دهند، به طوری که:

تقویت توان خروجی

( معادله ی ۴ )

  • در صورت نبود هیچ باری، Q۱ و Q۲ باید همان جریان را ترسیم کنند. با توجه به آموزش معادله ی ۴، جریان مشترکی که توسط Q۱ و Q۲ کشیده می شود باید برابر با جریان ترسیم شده ی Q۳ و Q۴ باشد، که IBIAS است. در نتیجه، بدون بار، جریان های جمع کننده شرایط IC1 = IC2 = IC3 = IC4 = IBIAS را جبران می کنند.

در مقاله ی بعدی، این آموزش را با شبیه سازی بافر ولتاژی در PSpice گسترش می دهیم و از آنالیز، برای تقویت محرک خروجی جریان ۷۴۱ op-amp به کار می بریم.

 

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

مفاهیم و نحوه ثبت شیفت در Verilog

ثبت شیفت

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

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

مفاهیم اصلی ثبت شیفت در Verilog

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

ثبت شیفت

مفاهیم اصلی ثبت شیفت

بیایید بگوییم که ما در حال استفاده از فلاپ های ارجاع شده به لبه مثبت هستیم.

تلنگرهایی را با علامت ۰ و ۱ در شکل ۱ در نظر بگیرید (ff0 و ff1)، باید بدانید که ورودی ff0 ورودی ثبت Shift است.

ورودی ff1 خروجی ff0 است که مقدار فعلی آن نیز ff0 است.

در لبه ساعت مثبت، ff0 ورودی خود را ضبط می کند و ff1 مقدار فعلی ff0 را ضبط می کند.

اگر همه فلاپ ها شروع به تنظیم مجدد در ۰ کنند و ما ورودی ثبت نام shift را در ۱ نگه داریم، آن زمان یک لبه ساعت مثبت باعث می شود ff0 1 را ضبط کند.

در لبه ساعت مثبت دوم، ff1 عدد ۱ را ضبط می کند زیرا نمونه خروجی ff0 را نمونه برداری کرده است.

ثبت شیفت

تصویر شماره دو برای ثبت شیفت

در هر لبه ساعت متوالی مثبت، ۱ به سمت تلنگر بعدی در زنجیره تغییر خواهد کرد تا وقتی که در خروجی ثبت شیفت ظاهر شود، یعنی خروجی ff3 در رجیستری شیفت ۴ بیتی که در بالا نشان داده شده است، به نمایش گذاشته شود.

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

 

کد ثبت شیفت در Verilog

Verilog یک زبان توصیفی سخت افزاری یا HDL است به این معنی که می توان از آن برای توصیف سخت افزار مدار منطقی واقعی استفاده کرد. به همین دلیل چندین جنبه از Verilog وجود دارد که با زبان های معمولی و رایج برنامه نویسی نرم افزار متفاوت است.

دو نکته مهم که باید هنگام نوشتن کد Verilog به خاطر بسپارید:

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

ما در این مثال قصد داریم تا کد نمونه را بنویسیم. با استفاده از این کار می توانید کدهای خود را در یک FPGA بارگیری کنید تا در واقع آن را در عمل مشاهده کنید و ببینید چه اتفاقی رخ می دهد.

اعلامیه ماژول / Module Declaration برای ثبت شیفت

برای ثبت شیفت در وریلوگ، در ابتدا برای شما با یک Module Declaration شروع خواهیم کرد.

module shiftReg4(

  input shift_in,

  input clock,

  output shift_out

);

ماژول ها بلوک های اصلی ساختاری از طراحی مبتنی بر Verilog را تشکیل می دهند که منجر به ثبت شیفت خواهند شد.

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

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

در حال حاضر، ما فقط ورودی شیفت، ورودی ساعت و یک خروجی تغییر را داریم.

ثبت شیفت

نمونه کامل ثبت شیفت در وریلوگ

 

Reg

در مرحله بعد، باید اتصالات مدار و سیمی را برای ثبت شیفت خود تعریف کنیم.

مانند نمودار فوق، ما از چهار فلیپ فلاپ برای این رجیستری تغییر ۴ بیتی استفاده خواهیم کرد.

ما می توانیم با استفاده از کلمه کلیدی reg، یک flip flop ایجاد کنیم که به شرح زیر خواهد بود.

reg bit0;

reg bit1;

reg bit2;

reg bit3;

assign shift_out = bit3;

در اینجا چهار فلیپ فلاپی با نام bit0 از طریق bit3 داریم.

flipop flip1 خروجی خود را به درگاه shift_out متصل خواهد کرد و ما این کار را با یک عبارت اختصاصی انجام داده ایم که می تواند برای سیم کشی و منطق ترکیبی مورد استفاده قرار گیرد.

 

بلوک رویه ای / Procedural Block برای ثبت شیفت

حال باید به Verilog بگوییم که با این فلاپ ها چه کار کند و این در یک بلوک رویه ای و یا Procedural Block صورت خواهد گرفت.

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

always @(posedge clock) begin

  bit3 <= bit2;

  bit2 <= bit1;

  bit1 <= bit0;

  bit0 <= shift_in;

end

endmodule

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

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

بنابراین، bit3 آن چیزی را که قبلا در bit2 بود، به bit2 می دهد و آن را در bit1 و باقی بیت ها ذخیره می کند.

ثبت شیفت

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

Endmodule

شما می توانید با واژه endmodule، ماژول خود را به اتمام برسانید و در واقع ثبت شیفت را انجام داده باشید.

نمایه سازی و عملگر ثبت شیفت

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

reg [3:0] bits;

assign shift_out = bits[3];

always @(posedge clock) begin

  bits <= bits << 1;

  bits[0] <= shift_in;

end

یک علامت ۴ بیتی را به طور هم زمان با نماد براکت “[۳: ۰]” مشخص کرده ایم که نشان می دهد که بیت ۳ مهمترین بیت (MSB) است.

توجه داشته باشید که ما باید بیانیه اختصاصی خود را به سیم بیت ۳ از ثبت به سیگنال shift_out خود تغییر دهیم.

اکنون، به جای نوشتن عبارت های بلوک رویه ای برای تغییر هر بیت به صورت جداگانه، می توانیم از یک عبارت واحد با عملگر سمت چپ shift (<<) استفاده کنیم تا آنچه را می خواهیم انجام دهیم.

در هر ساعت مثبت، داده های موجود در ریجستر ۴ بیتی ما یک موقعیت به سمت چپ منتقل می شوند و MSB جدید در shift_out هدایت می شود.

همچنین توجه داشته باشید که این پیاده سازی تغییر جهت تغییر جهت را آسان می کند. در حال حاضر، ما از LSB به MSB در حال تغییر هستیم اما می توانیم به راحتی این کار را تغییر دهیم به طوری که از MSB به LSB تغییر می کند.

 

سنتز در Verilog / Synthesis in Verilog

نود و یا گره reg مقدار خود را نگه می دارد تا زمانی که مقدار دیگری به آن اختصاص داده شود.

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

 

ثبت شیفت

سنتز در وریلوگ

استفاده / برنامه های کاربردی

رجیسترهای Shift اغلب در مواقعی که باید از داده های به داده های سریال منتقل داده شوند، کاربرد پیدا می کنند.

برای این منظور، ما به طور معمول یک سیگنال بار و سیم را به هر یک از ورودی های flip flop فرد در ثبت نام شیفت اضافه می کنیم تا داده های موازی بتوانند همه آنها را به یکباره در یک رجیستر shift بارگذاری کنند و سپس بیتی تغییر دهند.

برای پیاده سازی پروتکل های ارتباطی سریال مانند I2C و SPI، می توانیم از ماشین های استت و یا state machine استفاده کنیم تا هنگامی که بیت های داده های شخصی از رجیستری خارج می شوند، کنترل کنیم تا الزامات طرح مورد نظر خود را برآورده سازیم.

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

 

خلاصه

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

 

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

درون کنسول بازی نینتندو چه چیزی قرار دارد؟

کنسول بازی نینتند

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

این کنسول هم استثنا نیست. با قرار دادن کل این کنسول درون یک تبلت سایز متوسط مرز میان بازی های قابل حمل و بازی های خانگی از بین رفته است. با اینکه این کنسول قابل حمل است اما تمامی ویژگی های یک کنسول خانگی را نیز دارد.

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

کنسول سوییچ نینتندو

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

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

 

کنسول بازی نینتند

صفحه نمایش ال سی دی

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

وضوح ۷۲۰p به جای ۱۰۸۰p هنگام قرار گیری کنسول روی آداپتور باعث میشود تا صفحه نمایش فشار کمتری را به GPU وارد نماید. در حالیکه تبلت های با وضوح بالاتر در بازار وجود دارد اما وضوح تصویر p720 هنگام استفاده از صفحه نمایش ۶.۲۵ اینچی کاملا مناسب است. اینگونه تجربه ی بازی هنگام اتصال به آداپتور و به صورت جدا، مشابه خواهد بود.

مادربرد

در مرحله ی بعد بیایید به مادربرد نگاهی بیندازیم.

این قسمت مغز نینتندو سوئیچ را در خود جای داده و نیمی دیگر از معما را فاش می کند. این قسمت دارای یک SoC مبتنی بر Tegra X1 از NVIDIA است که به عملکرد بازی قوی و راندمان انرژی بالای خود شناخته شده است. این ماژول بسیار مقیاس پذیر Tegra SoC شامل ۴ هسته ی ARM Cortex-A57 و ۴ هسته ی ARM Cortex-A53 است. اگرچه ۸ هسته در تراشه قرار دارند اما فقط ۴ هسته در یک زمان به کار گرفته میشود و نیازهای برنامه را کاهش می دهند تا مصرف انرژی کم شود. Tegra دارای یک پردازنده گرافیکی ۲۵۶ هسته ای مبتنی بر Maxwell و همچنین یک LPDDR4 DRAM چهار گیگابایتی است.

کنسول بازی نینتند

نینتندو سوییچ شامل یک SoC مبتنی بر Tegra X1 از NVIDIA (قرمز)، یک DRAM سامسونگ LPDDR4 (نارنجی)، دو تنظیم کننده ی Maxim MAX77621AEWI + T buck (سبز)، یک Cypress BCM4356 SoC بی سیم (زرد) و یک تراشه M92T36 630380 (آبی) است. (با تشکر از iFixit)

علاوه بر تراشه Tegra، مادربرد دارای تراشه ی بی سیم Cypress BCM4356 است که Wi-Fi 2 x 2 MIMO 802.11ac و همچنین بلوتوث ۴.۱ را ارائه می دهد. جالب اینجاست که این SoC بی سیم از شارژ بی سیم A4WP نیز پشتیبانی می کند، اما این عملکرد در سوییچ نینتندو فعال نیست.

کنترلرهای Joy-Con

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

کنسول بازی نینتند

کنترل کننده های Joy-Con سوییچ اجازه می دهند تا انواع روش های ورودی از جمله گیم پد، اینرسی و حتی ورودی IR را داشته باشید.

در داخل هر کنترلر Joy-Con یک باتری لیتیوم یون ۱.۹Wh قرار دارد که حداکثر ۲۰ ساعت عمر می کند. یک شتاب سنج و ژیروسکوپ سه بعدی STMicrolectronic برای سنجش حرکت وجود دارد که این بار در قالب یک ماژول LSM6DS3 مورد استفاده قرار گرفته است.

اتصال بی سیم به کنسول اصلی توسط فرستنده بلوتوث Cypress CYW20734 ارائه شده است. در مقایسه با ماژول WiFi / Bluetooth در کنسول اصلی، این یک تراشه بی سیم بسیار کم مصرف و کم حجم است که صرفا روی اتصال بلوتوث متمرکز شده است. علاوه بر تراشه بلوتوث، Red Joy-Con دارای ماژول NFC نیز از STMicrolectronic است. این مورد برای تعامل “اسباب بازی هایی برای زندگی” مبتنی بر NFC با مجسمه های Amiibo  نینتندو استفاده می شود.

 

کنسول بازی نینتند

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

علاوه بر دکمه های گیم پد و سنسورهای اینرسی، کنترلر Red Joy-Con دارای دوربین IR و همچنین ۴ LED IR است. این دوربین می تواند اشکال و مسافت اشیایی مانند دست را تشخیص داده و به همین دلیل حالت جدیدی از تعامل را ایجاد کرده است.

برای ارائه ی بازخورد هپتیک “Rumble HD”، هر Joy-Con دارای یک ماژول Laptap LRA سفارشی است. در مقایسه با ماژول های هپتیک چرخشی (ERM) موجود در بسیاری از تلفن های هوشمند، ماژول های هپتیک  LRA کنترل بسیار بیشتری را ارائه می دهند. آنها با استفاده از فرم های قابل برنامه ریزی، می توانند به جای ارتعاشات ساده همانند هپتیک های نسل اول، حس های ظریفی مانند ضربه ها، کلیک ها یا تکان ها را به کاربر منتقل کنند.

 

نتیجه گیری

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

با استفاده از نمایشگر p720 و Tegra X1 SoC، می توان عملکرد و میزان مصرف انرژی را بر اساس اینکه آیا کنسول به آداپتور وصل متصل است یا در حالت قابل حمل قرار دارد، بالا و پایین کرد.

نیمی دیگر از جذابیت سوییچ، تکامل آن در طرح کنترل نوآورانه Wii است. تبدیل کنترلرهایJoy-Con  از حالت کنترلرهای عادی متصل به کنسول به کنترلرهای مستقل بدون سیم با سنسورهای اینرسی امکان بازی دو نفره را فقط با یک کنسول فراهم می کنند.

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