اطلاعیه

Collapse
No announcement yet.

تشخیص بادریت پورت سریال

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

    تشخیص بادریت پورت سریال

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

    #2
    پاسخ : تشخیص بادریت پورت سریال

    با درود
    بادریت به تعداد تغییرات سیگنال یا سطح ولتاژ در هر ثانیه در یک کانال ارتباطی اشاره دارد. واحد نرخ Baud، baud بر ثانیه (Baud per Second) است. برای مثال نرخ باود 9600 است به این معنی که 9600 تغییر سطح سیگنال در یک ثانیه اتفاق می افتد. این مفهوم توسط یک ریاضی‌دان سوئدی به نام باد (Baud) ارائه شد.

    با درود من یک برد خارجی دارم که باید یک برد برای ارتباط با ان طراحی کنم. در برد اصلی یکسری اطلاعات از طرق سریال ارسال میشود که انرا روی اوسیلوسکوپ دریافت می کنم چطوری میتونم بود ریت انرا تشخیص بدم؟ باید بود ریت را تشخیص بدم که با میکرو بتونم انرا بکار بگیرم کسی راه حلی براتی تشخیص بود ریت داره؟


    البته زمان صفر بودن باید چک بشه .. وقتی که دیتایی رد بدل نشه در حالت بالا کش قرار داره


    دیدگاه


      #3
      پاسخ : تشخیص بادریت پورت سریال

      نوشته اصلی توسط sepehr63 نمایش پست ها
      سلام
      اگه اوسکوپ موجود نباشه روش اصولی تشخیص بادریت پورت سریال چیه؟؟؟
      باید زمان یک بودن پالس تشخیص بدم یا روش های دیگه ای هم هست ؟؟؟
      در ارتباط با پروتکل uart معمولی با اندازه گیری زمان از startbit تا stopbit میشه باوود سیستم رو بدست آورد ( سیستم اتوباوود از همین روش استفاده میکنن )

      مجموع دیتابیت ها برای یک پکت استاندارد 8n1 معادل ۱۰ بیت میشه .

      در حالت idle باس در سطح ۱ منطقی قرار داره .

      شروع ارسال همیشه با ۱ بیت تایم صفر ( بعنوان استارت بیت ) در ادامه اش ۸ بیت دیتا و نهایتا ۱ بیت تایم ۱ ( بعنوان استپ بیت ) داریم

      تبصره : این ۱۰ بیت برای فرمت متداول بود ، اگر بیت parity داشته باشیم یک بیت بعد از دیتا اضافه میشه ، اگر استپ بیت ۰.۵ بیت یا ۱.۵ یا ۲ بیت انتخاب شده باشه این بیتها هم باید اضافه بشن .
      خود فیلد دیتا میتونه ۵-۶-۷-۸ یا ۹ بیت هم باشه که باز باید در صورت تفاوت فرمت با استاندارد در نظر گرفت ( اینها کیس های غیر متداوله )

      مساله اینه مقدار اون ۸ بیت معلوم نیست ، اگر مثلا بایت ارسالی 0x00 باشه رشته ای که دیده میشه یک صفر طولانی ( باندازه ۹ بیت ) و تهش یک یک طولانی میشه ( یک یا ۲ استپ بیت ، بقیه اش هم حالت idle باس هست که تا استارت بیت بعدی ۱ میمونه )

      اگر فرمت دیتای ارسالی رو داشته باشیم و مثلا باید 0x55 رو ارسال کنیم ۱۰ بیت داریم که یک در میون از صفر به یک رفته و بالعکس ( میشه ۵ تا صفر و ۵ تا ۱ ... معمولا برای تست و سنکرون کردن سیستم های اتوباوود پکیتهای با پترن مشابه ارسال میشه ) .

      در هر صورت با یه مقدار بررسی بیت تایمهای چند بایت حتی مقدارشون معلوم نباشه هم باوودریت قابل محاسبه است .

      اگر اسکوپ نباشه بوسیله لاجیک آنالایزر ، بوسیله یک سیستم اتوباوود ، بوسیله اینتراپت و تایمر کانتر با بوسیله فرکانس متر ( برای رشته بایتهای پیوسته ) میشه باوود رو بدست آورد .
      در سیستمهای با باوود استاندارد تلرانس محاز حدود ۲.۵ درصده ، با توجه به نصف شدن بیت تایم برای باوودهای یک مرحله بزرگتر تشخیص بازه باوود سیستم بوسیله متوسط فرکانس خیلی ساده تر میشه .

      دیدگاه

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