جلسه نهم
مقدمه
در این جلسه با سه رابط ارتباطی بسیار مهم و پرکاربرد در میکروکنترلرها آشنا میشویم. این سه پروتکل اساس ارتباط میان میکروکنترلر و سایر تجهیزات مانند حسگرها، ماژولها، حافظهها و میکروکنترلرهای دیگر هستند.
رابطهای مورد بررسی:
- USART (ارتباط سریال ناهمزمان / همزمان)
- SPI (ارتباط سریال پرسرعت با ساختار Master/Slave)
- I2C (یا TWI، ارتباط دوسیمه با آدرسدهی داخلی)
هرکدام کاربرد، ساختار و نحوه راهاندازی ویژه خود را دارند.
۱) واسط USART در میکروکنترلر
مفهوم
USART مخفف Universal Synchronous/Asynchronous Receiver/Transmitter است.
این واحد وظیفه ایجاد ارتباط سریال همزمان یا ناهمزمان بین میکروکنترلر و دستگاههای دیگر را دارد.
حالتها
- Asynchronous (رایجتر)فقط Rx و Tx لازم است.
- Synchronousعلاوه بر Rx/Tx یک سیگنال ساعت نیز وجود دارد.
ویژگیها
- تنظیم نرخ انتقال (Baud Rate)
- ارسال و دریافت متنی یا باینری
- وجود بافر ارسال و دریافت
- قابلیت ایجاد وقفه در هنگام ارسال/دریافت
کاربردهای USART
- ارتباط با کامپیوتر (تبدیل USB به TTL)
- ماژولهای بلوتوث و وایفای
- GPS
- ارتباط دو میکروکنترلر
- تبادل داده در سیستمهای مانیتورینگ
۲) واسط SPI در میکروکنترلر
مفهوم
SPI مخفف Serial Peripheral Interface است.
این پروتکل یک ارتباط سریال همزمان و پرسرعت است.
ساختار پایه (چهار سیم)
- MISO: دریافت از Slave
- MOSI: ارسال به Slave
- SCK: سیگنال ساعت
- SS: انتخاب Slave
ویژگیها
- سرعت بالا
- انتقال دوطرفه همزمان
- پشتیبانی از چند Slave
- ساپورت در اکثر سنسورها و ماژولها
کاربردهای SPI
- حافظههای سریال (EEPROM, Flash)
- نمایشگرهای گرافیکی و TFT
- سنسورهای پرسرعت
- ماژولهای ارتباطی صنعتی
- ADC/DACهای خارجی با دقت بالا
۳) واسط I2C (یا TWI) در میکروکنترلر
مفهوم
I2C مخفف Inter‑Integrated Circuit است و یک پروتکل دومسیره مبتنی بر آدرسدهی است.
ساختار پایه
- SDA: خط داده
- SCL: خط ساعت
فقط با دو سیم میتوان دهها دستگاه را به یک میکرو متصل کرد.
ویژگیها
- استفاده از آدرس برای انتخاب Slave
- امکان اتصال چندین دستگاه روی یک باس
- سرعت متوسط (استاندارد، سریع، فوقسریع)
- نیاز به مقاومت پولآپ
کاربردهای I2C
- سنسورهای دما، فشار، رطوبت
- حافظههای EEPROM
- RTC (ساعت واقعی)
- ماژولهای اندازهگیری دیجیتال
- IC های چندمنظوره و توسعهدهنده پورت
۴) مقایسه کلی سه واسط
- USART:ساده، مناسب ارتباط با کامپیوتر و ماژولها – تکدستگاهه
- SPI:بسیار سریع، مناسب سنسورها و نمایشگرها – نیاز به سیمهای بیشتر
- I2C:فقط دو سیم، امکان چند Slave – سرعت کمتر نسبت به SPI
هرکدام بسته به نیاز پروژه انتخاب میشوند.
۵) ارتباط چند پروتکل در یک پروژه عملی
در بسیاری از پروژهها هر سه رابط با هم استفاده میشوند. مثلاً:
- USART → ارتباط با کامپیوتر برای ارسال داده
- SPI → ارتباط با نمایشگر
- I2C → خواندن سنسورهای محیطی
این ترکیب در دادهبرداری، سیستمهای مانیتورینگ، رباتیک و کنترل صنعتی بسیار رایج است.
جمعبندی جلسه
در جلسه ۹ با سه پروتکل بسیار مهم ارتباطی آشنا شدیم:
- USART: ارتباط سریال ناهمزمان/همزمان
- SPI: ارتباط پرسرعت Master/Slave
- I2C: ارتباط دومسیره آدرسپذیر
این سه پروتکل اساس ارتباط میان میکروکنترلر و دنیای بیرون هستند و یادگیری آنها برای ساخت هر نوع پروژه الکترونیکی ضروری است.