اطلاعیه

Collapse
No announcement yet.

پروتکل DMX512

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

    پروتکل DMX512

    تشریح پروتکل DMX 512
    پروتکل DMX512 اولین بار در سال 1986م توسط USITT توسعه یافت و هدف از آن کنترل کردن دیمرها با استفاده از یک واسط دیجیتالی استاندارد بود. پروتکل DMX512 یک راه حل کامل برای کنترل سیستمآ‌ها نیست و روش بهتری در حال توسعه است که مبتنی بر پروتکل شبکهآ‌های کامپیوتری (TCP/IP) میآ‌باشد.
    اما این پروتکل ساده و قابل اطمینان است، برای اینکه بطور گسترده پیاده سازی شده و در حال حاضر استفاده میآ‌شود. و در عمل نشان داده که بسیار انعطاف پذیر میآ‌باشد و وسایل کنترلی مختلفی علاوه بر دیمر نیز از این پروتکل استفاده میآ‌کنند.
    EIA485 (RS485)
    پروتکل DMX512 بر اساس استاندارد صنعتی واسط EIA485 طراحی شده است. این استاندارد تنها مشخصات الکتریکی مانند ولتاژها، جریانآ‌ها و ... را تعریف میآ‌کند.
    این سیستم از سیمآ‌های زوج تابیده شیلد دار استفاده میآ‌کند. کابل مورد استفاده حتما باید یک زوج به هم تابیده و یک محافظ ورقهآ‌ای و یک محافظ توریآ‌مانند داشته باشد. لازم به ذکر است کابلآ‌های صوتی (مثلا کابل میکروفن) برای این کار اصلاً مناسب نمیآ‌باشد.
    مانند تمام شبکهآ‌ها این کابل باید در دو انتهای خود بسته شود. برای این کار از یک مقاومت 120 اهم استفاده میآ‌شود که دو سیم دیتا را به هم متصل میآ‌کند. استاندارد IEA485 تنها شبکهآ‌های زنجیرهآ‌ای را پشتیبانی میآ‌کند که حداکثر 32 وسیله را میآ‌توان در یک بخش قرار داد. هر بخش میآ‌تواند تا 1000 متر طول داشته باشد. اما در عمل بهتر است قبل از رسیدن به این طول از تکرارکننده استفاده کرد.
    کانکتورهای مورد استفاده باید XLR 5 Pin باشد. (بعضی اوقات از 3 پین هم استفاده میآ‌شود) کانکتور نری در فرستنده و کانکتور مادگی در گیرنده استفاده میآ‌شود. استاندارد، پیشنهاد کرده است که از کابل شیلدداری که دو زوج تابیده دارد استفاده شود در صورتی که یک زوج تابیده کافی است. سیم زوج تابیده دوم برای کاربردهای آینده رزرو شده است البته باید توجه داشت که بعضی از دیمرها از این سیم برای کنترل خطا و یا اطلاعات دیگر استفاده میآ‌کنند.
    نکته: باید توجه داشت که دیمرهایی که از سیم زوج تابیده دوم استفاده میآ‌کنند حتما باید از تقسیم کنندهآ‌ها و تکرار کنندهآ‌های خصوص استفاده کنند.
    عملکرد پایه‎آ‌های کانکتور XLR
    پین سیم سیگنال
    1 شیلد زمین (0 ولت)
    2 سیم داخلی (سیاه) دیتا (-)
    3 سیم داخلی (سفید) دیتا (+)
    4 سیم داخلی (سبز) دیتای یدکی (-)
    5 سیم داخلی (قرمز) دیتای یدکی (+)

    مطمئن‎آ‌ترین راه برای اتصال خط به سیستم‎آ‌های دیجیتالی استفاده از تراشه‎آ‌های استاندارد مانند SN75176B از شرکت Texas Instruments میآ‌باشد. برای ایزوله کردن هم میآ‌توان از تراشه ISO485P از شرکت Burr-Brown استفاده کرد.
    بیتآ‌ها و بایتآ‌ها
    حال نگاه مختصری به واسط الکتریکی میآ‌اندازیم. انتقال دادهآ‌ها بر اساس پروتکل سریال غیرهمزمان با 8 بیت داده و 1 بیت آغاز و 2 بیت پایان و بدون بیت توازن میآ‌باشد. این دادهآ‌ها یک فریم که 11 بیت است را میآ‌سازد. طول هر بیت 4 میکروثانیه است. در نتیجه طول هر فریم 44 میکروثانیه میآ‌شود و در هر ثانیه میآ‌توان 250000 بیت را فرستاد. دادهآ‌های 8 بیتی به دیمر اجازه میآ‌دهند که رنج 0 (لامپ خاموش) تا 255 (حداکثر روشنایی) را بدست آورد. ترتیت ارسال بیتآ‌ها از کم ارزش به پر ارزش میآ‌باشد.

    بیت آغاز و پایان برای سنکرون کردن فرستنده و گیرنده استفاده می‎آ‌شود. خط انتقال داده عموما بالا (یک) میآ‌باشد. با رسیدن بیت آغاز، دستگاه گیرنده 8 بیت بعدی را خوانده و آنها را دیکد میآ‌کند. سپس دستگاه گیرنده منتظر دریافت 2 بیت پایان میآ‌شود. و پس از آن این سیکل تکرار میآ‌شود. بیت پایان به 2 دلیل لازم میآ‌باشد:
    1. خط در وضعیت بالا (یک) قرار گیرد تا بیت شروع بعدی قابل تشخیص باشد.
    2. فرصت کافی به دستگاه گیرنده داده شود تا دادهآ‌های دریافت شده را پردازش کند.
    دو دیاگرام زیر فریمآ‌های با مقدار0 و 255 را نشان میآ‌دهند.

    Data = '0'
    Data = '255'
    از روی 2 دیاگرام فوق به خوبی معلوم می‎آ‌شود که تغییرات سطح که توسط بیت آغاز و بیت پایان داده می‎آ‌شود این امکان را به دریافت کننده میآ‌دهد که فریم را سنکرون کند.
    تا اینجا خوب بود اما این پایان قصه نیست! پروتکل DMX512 تا 512 دیمر را پشتیبانی میآ‌کند. اما تا حالا تنها یک دیمر را بررسی کردیم. چگونه سایر دیمرها را پشتیبانی کنیم؟
    جواب ساده است. کافی است این پروسه را بطور پشت سر هم تکرار کنیم!
    اما نه به همین سادگی! چگونه تشخیص دهیم کدام فریم متعلق به کدام دیمر است؟ جواب این سوال در DMX Packet میآ‌باشد.
    DMX512 PACKET
    این مطلب قلب استاندارد DMX512 است. یک Packet مجموعهآ‌ای از فریمآ‌های پشت سر هم به همراه یک سیگنال سنکرون اضافی به نام Break و Mark-after-break است. به کمک این سیگنال میآ‌توان فریم اول را تشخیص داد و پشت سر آن سایر فریمآ‌ها را تشخیص داد.
    با بررسی زمانآ‌بندی فریمآ‌ها میآ‌توان به این نتیجه رسید که حداکثر زمان پایین (صفر) بودن خط دیتا برابر با 36 میکروثانیه (4 میکروثانیه برای بیت آغاز و 8*4=32 میکروثانیه برای دیتا) است. سیگنال Break به مدت 88 میکروثانیه خط دیتا را پایین (صفر) نگه میآ‌دارد. این اختلاف به راحتی قابل تشخیص است و میآ‌توان سیگنال Break را تشخیص و عمل سنکرون Packet را انجام داد. بعد از Break بلافاصله Mark-after-break را داریم که به مدت 8 میکروثانیه خط را بالا (یک) نگه میآ‌دارد. این سیگنال برای این است که بیت آغاز فریم اول قابل تشخیص باشد. دیاگرام زیر به خوبی این مطلب را نشان میآ‌دهد.

    دو مطلب هنوز باقی مانده است. یکی «کد آغاز » و دیگر «زمان بین فریم » است.
    کد آغاز، یک فریم همانند سایر فریمآ‌ها است با این تفاوت که بلافاصله بعد از سیگنال Break میآ‌آید و نوع دادهآ‌های Packet را تعیین میآ‌کند. اگر مقدار این کد صفر باشد بدین معنی است که فریمآ‌های بعدی مقادیر دیمرها را مشخص میآ‌کند. سایر مقادیر برای این کد در پروتکل DMX512 تعریف نشده است ولی بعضی از سازندگان کدهای دیگر را برای ارسال اطلاعات دیگر استفاده میآ‌کنند.
    نکتهآ‌ای که باید توجه داشت این است که با دریافت سیگنال Break، باید از فریمآ‌های بعدی Packet صرف نظر کرد و نباید منتظر آنها باشیم هر چند که به 512 فریم نرسیده باشم. اما باید دقت کرد که بعضی از دستگاهآ‌ها برای سادگی به این نکته توجه نمیآ‌کنند!
    زمان بین فریم برای کاهش سرعت ارسال دادهآ‌ها استفاده میآ‌شود، چون بعضی از دیمرها با سرعت بالا نمیآ‌توانند دادهآ‌ها را دریافت کنند. این زمان میآ‌تواند بین 0 تا یک ثانیه طول بکشد.
    پروتکل DMX512 چند محدودیت بر روی زمانآ‌بندی سیگنالآ‌ها قرار داده است.

    خلاصه زمان‎آ‌بندی ها
    سیگنال حداقل حداکثر
    Break 88µs 1s
    Mark-after-break 8µs 1s
    Inter-frame-time 0µs 1s
    نکته‎آ‌ای که با توجه به زمان‎آ‌بندی فوق مشخص می‎آ‌شود این است که هیچگاه بیش از یک ثانیه خط دیتا به طور پیوسته صفر یا یک باقی نخواهد ماند. که در این صورت خطا رخ داده است.
    جمع بندی
    برای تقسیم کردن شبکه به دو یا چند قسمت حتماً باید از تقسیم کننده استفاده کرد. در غیر اینصورت عدم تطبیق در امپدانس خط بوجود خواهد آمد که باعث بروز خطا در حین انتقال اطلاعات می‎آ‌شود. برای مسافت‎آ‌های طولانی نیز باید از تکرار کننده استفاده کرد. این دستگاه‎آ‌ها از یک طرف داده‎آ‌ها را بطور صحیح دریافت کرده و در طرف دیگر آن را تکرار یا پخش می‎آ‌کنند.

    مراجع: دوست گرامی microprocesor_2002
    برای اطلاعات بیشتر به http://www.euro-pa.be/dmx.html مراجعه فرمائید

    تشکر نکنید خسته میشوید
    اگر برایتان مفید بود :NO:
    تشکر کنید


    کمتر سخن گویم
    بیشتر عمل کنیم

    #2
    پاسخ : پروتکل DMX512

    نوشته اصلی توسط mpc
    کابل مورد استفاده حتما باید یک زوج به هم تابیده و یک محافظ ورقهآ‌ای و یک محافظ توریآ‌مانند داشته باشد. لازم به ذکر است کابلآ‌های صوتی (مثلا کابل میکروفن) برای این کار اصلاً مناسب نمیآ‌باشد.
    چرا کابل هایی مثل میکروفن اصلا مناسب نیست؟
    من برای RS485 از این کابل ها خریدم
    می خواستم کابل دو رشته شیلد و فویل باشه بهتر از این ها گیرم نیومد
    (فکر کنم سیلد مهم تر از به هم تابیدگی باشه)
    شما جایی میشناسید کابل دو رشته یا 4 رشته به هم تابیده شیلد دار داشته باشه؟
    راستی اصولا شیلد در کابل ها را به کجای مدار متصل می کنند؟ مستقیم به زمین؟
    { خلاف قوانین - پاک شد }

    دیدگاه


      #3
      پاسخ : پروتکل DMX512


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

      می خواستم کابل دو رشته شیلد و فویل باشه بهتر از این ها گیرم نیومد
      دوست گرامی شاید در فواصل کوتاه تاثیر عیوب آن را نبینید. شما میتوانید از کابل شبکه استفاده نمائید.
      من خودم از کابل CAT5e یا CAT6 برای جاهای کم نویز و برای جاهای نویز دار از نوعSTP کابل های یاد شده استفاده میکنم
      و تا یک کیلومتر هم به راحتی کار میکند.
      اگر مشکلی بود ایمیل بزن راهنمای دقیقتر با منابع برایت ارسال کنم
      موفق باشید



      کمتر سخن گویم
      بیشتر عمل کنیم

      دیدگاه


        #4
        پاسخ : پروتکل DMX512

        مگر cat5 کابل 8 رشته نیست؟
        میشه عکس نمونه از کابل هایی که استفاده کردید رو بگذارید؟ من برا محیط پر نویز می خواهم
        تغذیه مدار ها رو با چه کابلی منتقل کردید؟
        شما برای سوال های دیگه چی کار می کنید؟
        یه جایی تو همین فروم خوندم که یکی از دوستان گفته بود که کابل با شیلد قوی تر الویتش بیشتر از کابل به هم تابیده شده است
        ولی من جمهوری رو که گشتم (خوب نگشتم) کابل دو رشته پیدا نکردم که هم تابیده به هم باشه و هم فویل دار ! برای همین کابل میکروفن گرفتم
        کسی از دوستان می تونه در این مورد کمک کنه؟
        ممنون
        { خلاف قوانین - پاک شد }

        دیدگاه


          #5
          پاسخ : پروتکل DMX512

          سلام
          دوست عزیز
          cat5
          یک کابل هشت رشته ( چهار زوج به هم تابیده) میباشد حتما نباید 2 رشته باشد شما میتوانید از دو شته برای انتقال اطلاعات و از بقیه برای تغذیه مدار استفاده کنید . شما حتما باید از نوع شیلید دار با ضرح فلزی استفاده کنید که
          cat6
          است
          کمتر سخن گویم
          بیشتر عمل کنیم

          دیدگاه


            #6
            پاسخ : پروتکل DMX512

            سلام به همه دوستان ، سال نو مبارک
            دوست عزیز آقای mpc میشه در مورد پیاده سازی DMX512 بیشتر توضیح بدی
            تو تاپتیک های نور پردازی گفته بودی که این پروتکل و پیاده سازی کردی.!
            تو بازار که تجهیزاتش پر شده قالبا هم با 3 تا سیم به همدیگه متصل شدن.
            من رقص نور زیاد ساختم از 3 کانال RGB بگی تا همین قبل از عید که 640 کاناله RGB که اگه 3 ضرب کنی میشه 1920 که دونه به دونه میتونی کنترلشون کنی ، که برای یه سقف به قطر 20 متر بود ، که واقعا تبدیل به یه قصر شد . بگذریم
            ----------------------------------------------------------------------------------------
            در مورد DMX من قسمت Poket رو خوب متوجه نمیشم.
            آیا سیستم کاری شبیه شیف رجیستره .؟ یعنی وقتی بافر داخلی پر شد بایت ها بیت به بیت به Slave بعدی ارسال میشه.؟
            من میخوام ار Attiny13 استفاده کنم ، برای هر میکرو باید آدرس خاصی تعریف بشه.؟ اگه اینجوری باشه که خیلی سخت میشه.!
            نمیشه از Uart استفاده کرد و یه پایه لچ سراسرس استفاده کرد.؟ البته فکر نمیکنم میکرو های سری Tiny از Uart سخت افزاری پشتیبانی کنن نظر شما چیه.!
            این LED های آماده که به DMX تجهیز شدن فقط یه میکرو دارن و 3 تا سیم برای ورودی و 3 تا هم برای خروجی ، حالا ماکزیمم فاصله بین این ها جقدر میتونه باشه که
            سیگنال نویز نگیره.؟
            ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            از اساتیدی که قبلا این سیستم رو پیاده سازی کردن تقاضای راهنمایی میکنم :read:
            با تشکر
            قومی متفکرند اندر ره دین
            قومی بگمان فتاده در راه یقین
            میترسم از آن که بانگ آید روزی
            که ای بی خبران ، راه نه آن است و نه این...!

            دیدگاه


              #7
              پاسخ : پروتکل DMX512

              یعنی هیچ کسی تاحالا با این سیستم کار نکرده ؟؟؟ :angry: :angry: :angry: :angry: :angry:
              قومی متفکرند اندر ره دین
              قومی بگمان فتاده در راه یقین
              میترسم از آن که بانگ آید روزی
              که ای بی خبران ، راه نه آن است و نه این...!

              دیدگاه


                #8
                پاسخ : پروتکل DMX512

                هادی جان هدفت از فهمیدن این پروتکل چیه . من خودم خیلی سعی کردم اما راستش با اون جواب نگرفتم و خودم با سریال کارم رو راه انداختم . اگه شما هم کارت با سریال راه میوفته که بگو بهت توضیحات لازم رو بدم .
                [glow=blue,2,300]آنقدر به تاریکی لعنت نفرستید ، یک شمع روشن کنید. [/glow]

                دیدگاه


                  #9
                  پاسخ : پروتکل DMX512

                  سلام ، راستیتش برای کار های نور پردازیم لازم دارم
                  ببین من قبلا با شیفت رجیستر کار میکردم و شبکه راه انداخته بودم برای اینکه افت سیگنال هم نداشته باشم از بافر های 74hc541 استفاده میکردم
                  با سوکت های RJ45 و کابل Cat5 معمولی من تا 30 متر هم تست کردم حتی تو محیط هار پر نویز هم عالی جواب میداد
                  ولی خب فقط 0 و 1 بود.!
                  الان میخوام روی چیپ های LED درایور PWM کار کنم . سرچ کردم DMX و پیدا کردم ،
                  حالا دردم اینه دنبال شبکه ای میگردم که بتونم حداقل 200 تا میکرو و بهم اتصال بدم ، بعد سیم های ارتباطی هم کم باشه
                  من دیدم تو این DMX های تو بازار 3 تا سیم بیشتر استفاده نشده.
                  ---------------------------------------------------------------------------------
                  حالا میخوام از Usart استفاده کنم بصورت ورودی خروجی یعنی خروجی TX میکرو اول به ورودی RX میکرو دوم وصل بشه
                  برای اینکه افت سیگنال هم تداشته باشه از همون بافر 541 استفاده کنم ، بعد 3 تا 8 بیت ازسال کنم برای RGB ، بعد میکرو با دریافت 24 بیت بعدی
                  24 بیت قبلی رو پاس بده به میکرو بعد.
                  برای اینکه همه میکرو ها با هم اطلاعات رو تو خروجی PWM ها اعمال کنن یه پایه لچ سراسری هم تعریف کنم.
                  خلاصه همون شبیه سازی شیفت رجیستر با میکرو ، مثلا Attiiny 13
                  چون این مدل usart سخت افزاری نداره با کامپایلر بسکام نرم افزاری ایجاد میکنم
                  حالا نمیدونم این طرح چقدر جواب میده.؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ولی کلا بین چیپ ها با تغذیه 4 تا سیم استفاده میشه
                  -----------------------------------------------------------------------------------------------------------------------------------
                  ایمان جان حالا اگه طرح شما بهتره ، راهنمایی بفرمایید.
                  خدا خیرت بده جوووون @};- @};- @};- @};-
                  قومی متفکرند اندر ره دین
                  قومی بگمان فتاده در راه یقین
                  میترسم از آن که بانگ آید روزی
                  که ای بی خبران ، راه نه آن است و نه این...!

                  دیدگاه


                    #10
                    پاسخ : پروتکل DMX512

                    یعنی واقعا کسی نیست که نظر بده یا پیشنهادی داشته باشه.؟؟؟ :sad: :sad: :sad: :sad: :sad: :sad: :sad:
                    قومی متفکرند اندر ره دین
                    قومی بگمان فتاده در راه یقین
                    میترسم از آن که بانگ آید روزی
                    که ای بی خبران ، راه نه آن است و نه این...!

                    دیدگاه

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