دانستنیهای برق و الکترونیک
9.57K subscribers
409 photos
77 videos
287 files
420 links
بزرگترین کانال دانستنی های برق و الکترونیک


💠 سفارش تبلیغات :

@Behzad5107



لطفاً سوالات برقی خود را در گروه همفکری بپرسید. @eng_Barghh






.








.














.




.







.




.










.










.









.







.
Download Telegram
طراحی RISC چیست؟

#آموزش #میکروکنترلر #ARM

کلمه RISC "ریسک" ساده شده یا مخفف عبارت Reduced instruction set computing به معنای "مجموعه دستورات بهینه شده" است.

"ریسک" بجای پردازش مجموعه‌ای از دستورالعمل‌های پیچیده، از دستورات بسیار ساده تر و بهینه تری برای پردازش استفاده می‌کند که باعث کارایی و عملکرد بسیار بهینه تر آن می‌شود.

منظور از دستورات ساده این است که اکثر آن‌ها در یک سیکل پردازش می‌شوند بنابراین طراحی "ریسک" بسیار ساده تر از طراحی‌های دیگری مانند CISC است. در ساختار "ریسک" به دلیل همین سادگی، معمولاً فرکانس کاری پردازنده بیشتر از طراحی‌هایی مثل "سیسک" ثبت می‌شود درحالی که در "ریسک" دستورات به صورت ابتدایی، بهینه و کوتاه پردازش می‌شوند؛ بنابراین در فرکانس کلاک مشخص، معمولاً کارایی کمتری نسبت به طراحی "سیسک" دارند.

طراحی ریسک معایب خودش را نیز دارد از جمله؛ زیاد بودن رجیسترها، با این که سریع ترین حافظه‌های پردازنده هستند، باعث تاخیر در انتقال داده‌ها می‌شود. از طرفی به دلیل ساده بودن دستورات ریسک، این طراحی معمولاً نیاز به RAM بیشتری نیز دارد.

چرا استفاده از طراحی "ریسک" بسیار رایج است؟
ترانزیستورهای موجود در هر هسته "ریسک" که برای پردازش منطقی مورد استفاده قرار می‌گیرد، بسیار کمتر از تعداد ترانزیستورهایی است که بر روی طراحی "سیسک" استفاده می‌شوند. که سبب کاهش اندازه کامل شده پردازنده شده و در نتیجه به صورت قطعات کوچکتر می‌توانند در اغلب ابزارهای الکتریکی مورد استفاده قرار گیرند. همچنین ترانزیستور کمتر به معنای کاهش مصرف انرژی شده و باعث می‌شود پردازنده به نسبت، کمتر گرم شود.

م.استواری
طراحی CISC چیست؟

#آموزش #میکروکنترلر #ARM

کلمه CISC "سیسک" ساده شده و مخفف عبارت Complex instruction set computing به معنای "مجموعه دستورات پیچیده" است. منظور از مجموعه دستورات پیچیده این است که هر دستور سطح بالاتری، از مجموعه‌ای از دستورات سطح پایین تر ساخته شده است

"سیسک" بر اساس جمع کردن مجموعه‌ای از دستورات سطح پایین (Low-level) به عنوان تنها یک دستور ساخته شده است و در مقابل RSIC قرار دارد. در این طراحی مجموعه‌ای از دستورات ساده و ابتدایی مثل خواندن از حافظه، انجام عملیات محاسباتی و ذخیره کردن در حافظه، در یک دستور جمع می‌شوند یعنی بجای نوشتن تک تک این دستورات، می‌توانیم از یک دستور استفاده کنیم. نه تنها "سیسک" کار برنامه نویس را بسیار آسان تر می‌کند، بلکه باعث کاهش حجم کدهای برنامه نیز می‌شود. البته نباید از معایب آن نیز گذشت، برای مثال، بسیاری از دستورات پیچیده در طراحی "سیسک" اغلب استفاده نمی‌شوند و از طرفی، هزینه تولید پردازنده‌هایی که برپایه طراحی "سیسک" هستند، بسیار بیشتر است و تعداد رجیسترهای عمومی آن نیز کم هستند.

در طراحی سیسک امکان استفاده از قابلیت پردازشی لوله‌ای (Pipe-line) وجود ندارد؛ چون دستورات به دلیل پیچیدگی‌هایی که دارند اندازه‌ها و فرم داده‌هایی که خواهند خواند مشخص نیست. به علاوه، دستورات در طراحی "سیسک" در چرخه‌های متفاوتی پردازش می‌شوند. برای مثال ممکن است دستوری در یک چرخه و دستور دیگری در 6 چرخه تکمیل شود. به این ترتیب استفاده از پایپ لاین در طراحی سیسک بر خلاف طراحی رسیک، عملاً غیر ممکن خواهد بود.

چرا "سیسک" مورد نیاز بسیاری از کاربران است؟
پردازنده‌هایی که بر پایه "سیسک" طراحی می‌شوند معمولاً در اغلب کامپیوترهای شخصی، لپتاپ‌ها وسرورها یافت می‌شوند دلیل آن هم کارایی بهتر و بهینه تر بودن آن برای برنامه نویسان است. با استفاده از طراحی "سیسک" که از دستورات پیچیده تری استفاده می‌کند، برنامه نویسان می‌توانند برنامه‌ها و اپلیکیشن‌های کوچکتری ساخته و از قدرت پردازشی بیشتر سیسک استفاده کنند.علاوه بر قدرت پردازشی بیشتری که پردازنده‌های سیسک دارند، به دلیل همین طراحی پیچیده، سیستم‌هایی که برپایه آن کار می‌کنند، نیاز به حافظه RAM کمتری دارند.

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

م.استواری
تکنیک "pipe line" چیست؟

#آموزش #میکروکنترلر #ARM

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

"خط لوله" زمان انجام پردازش بر روی یک داده را کاهش نمی دهد، ولی بازده ی کل سیستم در پردازش جریانی از داده ها را افزایش می دهد. خط لوله بزرگ به افزایش تاخیر ها (زمانی که یک سیگنال نیاز دارد تا در یک خط لوله کامل منتشر شود) منجر میشود. یک سیستم خط لوله ای عموما به منابع بیشتری نیازمند است (عناصر مداری ، واحد های پردازش ، حافظه و..) تا یک سیستم که فقط یک دسته دستورعمل را اجرا می کند؛ به این خاطر که هر مرحله نمی تواند از منابع مرحله ی قبل استفاده کند. به علاوه خط لوله ای کردن می تواند باعث افزایش زمان پایان یافتن یک دستورعمل شود.

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

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

#آموزش #نرمـافزار

آموزش میکروکنترلر های AVR

در این برنامه به 12 وسیله که میتوان به میکرو وصل کرد اشاره شده که عبارتند از :
میکروکنترلر چیست؟
اصول کار KEY PAD
سون سگمنت ها
استپ موتور
ال ای دی های multi color
نحوه ی کار سنسور دما LM 35
مکانیزم ماتریس و برد های روان
نمایشگر های کاراکتری
نمایشگر های گرافیکی
اصول کار RFID
مبدل های آنالوگ به دیجیتال و دیجیتال به آنالوگ چیست؟
اصول کار PWM در میکروکنترلر
همچنین این برنامه دارای 33 پروژه با برنامه های بسکام و کدویژن می باشد از جمله :
ساعت دیجیتالی باسون سگمنت
پروژه ی کار با RF ID
دماسنج دیجیتال
فرکانس متر
کنترل چراغ راهنمایی و عابر پیاده
بازی فضایی با LCD گرافیکی
راه اندازی LED های RGB
استپ موتور با کنرل PWM و سرعت همچنین نمایش رو LCD
و...

تهیه کننده : امیر رضا خزلی
👇👇👇
میکروکنترلر های avr.apk
2.5 MB
👆👆👆
اپ اندروید
آموزش میکروکنترلر های AVR
CC_225_04_2009.pdf
14.8 MB
👆👆👆
#نشریه
CIRCUIT CELLAR

THE MAGAZINE FOR COMPUTER APPLICATIONS

April 2009
*جلسه ی دوم آردوینو*

#آموزش #Arduino #میکروکنترلر
👇👇👇
#آموزش #Arduino #میکروکنترلر

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

1 - void setup(){

این حلقه حلقه اصلی برای تعاریف ثابت در برنامه هستش تعاریف ثابت یعنی خروجی یا ورودی کردن پین ها فعال یا غیر فعال سازی ارتباط سریال مقدار دهی و شناساندن متغییر ها و حلاصه هر چیزی که میخواد برای یک بار فعال بشه و تا وقتی که تغذیه وصله تغییری نکنه . (داده های اصلی و تنظیمات اینجا قرار میگیرن ) .
به مثال زیر توجه کنید :

int buttonPin = 3;

void setup()
{
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}

void loop()
{
// ...
}

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

int buttonpin = 3:

این قسمت میاد و میگه پین 3 رو برابر متغییر buttonpin قرار میده . و تا اخر برنامه هر جا که از این متغییر استفاده کنیم همون پین 3 رو داریم تغییر میدیم .

Serial.begin(9600);

خوب این قسمت زیاد توضیح نمیدم چون برای جلسات بعدی هستش اما اینقدر بدونین که برای فعال سازی سریال با باود ریت 9600 هست .
pinMode(buttonPin, INPUT);

این کد میاد و پایه ی شماره 3 رو ورودی قرار میده یعنی از دنیای بیرون اردوینو اطلاعات رو بگیره .

خوب حلقه ی بعدی void loop هستش

این حلقه همونطور که از اسمش پیداست برای تکرار یه دستور هست یعنی هر دستوری که در این حلقه قرار بگیره بی نهایت بار تکرار میشه .
به برنامه ی زیر توجه کنید :
int buttonPin = 3;
void setup(){
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}
void loop(){
if (digitalRead(buttonPin) == HIGH)
Serial.write('H');
else
Serial.write('L');
delay(1000);
}

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

if (digitalRead(buttonPin) == HIGH)

این قسمت بایه شرط if میگیم اگر پایه ی 3 که ورودی تعریف شده 1 منطقی شد به زیر دستور if برو
Serial.write('H');

خوب زیر برنامه ی شرطمون میگه اگر ورودی 1 شذ در سریال برنامه کاراکتر h رو ارسال کن

else
Serial.write('L');

در غیر اینصورت بیا و کاراکتر L رو ارسال کن
delay(1000);

یه تاخیر 1000 میلی ثانیه ایی هم اخر برنامه اضافه میکنیم .
خوب میریم سراغ برنامه ی بیلینک یا چشمک زن این برنامه به صورت پیشفرض برای تست سالم بودن اردوینو رو برد خریداری شده پروگرم شده و تا تغذیه وصل میشه LED متصل به پین 13 که روی برد قرار داره شروع به چشمک زدن میکنه .

برای ساختن مدار، یک مقاومت 220 اهمی را به پین 13 وصل کنید، بعد پایه بلند LED (پایه مثبت که آنود نامیده می شود) را به مقاومت و پایه کوتاه (پایه منفی که کاتود نامیده می شود) را به زمین متصل نمایید. سپس برد آردوینو را به کامپیوتر متصل کنید، برنامه آردوینو را شروع و کد زیر را وارد کنید.

اکثر بردهای آردوینو یک LED دارند که به پین 13 میکروکنترلر وصل است. اگر شما این مثال را بدون اتصال هیچ وسیله ی اجرا کنید، باید یک LED چشمک زن ببینید.
مدار برنامه به صورت بالا میباشد .
این هم شماتیک برنامه در نرم افزار فریتزینگ
در برنامه زیر اولین کاری که شما انجام می دهید این است که با دستور زیر پین 13 را به عنوان پین خروجی تنظیم کنید:

pinMode(13, OUTPUT);

در تابع Loop() برنامه، LED را با دستور زیر روشن می کنید:

digitalWrite(13, HIGH);

این دستور یک ولتاژ 5 ولتی را به پین 13 ارسال و اختلاف پتانسیلی را روی پین های LED ایجاد کرده و آن را روشن می نماید. سپس با دستور زیر آن را خاموش می کنید:

digitalWrite(13, LOW);

این دستور پین 13 را به ولتاژ صفر برمی گرداند و LED را خاموش می کند. میان این خاموش و روشن کردن، شما می خواهید وقت کافی برای دیدن تغییرات را به افراد بدهید، بنابراین دستورdelay() به آردوینو می گوید که برای مدت 1 ثانیه یا 1000 میلی ثانیه، کاری انجام ندهد. وقتی شما از دستور delay() استفاده می کنید، درآن مدت زمان هیچ اتفاقی نمی افتد.

این هم برنامه ی نهایی :
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

خب این جلسه هم به پایان رسید تا جلسه ی بعد موفق باشید🙏🌷
Code_ha_va_ghavanin_etesal_va_sakht.pdf
19 MB
👆👆👆

YOUR OFFICIAL RASPBERRY PI MAGAZINE

کدها و قوانین اتصال و ساخت خانه هوشمند با RaspberryPi

#نشریه #Raspberry
introducing-the-raspberry-pi-2-model-b.pdf
1.2 MB

👆👆👆

Introducing the Raspberry Pi 2

معرفی Raspberry Pi 2

زبان اصلی

#Raspberry
Tarahi hae motefavet dar system houshmand sazi.pdf
1 MB
👆👆👆

A Multi-Purpose Scenario-based Simulator
for Smart House Environments

طراحی های متفاوت در سیستم هوشمند سازی

زبان اصلی

#آموزش #کتابـجزوه
System atomasion khane va system haie houshmand.pdf
9.2 MB
👆👆👆

From home automation to smart homes

سیستم اتوماسیون خانه و سیستمهای هوشمند

زبان اصلی

#آموزش #کتابـجزوه
Principles of Smart Home Control.pdf
457 KB
👆👆👆

Principles of Smart Home Control

قوانینی که در ساخت خانه هوشمند موثر است

زبان اصلی

#آموزش #کتابـجزوه
Build Your Own Combat Robot.pdf
7.6 MB
👆👆👆

Build Your Own Combat Robot
Pete Miles & Tom Carroll

یک ربات جنگجو بسازید

زبان اصلی


#رباتیک #آموزش #کتابـجزوه