اطلاعیه

Collapse
No announcement yet.

فرق UART و USART

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    فرق UART و USART

    دوستان فرق UART و USART چیه؟؟؟؟ :agree:
    http://ceworld.ir/images/ads/dornablogcom_ads.gif

    #2
    پاسخ : فرق UART و USART

    ارتباط سریال – USART :
    USART نوعی از یک ارتباط سریال است که می تواند بین تمامی قطعاتی که از این قابلیت پشتیبانی می کنند ، اجرا می شود . این ارتباط به صورت همزمان و غیر همزمان قابل پیاده سازی است . نام USART از سر کلمه های زیر گرفته شده است :
    Universal Synchronous Asynchronous Receiver Transmitter

    این امکان تنها برای تراشه هایی قابل پیاده سازی است که از این قابلیت پشتیبانی می کنند و سخت افزار خاص ( پورت سریال ) آن را دارا می باشند .
    نوع غیر همزمان USART با نام UART شناخته می شود .

    سخت افزار USART :
    سخت افزار حالت USART در حالت داخلی به صورت دو بخش ارسال – دریافت می باشد .
    پایه های مربوط به USART نیز به دو بخش پایه های مربوط به انتقال همزمان و پایه های مربوط به انتقال غیر همزمان تقسیم می شوند .
    در نوع غیر همزمان پایه ارسال اطلاعات با نام TX و پایهء دریافت با نام RX شناخته می شوند .

    در نوع همزمان که کلاک بر زمان ارسال اطلاعات نظارت دارد ، پایه های مربوطه به دو پایهء DT ( خط داده ) و CK ( خط کلاک ) تقسیم می شوند .

    بلوک دیاگرام بخش ارسال :




    بلوک دیاگرام بخش دریافت :



    عبارت FIFO که در شکل نشان داده شده است ، بیانگر روش انتقال و ذخیره سازی بین بافر و RCREG است و به این معنا است که اطلاعاتی که ابتدا دریافت می شود ، ابتدا هم خارج می شود Frist Input / Frist Output ) .

    باقی خصوصیات و تنظیمات و چگونگی تیجاد ارتباط به نوع میکروکنترلر بر می گرده که واسه هر کدوم فرق داره . اما به صورت کلی توسط چند رجیستر این تنظیمات و ... انجام میشه .
    آنکه در تنهاترین تنهاییم تنهای تنهایم گذاشت کاش تنها کسش در تنها ترین تنهایش تنهای تنهایش نهد!

    دیدگاه


      #3
      پاسخ : فرق UART و USART

      دوست عزیز برای حالت همزمان یا USART آیا میشه از پایه های TXD and RXD استفاده کرد؟؟؟؟ :question:
      http://ceworld.ir/images/ads/dornablogcom_ads.gif

      دیدگاه


        #4
        پاسخ : فرق UART و USART

        کمک؟؟؟؟؟ :cry2:
        http://ceworld.ir/images/ads/dornablogcom_ads.gif

        دیدگاه


          #5
          پاسخ : فرق UART و USART

          نوشته اصلی توسط behnam_kh2002
          دوست عزیز برای حالت همزمان یا USART آیا میشه از پایه های TXD and RXD استفاده کرد؟؟؟؟ :question:
          سلام ..................

          ارتباط سریال تنها و تنها دو خط رو برای دیتا در نظر میگیره: TX و RX .. حالا این مد آسنکرون یا سنکرون فقط به نحوه ی ارسال و دریافت مربوط میشه نه به ساختار و اینترفیس .. موفق باشید ..
          دوستان! مدتی کمتر به سایت میام ..

          دیدگاه


            #6
            پاسخ : فرق UART و USART

            سلام دوستان
            یه سوال داشتم مگه ارتباط USART طبق گفته دیتا شیت fullduplex نیست یعنی هم میشه ارسال کرد هم میشه دریافت کرد
            حالا من یه برنامه نوشتم که میکروی اول عدد رو از PINB ارسال میکنه ولی روی PORTC عدد دریافتی رو نشون نمیده و میکروی دوم هم عدد دریافتی را روی سون سگمنت چاپ میکنه ولی PINB را در وقفه ارسال , ارسال نمیکنه
            میخواستم بدونم چطور میشه هم ارساال کرد هم دریافت؟
            یه سوال دیگم داشتم اونم اینکه با توابع سطح بالای USART در Code Vision چطور میشه استفاده کرد
            این برنامه:
            میکروی اول:

            #include <mega32.h>
            char x;
            void main (void)
            {
            DDRB=0x00;
            PORTB=0xff;
            UBRRH=0x00;
            UBRRL=0x25;
            UCSRA=0x00;
            UCSRB=0xB8;
            UCSRC=0x8f;
            #asm("sei"
            while(1)
            {
            PORTC=x;
            }
            }
            interrupt [15] void U (void)
            {
            UDR=PINB;
            }
            interrupt [14] void in (void)
            {
            x=UDR;
            }
            و میکروی دوم:

            #include <mega32.h>
            #include <delay.h>
            flash char cathod[16]={252,96,218,242,102,182,190,228,254,246,238,62,15 6,122,158,142};
            flash char anod[8]={247,251,253,254,191,127,223,239};
            char x;
            void main (void)
            {
            char x1,i,seg[3];
            DDRC=0xff;
            DDRA=0xff;
            DDRB=0;PORTB=255;
            UBRRH=0x00;
            UBRRL=0x25;
            UCSRA=0x00;
            UCSRB=0x94;
            UCSRC=0x8f;
            #asm("sei"
            while(1)
            {
            if((UCSRA&0x1e)==0)x1=x;
            for(i=0;i<3;i++)
            {
            seg[i]=x1%10;
            x1/=10;
            }
            for(i=0;i<3;i++)
            {
            PORTA=cathod[seg[i]];
            PORTC=anod[i];
            delay_ms(1);
            PORTC=255;
            }
            }
            }
            interrupt [14] void a (void)
            {
            x=UDR;
            }
            interrupt [15] void b (void)
            {
            UDR=PINB;
            }
            پیشاپیش از لطف شما متشکرم
            فرزندم در راه است

            دیدگاه


              #7
              پاسخ : فرق UART و USART

              سلام
              برای اینکه هم ارسال کنی هم دریافت باید تو code vizard قسمت rx و tx رو فعال کنی یا بیت TXEN و RXEN از ریجیستر UCSRB رو 1 کنی
              چرا از توابع ( ) putchar یا( ) puts و یا ( ) printf ...استفاده نمیکنی خیلی هم کارت راحت میشه...
              در ضمن نیازی هم به وقفه نیست .اگه هم میخوای وقفه ایی رو فعال کنی وقفه RX رو فعال کن...
              ذکات علم یاد دادنه ....

              دیدگاه


                #8
                پاسخ : فرق UART و USART

                سلام
                مرسی از توجه تون و جواب که دادید
                آخه سوال من همینه که چطور میشه از توابع printf() , بقیه توابع استفاده کرد
                فرزندم در راه است

                دیدگاه


                  #9
                  پاسخ : فرق UART و USART

                  نوشته اصلی توسط ali_rk
                  سلام
                  مرسی از توجه تون و جواب که دادید
                  آخه سوال من همینه که چطور میشه از توابع printf() , بقیه توابع استفاده کرد
                  به سادگی
                  کد:
                  printf("omid habibi");
                  علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

                  دیدگاه


                    #10
                    پاسخ : فرق UART و USART

                    ببینین این توابع تو فایل stdio.h هستش و به عنوان مثال شما میخوای یه کارکتر یا یه عددو از میکرو master بفرستی به میکرو slive باید از تابع ( َ3 ) putchar (3 رو میفرسته ...) استفاده کنی و تو slive برای گرفتن اون عدد از تابع ( ) getchar و اونو بریزی تو یه متغیر و مثلا رو lcd نشونش بدی

                    و یا اگه بخوای یه رشته رو بفرستی از تابع ( ) puts ویا ( ) putsf میتونی استفاده کنی و برای گرفتنشم باید از تابع ( )gets استفاده کنی ...
                    ببخشید خیلی بد توضیح دادم
                    اگه توضیحات کاملشو میخوای جزوه جناب سپاس یار رو اگه بخونی خیلی کمکتون میکنه ( لازمه همینجا هم از ایشون تشکر کنم )
                    اگه خواستی بگو تا برات up load کنم یا اگه تو قسمت download سایت بری پیدا میکنی
                    اینم یه برنامس که از 0 تا 99 رو میفرسته ( فکر کنم زحمتشو جناب حسام الدین کشیدن ...که این روزا هم خیلی کم پیدا شدن )

                    http://www.up.ma/images/bgmtxied04vnmvlwjp2u.rar

                    یا علی موفق باشی علی جان :bye
                    ذکات علم یاد دادنه ....

                    دیدگاه


                      #11
                      پاسخ : فرق UART و USART

                      سلام مجید جان
                      خیلی شرمنده کردی زحمت کشیدی که جواب کامل دادی
                      اگه اون جزوه را هم زحمت پ کردنش رو بکشی بازم شرمنده میکنی
                      در ضمن من با وقفه هم جواب گرفتم ولی کار با توابع سطح بالا را بلد نبودم
                      اینم برنامه هایی که نوشتم به همراه فایل پروتئوس
                      http://www.4shared.com/file/109585656/91fcf602/USART.html
                      بازم ممنون
                      فرزندم در راه است

                      دیدگاه


                        #12
                        پاسخ : فرق UART و USART

                        خواهش میکنم ...
                        باشه چشم حتما ...ولی امروز نمیتونم انشاا... فردا حتما up میکنم ...
                        یا علی...
                        ذکات علم یاد دادنه ....

                        دیدگاه


                          #13
                          پاسخ : فرق UART و USART

                          سلام ...
                          ببخشید اگه دیر شد... :redface:
                          http://www.up.ma/images/vf62d7j8c61iltxytg7.rar
                          ذکات علم یاد دادنه ....

                          دیدگاه

                          لطفا صبر کنید...
                          X