واسط
واسط BISS-C بستر ارتباط بین یک دستگاه Master (که معمولاً مسئول کنترل موتور است) و و دستگاه Slave (که اینجا همان انکودر می باشد) را فراهم می کند. دو دستگاه در یک شبکه ی Point-to-Point به هم متصلند، که فقط به دو خط یکطرفه دیفرانسیلی RS-485 یا RS-422 برای Clock و Data نیاز دارد. دستگاه Master به وسیله ی سیگنال Clock زمان نمونه برداری را کنترل می کند. دستگاه Slave با دریافت سیگنال کلاک، سیگنال خروجی را روی خط Data قرار می دهد.
پروتوکل
پروتوکل BISS-C یک ارتباط سریال تناوبی را توصیف می کند. در هر سیکل یک فریم کامل SCD (Single Cycle Data) و یک بیت از فریم CD (Control Data) انتقال داده می شوند.
فریم SCD حاوی اطلاعات موقعیت فعلی سنسور، از Slave به Master فرستاده می شود. فریم CD یک ارتباط دوطرفه بین Master و Slave ایجاد میکند که به Master اجازه ی دسترسی خواندن و نوشتن روی رجیستر های Slave را می دهد.
ساختار فریم SCD
هر فریم SCD با دریافت اولین لبه ی پایین رونده ی کلاک روی خط MA شروع می شود. در این لحظه Slave یا انکودر مقدار زاویه را نمونه برداری، و برای ارسال آماده میکند. با دریافت دومین لبه ی بالا رونده ی کلاک، Slave خط SL را 0 میکند تا به Master نشان دهد در حال آماده کردن نمونه است. پس از اینکه نمونه برای ارسال آماده شد، بیت Start (یک بیت 1) به Master فرستاده می شود. پس از Start، یک بیت CDS (Control Data Slave) که مختص کانال کنترل است به Master ارسال می شود.
از این مرحله ارسال اطلاعات Slave ها شروع می شود. هر Slave دادههای خود را در یک کانال به Master ارسال می کند. اطلاعات هر کانال به وسیله ی CRC حفاظت می شود.
پس از اینکه Master اطلاعات همه ی Slave ها را دریافت کرد، سیگنال کلاک را به مدت 12.5 میکرو ثانیه ثابت نگه می دارد. مقدار سیگنال کلاک در این مدت، CDM (Control Data Master) می باشد. ارتباط کانال کنترل از Master به Slave از این طریق برقرار می شود. پس از اینکه Slave ثابت بودن خط کلاک به مدت 12.5 میکرو ثانیه را تشخیص داد، CDM را دریافت کرده و خط SL را یک میکند تا به Master نشان دهد این فریم SCD پایان یافته.
ساختار فریم CD
کانال کنترل اجازه ی دسترسی به رجیستر ها ی Slave را به Master می دهد. کانال کنترل از طریق بیتهای CDS و CDM در SCD این ارتباط را برقرار می کند. بررسی ساختار فریم CD خارج از افق این مقاله است. لطفاً برای اطلاعات کاملتر در این زمینه به راهنمای BISS C Protocol Description مراجعه کنید.
هر رجیستر در پروتوکل BISS یک بایت است و آدرس دهی رجیستر ها هفت بیتی میباشد. این فضای آدرس به دو قسمت 64 رجیستری تقسیم شده است. قسمت اول از آدرس 0x00 تا 0x3F به نام Banked Registers و قسمت دوم از آدرس 0x40 تا 0x7F به نام Direct Registers شناخته میشوند. محتوای Direct Registers همواره قابل دسترس است، ولی محتوای Banked Registers بسته به اینکه کدام بانک انتخاب شده باشد تغییر می کند. در جدول زیر نقشه ی رجیستر ها در پروتوکل BISS را مشاهده می کنید.
| Access | Size | Name | Register Address |
|---|---|---|---|
| 64 | Banked Registers | 0x00..0x3F | |
| R/W | 1 | Bank Select | 0x40 |
| R | 1 | EDS-Bank | 0x41 |
| R | 2 | Profile ID | 0x42..0x43 |
| R | 4 | Serial Number | 0x44..0x47 |
| 48 | Slave Registers | 0x48..0x77 | |
| R | 6 | Device ID | 0x78..0x7D |
| R | 2 | Manufacturer ID | 0x7E..0x7F |
اینکه مقادیر کدام بانک در آدرس 0x00 تا 0x3F قابل دسترسی باشد با توجه به مقدار فعلی Bank Select Register تعیین می شود. کاربری Banked Registers و همچنین Slave Registers در دستگاه توسط تولید کننده ی دستگاه تعریف می شوند. نوع دستگاه با توجه به مقادیر Manufacturer ID و Device ID برای دستگاه Master قابل تشخیص است.
یکی از بانک ها حاوی EDS (Electronic Datasheet) می باشد. شماره ی این بانک در آدرس 0x41 قابل دسترس است. دستگاه Master با خواندن این بانک مشخصات کانالهای ارتباطی Slave ها، در دستگاه متصل به شبکه را تشخیص داده و مطابق آن سیگنال کلاک را برای خواندن این کانالها تنظیم می کند. برای بررسی ساختار EDS یه راهنمای BiSS EDS common part مراجعه کنید.
رجیستر Profile ID نوع دستگاه متصل به شبکه و نوع Slave های آن را مشخص می کند. در بانک EDS برای هر کانال یک صفحه ی Content Description معرفی شده. محتویات این صفحه با توجه به Profile ID ترجمه می شود. این به دستگاه Master اجازه میدهد که مشخصات توصیفی دستگاههای متصل به شبکه را تشخیص دهد.
انکودرهای ابزاردقیق زاویه
در هر فریم SCD انکودر اطلاعات موقعیت را در یک کانال به Master انتقال می دهد. ساختار این کانال به شکل زیر میباشد.
| CRC | Warning Flag |
Error Flag |
Single Turn | Multi Turn |
|
|---|---|---|---|---|---|
| 0..5 | 6 | 7 | 8..27 | 28..37 | Bit No |
در این کانال 10 بیت باارزش دور شمار هستند. پس از آن زاویه ی انکودر به صورت یک عدد 20 بیتی فرستاده میشود. دو بیت بعدی سیگنال های خطا و اختار هستند. شش بیت آخر CRC است که برای محاسبه ی آن در هر سیکل از چندجمله ای 0x43 استفاده می شود. برای کسب اطلاعات بیشتر در رابطه با رجیستر های کنترلی انکودر به راهنمای کاربری دستگاه مراجعه کنید.
رجیستر های وضعیت
رجیستر های وضعیت دستگاه در آدرس 0x48 تا 0x77 به شکل زیر تعریف می شوند.
| Access | Size | Name |
Register Address |
|---|---|---|---|
| R/W | 2 | Special Command Code | 0x48..0x49 |
| R/W | 2 | Parameter 1 | 0x4A..0x4B |
| R/W | 2 | Parameter 2 | 0x4C..0x4D |
| R/W | 2 | Parameter 3 | 0x4E..0x4F |
| R/W | 2 | Parameter 4 | 0x50..0x51 |
| R | 4 | Result | 0x52..0x55 |
| R | 2 | Signal Amplitude | 0x56..0x57 |
| R | 2 | Temperature | 0x58..0x59 |
| R | 2 | Input Voltage | 0x5A..0x5B |
| R | 4 | Run Time | 0x5C..0x5F |
| -- | 24 | Reserved | 0x60..0x77 |
دستور های اختصاصی
دستور های اختصاصی (Special Commands) برای تنظیم پارامتر های دستگاه استفاده می شوند. کد دستور در آدرس 0x48 و 0x49 نوشته میشود و پارامتر های آن در 8 رجیستر بعدی. پس از اینکه Master آخرین رجیستر پارامتر ها در آدرس 0x51 را نوشت، دستور به صورت خودکار اجرا می شود.
| Description | Name |
Command Code |
|---|---|---|
| Device configuration command can modify Output Filter stage, Output Resolution, Positive Direction, and Operation Mode. | Configure | 0x3F41 |
| Receives the desired position on P2:P1 and modifies the offset so that the current position of the encoder is represented by P2:P1. Returns the actual offset value on the Result. | Offset | 0x92C9 |
| Saves the current parameters on the non-volatile memory. | Save | 0x2C17 |
| Resets the encoder. Angle estimation module is restarted with the new parameters. | Reset | 0x4DB8 |
در مدت زمان اجرای دستور، دستگاه خط SL را پایین نگه میدارد و امکان ارتباط SCD وجود ندارد. در صورتی که دستور اجرا شده خروجی داشته باشد، این خروجی روی رجیستر های Result در آدرس 0x52 تا 0x55 قرار می گیرند.
دستور Configure
با این دستور پارامتر های خروجی انکودر قابل تنظیم هستند. پارامتر P1 مشخص کننده ی رزولوشن و طبقه ی فیلتر خروجی است. پارامتر P2 مشخص کننده ی جهت مثبت چرخش است. پارامتر P3 مشخص کننده ی حالت عملکرد دستگاه است.
| Description | Parameter (bits) |
|---|---|
| Output resolution in bits. | P1 (0..4) |
Output digital filter order. Note that output sample rate decreases with increasing filter order.
|
P1 (5..7) |
Rotation direction.
|
P1 (8) |
Operation mode defines output channel contents of the device.
|
P1 (9..10) |
این دستور خروجی ندارد و مقدار Result پس از اجرای آن بیاهمیت خواهد بود. پس از اجرای این دستور برای اعمال تغییرات باید فرمان Reset اجرا شود.
دستور Offset
با اجرای این دستور زاویه آفست به گونهای محاسبه میشود که زاویه ی فعلی دستگاه به زاویه ای که روی پارامتر های P2:P1 دریافت شده تغییر کند. این دستور مقدار حقیقی آفست را روی رجیستر های Result قرار می دهد.
توجه شود که پس از اجرای این دستور دستگاه به صورت خودکار Reset میشود و ارتباط SCD به مدت 0.5 ثانیه قطع خواهد بود.
دستور Save
با اجرای این دستور محتویات همه ی بانک ها روی حافظه ی نا میرا ثبت می شوند. تا زمانی که این دستور اجرا نشود، تغییراتی که روی تنظیمات دستگاه اعمال شده اند، با خاموش شدن دستگاه از بین خواهند رفت.
توجه شود که پس از اجرای این دستور دستگاه به صورت خودکار Reset میشود و ارتباط SCD به مدت 0.5 ثانیه قطع خواهد بود.
دستور Reset
با اجرای این دستور ماژول نمونه بردار زاویه متوقف شده و مجدداً شروع به کار می کند. در زمان شروع مجدد این ماژول با پارامتر های فعلی دستگاه تنظیم می شود. تا شروع مجدد ماژول حدود 0.5 ثانیه ارتباط SCD قطع خواهد بود.
دامنه ی سیگنال
این رجیستر دامنه ی سیگنال های دریافت شده را نشان می دهد. دامنه ی این سیگنال با فاصله ی بخش متحرک و بخش ثابت دستگاه رابطه ی معکوس دارد. در صورت کم بودن دامنه ی سیگنال باید فاصله ی این دو بخش مطابق دیتاشیت دستگاه تنظیم شود.
حرارت دستگاه
این رجیستر حرارت لحظهای دستگاه را نمایش می دهد.
ولتاژ ورودی
این رجیستر ولتاژ ورودی دستگاه را بر حسب میلی ولت نمایش می دهد.
زمان کارکرد
این رجیستر نشان میدهد که چه مدت دستگاه بدون وقفه روشن بوده است. این مدت زمان با واحد صدم ثانیه در این رجیستر ذخیره می شود.
رجیستر های بانک ها
تعداد 95 بانک حافظه به عنوان Banked Registers در دستگاه وجود دارد.
| Name | Bank No |
|---|---|
| Device Configuration Bank | 0x00 |
| Reserved | 0x01..0x03 |
| EDS Bank | 0x04 |
| Profile EDS for CH1 | 0x05 |
| Profile EDS for CH2 | 0x06 |
| Reserved | 0x07..0x1E |
| Motor Data | 0x1F..0x3E |
| OEM Data | 0x3F..0x5E |
در صورتی که انکودر در یک دستگاه دیگر (مانند روتاری استیج یا …) تجمیع شود، تولید کننده میتواند از حافظه ی انکودر برای ذخیره ی اطلاعات دستگاه استفاده کند. به این منظور بانک های 0x1F..0x3E برای ذخیره ی مشخصات موتور، و بانکهای 0x3F..0x5E برای ذخیره ی مشخصات دستگاه در نظر گرفته شده اند.
