ارتباط سریال USART
اسلاید 1: USARTارتباط سریال
اسلاید 2: ارتباط سریال:در ارتباط سریال، اطلاعات به صورت بیت به بیت ارسال می شود یعنی در از سال 8 بیت اطلاعات، هر بیت با یک کلاک پالس ارسال می شود. اما در ارتباط موازی، اطلاعات در یک کلاک پالس ارسال می شود. پس سرعت ارتباط موازی از ارتباط سریال بیشتر است.در ارتباط سریال، برای ارسال به دو سیم احتیاج داریم:1-دریافت (RXD)Receive data2-ارسال(TXD)Transmit data
اسلاید 3: ارتباط سریال:در ارتباط موازی به ازای هر بیت، از یک سیم استفاده می شود، لذا در ارتباط موازی حجم و هزینه افزایش پیدا می کند.ارتباط سریالSerialارتباط موازیParallelفرستندهفرستندهگیرندهگیرندهTXDRXD
اسلاید 4: ارتباط سریال:انواع Usart:1-Usart 2-SPI 3-TWIانواع ارتباط سریال:1-ارتباط Simplex(یک طرفه): فرستنده فقط ارسال و گیرنده دریافت می کند.2-ارتباط Duplex(دو طرفه): هر دستگاه هم می تواند فرستنده و هم گیرنده باشد.Half-Duplex: ارسال و دریافت هم زمان صورت نمی گیرد. Full-Duplex: ارسال و دریافت به صورت هم زمان می تواند صورت بگیرد.میکروکنترلر های AVR دارای ارتباط سریال از نوع Full-Duplex هستند.TXDTXDRXDRXDMicro AMicro B (OR PC)TransmitReceiveReceiveTransmit
اسلاید 5: ارتباط سریال:ارتباط سریال به دو صورت سنکرون (USART) و آسنکرون(UART) انجام می شود. در روش سنکرون در هر بلوک می تواند تعدادی داده(یک بایت) و یا کاراکتر ارسال کرد. اما در روش آسنکرون در هر ارسال یک داده(یک بایت) یا کاراکتر ارسال می شود.برای ارسال هر داده یا کاراکتر، یک بلوک Block(یا Frame) داده ارسال می شود که به صورت زیر است:
اسلاید 6: ارتباط سریال:1-بیت شروع(Start bit) که این بیت صفر در نظر گرفته می شود.(خط ارسال صفر می شود.)2-بیت های داده(Data bits) بعد از شروع دارد ارسال می شود. ارسال داده ها از بیت کم ارزش(LSB) تا بیت پر ارزش(MSB) به ترتیب انجام می شود.3-بیت توازن(Parity bit) در آشکار سازی خطا حین ارسال کمک می کند. استفاده از این بیت اجباری نیست.4-بیت پایان(Stop bit) که این بیت معمولا 1 در نظر گرفته می شود و بیت پایان ارسال می شود. تعداد بیت های پایان می تواند 1 یا 2 بیت باشد.
اسلاید 7: ارتباط سریال:اتصال دو میکرو:برای ارسال اطلاعات، از معیارBaud Rate (سرعت ارسال اطلاعات) یا نرخ ارسال جهت تعیین سرعت استفاده می شود که بر حسب bps بیان می شود که بیانگر تعداد بیت های ارسالی در هر ثانیه است.بایستی نرخ ارسال در فرستنده و گیرنده به صورت مساوی تنظیم شود، در غیر این صورت اطلاعات به درستی منتقل نمی شود.TXDTXDRXDRXDMicro 1Micro 2
اسلاید 8: ارتباط سریال در میکرو های AVR:ارتباط سریال در میکروکنترلر های AVR از نوع USART است.Universal synchronous and A synchronous serial reviser and transmitterاین پروتکل(USART) برای ارسال از میکرو به کامپیوتر و بالعکس تعریف شده است و دارای خواص زیر است:1-ارتباط دو طرفه به صورت Full Duplex2-ارتباط سنکرون و آسنکرون3-ارسال داده به صورت 5، 6، 7، 8و 9 بیتی.4-تولید و ارسال بیت توازن(Parity) به صورت زوج یا فرد.(برای تشخیص خطا)5-ارسال بیت پایان(یک یا دو بیت)6-ارسال وقفه به میکروکنترلر در هنگام ارسال یا دریافت.
اسلاید 9: ارتباط سریال در میکرو های AVR:برای برقراری ارتباط سریال میان میکروکنترلر و کامپیوتر از استاندارد RS232 استفاده می شود.در کامپیوتر کانکتوری 9 پین(DB9) وجود دارد که با منطق RS232 کار می کند.در استاندارد RS232، صفر منطقی معادل 325v و یک منطقی معادل -3 -25v است.(در کامپیوتر 0 به صورت -13v و مقدار1 به صورت +13 ولت است.)
اسلاید 10: ارتباط سریال در میکرو های AVR:در کانکتور DB9 پایه شماره 2 برای RXD و پایه شماره 3 برای TXD و پایه XCK برای کلاک های سنکرون است.در میکروکنترلر پایه PD5 مربوط به دریافت(RXD) و پایه PD1 مربوط به ارسال(TXD) است.به علت یکسان نبودن منطق RS232و TTL(متفاوت بودن سطح ولتاژ) برای اتصال میکروکنترلر به کامپیوتر بایستی از تراشه واسط که عمل تبدیل ولتاژ را انجام می دهد، استفاده کرد.
اسلاید 11: ارتباط سریال در میکرو های AVR:بلوک دیاگرام ارتباط سریال دارای 3 بخش اصلی زیر است:1-پالس ساعت که مشخص کننده سرعت ارسال و دریافت است.2-قسمت گیرنده(RXD)3-قسمت فرستنده(TXD)
اسلاید 12: رجیستر های پورت سریال:پورت سریال دارای رجیستر های زیر است:1-UDR: برای ارسال و دریافت داده2-UCSRA3-UCSRB4-UCSRCسه رجیستر بالا بیان کننده مشخصات ارتباط سریال هستند.5-UBRR: مشخص کننده سرعت ارسال است.
اسلاید 13: رجیستر های پورت سریال:چگونگی ارسال در ارتباط سریال:برای ارسال داده 8 بیتی، ابتدا در رجیستر UDR نوشته می شود، سپس به رجیستر شیفت دهنده انتقال پیدا می کند و داده به صورت بیت به بیت تبدیل می شود و از طریق پایه TXD ارسال می شود.ReceiveTransmit
اسلاید 14: نحوه ی دریافت در ارتباط سریال:در گیرنده، اطلاعات به صورت بیت به بیت در رجیستر شیفت دهنده دریفت شده و پس از دریافت کامل فریم داده، اطلاعات در رجیستر UDR ذخیره می شود.1-رجیستر ورودی-خروجی داده(UDR):Universal I/O Data Registerاین رجیستر برای ارسال و دریافت داده استفاده می شود. این رجیستر دارای دو بافر RXBو TXB است.در RXB اطلاعات دریافتی ذخیره می شود.در TXB اطلاعات ارسالی نوشته می شود.
اسلاید 15: نحوه ی دریافت در ارتباط سریال:به محض اینکه اطلاعات در ثبات UDR نوشته شد، در صورتی که قسمت فرستنده USART فعال شد، اطلاعات مذکور به ثبات شیفت دهنده ارسال، منتقل می شود و از طریق پایه TXD به صورت سری(یک بیت یک بیت) ارسال می گردد.
اسلاید 16: نحوه ی دریافت در ارتباط سریال:2-رجیسترهای کنترل وضعیت UCSRA، UCSRBو UCSRC:USART Control and Statuse Register Xاین ثبات ها برای کنترل و مشخص نمودن طرز کار با پورت سری به کار برده می شود. مثلا با این ثبات ها می توان USART را در حالت سنکرون، آسنکرون قرار داد، تعداد بیت های تبادل اطلاعات را مشخص کرد، وقفه را فعال یا غیرفعال کرد و...
اسلاید 17: 2-رجیسترهای کنترل وضعیت UCSRA، UCSRBو UCSRC:1-2-رجیستر کنترل وضعیت UCSRA:USART Control and Status Register Xاین ثبات شامل بیت های پرچم دریافت و ارسال و بیت های پرچم وقوع خطاست.
اسلاید 18: 2-رجیستر کنترل وضعیت UCSRA:بیت RXC:بیت پرچم دریافت کامل کاراکتر(USART Receiver complete)زمانی که اطلاعات سری به بافر دریافت ثبات UDR رسیده و در آن قرار گرفت، آن وقت بیت پرچم دریافت اطلاعات کامل یک کاراکتر برابر 1 می شود. یک شدن RXC به معنای حاضر بودن اطلاعات دریافتی در UDR است. اگر اطلاعات در ثبات UDR نباشد، بیت پرچم RXC برابر صفر است.بیت TXC:بیت پرچم پایان ارسال کامل کاراکتر(USART Transmit complete)هنگامی که یک کاراکتر در ثبات بافر UDR، از طریق پایه TXD ارسال شد، آنگاه بیت پرچم ارسال TXC برابر با یک می شود.(TXC=1) که نمایانگر پایان ارسال کاراکتر است.
اسلاید 19: 2-رجیستر کنترل وضعیت UCSRA:بیت UDRE:بیت پرچم خالی بودن ثبات داده(USART Data Register Empty)زمانی که بیت UDRE برابر یک شود نشانه این است که ثبات بافر ارسال UDR خالی است و آماده دریافت اطلاعات جدید است.بیت FE:پرچم خطا(Frame Error)موقعی که بیت پایان در انتهای کاراکتر برابر 0 باشد، یعنی اطلاعات یک بایت تکمیل نشده لذا بیت خطای FE برابر یک می شود.(FE=1) زمانی که اطلاعاتی در ثبات UCSRA نوشته می شود، این بین صفر نوشته می شود.
اسلاید 20: 2-رجیستر کنترل وضعیت UCSRA:بیت DOR:زمانی که بافر دریافت پر باشد و کاراکتر جدیدی بخواهد ارسال شود.(یعنی بیت شروع صفر شود) در این صورت با DOR=1، خطای Data Over Run داده می شود. موقعی که اطلاعات در ثبات UCSRA نوشته می شود، این بیت صفر نوشته می شود.بیت PE:پرچم خطای توازن(Parity Error)اگر بیت توازن دریافتی اشتباه باشد، PE برابر یک می شود. در موقع نوشتن UCSRA، مقدار این بیت را باید صفر نوشت.
اسلاید 21: 2-رجیستر کنترل وضعیت UCSRA:بیت U2X:بیت دو برابر کردن سرعت ارسال(Double The USART Transmission Speed)با یک کردن این بیت سرعت ارسال، 4 برابر می گردد. در حالت سنکرون این بیت صفر است.بیت MPCM:حالت مولتی پروسسور (Mulit-Proccessor Communication mode)وقتی این بیت یک شود یعنی حالت مولتی پروسسور استفاده می شود. اتصال چند میکروکنترلر به صورت سریال این مد کاربرد دارد.
اسلاید 22: 2-رجیستر کنترل وضعیتUCSRB:رجیستر کنترل وضعیت UCSRB:این ثبات برای فعال کردن وقفه و فعال کردن فرستنده و گیرنده است:بیت RXCIE:بیت فعال کردن وقفه دریافت(RX Complete Interrupt Enable)با یک کردن این بیت، در صورتی که بیت پرچم دریافت RXC در ثبات UCSRA برابر یک باشد، وقفه کلی فعال شده باشد، آن وقت وقفه دریافت اطلاعات فعال می شود.
اسلاید 23: 2-رجیستر کنترل وضعیتUCSRB:بیت TXCIE:بیت فعال کردن وقفه ارسال(TX Complete Interrupt Enable)با یک کردن این بیت، در صورتی که بیت پرچم ارسال TXC در ثبات UCSRA برابر یک باشد، وقفه کلی فعال شده باشد، آن وقت وقفه ارسال اطلاعات فعال می شود.بیت UDRIE:بیت فعال کردن وقفه در حالت خالی بودن ثبات داده UDRIE:با یک کردن این بیت اگر بیت پرچم خالی بودن ثبات داده (UDRE) در ثبات UCSRA برابر یک باشد و وقفه کلی فعال شده باشد، آنگاه وقفه خالی بودن ثبات داده فعال است.
اسلاید 24: 2-رجیستر کنترل وضعیتUCSRB:بیت RXEN:بیت فعال کردن گیرنده(RX Enable)برای فعال کردن قسمت گیرنده پورت سری USART بایستی بیت RXEN را برابر یک کرد. در این حالت پایه RXD، آماده دریافت اطلاعات می وشد.بیت TXEN:بیت فعال کردن ارسال کننده(Transmit Enable)برای فعال کردن قسمت فرستنده پورت سری USART بایستی بیت TXEN را برابر یک کرد. در این حالت پایه TXD، آماده ارسال اطلاعات می شود.
اسلاید 25: 2-رجیستر کنترل وضعیتUCSRB:بیت UCSZ2:تعداد بیت های یک کاراکتر(Character Size)بیت UCSZ2 در رجیستر UCSRB، بیت های UCSZ1 و UCSZ0 در ثبات UCSRC تعداد بیت های کای کاراکتر را مشخص می کنند.بیت RXB8: (نهمین بیت دریافت)هنگامی که تبادل اطلاعات 9 بیتی انتخاب شود، در این صورت بیت RXB8 نهمین بیت کاراکتر دریافتی خواهد بود.بیت TXB8: (نهمین بیت ارسال)اگر تبادل اطلاعات 9 بیتی باشد، TXB8 نهمین بیت کاراکتر ارسال خواهد بود.
اسلاید 26: 2-رجیستر کنترل وضعیتUCSRC:رجیستر کنترل وضعیت UCSRC:با این ثبات، سنکرون یا آسنکرون بودن، تعداد بیت ارسالی و فعال بودن بیت توازن را مشخص می کنیم.بیت URSEL:انتخاب ثبات(USART Mode Select)زمانی که با ثبات UCSRC کار می کنیم، این بیت را برابر یک قرار می دهیم.
اسلاید 27: 2-رجیستر کنترل وضعیتUCSRC:بیت UMSEL:انتخاب حالت سنکرون یا آسنکرون( اگر این بیت صفر باشد حالت آسنکرون انتخاب می شود و اگر 1 باشد، سنکرون است.)بیت های UPM1و UPM0: (انتخاب حالت بیت توازن)اگر این بیت فعال شود، فرستنده به صورت اتوماتیک این بیت را همراه با کاراکتر ها ارسال می کند، گیرنده بررسی می کند. در صورت ارسال اشتباه پرچم PE در رجیستر UCSRA را یک می کند.
اسلاید 28: 2-رجیستر کنترل وضعیتUCSRC:بیت USBS:انتخاب تعداد بیت های پایان(USART Stop bits Select)اگر این بیت 0 باشد دو بیت به عنوان بیت پایان در نظر گرفته می شود و اگر این بیت 0 باشد یک بیت به عنوان بیت پایان در نظر گرفته می شود.
اسلاید 29: 2-رجیستر کنترل وضعیتUCSRC:بیت های UCSZ1 وUCSZ0:این بیت ها تعیین کننده تعداد بیت های کاراکتر فریم داده است.
اسلاید 30: 2-رجیستر کنترل وضعیتUCSRC:بیت UCPOL:انتخاب پلاریته پالس در حالت سنکرون Clock Polarityاین بیت در حالت سنکرون استفاده می شود. در حالت آسنکرون بایستی صفر باشد.
اسلاید 31: 3-رجیستر تعیین سرعت پورت سری UBRR:ثبات 16 بیتی UBRR، دارای یک بایت کم ارزش UBRRL و یک بایت پر ارزش UBRRL است. مطابق با جدول مربوطه با مقدار دهی ثبات UBRR، B.D(baud rate) ارسال مشخص می شود.بیت(URSEL): بیت انتخاب ثبات(Register Select)با این بیت می توان ثبات UBRRH یا UCSRC را انتخاب نمود.وقتی که اطلاعات از ثبات UBRRH خوانده می شود، این بیت برابر صفر است.وقتی که اطلاعات در ثبات UBRRH نوشته می شود، این بیت برابر صفر است.
اسلاید 32: 3-رجیستر تعیین سرعت پورت سری UBRR:بیت های 14 الی 12 بیت های رزرو هستند.بیت های 11 الی 0: بیت های سرعت پورت سریبیت های 11-0 یک ثبات 12 بیتی است که مشخص کننده Baud Rate است. ثبات UBRRH شامل 4 بیت پر ارزش در ثبات UBRRL شامل 8 بیت کم ارزش است. مثلا اگر Rocs=5MHZ و Baud Rates=9600 باشد، مطابق جدول بایستی UBRR=51 یا 0X33 انتخاب شود که در این حالت UBRRH=0X00 و UBRRL=0X33 است.
اسلاید 33: مثال:برنامه ای بنویسید که در میکروکنترلر AVR:
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.