آموزش واحد RNG در میکروکنترلر WCH | تولید اعداد تصادفی - قسمت 14 آموزش CH32

blog
۱۴۰۴-۰۱-۰۹
2 دقیقه

با سلام، در این قسمت از آموزش‌ها میریم سراغ RNG در این میکروکنترلر، این واحد خیلی کاربردهای خاص داره ولی مهم‌ترین کاربرد این واحد کاربردهای امنیتی هست. راه‌اندازی این واحد بسیار ساده هست.

RNG چیست و چگونه کار می‌کند؟

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

بریم اول دیاگرام داخلی این واحد رو داخل WCH ببینیم.

آموزش واحد RNG در میکروکنترلر WCH | تولید اعداد تصادفی - قسمت 14 آموزش CH32

نحوه تولید عدد تصادفی در RNG

می‌بینید که یک سری مراحل داره این تولید عدد رندوم به طور خلاصه این عدد رندوم بر اساس برخی مؤلفه‌هایی که برنامه‌نویس در آنها نقشی ندارد تولید می‌شود، برای مثال دقیق نبودن فرکانس ورودی، ولتاژ پایه Vref ، دمای میکرو و یک سری مسائل محیطی که واقعاً پیش‌بینی‌کردن عددی که میخواد تولید بشه رو بسیار دشوار می‌کند.

راه‌اندازی واحد RNG در WCH

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

تنظیم کلاک برای RNG

ما برای رسوندن کلاک به این بخش از این توابع کمک می‌گیریم:

آموزش واحد RNG در میکروکنترلر WCH | تولید اعداد تصادفی - قسمت 14 آموزش CH32

نکته اول این است که کلاک ورودی این واحد از AHB میاد بر خلاف بیشتر پریفرال هایی که تا به الان راه‌اندازی کردیم.

نکته دوم این است که باید یک سورس کلاک برای واحد تولید عدد رندوم انتخاب کنید که  Sysclock  و PLL3_VCO آپشن‌های ما برای انتخاب‌کردن هستند.

در اینجا ما PLL3_VCO رو انتخاب کردیم برای این بخش.

فعال‌سازی و استفاده از RNG

وقفه آن را غیرفعال می‌کنیم و فعالش می‌کنم:

آموزش واحد RNG در میکروکنترلر WCH | تولید اعداد تصادفی - قسمت 14 آموزش CH32

نحوه خواندن عدد تصادفی

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

و به این شکل آن را بر روی UART می‌فرستیم.

آموزش واحد RNG در میکروکنترلر WCH | تولید اعداد تصادفی - قسمت 14 آموزش CH32

آموزش واحد RNG در میکروکنترلر WCH | تولید اعداد تصادفی - قسمت 14 آموزش CH32

در آموزش بعدی سراغ واحد DMA می‌رویم تا آموزش بعدی خدا نگهدار.

اطلاعات
0
0
لینک و اشتراک
profile

عرفان رفیعی

متخصص الکترونیک

erixson.elc@gmail.com

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

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

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت

سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم

سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ

آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی

پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله