USB چیست؟ آشنایی با USB در میکروکنترلر
0

USB چیست؟ آشنایی با USB در میکروکنترلر

USB چیست؟

USB یک رابط استاندارد برای انتقال داده و تأمین توان بین دستگاه‌ها است.

Host و Device

در USB معمولاً Host مدیریت ارتباط را بر عهده دارد و Device به درخواست‌ها پاسخ می‌دهد.

کلاس‌های USB

CDC، HID و Mass Storage از کلاس‌های متداول هستند.

پیچیدگی

USB نسبت به UART یا SPI پیچیده‌تر است و معمولاً به Stack نرم‌افزاری نیاز دارد.

جمع‌بندی

USB برای ساخت تجهیزاتی که مستقیماً به کامپیوتر متصل می‌شوند بسیار کاربردی است.

ادامه مطلب
Clock System در میکروکنترلر چیست؟
0

Clock System در میکروکنترلر چیست؟

سیستم کلاک

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

کلاک داخلی

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

کلاک خارجی

کریستال یا اسیلاتور خارجی دقت یا فرکانس متفاوتی فراهم می‌کند.

PLL

PLL می‌تواند فرکانس مرجع را برای رسیدن به فرکانس کاری بالاتر ضرب کند.

جمع‌بندی

تنظیم کلاک بر تایمرها، ارتباطات و مصرف انرژی اثر مستقیم دارد.

ادامه مطلب
DMA در STM32 چیست؟
0

DMA در STM32 چیست؟

DMA چیست؟

DMA داده را میان حافظه و واحدهای جانبی با دخالت حداقلی CPU منتقل می‌کند.

مزیت

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

کاربرد

ADC، UART، SPI و DAC از واحدهایی هستند که معمولاً با DMA استفاده می‌شوند.

حالت Circular

برای جریان‌های پیوسته داده، حالت Circular بسیار مفید است.

جمع‌بندی

DMA یکی از کلیدی‌ترین قابلیت‌ها برای پروژه‌های سریع و چندوظیفه‌ای STM32 است.

ادامه مطلب
One-Wire چیست؟
0

One-Wire چیست؟

One-Wire چیست؟

One-Wire یک باس ارتباطی ساده است که می‌تواند داده و در برخی موارد تغذیه را با حداقل سیم‌کشی منتقل کند.

شناسه یکتا

بسیاری از تجهیزات One-Wire دارای شناسه منحصر به فرد هستند.

Pull-up

خط داده معمولاً به مقاومت Pull-up نیاز دارد.

کاربرد

سنسور دمای DS18B20 یکی از شناخته‌شده‌ترین قطعات این رابط است.

جمع‌بندی

One-Wire برای شبکه‌های ساده سنسوری مناسب است.

ادامه مطلب
UART در AVR و تنظیم Baud Rate
0

UART در AVR و تنظیم Baud Rate

USART در AVR

واحد USART امکان ارتباط سریال همزمان یا ناهمزمان را فراهم می‌کند.

Baud Rate

مقدار رجیستر Baud بر اساس فرکانس کلاک و سرعت موردنظر محاسبه می‌شود.

ارسال و دریافت

رجیسترهای داده و Flagهای وضعیت برای انتقال استفاده می‌شوند.

خطا

عدم تطابق فرکانس کلاک می‌تواند درصد خطای Baud را افزایش دهد.

جمع‌بندی

USART ابزار بسیار مهمی برای دیباگ و ارتباط ماژول‌هاست.

ادامه مطلب
Debbugging در میکروکنترلر چیست؟
0

Debbugging در میکروکنترلر چیست؟

Debug چیست؟

دیباگ فرآیند بررسی رفتار برنامه و یافتن علت خطاهای نرم‌افزاری یا سخت‌افزاری است.

Breakpoint

Breakpoint اجرای برنامه را در نقطه مشخص متوقف می‌کند تا وضعیت سیستم بررسی شود.

Step

با اجرای خط‌به‌خط می‌توان مسیر اجرای برنامه را دقیق‌تر دنبال کرد.

مشاهده متغیرها

بسیاری از دیباگرها امکان مشاهده حافظه، رجیسترها و متغیرها را فراهم می‌کنند.

جمع‌بندی

دیباگ سخت‌افزاری یکی از سریع‌ترین روش‌ها برای توسعه حرفه‌ای سیستم‌های تعبیه‌شده است.

ادامه مطلب
UART در STM32 با HAL و DMA
0

UART در STM32 با HAL و DMA

UART در STM32

واحد USART/UART برای ارتباط سریال با کامپیوتر و ماژول‌ها استفاده می‌شود.

Polling

روش ساده است اما CPU را تا پایان انتقال درگیر می‌کند.

Interrupt

روش وقفه‌ای پاسخ‌دهی بهتری فراهم می‌کند.

DMA

برای حجم داده بیشتر، DMA می‌تواند انتقال را بسیار کارآمدتر کند.

جمع‌بندی

انتخاب Polling، Interrupt یا DMA به نرخ داده و معماری پروژه بستگی دارد.

ادامه مطلب
CRC چیست؟ تشخیص خطا در ارتباطات
0

CRC چیست؟ تشخیص خطا در ارتباطات

CRC چیست؟

CRC روشی ریاضی برای تولید یک مقدار بررسی از داده است تا خطاهای انتقال شناسایی شوند.

فرستنده

فرستنده CRC را محاسبه و همراه داده ارسال می‌کند.

گیرنده

گیرنده همان محاسبه را انجام می‌دهد و نتیجه را مقایسه می‌کند.

کاربرد

CAN، Modbus و بسیاری از پروتکل‌ها از روش‌های مشابه استفاده می‌کنند.

جمع‌بندی

CRC برای تشخیص خطاست و به‌تنهایی مکانیزم تصحیح خطا محسوب نمی‌شود.

ادامه مطلب
I2C در AVR با TWI
0

I2C در AVR با TWI

TWI چیست؟

TWI نام واحد سخت‌افزاری سازگار با I2C در بسیاری از AVRها است.

Master و Slave

میکروکنترلر می‌تواند بسته به کاربرد در نقش Master یا Slave کار کند.

آدرس و وضعیت

رجیسترهای وضعیت مراحل انتقال را مشخص می‌کنند.

Pull-up

SDA و SCL به مقاومت Pull-up مناسب نیاز دارند.

جمع‌بندی

TWI برای اتصال سنسورها و حافظه‌های سریال بسیار مناسب است.

ادامه مطلب
Bootloader چیست؟
0

Bootloader چیست؟

Bootloader چیست؟

Bootloader برنامه کوچکی است که پیش از برنامه اصلی اجرا می‌شود و می‌تواند وظیفه به‌روزرسانی Firmware را بر عهده بگیرد.

روش‌های ارتباط

Bootloader ممکن است از UART، USB، CAN یا شبکه برای دریافت Firmware استفاده کند.

مزایا

به‌روزرسانی نرم‌افزار بدون پروگرامر خارجی از مهم‌ترین مزایای آن است.

نکات امنیتی

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

جمع‌بندی

Bootloader پایه بسیاری از سیستم‌های قابل ارتقا در میدان است.

ادامه مطلب