اطلاعیه

Collapse
No announcement yet.

کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

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

    کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

    سلام. برای داشتن یه ارتباط سریال بدون خطا در بازه 12 تا 16 مگاهرتز ، از چه کریستالی باید استفاده کنم.
    قبلا از اینا استفاده میکردم 7.3728و 11.059و 18.432 که الان بدردم نمیخورن. دو تای اولی کند هستند و سومیه هم میکرو جواب نمیده

    #2
    پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

    دوست عزیز
    می تونی از
    14.7456
    مگا هرتز استفاده کنید
    در ضمن باید بگم که با همون کریستال 18 و خورده ای امتحان کردین که میکرو جواب نداده ؟
    { خلاف قوانین - پاک شد }

    دیدگاه


      #3
      پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

      این واژه "بدون خطا"تون هم ما رو کشته! یعنی چی بدون خطا؟ و تازه روی چه سرعتی؟ اگر منظورتون سرعتی معادل با 115200 باشه که خودبخود خطای ناشی از نویز روی این سرعت بسیار موثرتر میشه و از طرفی یک میکرویی مثل AVR های معمول روی این سرعت ممکنه برای پردازش کم بیارن. اگر سرعت بالایی میخوایین که با همون سرعت 16 هم میشه تا سرعت 2 مگا بیت بالا رفت. فقط باید ببینین که طرف مقابلتون چکاره هست. اگر PC هست که سرعت 9600 یا 38400 هم عالیه و با کریستال 16 هم بخوبی جواب میده. اگر هم یک میکروی دیگه باشه که با سرعت کلاک 16 همونطوری که عرض کردم تا 2 مگا بیت هم بالا میره.

      دیدگاه


        #4
        پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

        همون 14.7456
        مگا هرتز خوبه
        مشکلی هم پیش نمیاد

        دیدگاه


          #5
          پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

          سلام . خازن 22 پیکو برای کریستال 14.7456 مناسبه؟

          اگر PC هست که سرعت 9600 یا 38400 هم عالیه و با کریستال 16 هم بخوبی جواب میده. اگر هم یک میکروی دیگه باشه که با سرعت کلاک 16 همونطوری که عرض کردم تا 2 مگا بیت هم بالا میره.
          میشه یه توضیحی در مورد نحوه بالابردن سرعت ارتباط بین یک میکرو با یک میکرو دیگه رو بگین؟ حالا اگه به جای میکرو در یک طرف یک ماژول فرستنده- گیرنده با قابلیت دریافت ورودی سریال تا سرعت 2 مگابیت باشه بازهم میشه سرعت انتقال رو بالا برد؟

          ممنون
          "در عجبم از مردمی که خود زیر شلاق ظلم و ستم زندگی می کنند و بر حسینی می گریند که آزادنه زیست" شریعتی
          در جهان روشنایی هایی وجوددارد که در عمیق ترین ظلمات نهانند.

          دیدگاه


            #6
            پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

            چند سال پیش دوستی از اصفهان یک نامه رو برام به تهران پیشتاز کرد. تقریبا 20 روز بعد دستم رسید. دوست دیگری میگفت: ببین! پست پیشتاز کند نیست. بلکه خیلی هم سریعه. فقط وقتی یک از تهران به شیراز میرسه میره دبی دور میزنه و برمیگرده!!
            فرض کنیم شما بتونی با سرعت 2 مگا بیت تبادل اطلاعات داشته باشی. چقدر عالی! ولی برای یک فریم بزرگ یعنی مثلا با دوبیت توقف و یک بیت توازن میشه چیزی حدود 153846 بایت در ثانیه یا هر 6.5 میکرو ثانیه یک بایت. شما این یک بایت اطلاعات دریافتی رو قراره چکارش کنی توی این 6.5 میکرو ثانیه؟ و از طرف دیگه چطوری میخوایی این حجم اطلاعات رو تولید کنی؟ منظورم اینه که یکی از دلایلی که شما به پهنای باند زیادی احتیاج داری اینه که ممکنه در مقاطعی حجم بالایی از اطلاعات رو بخوای تبادل کنی.ولی یک میکرو مثل AVR در حالت عادی این حجم اطلاعات رو نمیتونه ایجاد - مدیریت یا پردازش کنه.

            ضمنا ارتباط ما بین دو میکرو وقتی بصورت آسنکرون باشه (کلاک ارسال و دریافت نمیشه) حداکثر یک میزان خطای مشخص در ناهمزمانی ارسال کننده و گیرنده قابل چشم پوشی هست. یعنی مثلا اگر یک طرف با سرعت 9600 باود کار کنه و اون یکی با سرعت 9598 تا 9602 (2 دهم درصد خطا) باز هم میتونن با هم ارتباط بگیرن. به خاطر همین خیلی جاها احتیاج مبرمی به استفاده از یک کلاک خیلی شارپ (مثل موقعی که از یک کلاک 11.0592 استفاده میکنیم) نیست.

            اما بابت سئوال شما.
            با توجه به موارد فوق اگر بشه این میزان خطا رو چه در خصوص سیگنالینگ مدیریت کرد و چه کشف و رفع خطا در مواقع دریافت اطلاعات رو در لایه نرم افزار انجام داد و میکرو هم بتونه با این حجم اطلاعات کار کنه....چرا که نه؟ با سرعت 100 گیگا بیت هم میشه تبادل اطلاعات انجام داد. خیال میکنین PIC Express چکار میکنه؟ اطلاعات رو با استفاده از یک باس مشابه RS485 با فرکانس 2.5 گیگا بیت در ثانیه رد و بدل میکنه.

            دیدگاه


              #7
              پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

              جناب اقا زاده باز مثل همیشه یک جواب کامل و پربار ارائه دادید
              منظور از یک کلاک شارپ چیه؟
              با تشکر

              دیدگاه


                #8
                پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

                خوب سلام
                بحث خوبی رو باز کردین منم یه سوالی دارم من تو کد ویژن یه اروری مبنی بر زیاد بودن سرعت پردازنده نسبت به سرعت باد ریت دیدم
                ولی تو بیسکام باد ریت رو روی 1200 تنظیم کردم میدونم کمه ولی خودم میخوام که کم باشه چون با مادون قرمز انتقالش میدم
                الن کار میکن ولی هنگ میکرو زیاده
                میکرو ریست میشه ولی استارت دباره نمیشه :eek:
                نمیدونم چی کار کنم ؟ فرکانس کریستال 11.0592 هستش
                یه سوال دیگه واسه یه باد ریت 9600 حد اکثر فرکانسمون ممکنه چند باشه ؟
                یعنی مدارات مقابل ما باید پاسخ گوی چه سرعتی باشن ؟ نمیدونم منظورم واضح بود ؟
                [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                دیدگاه


                  #9
                  پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

                  منظور از یک کلاک شارپ چیه؟
                  بعضی وقتا ذهن یاری نمیکنه مجبور میشم از خودم لغت بسازم! منظورم اینه که دقیقا کلاک شما مطابق با کلاکی که میخوایین در بیاد. با خطای صفر. اگر درست یادم باشه تقسیم کننده سرعت باود از یک شانزدهم کلاک سیستم استفاده میکنه. مثلا برای 9600 روی 8 مگا هرتز فاکتور تقسیم میشه 51.08333333 که چون مقدار صحیحش رو استفاده میکنیم میشه 51. ولی این فاکتور سرعت کریستال 7987200 رو برای خطای صفر میخواد. یعنی با کلاک 8 مگا هرتزی سرعت 9615 رو میده. از نظر من این یک کلاک شارپ نیست. ولی با فرکانس 7.3728 تقسیم کننده میشه دقیقا 47 و این یک کلاک شارپ هست.

                  من تو کد ویژن یه اروری مبنی بر زیاد بودن سرعت پردازنده نسبت به سرعت باد ریت دیدم
                  نمیدونم منظورتون دقیقا چیه ولی فکر میکنم این باشه: اگر سرعت کلاک میکرو بالا باشه برای سرعت های پایین عدد تقسیم کننده سرعت؛ بزرگتر از اونی میشه که بشه داخل رجیستر UBRR جاش داد. مثلا فرض کنین این رجیستر 8 بیتی باشه ولی مقداری که باید توش بذارین 280 بشه.

                  بنابراین حداکثر فرکانستون به میکرو و سرعت حداقلتون بستگی داره. سرعت حداکثر سیستم میشه سرعت حداقل سریال * 16 * ماکزیمم عددی که بشه توی UBRR جا داد + 1 . جدول نمونه سرعت های سریال رو توی دیتا شیت نگاه کنین. مثلا روی AT90S2313 با کریستال 11.0592 داشتن سرعت 1200 امکانپذیر نیست.

                  دیدگاه


                    #10
                    پاسخ : کریستال برای ازتباط سریال بین 12 و 16 مگاهرتز

                    سلام
                    من یه تعدادی کریستال 20 مگ خرید کردم نمی دونم چرا بعضی از اونا اصلا کار نمیکنن راهی هست واسه شناخت جنس خوب کریستال ؟

                    دیدگاه

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