امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش مبانی دیجیتال و معماری کامپیوتر
#1
با عرض سلام خدمت همه دوستان. با توجه به نیاز و علاقه دانشجویان رشته برق و کامپیوتر -سخت افزار تصمیم گرفتم مبانی دیجیتال و معماری کامپوتر را در قالب فایل های شبیه سازی شده پروتئوس همراه با توضیحات در این وبلاگ قرار دهم.البته منظورم از مبانی مباحث خیلی ابتدایی نیست بلکه مبانی متوسط تا پیشرفته را توضیح میدهم . اگر کسی از دوستان سوال داشت در قسمت نظرات یا با ایمیل moh.rast@gmail.com با اینجانب طرح بکنه. راستی تا یادم نرفته بگم هزینه استفاده از فایل ها هم 5 تا صلوات بر محمد و آل محمد با عجل الفرجهم است. استفاده از این نوشته ها با ذکر منبع مانعی ندارد. اگر منبع را هم ذکر نکردید لطفا فایل ها را تغییر ندهید.التماس دعا


گیت های پایه منطقی و عملکرد آنها
برای شروع، گیت های پایه و چند نوع از پیاده سازی آنها رو گذاشتم.لطفا صلوات و نظرات یادتون نره
گیت های پایه منطقی و عملکرد آنها
اگر نظراتی به طور خاص داشتید به وبلاگ http://0and1ha.blogfa.com مراجعه کنید
پاسخ
 سپاس شده توسط mo2_star ، akbar8 ، Pixar ، moein masoumi
#2
سر فصل هایی که قصد دارم توضیح بدم

۱-مقایسه کننده ها

۱-۱ -مقایسه کننده ۱ بیتی

۱-۲-مقایسه کننده ۴ بیتی

2-2-مقایسه کننده 16 بیتی با 7485

۲-شمارنده ها

۲-۱-شمارنده سنکرون

۲-۲-شمارنده های آسنکرون

۲-۲-۱ -شمارنده با شمارش ۰-۱-۲-۳،C,B,A

۲-۲-۲-شمارنده بالا و پایین شمار با شمارش ۰-۱-۲-۳-A,B,C,D

3-همینگ کد (نحوه تشخیص و تصحیح 1 بیت خطا در 4 بیت )

4-حافظه ها(RAM &ROM)

4-1-یک بیت حافظه RAM

4-2-چهار بیت حافظه(RAM)

4-3- 16بیت حافظه(نحوه پیاده سازی انواع مختلف 16 بیت حافظه)

4-3-1-16 بیت با ساختار 1*16

4-3-2-16 بیت با ساختار 8*2

4-3-3-16 بیت با ساختار 4*4

4-3-4-16 بیت با ساختار 8*2

4-4-8و16بیت ROM

4-5-ذخیره ok در ROM و نمایش در دات ماتریس

5-key pad اسکنرها

5-1-اسکن کیپد 4*3 نمایش خروجی روی 7-seg

5-2-اسکن کیپد 4*4 نمایش خروجی روی 7-seg

5-3-اسکن کیپد 4*3 نمایش خروجی روی دات ماتریس

6-واحد محاسبه ،منطق و شیفت (ALSU)

6-1 -FULL ADDER

6-2-واحد محاسبات ریاضی (Arthematic Unit)

6-3-واحد محاسبات منطقی (Logic Unit)

6-4-واحد شیفت(Shift Unit)
پاسخ
 سپاس شده توسط Pixar
#3
برای شروع از مقایسه کننده های یک بیتی آغاز میکنیم
جدول داخل فایل مدار را برای دو بیت x ,y را مشاهده کنید
همانطور که مشاهده میشود برای پیاده سازی سیگنال های S1,S2,S3 که نمایشگر تساوی ،بزرگتر یا کوچک تر بودن x, y است معادلات زیر را داریم:
S1=B'A

S2=A(xnor)B

S3=A'B

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

لطفا ۵ صلوات و نظرات یادتون نره
مقایسه کننده یک بیتی


در ضمن ورژن پروتئوس من 7.10 اگر فایل ها باز نشد با این ورژن باز کنید
پاسخ
 سپاس شده توسط akbar8 ، Pixar
#4
در این قسمت عملکرد مقایسه کننده ۴ بیتی رو بررسی میکنیم.
برای شروع و فهم دقیق تر از یک مثال در مبنای ۱۰ کمک میگیرم.
فرض کنید شما میخواهید ۱۲۳ و ۲۳۴ رو با هم مقایسه کنید اول کاری که میکنید اینه که با ارزش ترین رقم یعنی صدگان رو مقایسه میکنید اگر صدگان عدد اول از عدد دوم بزرگتر یا کوچکتر بود شما دیگر به سراغ رقم بعدی نمیروید مثلا اینجا چون۱<۲ ارقام بعد رو بررسی نکرده و سریع میگوییم ۱۲۳<۲۳۴ حال فرض کنید دورقم با بیشترین ارزش مساوی باشند در این مرحله به یک رقم با ارزش پایین تر رجوع میکنیم اگر رابطه ای غیر از تساوی داشته باشند کار تمام است ولی اگر آنها نیز مساوی باشند به همین ترتیب به رقم بعد و بعد مراجعه میکنیم و در آخر اگر کم ارزش ترین رقم هم مساوی باشند میگوییم ۲ عدد مساوی هستند.
همین منوال را در مورد یک مقایسه کننده چهار بیتی پیاده سازی میکنیم یعنی از MSB بیت به بیت شروع به مقایسه میکنیم در صورت تساوی به بیت با ارزش کمتر رجوع میکنیم تا برسیم به LSB.
ما برای این کار از مقایسه کننده های تک بیتی که قبلا طراحی کرده بودیم بهره میبریم .4 عدد از انها برای این کار لازم است .علاوه بر این به تعدادی and , or برای پیاده سازی کل مقایسه کننده نیاز داریم.
معادلات خروجی در فایل پروتئوس مدار موجود است.
یکی از آنها را برای نمونه توضیح میدهم بقیه اش به همین ترتیب محاسبه میشه.
S1سیگنالی است نشان دهنده b1>a1 یعنی اگر با ارزش ترین بیت Bاز با ارزش ترین بیت A بزگتر باشد نتیجه گرفته میشود که B>A
در صورت تساوی با ارزشترین بیت ها سیگنال X1 تولید میشود اگر X1 باAND S3 شود یعنی انکه دو بیت با ارزش بیشتر مساوی اند ولی B2>A2 و از همین نتیجه گرفته میشود که B>A .در صورت تساوی سیگنال X2 تولید شده و با AND X1 ,S5 میشود و به همین ترتیب سیگنال آخر تولید میشود اگر در فایل مدار دقت کنید میتوانید عملکرد مدار را تحلیل کنید سیگنال تساوی به صورت X1X2X3X4 تولید میشود.
مقایسه کننده 4 بیتی

در ادامه مدار شبیه سازی شده مقایسه کننده 4 بیتی که در کتاب مانو طراحی شده نیز آورده میشود
مقایسه کننده 4 بیتی (طراحی مانو)
پاسخ
 سپاس شده توسط akbar8 ، Pixar ، erotominia
#5
سلام
در ادامه به عنوان یه نمونه کار عملی یه مقایسه کننده ۱۶ بیتی با آی سی
۷۴۸۵ که یک مقایسه کننده ۴ بیتیه گذاشتم ، توضیح زیادی نداره فقط اینکه ای سی
یه سری ورودی معروف به آبشاری داره که برای گسترش از ۴ بیت به بالا کاربرد داره که
نحوه عملکرد رو از دیتاشیت براتون گذاشتم. سوال داشتید در خدمتیم.با این فایل
از قسمت مقایسه کننده ها عبور میکنیم و به شمارنده ها میپردازیم

مقایسه کننده 16 بیتی با 7485
پاسخ
 سپاس شده توسط akbar8 ، Pixar
#6
شمارنده به یک سری فلیپ فلاپ گفته میشه که طی یک روند از پیش تعیین شده
رشته ای از داده ها رو در خروجی خودش نشون میده.چون بنا ندارم دوباره مطالبی که در
کتاب های دیجیتال گفته شده مطرح کنم و بیشتر مباحث کمتر گفته شده و عملی رو بگم در
مورد اصول طراحی و جدول حالت و .. به کتاب هایی مثل مانو ارجاع میدم.فقط این مطلب
رو ذکر کنم شمارنده سنکرون شمارنده هایی هستند که کلاک سیستم به طور همزمان به تمام
فلیپ فلاپها اعمال میشه و شمارنده های آسنکرون شمارنده های هستند که کلاک به طور
مجزا و غیر همزمان به فلیپ فلاپها اعمال میشود .در ادامه شمارنده های سنکرون و
آسنکرون با شمارش 0و۱و۲و۳وC,B,A را قرار میدهم .در این مداراها کار خاصی
انجام نشده فقط در همون طراحی معمولی شمارنده های سنکرون و آسنکرون هنگامی که به 4
میرسم A را از طریق set فلیپ فلاپها لود کرده و هنگامی که به Dمیرسیم مدار رو
ریست میکنیم.فایل سومی هم هست برای حالتی که نخواهیم از set و clear استفاده کنیم
که طراحی اون یه خورده پیچیده است فقط برای این مدار سوم را گذاشتم که بدونید
روش های دیگری هم وجود داره اما شاید از لحاظ تعداد گیت ها بهینه نباشه.
در مدار سوم بر روی ورودی T فلیپ فلاپ ها طراحی صورت گرفته و کلاک ها به طور
معمول مدارهای آسنکرون طراحی نشده، برای فهم مطلب یه کم دقت نیازه اگر سوالی
داشتید درخدمتیم

شمارنده سنکرون



شمارنده آسنکرون



شمارنده آسنکرون طراحی متفاوت
پاسخ
 سپاس شده توسط Pixar
#7
در این قسمت یک مدار را شرح میدهم که هم ارزش عملی دارد و هم از لحاظ طراحی و مفاهیم شمارش بسیار مفید است. همین طور که از عنوان پست هم پیدا است میخواهیم یک شمارنده طراحی کنیم از ۰ تا ۳ را به صورت بالاشمار بشمارد و پس از با لود Dشمارش را به صورت پایین شمار ادامه داده تا با A برسد بعد از دوباره به صفر برگشته این عمل مجددا تکرار شود.

برای این کار از یک آی سی 74169 که یک شمارنده سنکرون بالا و پایین شمار است استفاده میکنیم.

کار با این آی سی بسیار ساده است یک سری ورودی دارد که شما میتوانید با فعال کردن پایه LD شمارنده را با آن لود کنید البته توجه کنید که پایه ACTIVE LOW LD بوده و با صفر فعال میشود.اگر به پایهD'/U یک منطقی بدهیم مدار بالاشمار و اگر صفر بدهیم پایین شمار است.باقی پایه ها مربوط به فعال ساز -کلاک پالس - خروجی ها و کری خروجی است. برای شروع به جدول داخل زیر مدار در فایل پیوست دقت کنید مشاهده میکنید Q3 تا 3 صفر و بعد از ان یک است این تغییر حالت در 2 جا کاربرد دارد یکی اینکه اگر معکوس این پایه را به پایه D'/U وصل کنیم مدار در هنگام شروع بالاشمار است و هنگامی که D به طریقی که ذکر میشود لود شود به صورت پایین شمار عمل میکند پس با یک دقت کوچک توانستیم بالا و پایین شمار بودن مدار را تنظیم کنیم. برای اینکه حالت لوپ در مدار برقرار باشد باید در 3 مقدار Dدر Aمقدار 0 لود شود برای تشخیص 3 وA در مدار از 2 گیت NAND با 3 ورودی بهره گرفته ایم بدین ترتیب که هنگامی که مدار به 3 رسید Q3',Q1,Q1 که همگی 1 هستند در ورودی NAND قرار میگیرند .دقت کنید معکوس Q3 یعنی 'Q3 در ورودی است نه خود Q3 .خروجی NAND در این حالت صفر است اگر خروجی این پایه به لود وصل شوند میتوان در این حالت مقداری را لود کرد چگونگی لود کردن را در ادامه شرح میدهیم.اما باید در A نیز 0 لود شود در این حالت نیز با کمک از همان سه بیت اما با این تفاوت که به جای Q3اینبار معکوس Q1 یعنی 'Q1 را به ورودی NAN دوم وارد میکنیم، یعنی ورودی ها عبارتند ازQ1',Q1,Q3 که همگی 1 هستند. خروجی NAND در این حالت هم صفر است اگر خروجی این پایه به لود وصل شود میتوان در این حالت هم مقداری را لود کرد این دو حالت را با هم AND کرده و به پایه LDوصل میکنیم.حال میرسیم به این که ورودی های 0 وD چگونه در ورودی های آی سی قرار گیرند در این جا 2 روش وجود دارد اول استفاده از 4 عدد MAX 1TO2و دوم استفاده از 2عدد بافر با خروجی امپدانس بالا. بدلیل راحتی پیاده سازی در مدار پیوست از روش دوم استفاده شده است. برای بافر از 74244 استفاده شده که یک بافر با خروجی TRY-STATE است یعنی اگر چیپ سلکت یا اینیبل مدار را غیر فعال کنیم خروجی های آی سی به صورت مدار باز عمل کرده و با داخل آی سی هیچ ارتباطی ندارند لذا با بهره گیری از این آی سی خروجی 2 عدد بافر که یکی 0 و به دیگری D داده شده بدون هیچگونه مشکلی به هم وصل میشوند و این پایه ها به طور مشترک به ورودی شمارنده وصل میشوند .فقط یک مسئله مانده آن هم این است که چه زمانی صفر و چه زمانی D را را بر روی ورودی قرار دهیم؟ این سوال نیز با کمی دقت در جدول خروجی مدار براحتی قابل حل است .با مراجعه به مدار اگر از سیگنال Q3,'Q3 برای فعالسازی بافر ها استفاده کنیم یعنی Q3 به اینیبل بافر 0 , 'Q3 به اینیبل بافر D وصل شوند در هنگام مناسب مدار مقادیر مربوطه را لود میکند .توجه کنید که فعال ساز بافر ها ACTIVE LOW است . ورودی های 0 و D رو جوری گذاشتم که بتونید تغییرش بدید و نتیجه های مختلفی رو ببنید اگر خواستید میتونید با این کار و کمی تغییر انواع شمارنده های دلخواه رو طراحی کنیداگر سوالی بود در خدمتیم

شمارنده بالا و پایین شمار

در قسمت بعد مدار شمارنده تا 999999 را با 2 طراحی مختلف با کمک آی سی 7490شرح میدهم البته این جزء سرفصل ها نبود اما به نظرم جالب آمد گفتم بگم.
پاسخ
 سپاس شده توسط N O V A
#8
سلام
در این قسمت مدار شمارنده تا ۹۹۹۹۹۹ رو با آی سی ۷۴۹۰براتون توضیح میدم. این آی سی یک شمارنده ده دهی است که برای کاربردهای مختلف از جمله تقسیم فرکانس استفاده میشه برای اینکه حداکثر رنج شمارش یعنی از ۰ تا ۹ را روی خروجی ها داشته باشیم باید ورودی کلاک B رو به خروجی Q0 وصل کنیم (این قسمت رو تو دیتاشیت به صورت زرد رنگ مشخص کردم ) .برای گسترش از یک رقم به چند رقم باید با ارزش ترین بیت رقم کمتر رو یعنی Q3 به ورودی کلاک A آی سی بعد وصل کرد .
شمارنده 999999
خروجی این مدار رو برای هر رقم یک 7-seg گذاشتم طراحی بعدی این مدار در قسمت شمارنده به همان صورت گذشته است ولی در قسمت نمایشگر یک پک چند دیجیته 7-seg گذاشتم این مدار دوم رو در قسمت بعد شرح بیشتر میدم چون اصول طراحی دیتا باس مشترک که یکی از مفاهیم مهم و بنیادی انتقال دیتا است توی این مدار به کار رفته. این مدار هم یک بار با پک 8 تایی و یکبار هم با پک 4 تای 7-seg قرار دادم در ادامه به علت پیچیدگی و سیم کشی زیاد مدار پک ۸ تایی، باس دیتا رو در مدار با پک ۴ تایی توضیح میدم
شمارنده با پک 8 تایی

شمارنده با پک 4 تایی
پاسخ
#9
برای توضیح مفهوم باس مشترک و همچنین نحوه عملکرد مدار شمارنده قسمت قبل (شمارش تا ۹۹۹۹ با سون سگمنت ۴ دیجیتی) اول یک مدار ساده با ۲ زیر مدار یکی در مورد عملکرد سون سگمنت و دیگری یک دیتا باس ۲ بیتی با یک بیت ادرس رو گذاشتم.در مدار باس ۲ بیتی از ۲ عدد مالتی پلکسر ۲به یک استفاده استفاده کردم. بیت اول هر کدام از ورودی های Aو B رو به ماکس اول و بیت دوم هر کدام از ورودی های Aو B رو به ماکس دوم وصل میکنیم .ورودی S مربوط به خط ادرس ماکس ها است که به طور مشترک به ماکس 1و 2 وصل میشود. عملکرد مدار به صورت زیر است: اگر S=0 بیت اول ماکس اول (که بیت اول ورودی A است) و بیت اول ماکس دوم (که بیت دوم ورودی A است)به خروجی وصل شده و باعث میشود A یه خروجی منتقل شود .حالا اگر اگر S=1 بیت دوم ماکس اول (که بیت اول ورودی B است) و بیت دوم ماکس دوم (که بیت دوم ورودی B است)به خروجی وصل شده و باعث میشود B به خروجی منتقل شود. در ادامه مدار شمارنده 9999 با سون سگمنت 4 دیجیتی رو شرح میدم.
باس مشترک
پاسخ
#10
سلام
ممنونم از مطلب مفیدتون
ولی متاسفانه فایل شبیه سازی شده در سایت موجود نیستSad ممنون میشم دوباره بذاریدشBlush
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  استفاده از خروجی ترازو دیجیتال hashemi.2007 1 651 28-7-1394، 03:54 عصر
آخرین ارسال: 38505512
  دیمر دیجیتال برای power led sysman 11 3,308 19-7-1394، 01:24 عصر
آخرین ارسال: pami_m
  درخواست کمک برای تشریح مدار دیجیتال active77 1 670 9-3-1394، 07:03 عصر
آخرین ارسال: Original
  کمک در ساخت تموستات دیجیتال متغیر با DS18B20 و کدویژن sina80 2 766 15-2-1394، 11:40 صبح
آخرین ارسال: iman d
  روشن کردن یک لامپ 220 با کامپیوتر mohammad_ellidan 10 5,719 16-1-1394، 08:32 عصر
آخرین ارسال: Ali-Ali
Exclamation درخواست کمک برای ساعت دیجیتال با کوارتوس raz 0 642 4-11-1393، 11:14 عصر
آخرین ارسال: raz
  کمک در ساخت تایمر دیجیتال mohammd-98 2 1,261 14-10-1392، 09:41 عصر
آخرین ارسال: mohammd-98
Question فرکانس متر دیجیتال mani_wittyboy 0 747 15-6-1392، 05:28 عصر
آخرین ارسال: mani_wittyboy
Lightbulb آموزش ساده مدار رقص نور (قدم به قدم) soltan 12 4,022 6-6-1392، 03:37 عصر
آخرین ارسال: امین مرکبی ثابت
  کمک در مورد مبدل دیجیتال به آنالوگ atmelboy 3 1,277 13-5-1392، 10:08 عصر
آخرین ارسال: tabasoomtz

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان