تشریح پروتکل 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:
تشکر کنید
پروتکل 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:
تشکر کنید
دیدگاه