معرفی شرکت Segger و آشنایی با محصولات انقلابی آن

بازگشت به آموزشگاه

شرکت آلمانی سگر ( Segger Microcontroller System ) یک شرکت خصوصی فعال در زمینه سیستم های امبدد ( Embedded Systems ) می باشد که سازنده انواع دیباگر و پروگرامر، ابزارهای توسعه و کتابخانه های نرم افزاری است. این شرکت در سال 1992 در حالی توسط آقای Rolf Segger تاسیس شد که کاملا نرم افزاری بود و توانست سیستم عامل RTOS خود را به فروش برساند. این سیستم عامل اکنون embOS نام دارد و با بیش از 28 سال توسعه مداوم در چندین میلیارد دستگاه در حال کار کردن می باشد.

این شرکت با ساخت پروگرامرهای Flasher و راه اندازی خط تولید آن وارد تولیدات سخت افزاری شد و سپس در سال 2004 با معرفی رابط برنامه ریزی و اشکال زدایی J-Link برای میکروکنترلرهای ARM و عرضه آن به بازار نو ظهور ARM باعث استاندارد سازی این رابط در تمامی میکروکنترلرهای ARM شد. پروگرامر و دیباگر J-Link به علت عملکرد آسان، سریع و پایداری بالا در 15 سال اخیر بی رقیب مانده است و در انواع میکروکنترلرهای 8051 ، ARM و حتی RISC-V هم استفاده می شود. در این میان شرکت سگر با معرفی و ارائه کتابخانه رابط گرافیکی صنعتی خود یعنی emWin انقلابی در رابط های گرافیکی ایجاد کرد تا جایی که امروزه شرکت های مطرح تولید کننده میکروکنترلر همچون NXP و STM نیز حمایت کننده این محصول شده اند و نسخه رایگان این کتابخانه را در اختیار مشتریان خود قرار داده اند. موارد فوق تنها بخش کوچکی از انقلاب شرکت سگر در سیستم های امبدد می باشد که آشنایی با آن برای هر مهندس طراح سیستم های امبدد ضروری است. در ادامه به تشریح محصولات جدید این شرکت در حوزه هایی همچون ذخیره سازی داده، امنیت، رمزنگاری و اینترنت اشیاء خواهیم پرداخت. محل استقرار تیم عملیاتی اصلی این شرکت در حال حاضر در شهر مونهایم آلمان می باشد هر چند که دفتر کار شرکت در شهرهای کالیفرنیا و بوستون نیز مستقر هستند.


محصولات شرکت Segger

به طور کلی محصولات شرکت Segger به چهار دسته تقسیم می گردد که در شکل زیر آن ها را مشاهده می کنید.

همانطور که مشاهده می کنید محصولات سخت افزاری این شرکت در بخش سمت راست و محصولات نرم افزاری در بخش سمت چپ قابل مشاهده می باشد. ابتدا به توضیح اجمالی محصولات سخت افزاری می پردازیم. خانواده پروگرامرهای Flasher شرکت Segger دسته ای از پروگرامرهای حرفه ای می باشند که قابل استفاده در سرویس دهی خدماتی، نمونه سازی اولیه و تولید انبوه به منظور برنامه ریزی کردن حافظه Flash انواع میکروکنترلرها، SoC ها ( مخفف System On Chip ) و دیگر حافظه های Flash ( نظیر QSPI Flash ) می باشند. خانواده J-Link شرکت Segger دسته دیگری از پروگرامر ها هستند که علاوه بر قابلیت برنامه ریزی میتوانند با اتصال به میکروکنترلرها آن ها را عیب یابی کنند. عیب یابی ( debug ) حالتی از اجرای کدهای برنامه میکروکنترلر است که در آن اجرای کدها می تواند به صورت خط به خط صورت گیرد یا حتی میتوان اجرای کدها را در هر نقطه دلخواه با قرار دادن Breakpoint متوقف کرد. همچنین میتوان به صورت Real مقادیر ذخیره شده در رجیسترها و متغیرهای حافظه RAM میکروکنترلر را مشاهده کرد. مقدار این قابلیت در توسعه نرم افزارهای بزرگ، پیداکردن باگ ها ( Bug ) و رفع آن ها ( Debug ) کاربرد دارد. خانواده J-Trace شرکت Segger جدیدترین و پیشرفته ترین دسته پروگرامر و دیباگر می باشند که علاوه بر دارا بودن کلیه امکانات دو خانواده قبل قابلیت Trace ( ردیابی اطلاعات ) نیز به آن اضافه شده است. قابلیت Trace میتواند زمان شروع و پایان اجرای توابع و تعداد اجرای دقیق آن ها را Record کرده و به صورت عددی و نموداری ( Timeline ) نشان دهد، میزان درگیر شدن CPU با توابع را به صورت درصد Load نشان می دهد و جزئیات کدها و توابع را به صورت دستورالعملی ( Instruction Trace ) نمایش می دهد. شکل زیر ویژگی های J-Link و J-Trace را با جزئیات بیشتری نشان می دهد.


embOS

قدیمی ترین محصول شرکت Segger یعنی embOS سیستم عامل قدرتمند زمان حقیقی ( Real-Time ) مخصوص کاربردهای امبدد ( Embedded Applications ) می باشد. شرکت سگر این سیستم عامل را به مدت 28 سال توسعه داده است و نسخه های مختلف آن را برای کلیه پلتفورم ها با قابلیت پورت شدن آسان ارائه کرده است و تضمین می کند که 100 درصد Real-Time باشد. مصرف منابع RAM و ROM در این سیستم عامل بهینه می باشد. با استفاده از این سیستم عامل میتوان Task های مختلف ساخت که این Task ها وظایف را به موازات انجام می دهند. همچنین این سیستم عامل از ارتباط میان Task ها شامل semaphore, mailbox, event نیز پشتیبانی می کند.

این سیستم عامل دارای 3 نسخه معمولی، MPU و Safe می باشد. نسخه معمولی برای طیف وسیعی از کاربردها نظیر کنترل صنعتی، اینترنت اشیا، شبکه، پزشکی، خودرو و هواپیما می تواند استفاده شود. نسخه MPU همان نسخه معمولی است که از نظر پایداری ( stability ) و ایمنی ( safety ) بهبود یافته است و دارای ویژگی محافظت از حافظه ( memory protection ) می باشد. این ویژگی باعث تفکیک شدن بخش های حافظه هر Task از هم می باشد به طوری که دسترسی به آن بخش از حافظه فقط در یک Task امکان پذیر بوده و بخش های دیگر از هر گونه تغییر محافظت می شوند. این ویژگی باعث می شود تا در صورت بروز یک مشکل در یک Task فقط همان Task متوقف شود و دیگر Task ها به کار خود ادامه می دهند. سیستم عامل embOS Safe ورژن دیگری از این سیستم عامل می باشد که دارای گواهینامه ایمنی عملکرد SIL3 از شرکت های TÜV و SÜD با رعایت استاندارد IEC61508 می باشد. استاندارد IEC61508 استانداردی برای تضمین ایمنی عملکرد دستگاه های الکترونیکی است. بنابراین نسخه Safe این سیستم عامل در کاربردهای خاص که در آن ها ایمنی اهمیت بالایی دارد و در صورت بروز خطا و مشکل، ضرر جبران ناپذیری به انسان یا تجهیزات وارد می شود، کاربرد دارد. شرکت سگر یک نسخه رایگان از این سیستم عامل برای کاربردهای غیر تجاری همگان ارائه کرده است و اعلام نموده است که یک سری کلاس های آموزشی یک روزه برای راه اندازی و استفاده از این سیستم عامل نیز وجود دارد.


EmWin

EmWin نام کتابخانه رابط گرافیکی ( GUI ) مخصوص کاربردهای امبدد ( Embedded Applications ) می باشد. توسط این کتابخانه شما می توانید یک رابط گرافیکی بسیار قوی و با کیفیت برای کلیه پروژه های امبدد خود طراحی کنید. این کتابخانه دارای توابع بسیار گسترده برای کار با متن ها و تصاویر و ویرایش آنها می باشد. توسط این کتابخانه سرعت شما در طراحی رابط گرافیکی بالاتر می رود.

emwin کتابخانه طراحی رابط های کاربری گرافیکی با توابع پیشرفته و بهینه شده میباشد و از آنجا که میتواند امکان طراحی یک GUI جذاب و پرفروش را به کاربر بدهد میتوان گفت که emwin انقلابی در رابط های گرافیکی ایجاد کرده است. توابع متعدد و متنوع emwin طراحی یک گرافیک بسیار سنگین را در زمانی کوتاه و به سادگی تمام فراهم میکند. emwin توسط شرکت segger معرفی و ساخته شده و امروزه علاوه بر شرکت تولید کننده، شرکت های مطرحی همچون Philips و ST نیز حمایت کننده این محصول شده اند. بدین جهت بدیهی است که پیشبرد و ارتقاع این کتابخانه با سرعت زیادی انجام پذیرد، که این امر مژده بسیار خوشحال کننده ای برای کاربران و طراحان emwin است. این کتابخانه برای ساخت جلوه های گرافیکی مختلف بهینه شده است و عملکرد بدون وقفه و بسیار قدرتمندی را روی سخت افزارهای مبتنی بر میکروکنترلر نشان میدهد.

کتابخانه emwin دارای قابلیت های زیر می باشد:

  • قابلیت ایجاد اشکال ساده نظیر انواع خط، مربع، دایره و چند ضلعی
  • قابلیت مدیریت انواع ویجت ( widget ) نظیر windows،button،list،edit و …
  • قابلیت شبیه سازی GUI طراحی شده در نرم افزار ویژوال استودیو مایکروسافت
  • قابلیت نمایش انواع فرمت های تصویری شامل BMP, PNG, JPEG وغیره…
  • قابلیت کنترل رابط گرافیکی با تاچ اسکرین، کیبرد و موس
  • قابلیت چند لایه کردن صفحه نمایش و مدیریت هر یک به صورت مجزا
  • قابلیت تولید انواع فونت های utf-8 و در نتیجه استفاده از کلیه فونت های فارسی

emSSL و emSSH

این دو کتابخانه استفاده از پروتکل های SSL و SSH را برای سیستم های امبدد ( Embedded Systems ) فراهم می کنند. در واقع این کتابخانه ها تمامی پروتکل های امنیتی و رمزنگاری مورد نیاز برای داشتن ارتباط های امن SSL و SSH در بستر شبکه را فراهم می کنند. این کتابخانه ها به صورت سورس کد و بدون لایسنس خاصی ارائه می شوند، بنابراین میتوانند در انواع کاربردهای تجاری یا غیرتجاری مورد استفاده قرار گیرند. سورس کد این کتابخانه ها به زبان C نوشته شده است و قابل اجرا روی تمامی هسته ها و کامپایلرها می باشد. این کتابخانه ها دارای API ساده و در عین حال قدرتمندی هستند که با اضافه کردن آن میتوان به سرعت محصول خود را به SSL یا SSH مجهز کرد. از آن جایی که این کتابخانه ها ماژولار طراحی شده است، میتوان نسخه های مختلفی از آن ها را بسته به کاربرد انتخاب کرد.


emSecure

با استفاده از این کتابخانه میتوانید برای محافظت از محصولات خود امضای دیجیتال بسازید و صحت آن را هر زمان که خواستید تایید کنید. امضای دیجیتال یک راه حل نرم افزاری برای تایید صحیح بودن دارایی های دیجیتال شما است که میتوان از آن برای ایمن سازی محصولات و جلوگیری از کپی و هک فریمور ( firmware ) سیستم های امبدد نیز استفاده نمود. استفاده از امضای دیجیتال در کاربردهای مالی و انتخاباتی ضروری است. الگوریتم امضای دیجیتال یک الگوریتم رمزنگاری نامتقارن است که در آن یک کلید خصوصی و یک کلید عمومی وجود دارد. از کلید خصوصی جهت تولید یک امضای دیجیتال و از کلید عمومی جهت بررسی صحت آن امضای دیجیتال استفاده می شود. emSecure قابل پیاده سازی بر روی کلیه CPU ها بدون نیاز به سخت افزار جانبی می باشد. سورس کد کامل آن به زبان C ارائه می شود. شامل الگوریتم های امنیتی اثبات شده توسط NIST است. این الگوریتم ها از نظر رمزنگاری قوی هستند و می توانند حداکثر امنیت را برای برنامه های شما ایجاد کنند. emSecure را میتوان همانند سایر محصولات شرکت سگر در هر محصول تجاری یا اختصاصی بدون الزام در افشای منبع استفاده کرد. می تواند بدون حق امتیاز در محصول شما استفاده شود.


emCrypt

این کتابخانه شامل پیاده سازی محض چندین الگوریتم رمزنگاری است. در حقیقت این کتابخانه پایین ترین لایه در پیاده سازی پروتکل های امن می باشد. پروتکل های emSSL، emSSH و emSecure بر اساس الگوریتم های رمز نگاری که در این کتابخانه پیاده سازی شده است، کار می کنند. شکر زیر این موضوع را نشان می دهد:

این کتابخانه در دو پکیج پایه ( Base ) و حرفه ای ( Pro ) ارائه می شود و در هر پکیج تعدادی الگوریتم رمز نگاری پیاده سازی شده است که همگی مطابق استاندارد NIST می باشند. شکل زیر کلیه الگوریتم های رمز نگاری موجود در این دو پکیج را نشان می دهد :


emFile

این کتابخانه یک امبدد فایل سیستم ( Embedded File System ) با کیفیت و ایمن ( fail-safe ) به منظور مدیریت انواع حافظه های NAND, NOR و SD می باشد. این کتابخانه از RAID 1 و RAID 5 ( سیستم های محافظت از حافظه در برابر از بین رفتن دیتا ) پشتیبانی می کند. این کتابخانه یک میان افزار ( middleware ) است که مستقل از نوع سخت افزار کار می کند. emFile از سیستم فایل های رایج FAT12/16/32 و EFS ( مخفف Embedded File System ) پشتیبانی می کند. EFS یک سیستم فایل مدرن است که به طور خاص برای پیاده سازی روی دستگاه های امبدد بهینه سازی شده است و قابلیت مدیریت کوچکترین بخش از حافظه های NOR Flash را با بالاترین بازدهی و در پهناهای مختلف 8/16/32/64 بیتی را ارائه می دهد.


emCompress

این کتابخانه عملیات فشرده سازی داده ها را برای دستگاه های امبدد ( Embedded Device ) با طیف گسترده ای از الگوریتم های فشرده سازی انجام می دهد. کاهش حجم داده ها در بسیاری از کاربردهایی که نیاز به فضای ذخیره سازی بیشتر یا افزایش سرعت در انتقال داده ها دارند ارزشمند است و باعث کاهش پیچیدگی و کاهش هزینه های سیستم می گردد. emCompress که مخصوص سیستم های امبدد طراحی شده است، قادر است داده ها را در انواع میکروکنترلرهای کوچک و بزرگ فشرده یا از حالت فشرده خارج سازد. با فشرده سازی میتوان در کاربردهایی که از دیتا لینک های با پهنای باند کم استفاده می کنند، نظیر انتقال دیتا از طریق بلوتوث، ارسال داده ها از فضا به زمین و همچنین بروزرسانی های سیستم شامل بروزرسانی فریمور یا دیتا ها، می توان اطلاعات بیشتری را در مدت زمان کوتاه تری منتقل کرد.


همه این ها تنها بخش کوچکی از محصولات شرکت سگر بود که به آن اشاره شد. به نظر من مهمترین محصول سخت افزاری این شرکت پروگرامر و دیباگر J-Link و مهمترین محصول نرم افزاری آن emWin و embOS است که آشنایی با نحوه کار با آنها برای مهندسین حوزه امبدد ضروری می باشد. برای آموزش کامل کار با پروگرامر و دیباگر J-Link به بخش ششم آموزش ARM : راه اندازی میکروکنترلر LPC2138 بروید. همچنین کتابخانه emWin و embOS برای میکروکنترلرهای شرکت NXP و ST به صورت رایگان وجود دارد و جزو محصولات بسیار کاربردی شرکت سگر است که میتوان از آن استفاده کرد. دیگر محصولات این شرکت با هزینه های سنگین به فروش می رسند و عملا استفاده از آن محدود به شرکت های بزرگ و پروژه های خاص می گردد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بازگشت به آموزشگاه