Sisoog مرجع متن باز الکترونیک-سیسوگ
6.54K subscribers
240 photos
152 videos
5 files
1.33K links
لذت اشتراک گذاری به سبک سیسوگ

Sisoog.com
موتورجستجوی قطعات الکترونیک آی سی ISee
Isee.sisoog.com
پالت انبار مازاد قطعات الکترونیک
pallet.sisoog.com
@Pallet_sisoog

Twitter.com/sisoog
instagram.com/Sisoog.os

Admin: @sisoogOs
E-Shop:Sisoog.com/shop
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
#زئوس #مسابقه
همیشه الکترونیک به اون سادگی‌ها هم که فکر می‌کنید نیست! گاهی اتفاقاتی می افته که هم دوراز ذهن و هم آموزنده است 🤠!
در ویدئو فوق عملکرد غیر منتظره یک مدار موازی رو می بینید که با درک ما از مدارات موازی در تضاد است 😎
سیسوگ برای کسانی که بتوانند توضیح دهند در ویدئو فوق چه اتفاقی افتاده به قید قرعه یک عدد مینی پروگرامر ST-Link V2 هدیه میدهد😅.
برای ارسال پاسخ به لینک زیر مراجعه کنید(عجله کنید که تا شنبه فرصت هست😜 در ضمن توی عنوان ذکر کنید مسابقه).
ارسال پاسخ
📌مسابقه اول : درک سخت افزار
👈#سیسوگ #مسابقه #چالش

🖋 نویسنده : #زئوس

مدت زیادی از مسابقه اول (مسابقه) سیسوگ در تلگرام می گذره و فکر کردم بهتره باز با یک چالش دیگه در خدمتتون باشیم . این بار خبری از اتفاقات خارق العاده و بلک باکس نیست بلکه با یک سوال ساده تر چالش را پیش خواهیم برد، و اما چالش :
کدام خانواده از میکروکنترلرهای ۸۰۵۱، PIC ، AVR ، ARM با فرکانس کلاک ۱ مگاهرتز برنامه زیر را سریعتر اجرا می کنند؟ و دلیل این امر چیست 🧐؟

int main(void)
{
uint8_t i=۰;
while(۱)
{
if(i++>۴)
{
i=۰;
PORTx ^=(۱<<bit);
}
}
}



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

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌جواب مسابقه درک سخت‌افزار
👈#سیسوگ #مسابقه_سیسوگ

🖋 نویسنده : #Zeus

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

💡برای پیدا کردن جواب سوال لازم است که گزینه های موجود را یکی یکی حذف کنیم تا به جواب چالش برسیم. تعدادی از دوستان اشاره کرده بودند که ۸۰۵۱ جواب است. اما واقعا ۸۰۵۱ سرعت بیشتری برای اجرای این چنین برنامه هایی دارد ؟

💠تعدادی دیگری از دوستان میکروکنترلر PIC را برنده مسابقه اعلام کردند ، اما وضعیت این میکروکنترلر چطور است ؟ میتواند برنده مسابقه باشد ؟ همانطور که تعداد زیادی از دوستان اشاره کردند هسته PIC برای اجرای هر دستور اسمبلی نیاز دارد که کلاک ورودی را بر ۴ تقسیم کند. یعنی به ازاء کلاک ورودی ۱ مگاهرتزی قادر است ۲۵۰ کیلو دستور را اجرا کند!

⁉️ا ARM یا AVR کدام یک ؟
تنها دو گزینه می ماند میکروکنترلر AVR و ARM اما کدام یک سریعتر است ؟ هر دوی این میکروکنترلر ها کلاک ورودی مستقیما به هسته وارد می شد و برای اجرای هر دستور نیاز نیست که کلاک شکسته شود. و اغلب دستوات اسمبلی را هر دوی این میکروکنترلر ها در یک سیکل ماشین اجرا می کنند. تازه از این که بگذریم میکروکنترلر ARM چیزهایی دارد که AVR ندارد مثل این که ۳۲ بیتی است و دارای PipeLine است (اگر نمیدانید پایپ لاین چیست مقاله با مفهوم Pipeline بهتر آشنا شوید و میکروکنترلر STM8 از کجا اومد و چه قابلیت هایی داره را مطالعه کنید).

⁉️آیا ۳۲ بیتی بود مزیت است ؟
خوب البته معلوم است که ۳۲ بینی بودن خوب است اما اگر به برنامه نگاه کنید هیچ عملیاتی نداریم که نیاز به محاسبات و یا ذخیره سازی ۳۲ بیتی داشته باشد. پس در این مثال ۳۲ بیتی بودن برای میکروکنترلر ARM مزیت حساب نمی شود.

⁉️پایپ لاین چطور ؟
خوب اگر مقالات مربوط به پایپ لاین را مطالعه کرده باشید حتما میدانید که پایپ لاین کمک میکند تا پردازنده برنامه را سریعتر اجرا کند ! و همانطور که میدایند میکروکنترلر ARM با هسته Cortex-M3 داری یک پایپ لاین ۳ مرحله است.

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

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
Sisoog مرجع متن باز الکترونیک-سیسوگ
📌جواب مسابقه درک سخت‌افزار 👈#سیسوگ #مسابقه_سیسوگ 🖋 نویسنده : #Zeus 💭و اما جواب ! واقعا کدام میکروکنترلر با کلاک ۱ مگاهرتز توانایی اجرای سریعتر برنامه فوق را دارد ! دوستانی اشاره کرده بودند که برنامه سی ملاک خوبی برای مقایسه نیست بله کاملا درسته اما…
لازم این توضیح را اضافه کنم که هدف از مسابقه سیسوگ این نبوده است که نشان دهد پردازنده AVR قوی تر از پردازنده ARM است.در واقع این مسابقه سعی کرده است یک چالش ذهنی ایجاد کند و در مورد درک لایه های پایین سخت افزاری و نشان دهد می‌شود برنامه ای را تصور کرد، که سرعت اجرای آن در (حالت خاص) یک AVR هشت بیتی سریعتر از یک میکروکنترلر ۳۲ بیتی باشد.
البته مسلم است که یک برنامه فقط شامل چند خط برنامه فرضی شبیه این مسابقه نیست ولی موضوع نگاه ما و زاویه نگاه ما برای به چالش کشیدن دید ما از سخت افزار بوده است
و مورد دیگه هم که لازمه در موردش توضیح بدم اینه که منظور ما در واقع نوع کلاسیک و مرسوم هر کدوم از این میکروکنترلرها بوده اگر نه مثلا سری dspic یا هسته های 8051 سری T1 که هم قابلیت های بیشتری دارند و هم حتی دستورات خاص اسمبلی !
#زئوس #مسابقه
📌مسابقه دوم : چالش برنامه نویسی به زبان C
👈#سیسوگ #مسابقه #چالش

🖋 نویسنده : #Zeus

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه شک کردم!!

یکی دو روز وقت گذاشتم و به بهینه ترین شکل ممکن برنامه را به زبان اسمبلی باز نویسی کردم و در کمال تعجب نه تنها نتیجه تغییر نکرد بلکه اختلاف حتی بیشتر هم شد اگر شما عملی تست کردید و نتیجه غیر از چیزی بود که ما اعلام کردیم خوشحال می شویم که نتیجه را با هم بررسی کنیم!!

بگذریم این بار قرار چالش ساده تر از قبل داشته باشم و فعلاً کاری به سخت افزار نداشته باشم و یکم مسابقه را نرم افزاری کنیم و باید زبان مورد استفاده زبان C است.
صورت مساله:
تابعی بنویسید که دو عدد (از نوع بدون علامت ۱۶ بیتی) را دریافت کند و بزرگ ترین عدد را برگرداند!


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

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

راستی جایزه مسابقه هم یک نسخه برنامه نویسی به سبک ناسا هست 😊

قوانین مسابقه در ادامه مطلب ...

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌 پاسخ مسابقه دوم : چالش برنامه نویسی به زبان C
👈#سیسوگ #مسابقه #چالش

🖋 نویسنده : #Zeus


🥳 قبل از⁦ هر سخنی لازمه که پابان سال 1398 و شروع سال 1399 به تمام دوستان و همراهان سیسوگ تبریک عرض کنم. امیدوارم که در این سال تمام برنامه هاتون با کمترین خطای ممکن کامپایل بشه (بدون خطا که زندگی معنی نداره) و خواسته هاتون محقق بشه.


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

🤠 همونطور که پیداست روش اول روش کوتاه تری است٬ و البته پیاده سازی اون هم ساده تره پس ما هم به سراغ همین راه حل خواهیم رفت.

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌مسابقه تجربه بازی

👈#سیسوگ #مسابقه #چالش


مهمترین معیاری که باعث میشه یک مهندس از هر نظر نسبت به بقیه مهندسین عملکرد بهتری داشته باشه بحث تجربه کاریه.

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

این ارائه میتونه حتی شبیه یک روایت یا داستان باشه با مضمون فنی, روایتی که میتونه بهتر از هر نوع کلاس و تئوری, داده هایی را انتقال بده که شخص یادگیرنده به روشهای دیگه نتونه اون را بخوبی درک کنه!



همه ما تو دانشگاه و محیط های درسی استادهایی را در خاطر داریم که ارائه تجربه اونها همراه با داستان و خاطره بوده و قبول کنید که اون تجربه ها در ذهن ما ماندگارتر بوده اند.




الان که همه در قرنطینه هستیم بهترین موقع هست برای اینکه این قسمت را فعال کنیم و چه بهتر که با یک مسابقه و جایزه این قسمت را اجرایی کنیم!

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

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


نحوه شرکت در مسابقه: در ادامه مطلب

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌مسابقه سوم: استخراج داده از رشته ها در زبان C
👈#سیسوگ #مسابقه_برنامه_نویسی
💰 جایزه پنج میلیون ریال

🖋 نویسنده : #Zeus

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

⚙️معمولا در طراحی دستگاه های الکترونیکی، همه ی داده ها در درون برنامه و میکروکنترلر تولید نمی شوند و لازم است که برخی از داده ها از منابع خارجی تامین شود مثل داده های انواع سنسور و یا ماژول مخابراتی یا ...! برای اینکه بتوانیم از این داده ها در برنامه استفاده کنیم لازم است بعد از صحت سنجی، داده ها را به شکل قابل استفاده تبدیل کنیم.

✳️این مسابقه تاکیدی بر این مهم است که همه جوانب ممکن را در استخراج اطلاعات در نظر بگیریم تا شاهد عملکرد غیرمنتظره دستگاه نباشیم.

🔅صورت مساله
تابعی بنویسید (به زبان C) که یک رشته را با فرمت زیر در ورودی دریافت کند و ساختار داده ای آن را استخراج کند.

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

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

مهلت پاسخ هم تا اخر روز جمعه ۲۴ مرداد ماه ۱۳۹۹ است. {حدود ۷ روز}

راستی ما خیلی خوشحال میشیم اساتیدی که تدریس زبان سی را هم دارند این مسابقه را به دانشجوهاشون پیشنهاد بدند 😊


ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
Sisoog مرجع متن باز الکترونیک-سیسوگ
📌مسابقه سوم: استخراج داده از رشته ها در زبان C 👈#سیسوگ #مسابقه_برنامه_نویسی 💰 جایزه پنج میلیون ریال 🖋 نویسنده : #Zeus 💭نزدیک به 5 ماه از مسابقه دوم سیسوگ می گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش ها هیچ وقت بی حاشیه نیستند…
📌پایان و جواب چالش سوم سیسوگ
👈#سیسوگ #مسابقه_برنامه_نویسی

🖋 نویسنده : #Zeus

💭باز تاکید می کنم همونطور که قبلاً هم گفتم مهم برنده شدن و یا نفر اول بودن نیست!، مسئله اصلی اینه که بتونیم از هم یاد بگیرم و مشکلات احتمالی خودمون رو متوجه بشیم و حلشون کنیم، بگذریم!، فکر می کردم این مسابقه از مسابقه شماره دو خیلی ساده تر باشه! ولی انگار این طور نبوده، اینو دارم از تعداد مشارکت دوستان میگم، واقعاً فکر می کردم دوستان خیلی بیشتری توی مسابقه شرکت کنند با این از همه دوستانی که شرکت کردند تشکر می کنم.

⚙️یکی از دوستان سؤال خیلی خوبی پرسید که لازم میدونم جوابش رو مقداری توضیح بدم. سؤال ساده بود "چه دستگاهی ممکنه چنین خروجی ای تولید کنه"! اما جواب ساده نیست اول این که این مسابقه به این دلیل طراحی نشده چون دستگاهی چنین خروجی ای ایجاد میکنه! در واقع این مسابقه طراحی شده تا کاربر علاوه بر این که مهارت برنامه نویسی خودش رو تقویت میکنه بتواند نیم نگاهی هم به اتفاقات پیش بینی نشده داشته باشد.

✳️بگذارید بریم سر توضیح مسئله، قرار بود دیتایی که به شکل رشته ذخیره شده و هیچ اطمینانی از صحیح بودنش نداریم و یه امن ترین روش ممکن دکد کنیم بله در ظاهر به همین سادگی و در باطن اما مقداری چالشی.

😐متأسفانه توی کتب درسی و خیلی از سایت ها این شکل از فرمت در scanf پرداخته نمیشه و باید اعتراف کنم اولین باری که خودم چنین کدی رو دیدم برام گنگ بود قضیه برمیگرده به سال ها پیش که می خواستم رشته های ارسال شده از طریق gps رو بخونم و کتابخانه ای برای این کار دانلود کرده بودم و مشغول مطالعه کدش بودم.

🔅همیشه توصیه می کنم اگه میخواید برنامه های بهتری بنویسید بهتره برنامه های زیادی رو مطالعه کنید و تحلیل کنید به همین سادگی شما هر روز بهتر خواهید بود.

😐هیچ کدام از برنامه های ارسال شده به هر ۱۱ رشته جواب صحیح ندادند! اما برنامه آقای سیاوش مولایی و محمد یوسفی کمترین خطا رو داشتند. برنامه آقای سیاوش مولایی هم خوب نوشته شده و هم خوب عمل می کنه اما به دلیل این که طول رشته name رو چک نمیکنه احتمال این که برنامه دچار segment fault بشه. اینجا کد آقای محمد یوسفی رو برنده اعلام می کنیم.

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

برای دیدن توضیحات بیشتر و همچنین برنامه های نوشته شده بر روی لینک زیر کلیک کنید:

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌مسابقه چهارم: کدام حلقه سریع‌تر است؟
👈#سیسوگ #مسابقه_برنامه_نویسی

🖋 نویسنده : #Zeus

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


🤔 احتمالاً میدانید که چند هفته ای هست درگیر ساخت یه هوش مصنوعی شطرنج هستم که روی میکروکنترلر stm32 قابل اجراست و اولین قسمت این پروژه رو تحت عنوان "پیاده سازی هوش مصنوعی شطرنج" منتشر کردم. نکته ای که توی این پیاده سازی خیلی مهمه دریافت بهترین پرفورمنس از میکروکنترلر است. برای این که عملکرد قابل قبولی داشته باشه لازمه که یه سری بهینه سازی ها روی کد انجام بشه نظیر این که مثلاً این که توابع پر استفاده به حافظه RAM منتقل بشن یا تا جای ممکن کد بهینه بشه. ایده این مسابقه هم دقیقاً از همینجا میاد. برای چالش چهارم با سیسوگ همراه باشید.


صورت مساله
با فرض این که از میکروکنترلر STM32Fxxx استفاده می کنیم سرعت اجرای حلقه های زیر به چه صورت است؟


🆚حلقه اول:

void loop_x()
{
volatile char i=200;
while(i--)
__NOP();
}


🆚حلقه دوم:

void loop_y()
{
volatile int i=200;
while(i--)
__NOP();
}


🤔فکر می کنید کدام حلقه سریع تر اجرا می شود؟ یا شاید سرعت اجرای برابری دارند! شما چه فکر می کنید؟


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


🔰ارسال جواب
پاسخ های خود را در پست زیر، کامنت کنید.
مهلت پاسخ هم تا آخر روز شنبه 16 اسفند ماه ۱۳۹۹ است.

ارسال جواب

📣 عضویت در کانال تلگرام سیسوگ
📌مسابقه پنجم: چالش باوودریت های متفاوت!
👈#سیسوگ #مسابقه #چالش #جایزه #هیجان #برنامه_نویسی

🖋 نویسنده : #ZEUS

💭 مدت‌زمان زیادی از مسابقه چهارم سیسوگ می‌گذرد، مسابقه چهارم که باهدف شناخت سخت‌افزار طراحی شده بود. اما مسابقه مقداری چالشی شد و دوستانی که نمی‌توانستند باور کنند یک میکروکنترلر ۸ بیتی در شرایطی (شرایط خاص) می‌تواند عملکرد بهتری داشته باشد با بنده تماس گرفتند و گفتند چنین چیزی ممکن نیست و حتماً جایی اشتباهی شده است. قرار بود بررسی کنند و من هنوز منتظر نتیجه بررسی آنها هستم.

📃 البته، هیچ‌چیز مطلقاً درست نیست و بنده خوشحال خواهم شد اگر جایی اشتباه می‌کنم آن را متذکر شوید تا آن را اصلاح کنم. همان‌طور که قبلاً هم گفتم طرح این چالش‌ها صرفاً در راستای این هدف است که در کنار هم بیاموزیم! و به‌هیچ‌وجه جهت نشان‌دادن این مهمل نیست که چه کسی بهتر است. حال، با مسابقه باوودریت از سیسوگ همراه باشید!


📚 مقدمه
احتمالاً می‌دانید که چند ماهی است که درگیر ساخت یک هوش مصنوعی شطرنج برای کارت ویزیتم هستم که روی میکروکنترلر stm32 قابل اجراست. تقریبا کدنویسی آن تمام شده است و مراحل آخر طراحی را طی می‌کند. به دلایلی که بعدها توضیح خواهم داد میکروکنترلر مورد استفاده را بسیار محدودتر کردم و از خانواده f0 استفاده کردم که تقریبا بخش عمده منابع RAM و FLASH آن استفاده شده است و تنها چند ده بایت RAM در اختیار دارم و حدود یک کیلوبایت حافظه فلش!

👈 حال، برای ارتباط با کامپیوتر نیاز دارم که از طرق پورت USB اقدام کنم، از آنجایی که میکروکنترلر واحد USB ندارد به‌ناچار از UART برای ارتباط استفاده کردم، واضح است که نیاز به یک مبدل USB به سریال دارم و اما چالشی وجود دارد که دقیقاً مورد سؤال این مسابقه است.


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

💎 جایزه مسابقه باوودریت
باتوجه‌به صورت‌مسئله، علاوه بر جواب لازم است دلیل آن نیز ذکر شود. پاسخ باید دارای توضیحات کافی در خصوص نحوه عملکرد باشد.

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

🗓 مهلت پاسخ هم تا آخر روز شنبه ۲۳ مردادماه ۱۴۰۰ است.


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

👈 ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌پایان و جواب چالش پنجم سیسوگ
👈#سیسوگ #مسابقه #چالش #جایزه #هیجان #برنامه_نویسی #الکترونیک

🖋 نویسنده : #ZEUS

💭 متشکرم از تک تک دوستانی که وقت گذاشتند و در این چالش شرکت کردند. از نظر من همه دوستانی که حتی یک ساعت به مورد مساله فکر کرده‌اند، برنده این مسابقه هستند. ولی همان‌طور که انتظار می‌رفت این چالش هم دچار حاشیه‌هایی شد که خوب، اجتناب ناپذیر بودن. اغلب دوستان به پیاده سازی نرم افزاری فکر می‌کردند! البته طبیعی است و در ابتدای حل این مساله خود من هم به راه‌های نرم افزاری فکر می‌کردم، اما واقعاً راه به جایی نبردم. یعنی به راه حلی که مدنظرم باشه نرسیدم. با توجه به محدودیت موجود روی حافظه میکروکنترلر و البته محدود بودن قدرت پردازشی cpu (و در نتیجه محدودیت زمان پردازش) تقریباً ناامید شده بودم که به یاد آوردم:


💎 «ما طراح سیستم هستیم، نه یک برنامه نویس معمولی!!» 💎


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


🤔 فرایند حل چالش
فرایند حل این چالش برای من قدم به قدم به این شکل اتفاقاً افتاد که اول قصد پیاده سازی الگوریتم USB را به شکل نرم افزاری داشتم، ولی ... (ادامه مطلب)


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

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

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

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌مسابقه ششم: بزن میکروکنترلر را بسوزون!
👈#سیسوگ #مسابقه #چالش #جایزه #هیجان #برنامه_نویسی #الکترونیک

🖋 نویسنده : #ZEUS

⚠️ بزنم میکروکنترلر را بسوزونم اونم تو این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه مسئله این‌قدر سخت نباشه که کسی نتونه حل‌ش کنه و نه این‌قدر ساده باشه که بدون به چالش کشیدن شرکت‌کننده‌ها حل بشه حالا کنار همه اینا باید یه چیزی هم برای یادگیری داشته باشه و البته به‌اندازه کافی جذاب باشه افراد حاضر باشند وقتشون رو برای حل مسئله بگذارند.


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


💻 بیست یا بیست و پنج سال پیش وقتی دانش‌آموزی بیش نبودم و تازه دستگاه کمودور ۶۴ خریده بودیم، بسیار هیجان‌زده بودیم و سعی می‌کردیم با یادگرفتن زبان بیسیک برنامه‌های مختلفی بنویسیم، یک روز ایده‌ای به ذهنمان رسید

🔥برنامه ای نوشتیم که جرات اجرای آن را نداشتیم، چون می‌ترسیدیم کومودر عزیز ما بسوزد!🔥

این مسابقه دقیقاً با این ایده کودکی طراحی شده است که جزئیات بیشتر را در شرح مسابقه خواهید خواند.


📍صورت‌مسئله

دقیقا موضوع مسابقه ششم سیسوگ برنامه‌ای است که با پروگرام کردن آن روی میکروکنترلر به میکروکنترلر آسیب جدی برساند و کاری کند که میکروکنترلر غیرقابل استفاده شود!
البته در آسیب رساندن باید به موارد زیر را دقت کرد!

🟢 به هیچ کدام از پایه های میکروکنترلر نباید ولتاژی غیر از آن چیزی که در دیتاشیت توصیه شده اعمال شود
🟢 از هیچ پایه ای نباید جریانی بیشتر از آن چه توصیه شده است کشیده شود یا وارد شود.
🟢 هیچ کدام از رابط های پرواگرام کردن نباید به شکل نرم افزاری غیرفعال شود.
🟢 دست کاری فیوز بیت ها جزو تغییرات غیر مجاز می‌باشد

💣 دقت داشته باشید صدمه رساندن باید دایمی باشد نه این‌طور باشد که قابل‌بازگشت باشد


شرایط داوری و جایزه مسابقه سیسوگ

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

مهلت پاسخ هم تا آخر روز شنبه ۱۷ مهرماه ۱۴۰۰ است.

جزییات بیشتر در لینک زیر 👇🏻

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌پایان و جواب چالش ششم سیسوگ!
👈#سیسوگ #مسابقه #چالش #جایزه #هیجان #برنامه_نویسی #الکترونیک

🖋 نویسنده : #ZEUS

💭 متشکرم از تک‌تک دوستانی که وقت گذاشتند و در این چالش شرکت کردند. از نظر من همه دوستانی که حتی یک ساعت به مورد مسئله فکر کرده‌اند، برنده این مسابقه هستند. بر خلاف چیزی که فکر می‌کردم خیلی زودتر از انتظارم دوستان جواب درست رو کامنت کردند که البته باعث خوشحالی است:)

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

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

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

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

همه دیدگاه ها و پاسخ آن ها را میتوانید در سیسوگ ببینید!

ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
📌 ‏چالش طراحی با معماری RISC-V

👈#سیسوگ #بلاگ_خبری #مسابقه_RISC-V #توصیه_شده

🖋 نویسنده :
#Mahdi_h
مدت مطالعه: حدودا 3 دقیقه

💭 مقدمه
‏بازهم چالش و مسابقه اما این بار نه از طرف سیسوگ بلکه از طرف شرکت LCSC، یک شرکت بزرگ تأمین قطعات در چین. قضیه از این قراره که به دلیل محبوبیت روزافزون معماری RISC-V برای اینکه برنامه‌نویس‌ها درک بیشتر و بهتری ازش داشته باشند و باهاش کار عملی انجام دهند مجموعه‌های RISC-V MCU ,WCH ,RT-Thread ,LCSC و EasyEDA با همکاری هم یک چالش طراحی با معماری RISC-V رو به‌صورت بین المللی اجرا می‌کنند که در ادامه جزییاتش رو باهم بررسی می‌کنیم. ...

📚 سرفصل موضوعات:

جایزه ها
چگونگی شرکت در مسابقه
جزییات مسابقه RISC-V
معماری RISC-V چیست؟
سیستم عامل اوپن سورس RT-Thread چیست؟
بررسی میکروکنترلر CH32V307

✍️ خلاصه کلی
‏شرکت LCSC، یک شرکت بزرگ تأمین قطعات قصددارد چالش طراحی با معماری RISC-V را با همکاری شرکت هایی مثل WCH ،RT-Thread و...برگزار کند.

⚠️ مطلب بالا، تنها خلاصه و کلیتی از اصل مقاله است، مقاله کامل را می توانید در وب سایت سیسوگ (ادامه مطلب) مطالعه فرمایید.

👈🏻 ادامه مطلب

📣 عضویت در کانال تلگرام سیسوگ
Sisoog مرجع متن باز الکترونیک-سیسوگ
مسابقه 🥳 💢 طراحی قفل دیجیتال 👈#سیسوگ 🎁جایزه: یک عدد اورنج پای به همراه لایسنس دوره آموزشی طراحی PCB به ارزش ۲۰ میلیون ریال مهلت شرکت: حداکثر تا بیستم فروردین ماه 1403 💭 صورت مساله در این چالش قصد داریم یک قفل رمزدار دیجیتال طراحی و پیاده سازی کنیم. تا…
طراحی قفل دیجیتال با برنده‌های مسابقه هشتم سیسوگ😍
سلام خدمت تمامی همراهان عزیز، در این مطلب پاسخ شرکت کنندگان مسابقه هشتم سیسوگ را با کمی تاخیر منتشر می کنیم. امتیاز شرکت کنندگان به شرح زیر است:
آقای حیدری 103
آقای بافنده 65
آقای رفیعی 63
خانم رحمانی 51
آقای وداعی 36

💢در این مطلب توضیحات شبیه سازی نفر اول، سوم و پنجم را میتوانید مشاهده کنید.

لینک مطلب

#مسابقه #برندگان