بیت بنگ در میکروکنترلرهای ARM LPC STM32 AVR PIC dsPIC 8051 برای پروژه الکترونیک

ارتباط سریال یکی از گسترده ترین روش های مورد استفاده در ارتباطات میکروکنترلر هایی مانند خانواده 8051 ARM AVR LPC STM32 PIC dsPIC و حتی z80 بوده و یک راه حل کم هزینه برای اینترفیس (میان‌جی) با کامپیوتر و یا وسایل و ماژول های الکترونیکی گوناگون می‌باشد.بسیاری از میکرو کنترل کننده ها دارای یک پورت UART و حتی برخی میکروهای بزرگ تر و قوی تر دارای دو پورت UART هستند اما برخی میکروکنترلرهای کوچک تر و با ظرفیت پایین تر حتی یک پورت UART هم ندارد!
از ارتباط سریال یوارت همچنین برای اینترفیس (واسط) ماژول هایی مثل مودم GSM برای ارسال و دریافت تماس های موبایل یا پیامک SMS و ارتباط با اینترنت GPRS ، ماژول های کارت خوان مغناطیسی غیر تماسی بانکی و کارت های فرکانس بالای RFID ، مکان یاب GPS ، پروگرمر ها و دیاگ ها و دیباگر ها ، ماژول های گوناگون شبکه اترنت Ethernet و TCP/IP ، پل (Bridge) های شبکه RS485 SPI CAN WireLess I2C و ... بهره گرفته می‌شود.
اگر شما از کنترل کننده مبتنی بر 8051 در پروژه مانیتورینگ یا اتوماسیون صنعتی خود استفاده می‌کنید که تنها یک پورت سریال UART دارند یا برخی AVR های 8 پایه سری TINY و PIC های سری PIC12F که هیچ پورتی ندارند، اگر بخاهید با بیش از یک دستگاه ارتباط سریال داشته باشید چه کار می‌کنید؟

یک راه مالتی پلکی MultiPlex کردن ارتباطات است ولی روش دیگر «بیت بنگ» نام دارد که توسط نرم افزار انجام می‌پزیرد.
در این روش به جای بهره گیری از سخت افزار اختصاصی پورت سریال که کارایی و سرعت و اطمینان بیش تری دارد، نرم افزار کنترل پایه های مربوط به ارتباط سریال یوارت را بر عهده دارد و ارسال دیتا توسط بالا و پایین یا صفر و یک کردن پین انتقای داده به صورت متناوب در فاصله زمانی معینی انجام می‌گیرد که این فاصله زمانی یا پریود به میزان نرخ بیت (باود ریت Baud Rate) ارتباط سریال بستگی دارد.
برای دریافت دیتا هم تابع Receive Function در فواصل زمانی منظم بر اساس باد ریت به صورت پریودیک پین دریافت دیتا را نمونه برداری می‌نماید.
در واقع یک شیفت رجیستر به‌فرم نرم افزاری پیاده سازی می‌گردد.
این یک فرایند کاملا خسته کننده است که بار پردازشی بیش از حدی را به پراسسور میکرو تحمیل می‌کند.

حالا شیوه ارسال و دریافت یک بایت را در انتقال سریال کاملا تشریح می‌کنم.
فاصله زمانی نمونه برداری توسط نرخ باد ریت ارتباط سریال تعیین می‌گردد که برای نمونه برای بادریت 9600 بیت در ثانیه bps این پریود برابر است با 1/9600 ثانیه یا حدود 104.2 میکروثانیه.

[Image]

گراف بالا فریم اصلی ارتباط سریال با فرمت یک بیت اغاز، 8 بیت داده، بدون توازن Parity و با یک بیت پایان را نشان می‌دهد.
این فریم با یک بیت شروع اغاز می‌شود که بیت های دیتا در پی ان می‌ایند و در پایان هم بیت پایان نشان گر پایان یک بایت داده می‌باشد.

الگوریتم فرستادن یک بایت دیتا:
1. پیکر بندی اغازین (تعریف پین ارتباطی TX به عنوان خروجی توسط رجیسترهای مربوطه برای نمونه DDR TRIS GPIODIR و ...)
2. صفر (پایین) کردن پایه ارسال برای نشان دادن بیت شروع
3. تاخیر برای مدت مربوط به بادریت (برای نمونه 104 میکرو ثانیه )
4. ارسال بیت داده
5. تاخیر برای مدت مربوط به بادریت
6. تا تمام بیت های داده ارسال نشده برو به 4.
7. یک (بالا) کردن پایه ارسال برای نشان دادن بیت پایان
8. تاخیر برای مدت مربوط به بادریت
9. پایان ارسال بایت داده

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

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

الگوریتم دریافت یک بایت دیتا:
1. کانفیگ یا پیکربندی اغازین (تعریف پین ارتباطی RX به عنوان ورودی با مقاومت بالاکش(پول اپ Pull Up) داخلی)
2. فعال یا اکتیو کردن اینتراپت خارجی مربوط به پایه RX
3. انتظار برای وقفه اکسترنال مربوط به پایه RX
4. اطمینان از پایین(صفر) بودن پایه وروذی RX
5. تاخیر برای مدت مربوط به بادریت
6. چک کردن وضعیت پایه ورودی و ست یا ریست کردن بیت متناظر در بایت دیتا
7. تا هر هشت بیت دریافت نشده به 5 برو
8. تاخیر برای مدت مربوط به بادریت
9. چک کردن بیت استاپ برای تایید موفقیت دریافت دیتا
10. پایان دریافت دیتا

 

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

- فارسی نویسی در ال سی دی گرافیکی و میکروکنترلر

- قفل رمز دار الکترونیک

- دفترچه تلفن فارسی و انگلیسی

- پخش صدا و مدارات صوتی با بهترین کیفیت

- راه اندازی ای سی vs1003 به وسیله میکرو کنترلر

- راه اندازی انواع مدارات فاصله سنج به وسیله میکروکنترلر

- طراحی و ساخت تابلو روان و تابلو های الکترونیک

- طراحی و ساخت دیمر دیجیتال با توان بالا

- راه اندازی GPS و اتصال به مدارات الکترونیک

- نمایش انیمیشن به وسیله میکرو کنترلر

- راه اندازی انواع موتور ها

- تشخیص دود ، منو اکسیدکربن ، انواع گازها و آلارم در هنگام خطر

- پروژهای کنترلی متشکل از 2 قسمت کامپیوتر و مدار کنترلی و میکروکنترلر

- پروژهای شامل انتقال اطلاعات به اینترنت و اینترانت مستقل از کامپیوتر و تنها با میکروکنترلر

- ارسال اس ام اس و ارتباط با GSM مودم

- پروژهای متشکل از RFID و اتصال به مدارات الکترونیک

- YL620 ID01 ID02 ID20 YLMF18 MIFARE CR013

- تشخیص اثر انگشت و ثبت حضور و غیاب

- طراحی وپیاده سازی بازی شطرنج در ال سی دی گرافیکی با تمام جزئیات بازی

- انواع نرم افزار ها و کامپایلر های کدویژن کیل یار استادیو بسکام بیسکام وین آرم پیک

- CCS MpLAB IAR Keil WinARM WinAVR Bascom CodeVision AVRStudio GCC PICC Assembler

- HSPICE PSPICE ORCAD SILVACO TANNER EDA L-Edit ADS SPICE

- عکسبرداری از محیط با استفاده از میکروکنترلر AVR و ذخیره بصورت فایل JPG
- ماشین حساب با صفحه لمسی و LCD گرافیکی
- ارسال و دریافت اطلاعات از طریق GPRS
- راه اندازی LCD رنگی ELT240320 گوشی های چینی N96

- دفتر نقاشی دیجیتال با Touch Screen و LCD گرافیکی

- فاصله سنج آلتراسونیک با میکروکنترلر AVR و 8051

- فارسی نویسی بر روی نمایشگر LCD گرافیکی با فونت فارسی

- ماشین حساب با میکروکنترلر AVR

- پخش فایل های wav با 3 کیفیت توسط میکروکنترلر AVR و MMC

- راه اندازی ماژول sim300 با استفاده از میکروکنترلر AVR

- ارسال و دریافت اطلاعات با ماژولهای HM-T HM-R HM-TR

- دستگاه کنترلر دما و رطوبت

- پروگرامر میکروکنترلر AVR

- کنترل لوازم خانه از طریق خط تلفن

- ساخت انواع دستگاههای اندازه گیری

- ساخت بی سیم دو طرفه  با ماژولهای مخابراتی rfm

- راه اندازی ماژوهای RFM01 RFM02 RFM12 RFM12b RFM12bp

- ارسال اطلاعات بی سیم از میکروکنترلر AVR به کامپیوتر با RFM12

- ضبط صوت دیجیتال با استفاده از میکروکنترلر و کارت حافظه MMC

- هارمونیک سنج بوسیله میکروکنترلر AVR و کامپیوتر

- اتصال کارت حافظه MMC به میکروکنترلر AVR ،

- خواندن و نوشتن بر روی حافظه کارتهای اعتباری تلفن

- ارسال اطلاعات به کامپیوتر  بوسیله امواج مادون قرمز

- اتصال صفحه کلید کامپیوتر به میکروکنترلر AVR

- ارسال و دریافت دیتا با امواج مادون قرمز با میکروکنترلر AVR

- راه اندازی ماژولهای RFM12 RFM12b RFM12bp

- راه اندازی ماژولهای GPS با میکروکنترلر تلفن : 09194986646 و 44166762


ECG الکترو کاردیوگراف
ID Caller FSK & DTMF
IR Sender Reciver & Hub
LCD گرافیکی تاچ اسکرین
آشکار ساز حرکت توسط سنسور PIR
آمپلی فایر 22 واتی
ارتباط با کامپیوتر از طریق پورت USB2
ارتباط کامپیوتر با میکرو از طریق پورت سریال RS232
ارسال اطلاعات از طریق کامپیوتر بر روی LCD
ارسال اطلاعات سنسورها از طریق GSM به گوشی موبایل
ارسال و دریافت SMS از گوشی به GSM دوطرفه
ارسال و دریافت اطلاعات بین دو کامپیوتر از طریق RF
اسیلاتور مربعی 2
اینترفیس پورت پارالل کامپیوتر و میکرو
باتری خورشیدی
بارکد خوان تماسی
تابلو روان
تابلوی روان دستی (فقط با هفت LED)!
تابلوی روان سحر آمیز برای دوچرخه و موتور سیکلت
تایپ حروف فارسی لمسی همراه با نمایش بر LCD و خواندن
تایپ حروف فارسی همراه با نمایش بر LCD و خواندن
تایمر مونواستابل
تبادل دیتا توسط ماژول RFM12Bومیکروکنترلر
تبدیل صفحه کلید کامپیوتر به ماشین تایپ
ترازو دیجیتالی
تغذیه دوبل 5 ولت
تقویت کننده صوت (Audio Amplifier)
تلفن کننده اتوماتیک (دزدگیر هوشمند) قابل برنامه ریزی
جهت یاب صوتی
چراغ چشمک زن 220 ولتی (لامپ هشدار)
دریافت اطلاعات دستگاه بوسیله SMS
دریافت کد SMS از طریق ماژول GSM
دزدگیر تمام اتوماتیک با قابلیت شماره گیری و اعلام پیام و حریق
دستگاه تست منبع تغذیه رایانه
دستگاه تشخیص افراد از طریق کارتهای RF ID
دستگاه تشخیص افراد از طریق کارتهای مغناطیسی
دستگاه سوراخکاری بردهای مدار چاپ
دفترچه تلفن الکترونیکی گویا با قابلیت شماره گیری بصورت DTMF
دفترچه یادداشت الکترونیکی با LCD گرافیگی
دماسنج سخنگو
دیمر
دیمر دیجیتال توسط میکروکنترلر ATmega8
دیمر دیجیتال توسط میکروکنترلر کنترل از راه دور
راه اندازی LCD گرافیکی و نمایش تصویر
OSD
راه اندازی لامپ مهتابی با ولتاژ 12 ولت
ربات جاروبرقی
ربات جهت توانبخشی به معلولین در منزل
ربات مسیر یاب از طریق ماهواره (GPS)
ربات مسیریاب با AVR و PC
رقص نور 10 کاناله
رقص نور ساده
DMX 512
روبات دنبال کننده خط توسط سنسورهای مادون قرمز IR
روبات دنبال کننده نور
روبات کنترل از راه دور توسط سنسورهای مادون قرمز
ساختمان هوشمند
ساعت آنالوگ گردان با هشت LED
ساعت بین المللی گویا
ساعت دیجیتال با میکرو
سرنگ دیجیتالی قابل برنامه ریزی زمان بزریق و مقدار تزریق
سیکلوکانورتر تک فاز
شارژ باطری بوسیله سلولهای خورشیدی
شارژر اتوماتیک باطری
شتاب سنج
شتاب سنج و نمایش منحنی شتاب روی کامپیوتر
شفت انکدر و کنترل دور موتور
شمارنده up down با avr و seven segment
شمارنده دودویی تعداد پالس توسط LED
شمارنده سه رقمی با seven segment
ضبط و پخش صدا بر روی MMC با میکروکنترلر AVR
طراحی و ساخت PLC
طراحی و ساخت کنترل دوربین
طراحی و ساخت ماشین حساب گویا جهت افراد نابینا
فانکشن ژنراتور آنالوگ 2 مگاهرتز سینوسی – مربعی مثلثی
فانکشن ژنراتور دیجیتال 500 کیلوهرتز سینوسی – مربعی مثلثی
قفل رمز الکترونیکی بوسیله کارتهای RF ID (کارتهای مترو)
قفل رمز دیجیتالی
کارت ISA DAQ جهت دریافت اطلاعات از طریق کامپیوتر
کاهش اتوماتیک صدای لوازم صوتی در هنگام پاسخ دادن به تلفن
کلید حساس به نور
کنترل بیسیم دور موتور بر طبق دما
کنترل خودکار نور لامپ متناسب با نور محیط
کنترل دور موتورهای DC از طریق PWM
کنترل ساده یک LED توسط کامپیوتر
کنترل وسایل خانگی از طریق تلفن
ماشین حساب با قابلیت چهارعمل اصلی
ماشین حساب گویا برای نابینایان
ماشین حساب مهندسی با AVR
مبدل 12 به 220 ولت
مبدل دسیمال به BCD
محاسبه فاصله از طریق امواج آلتراسونیک بوسیله میکروکنترلر
محافظ لوازم برقی در مقابل نوسانات برق شهر
مدار انتظار مکالمه تلفن
مدار تعویض اتوماتیک باطری
منبع تغذیه با دو پلاریته
منبع تغذیه دیجیتال صفر تا سی ولت توسط میکرو
منبع تغذیه سوئیچینگ با کنترلر dsp قابل برنامه ریزی 3 30v
منبع تغذیه قابل تنظیم (1.2 الی 30 ولت)
نشان دهنده مشغول بودن خط تلفن
نمایش اعداد از طریق seven segment
نمایش و کنترل دمای محیط
نمایشگر لیزری (laser show)
نمونه گیری از کف دریا با سنسورهای اولتراسونیک و نمایش گرافیکی پستی و بلندی با کامپیوتر
هشدار دهنده آب (Water Alarm)
کنترل از راه دور ماژولهای HMTR
کنترل سطح آب مخزن با روش PID
کنترل لوازم خانگی و اماکن صنعتی از طریق SMS
تشخیص و کنترل نشتی گازهای مختلف
تعقیب کننده خودکار نور خورشید
تلفن کننده اتوماتیک (دزدگیر هوشمند) قابل برنامه ریزی
درب بازکن هوشمند قابل برنامه ریزی
دزدگیر تمام اتوماتیک با قابلیت شماره گیری و اعلام پیام و حریق
دزدگیر تمام اتوماتیک با قابلیت شماره گیری واعلام پیام و حریق
دستگاه اندازه گیری میزان دوده درون لوله
دستگاه اندازه گیری میزان دوده درون لوله
دستگاه هشدار جابجای
دیمر دیجیتال توسط میکروکنترلر کنترل از راه دور
ساختمان هوشمند
سرنگ دیجیتالی قابل برنامه ریزی زمان بزریق و مقدار تزریق
طراحی سیستم هوشمند آبیاری و حفاظت گلخانه
طراحی کنترلر چراغ راهنمایی هوشمند
طراحی و ساخت PLC
طراحی و ساخت کنترل دوربین
کنترل از راه دور هواپیمای بدون سرنشی
کنترل از راه دور هواپیمای بدون سرنشی
کنترل از طریق GPRS موبایل با یک سیم کارت
کنترل بیسیم دور موتور بر طبق دما
کنترل پروسه حرارتی آزمایشگاه
کنترل دستگاه های الکترونیکی بصورت بیسیم
کنترل دستگاههای اطراف از طریق کامپیوتر
کنترل دستگاههای اطراف از طریق کامپیوتر
کنترل دستگاههای اطراف بوسیله موبایل
کنترل دستگاههای اطراف بوسیله موبایل
کنترل رطوبت و دما با قابلیت برنامه ریزی
کنترل ساده یک LED توسط کامپیوتر
کنترل کامل کولر آبی بصورت اتوماتیک
کنترل کامل کولر آبی بصورت اتوماتیک
کنترل کننده حلقه بسته ماشین لباسشوئی
کنترل موتور DC توسط سنسور های مادون قرمز (INFRARED LED)
کنترل نوری (Photo Control)
کنترل هوشمند مرغداری
کنترل و درایو سطح شیبدار جهت اندازه گیری ضریب اصطکاک
کنترل وسایل خانگی از طریق تلفن
مانیتورینگ پارامترهای هیدرولیکی کیفی مخازن آب از راه دور
منبع تغذیه سوئیچینگ با کنترلر dsp قابل برنامه ریزی 3 30v
نمایش و کنترل دمای محیط
نمایش و کنترل رطوبت محیط
نمایش و کنترل رطوبت محیط
نمایشگر انتخابی اطلاعات نرم افزاری (search)
نمونه گیری از کف دریا با سنسورهای اولتراسونیک و نمایش گرافیکی پستی و بلندی با کامپیوتر
هشدار دهنده آب (Water Alarm)
GPS (مدار مسیر یاب)
ID Caller FSK & DTMF
IR Sender Reciver & Hub
ارسال سیگنال متن تایپ شده از طریق کانال رادیوئی
بارکد خوان تماسی
تبادل اطلاعات بی سیم
تبادل دیتا با مادون قرمز
جستجوگر مکان فرستنده مادون قرمز
خاموش کردن کامپیوتر از راه دور با کنترل مادون قرمز
در بازکن از راه دور با ضریب ایمنی بالا به همراه سیگنال فیدبک
دریافت اطلاعات گوشی موبایل بوسیله اینفرارد
دریافت و رمز گشایی کدهای مادون قرمز و تولید و ارسال آنها
دستگاه تشخیص افراد از طریق کارتهای RF ID
دستگاه هشدار جابجای
رادار سرعت سنج دیجیتالی
رادیوی مینیاتوری
ربات مسیر یاب از طریق (GPS) ماهواره ای
ریموت لیزری
فرستنده FM
فرستنده تلویزیونی سیاه و سفید کم قدرت باند VHF
قفل رمز الکترونیکی بوسیله کارتهای RF ID (کارتهای مترو)
کنترل از راه دور توسط سنسورهای مادون قرمز 1
ویدئو سندر (فرستنده تلویزیونی)
درایور ترانسمیتر فشار 4 20 ma نمایش بر حسب psi bar بر روی LCD یا PC
درایور ترموکوبل و نمایش دما بر روی LCD یا کامپیوتر
ساخت کوره القایی
کنترل بیسیم دور موتور بر طبق دما
کنترل چپ گرد راست گرد موتور DC با تایمر 1
کنترل دور موتورهای DC از طریق PWM
مدار تشخیص زاویه
تراش قطعات
تراش لیزر
ساخت قالب
طراحی ربات
CAD
راندو
ماکت
نقشه کشی دستی
FPGA
Labview
Orcad
PLC
Proteus
Pspice
انواع منابع تغذیه
انواع کارت ADC 4-20ma -10 TO 30V 24Bit
انواع کارت رله RS485
درایو موتور های SERVO
دستگاه تزریق سیال همراه با کنترل db و فشار
دستگاه نمایشگر dp فشار سیالات فشار بالا
دستگاه نمایشگر دما همراه با کنترل
دستگاه نمایشگر فشار سیالات ، دما و کنترل
مبدل RS232 TO RS485
مبدل USB TO RS232
مبدل USB TO RS485
نمایشگر HMI در سایزهای مختلف
کارت پردازش تصویر

/ 0 نظر / 55 بازدید