در سیستم با پروتکل CAN استاندارد ، تکنیک بدست آوردن باس توسط گرههای شبکه بسیار ساده و البته کارآمد است.
همانگونه که در قبل توضیح دادهشده است ، الگوریتم مورد استفاده برای بدست آوردن تسلط بر محیط انتقال ، از نوع داوری بر اساس بیتهای شناسه است.
این تکنیک تضمین میکند که گرهای که اولویت بالایی دارد ، حتی در حالتیکه گرههای با اولویت پایینتر نیز قصد ارسال دارند ، هیچگاه برای بدست آوردن باس منتظر نمیماند.
و با وجود این رقابت بر سر باس ، پیام ارسالی نیز مختل نشده و منتقل میشود.
در همین جا نکتهی مشخص و قابل توجهی وجود دارد.
اگر یک گرهی با اولویت پایین بخواهد پیامی را ارسال کند باید منتظر پایان ارسال گرهی با اولویت بالاتر باشد و سپس کنترل باس را در اختیار گیرد.
این موضوع یعنی تاخیر ارسال برای گرهی با اولویت پایینتر ، ضمن این که مدت زمان این تاخیر نیز قابل پیشبینی و محاسبه نخواهد بود و کاملا به ترافیک ارسال گرههای با اولویت بالاتر وابسته است.
به عبارت سادهتر :
● گره یا پیام با اولویت بالاتر ، تاخیر کمتری را برای تصاحب محیط انتقال در هنگام ارسال پیشرو خواهد داشت.
● گره یا پیام با اولویت پایینتر ، تاخیر بیشتری را برای بدستگرفتن محیط انتقال در هنگام ارسال ، تجربه خواهد کرد.
یک راه حل برطرف کردن نیازهای ذکرشده در بالا ، استفاده از شبکهی استاندارد CAN با اضافهکردن تکنیک تحریک زمانی (Time Trigger) به آن میباشد.
استفاده از تکنیک تحریک زمانی در CAN ، طبق توضیحاتی که داده خواهد شد ، باعث اجتناب از این تاخیر میشود و باعث استفادهی مفیدتر و کارآمدتر از پهنای باند شبکه ، به کمک ایجاد قطعیت در زمانهای انتظار و ارسال ، میشود.
به عبارت دیگر ، مزایای این شبکه با استفاده از تکنیک تحریک زمانی عبارت خواهد بود از :
● کاهش تاخیرهای غیر قابل پیشبینی در حین ارسال
● تضمین ارتباط قطعی و تاخیرهای قابل پیشبینی
● استفادهی مفیدتر و کارآمد از پهنای باند شبکه
با توجه به مکانیسمهای پیشبینی شده در TTCAN ، این پروتکل زمانبندی پیامهایی با تحریک زمانی (TT) را به خوبی پیامهایی با تحریک رویداد (Event Trigger) را که قبلا در این پروتکل قرار داشت ، مدیریت میکند.
این تکنیک اجازه میدهد که سیستمهایی که دارای عملگرهای بلادرنگ هستند نیز بتوانند از این شبکه استفاده کنند.
همچنین این تکنیک انعطاف بیشتری را برای شبکههایی که قبلا از CAN استفاده میکردند ، ایجاد میکند.
این پروتکل برای استفاده در سیستمهایی که ترافیک دیتا بصورت مرتب و متناوب در شبکه رخ میدهد ، بسیار مناسب و کارآمد میباشد.
در این تکنیک ، ارتباطات بر پایهی یک زمان محلی بنا شده است.
زمان محلی توسط پیامهای متناوب یک گره که بهعنوان گرهی مدیر زمان (Time Master) تعیین شده است ، هماهنگ و تنظیم میشود.
این تکنیک اجازهی معرفی یک زمان سراسری و با دقت بالا را بصورت یکپارچه (Global) را ، در کل سیستم فراهم میکند.
بر پایهی این زمان ، پیامهای متفاوت توسط یک سیکل ساده ، در پنجرههایی قرار میگیرند که متناسب با زمان پیام چیده شده است.
یکی از مزایای بزرگ این تکنیک در مقایسه با شبکهی CAN با روش زمانبندی کلاسیک ، امکان ارسال پیغامهای تحریک شوندهی زمانی با قطعیت و در پنجرههای زمانی است.
اگر فرستندهی فریم مرجع دچار خرابی شود (Fail) ، یک گرهی از پیش تعریف شدهی دیگر بهطور اتوماتیک وظیفهی گرهی مرجع را انجام میدهد.
در اینحالت ، گرهی با درجهی پایینتر جایگزین گرهی با درجهی بالاتر که دچار خرابی شده است ، میشود.
حال اگر گرهی با درجهی بالاتر ، تعمیر شده و دوباره به سیستم باز گردد ، بهصورت اتوماتیک تلاش میکند تا بهعنوان گرهی مرجع انتخاب شود.
توابعی بهصورت پیشفرض در تعاریف و خصوصیات TTCAN قرار داده شده است تا سیستم از این تکنیک خروج و بازگشت خودکار ، پشتیبانی کند.
در ادامهی این مقاله ، جزییات این پروتکل مورد بررسی دقیقتر قرار میگیرد.
2) پیادهسازی TTCAN :
پروتکل TTCAN بر اساس تحریک بر مبنای زمان و ارتباط پریودیک ، که توسط مدیر زمان هماهنگ میشود ، بنا شده است.
در این پروتکل ، پیام مرجع (Reference Message) پیامی است که توسط مدیر زمان در شبکه انتشار پیدا میکند و حاوی اطلاعات زمانبندی پنجرههای زمانی و اطلاعات انحصار پنجرهها به گرههای مشخصی میباشد.
پیام مرجع ، بهسادگی از طریق بیتهای شناسهاش قابل شناسایی است.
این پروتکل در دو سطح ایجاد شده است.
چکیده : شبکههای صنعتی یکی از مباحث بسیار مهم در اتوماسیون میباشد.
شبکهی CAN به عنوان یکی از شبکههای صنعتی ، رشد بسیار روز افزونی را تجربه کرده است.
در این میان ، عدم قطعیت زمان ارسال پیامها در این پروتکل شبکه ، باعث میشود که کاربرد این شبکه در کاربردهای حیاتی با اشکال مواجه شود.
یکی از راهحلهای برطرف کردن این مشکل ، استفاده از تکنیک تحریک زمانی است که در ایت مقاله مورد بررسی قرار میگیرد.
کلید واژهها : شبکه صنعتی ، تحریک زمانی ، CAN ارتباطات تحریکپذیر زمانی در پروتکل شبکهی CAN 1) مقدمه در محیطهای صنعتی ، کارخانجات ، خطوط تولید و امثالهم ، اتصال میکروکنترلرها ، سنسورها (Sensor) و محرکها (Actuator) با چندین نوع سیستم ارتباطی متفاوت به یکدیگر ، نوعی هنر معماری در الکترونیک و کامپیوتر است.
امروزه ارتباطات از نوع تحریکپذیر زمانی بهطور گستردهای در پروتکل ارتباطات برپایه شبکه با پروتکل CAN (Controller Area Network) استفاده میشود.
مکانیسم داوری (Arbitrating) در این پروتکل اطمینان میدهد که تمام پیامها بر اساس اولویت شناسه (Identifier) منتقل میشوند و پیامی با بالاترین اولویت به هیچ عنوان دچار آشفتگی نخواهد شد.
در آینده ، بسیاری از زیرشبکههای (SubNet) مورد استفاده در کاربردهای حیاتی ، بهعنوان مثال در بخشهایی مثل سیستمهای کنترل الکترونیکی خودرو (X-By-Wire) ، به سیستم ارتباطی جامعی نیاز دارند که دارای قطعیت ارسال و دریافت در هنگام سرویسدهی باشد.
به عبارتی ، در ماکزیمم استفاده از باس که به عنوان محیط انتقال این نوع شبکه بهکار میرود ، باید این تضمین وجود داشته باشد که پیامهایی که به ایمنی (Safety) سیستم وابسته هستند ، به موقع و به درستی منتقل میشوند.
علاوه بر این باید این امکان وجود داشته باشد که بتوان لحظهی ارسال و زمانی را که پیام ارسال خواهد شد را با دقت بالایی تخمین زد.
به عبارت سادهتر : ● گره یا پیام با اولویت بالاتر ، تاخیر کمتری را برای تصاحب محیط انتقال در هنگام ارسال پیشرو خواهد داشت.
● گره یا پیام با اولویت پایینتر ، تاخیر بیشتری را برای بدستگرفتن محیط انتقال در هنگام ارسال ، تجربه خواهد کرد.
یک راه حل برطرف کردن نیازهای ذکرشده در بالا ، استفاده از شبکهی استاندارد CAN با اضافهکردن تکنیک تحریک زمانی (Time Trigger) به آن میباشد.
به عبارت دیگر ، مزایای این شبکه با استفاده از تکنیک تحریک زمانی عبارت خواهد بود از : ● کاهش تاخیرهای غیر قابل پیشبینی در حین ارسال ● تضمین ارتباط قطعی و تاخیرهای قابل پیشبینی ● استفادهی مفیدتر و کارآمد از پهنای باند شبکه با توجه به مکانیسمهای پیشبینی شده در TTCAN ، این پروتکل زمانبندی پیامهایی با تحریک زمانی (TT) را به خوبی پیامهایی با تحریک رویداد (Event Trigger) را که قبلا در این پروتکل قرار داشت ، مدیریت میکند.
در این تکنیک ، ارتباطات بر پایهی یک زمان محلی بنا شده است.
اگر فرستندهی فریم مرجع دچار خرابی شود (Fail) ، یک گرهی از پیش تعریف شدهی دیگر بهطور اتوماتیک وظیفهی گرهی مرجع را انجام میدهد.
2) پیادهسازی TTCAN : پروتکل TTCAN بر اساس تحریک بر مبنای زمان و ارتباط پریودیک ، که توسط مدیر زمان هماهنگ میشود ، بنا شده است.
این پروتکل در دو سطح ایجاد شده است.
در سطح اول پروتکل ، پیام مرجع ، فقط حاوی تعداد کمی از پیغامهای کنترلی در حد یک بایت است و الباقی بیتها نیز میتوانند برای انتقال دیتا بهکار روند.
در سطح دوم پروتکل ، پیام مرجع ، اطلاعات و پیغامهای کنترلی اضافیتر را حمل میکند.
به عنوان مثال ، اطلاعات فعلی در مورد ساعت سراسری گرهی مدیر زمان فعلی را شامل میشود.
پیام مرجع در این حالت محتوی چهار بایت اطلاعات است ضمن اینکه قابلیت کار با سیستمهای ردهی پایینتر از نوع CAN (Downward Compatible) نیز حفظ شده است.
چهار بایت باقیمانده در فریم نیز برای انتقال دیتا میتواند استفاده گردد.
مدت زمان بین دو پیام مرجع متوالی ، سیکل پایه (Basic Cycle) نامیده میشود.
یک سیکل پایه از چندین پنجرهی زمانی (Time Windows) با اندازههای متفاوت ، تشکیل شده است که فضای کافی را برای فریمهایی که باید منتقل شوند فراهم میکند.
این این موضوع در شکل زیر نمایش داده شده است.
شکل شماره 1 : سیکل پایه پنجرههای زمانی تعریف شده در یک سیکل پایه میتواند یکی از حالات زیر باشد و برای انتقال فریم پیامهای پریودیک حالت و یا پیامهای فوری و پیامهای حاوی رخداد ، استفاده میشود : ● پنجرهی زمانی انحصاری (Exclusive Window) ● پنجرهی زمانی داوری (Arbitrating Window) ● پنجرهی زمانی آزاد (Free Window) هر فریم پیام که در هریک از این پنجرهها ارسال میشود ، باید از استاندارد فریم CAN پیروی کند.
پنجرههای زمانی که برای ارسال پیامهای پریودیک استفاده میشود ، پنجرهی زمانی انحصاری (Exclusive) نامیده میشوند.
ابتدای یک پنجرهی زمانی انحصاری ، لحظهی شروع یک ارسال را برای یک فرستندهی خاص و از پیش تعیین شده ، مشخص میکند.
اگر سیستم به درستی تعریف شده باشد و روشی که توسط آن ارتباطات را از پیش تعریف کردهاند ، سیستم را درست تحلیل کرده باشد ، هیچ تداخلی (Conflict) در این لحظه پیش نخواهد آمد.
هرچند حتی اگر تداخلی نیز پیش آید ، سیستم داوری پیشبینی شده در CAN استاندارد ، یا همان داوری بر اساس بیت شناسه ، برقرار بوده و تعیین کننده و برطرف کنندهی تداخل پیش آمده خواهد بود.
مشخص است که طراح سیستم قبل از آغاز بهکار سیستم باید تصمیم بگیرد که کدام گره کدام پیام را در کدام پنجرهی زمانی ارسال کند.
برای ایجاد انعطاف و کارایی بیشتر ، یک پنجرهی انحصاری میتواند در طول یک سیکل پایه ، بیش از یک بار تکرار شود.
در پنجرههای انحصاری ، اجازهی ارسال مجدد یک پیام بهصورت اتوماتیک ، وجود ندارد.
شکل شماره 2 : انواع پنجرههای زمانی در پاراگراف گذشته اشاره شد که در این پنجرههای زمانی انحصاری ممکن است فریم پیامهای فوری ارسال شود.
این پنجرهها را پنجرههای زمانی داوری (Arbitrating Time Window) نامگذاری کردهاند.
به این دلیل که با توجه به فوری و ناگهانی و نامشخص بودن فرستندهی این پیامها قبل از فرارسیدن پنجرهی مشخص شده ، با مکانیسم داوری بر اساس اولویت ، این پنجرهی زمانی به گرهی واجد شرایط اختصاص پیدا میکند.
در هنگام طراحی سیستم ، این امکان وجود دارد که بیش از یک پیام در هر پنجره برای ارسال پیامهای فوری ، ارسال شود.
سپس در هنگام کارکرد سیستم ، طبق کاربرد سیستم و گرهها ، تصمیم گرفته خواهد شد که از پنجرهی داوری برای ارسال پیام و البته چه پیامی استفاده شود.
این حالت دقیقا مانند حالت استاندارد ارسال و دریافت در سیستم CAN بدون تحریک زمانی است که در تمام زمانها ، محیط انتقال توسط مکانیسم داوری بر اساس اولویت گره و بیت شناسه به گرهی مناسب اختصاص پیدا میکرد.
در اینجا نیز همانند پنجرههای انحصاری ، اجازهی دوباره ارسال شدن اتوماتیک یک پیام در یک پنجره وجود ندارد.
در هنگام طراحی و زمانبندی ، این امکان وجود دارد که پنجرههای خالی (Free Time Win.) برای کاربردهای آینده ، رزرو شود.
این پنجرههای آزاد در آینده قابلیت تبدیل شدن به پنجرههای زمانی انحصاری یا داوری را خواهند داشت و برای گرههایی که در آینده به سیستم اضافه میشود ، درنظر گرفته شدهاند.
همچنین این پنجرههای آزاد را میتوان در صورت نیاز ، در شبکهی حاضر و برای بهبود ارتباطات همان تعداد گرهی اولیه نیز مورد استفاده قرار داد.
3) دانستههای و روش ارسال و دریافت گرههای TTCAN : در شبکهی TTCAN نیازی نیست که کنترلرهای شبکه ، از همهی پیامها که در شبکه منتقل میشود آگاه باشند.
هر کنترلر فقط اطلاعاتی را که برای ارسال و دریافت تحریکشونده بر اساس زمان و بای ارسال پیامهای فوری نیاز دارد از شبکه دریافت میکند.
در ادامهی این مقاله برای درک بیشتر پروتکل ، یک مثال ارتباط بیان شده است.
آنگونه که در شکل نشان داده شده است : شکل شماره 3 : یک مثال از تخصیص زمانها میبینید ، در این شبکه برای هر سیکل پایه ، شش پنجره درنظر گرفته شده است.
از این شش پنجره ، یک پنجره شمارهی 4 بهعنوان پنجرهی آزاد و برای کاربرد آینده درنظر گرفته شده است.
وضعیت ارسال و دریافت کنترلر شمارهی 4 را بررسی میکنیم.
این کنترلر ، پیام C را باید در پنجرههای زمانی انحصاری شمارهی 2 و 6 ارسال کند.
همچنین پیام فوری F را نیز در پنجرهی داوری شماره3 ارسال میکند.
همچنین برای این گره مهم است که پیغام A را نیز از پنجرهی زمانی انحصاری شماره1 دریافت کند.
اصول بهکار رفته در این تکنیک اجازهی بیشترین بهبود (Optimization) و بهترین استفاده را از حافظهی سختافزار کنترلر بهکار رفته به ما میدهد ضمن اینکه تمامی اطلاعات مورد نیاز از شبکه دریافت و از طریق آن منتقل میشود.
علاوه بر این ، انعطاف زیادی نیز در هنگام توسعه و تغییرات در برنامهی زمانبندی گرهها و پنجرهها وجود دارد.
در این حالت ، حجم بسیار کمی از اطلاعات که مربوط به برنامهی زمانبندی جدید است به کنترلرهایی که در این تغییر وجود دارند ، دانلود میشود.
4) مشخصات فنی پروتکل : پروتکل TTCAN در لایهی بالای لایهی لینک داده (DataLink) قرار میگیرد.
این پروتکل بر اساس استانداردهای لایهی فیزیکی CAN با مشخصات ISO11898/1 تا ISO11898/3 تعریف و سازگار شدهاست.
موسسهی CiA نیز با استاندارد شمارهی CC170 از این طرح پشتیبانی کرده است.
پس از ارایهی طرح اولیهی TTCAN توسط موسسهی ISO برای بینالمللی ساختن این طرح ، تعدادی از کارخانجات این پروتکل را پیادهسازی کردند.
کارخانجات بوش آلمان هماکنون این طرح را بهصورت موفقیت آمیز در چیپهای FPGA (Field Programmable Gate Array) و برای کاربرد وسیع ، پیادهسازی و فراهم کردهاند.
با پشتیبانی چیپهای اینتل سری 82527 از این پروتکل ، عملا این طرح بهطور موفقیت آمیز به مرحلهی کاربرد رسیده است.
این چیپها از اواخر سال 2003 میلادی در بازار فروش قرار گرفتهاند.
5) نتیجهگیری : در انتها یادآوری میشود که در آینده ، شبکههای انتقال پیام بهصورت قطعی و همچنین سیستمهایی که با ایمنی در عملکرد ارتباط دارند ، برای انتقال انواع پیامهای مبتنی بر رخداد و مبتنی بر زمان ، بصورت کاملا دقیقی با شبکههای TTCAN طرحریزی و پیادهسازی میشوند.
نیاز به این نوع انتقال ، کاملا توسط تکنیک پنجرههای زمانی انحصاری ، پوشش داده شدهاست.
قابلیت چینش انواع متنوعی از سیکلهای پایه بصورت یک ماتریس دلخواه ، امکان ارسال شیوههای متنوعی از پیام را در بستههایی با طولهای زمانی متفاوت و در نگاشتهای متفاوت در سیستم میدهد.
همچنین وجود سرویس زمان سراسری از نوع تحملپذیر خطا و پیادهسازی قابلیت تصحیح خطاهای انحراف زمان توسط اصلیت مدیر زمان ، نیازمندیهای سیستمهای پهناور زمانی و توزیعشدهی بلادرنگ را فراهم میسازد.
مشخصات تکمیلی و اضافهشدهی این پروتکل نیز بر استانداردهای ماجولهای CAN کاملا منطبق است.
استفادهی هوشمندانه از تکنیک انتخاب بر اساس اولویت بیتهای شناسه که در پروتکل CAN استاندارد وجود دارد در پروتکل TTCAN ، باعث ایجاد انعطاف بیشتری در در کنار ساختار قطعیت میشود.
پروتکل TTCAN امکان تعریف پنجرههای زمانی داوری را نیز برای پیامهای فوری و پیشبینی نشده ، فراهم کردهاست.
قطعیت در اجازه و امکان ارسال پیام متناوب بعدی برای یک گره ، توسط مشخصههای از پیش تعریفشدهی پروتکل و مکانیسمهای نظارتی قراردهده شده در آن ، تضمین شدهاست.
پروتکل TTCAN برای پیادهسازی سیستمهایی که به کانال ارتباطی دارای افزونگی از نوع مدیریت توسط پروتکل و سیستمهایی که نرخ ارسال و دریافت و نیازهای افزونگی از محدودیتهای CAN تجاوز نمیکند ، مناسبترین راه حل به شمار میآید.
منابع : 1.
CiA (CAN in Automation) website, http://www.can-cia.org 2.
Thomas Fuhrer , “Time Triggered Communication on CAN” , CAN in Automation Official WebSite , 2006.
3.
Etschberger, K., “Controller Area Network:Basics, Protocols, Chips and Application”, IXXAT Press, 2001.
ارتباطات تحریکپذیر زمانی در پروتکل شبکهCANا ( Time Triggered CAN)