سامانه نهفته

سامانه‌های نهفته یا سیستم‌های تعبیه شده یا سیستم‌های توکار (به انگلیسی: embedded system) در واقع رایانه‌هایی هستند که برای کنترل یک سیستم بزرگ و مشخص طراحی شده‌اند و مخصوصاً در زمان‌هایی که محدودیت‌هایی در مورد پردازش همزمان وجود دارد به کار می‌روند. سامانه نهفته معمولاً به عنوان قسمتی از یک سامانه بزرگ که اغلب دارای سخت‌افزارها و قسمت‌های مکانیک مختلفی است جاسازی می‌شود. برخلاف یک رایانه چند منظوره، مانند یک کامپیوتر شخصی که به شکلی انعطاف‌پذیر (از نظر معماری پردازنده) طراحی شده‌است که قسمت بزرگی از نیازهای مصرف‌کننده‌ها را برآورده کند برای انجام کار مشخصی طراحی شده‌اند. سامانه‌های نهفته، امروزه برای کنترل خیلی از دستگاه‌ها به کار می‌روند.
سامانه‌های نهفته دارای هسته‌های پردازشی هستند که می‌توانند میکروکنترلر یا پردازنده سیگنال‌های دیجیتال (DSP) باشند.
پردازنده یک واحد مهم در سخت‌افزار یک سامانه نهفته است. در واقع پردازنده قلب این سامانه است.
به هر حال مشخصه کلیدی این سامانه‌ها، طراحی اختصاصی برای انجام یک کار مشخص است؛ بنابراین چون سامانه‌های نهفته برای یک کار مشخص اختصاص یافته‌اند، مهندسین طراح می‌توانند محصول را برای کاهش اندازه و قیمت بهینه کنند اطمینان پذیری و کارایی آن را بالا ببرند. برخی از سیستم‌های نهفته با بهره‌گیری از مزیت‌های تولید با تعداد بالا، به شکل انبوه تولید شده‌اند.
از لحاظ فیزیکی، گستره سامانه‌های نهفته از دستگاه‌های قابل حمل مانند: ساعت مچی و پخش کننده‌های MP3 تا ایستگاه-های نصب شده و ثابت، مانند چراغ راهنمایی، کنترل‌کننده منطقی برنامه‌پذیر و سامانه‌های بزرگ و پیچیده مانند: خودرو هیبرید، تصویربرداری با تشدید خودروی هیبریدی، ام‌آرآی و اویونیک به‌کار می‌روند. پیچیدگی این سامانه‌ها از کم مانند یک تراشه میکرو کنترلر تا بسیار زیاد مانند دستگاه‌های جانبی یک سامانه و شبکه‌های سوار شده روی یک شاسی یا یک محوطه تغییر می‌کند.

گونه‌های سامانه‌های نهفته

کاربرد سامانه‌های نهفته در مصارف دستگاه‌های مصرفی، صنعتی، تجاری و نظامی گسترده شده‌است.
سیستم‌های مخابراتی به شکل انبوهی از سامانه‌های نهفته در تلفن‌خانه در شبکه‌های مخابراتی و در تلفن‌های همراه در سمت مصرف‌کننده کاربرد دارند. شبکه‌های کامپیوتری از رهیاب‌های اختصاصی و پل‌های شبکه برای مسیریابی داده‌ها استفاده می‌کنند.
سامانه‌های نهفته در محصولات الکترونیکی شامل دستیار دیجیتال شخصی (PDA) پخش کننده‌های MP3، گوشی‌های تلفن همراه، انواع کنسول بازی، دوربین دیجیتال، پخش کننده‌های DVD، گیرنده‌های سامانه موقعیت‌یاب جهانی (GPS) و چاپگرها نیز کاربرد دارند. بسیاری از لوازم خانگی، مانند دستگاه مایکروویو، ماشین لباس‌شویی و ماشین ظرف‌شویی همگی شامل یک سیستم نهفته هستند که موجب انعطاف‌پذیری، بهره‌وری و امکانات بیشتر شده‌است. سامانه‌های سرمایش – گرمایش و تصفیه هوا از شبکهٔ ترموستات‌ها (حسگر دما) استفاده می‌کنند که به کنترل دقیق‌تر و کاراتر دما در ساعت‌های روز و فصل‌ها دست یابند. اتوماسیون خانگی از شبکه‌های سیمی یا بی‌سیم استفاده می‌کند که بتواند نور، هوا، امنیت، رسانه‌های صدایی و سیمایی، سامانه‌های نظارت و… را کنترل کند. در تمام این کاربردها، دستگاه‌های نهفته برای حس کردن و کنترل کردن استفاده می‌شوند.
سامانه‌های حمل و نقل از پرواز تا اتومبیل‌ها به شکل فزاینده‌ای از سامانه‌های نهفته استفاده می‌کنند. هواپیماهای جدید، دارای وسایل ارتباط هوایی پیشرفته‌ای نظیر سامانه‌های ناوبری هوایی و گیرنده‌های GPS می‌باشند که به نوبه خود نیازهای قابل توجه امنیتی دارند. انواع موتوهای الکتریکی، موتورهای جریان مستقیم (DC) بدون شانه، موتورهای القائی و موتورهای DC از کنترل کننده‌های الکتریکی استفاده می‌کنند. اتومبیل‌ها، وسایل نقلیه الکتریکی و وسایل نقلیه هیبرید برای بیشینه کردن کارایی و کاهش آلودگی، به شکل فزاینده‌ای از سامانه‌های نهفته استفاده می‌کنند. دیگر سیستم‌های امنیت خودرو شامل سامانه ضد قفل ترمز(ABS)، سامانه‌های کنترل پایداری (ESC/ESP)، سامانه کنترل کشش (TCS) و نیرو محرکه چهار چرخ اتوماتیک (Automatic 4WD) نیز از سامانه‌های نهفته بهره می‌برند.
تجهیزات پزشکی از سامانه‌های نهفته در نشانگرهای علایم حیاتی، گوشی‌های تشخیص دیجیتال -برای تقویت صداها - و سیستم‌های گوناگون تصویر برداری پزشکی (PET,مقطع‌نگاری رایانه‌ای تک‌فوتونی، CT,MRI) - برای تحقیق و جستجوی غیر تهاجمی در داخل بدن - استفاده می‌کنند. سامانه‌های نهفته در تجهیزات پزشکی اغلب به وسیله رایانه‌های صنعتی ایجاد شده‌اند.
سامانه‌های نهفته در حمل و نقل، امنیت، کاربردهای پزشکی و سیستم‌های اضطراری حیاتی- که لازم است از هک شدن در امان باشند- کاربردهای وسیعی دارند. در زمینه امنیت در برابر آتش‌سوزی، سامانه‌های نهفته توانایی بالایی در تحمل شرایط حرارتی دارند و می‌توانند دماهای بالایی را تحمل کنند و به کار خود ادامه دهند. در مورد امنیت، سامانه‌های نهفته می‌توانند این قابلیت را داشته باشند که بی‌نیاز از شبکه برق یا شبکه مخابراتی به کار خود ادامه دهند.
نوعی جدید از دستگاه‌های بسیار کوچک بی‌سیم که به ریز دستگاه یا خرده دستگاه (motes) موسوم شده‌اند، به شدت در حال محبوب شدن در زمینه حسگرهای بی‌سیم هستند. شبکه حسگرهای بی‌سیم (Wireless sensors network یا شبکه بی‌سیم حسگر)، با بهره‌گیری از کاهش اندازه‌ای که به لطف روش‌های پیشرفته طراحی [مدارهای مجتمع] فراهم شده‌است، باعث شده‌اند که سامانه‌های جانبی بی‌سیم، همراه با حسگرهای تخصصی در یک بسته‌بندی کوچک قابل جاسازی باشد. این دست‌آورد به کاربران و شرکت‌ها این اجازه را می‌دهد که ده‌ها هزار متغیر را در دنیای فیزیکی اندازه‌گیری کرده و بر اساس آن‌ها در مانیتورینگ اطلاعات و کنترل سامانه‌ها عمل کنند. این «خرده دستگاه»ها کاملاً خودکفا هستند (نیازی به قطعه اضافه خارجی ندارند) و معمولاً یک منبع باتری را قبل از این که نیاز به تعویض یا شارژ داشته باشد، برای سال‌های زیادی استفاده می‌کنند.

تاریخچه

یکی از اولین سامانه‌های نهفته قابل ذکر، رایانه راهنمایی آپولو (Apollo Guidance Computer) بود که توسط چارلز پارکر دراپر(چارلز استارک دراپر) در آزمایشگاه تجهیز نظامی مؤسسه تکنولوژی ماساچوست (MIT) توسعه یافت. در میان پروژه آپولو، رایانه راهنمایی آپولو - که به‌دلیل استفاده از مدارهای مجتمع یکپارچه، باعث کاهش وزن و اندازه آپولو می‌شد و به تازگی توسعه یافته بود - یکی از پر ریسک‌ترین قسمت‌های پروژه آپولو بود. اولین سامانه نهفته‌ای که به شکل انبوه تولید شد، Autonetics D-17 guidance computer، تولید شده برای موشک‌های Minutemam در سال ۱۹۶۱ بود. وقتی موشک Minutemam II در سال ۱۹۶۶ وارد خط تولید شد، D-17 با یک رایانه جدید - که اولین مورد استفاده عمده از مدارهای مجتمع بود- جایگزین گردید. این برنامه به‌تنهایی هزینه‌های تولید برای مدارهای مجتمع درگاهNAND چهارتایی را از هزار دلار برعدد به ۳ دلار برعدد کاهش داد که استفاده این مدارها را در پروژه‌های تجاری معقول ساخت.
پس از کاربردهای محدود اولیه در دهه شصت، سامانه‌های نهفته از نظر قیمت هر روز ارزان‌تر شدند و بهبود بسیار زیادی در توانایی‌های پردازش و کارایی این سامانه‌ها به‌وجود آمده است. برای مثال: اولین ریزپردازنده، اینتل ۴۰۰۴، برای ماشین‌های حساب و سامانه‌های کوچک دیگر طراحی شد، اما این تراشه نیاز به تعداد زیادی قطعات خارجی مکمل مانند: حافظه و تراشه‌های مکمل داشت. در سال ۱۹۷۸ اتحادیه ملی تولیدکنندگان محصولات مهندسی (NEMA) یک استاندارد اولیه برای میکروکنترلرهای قابل برنامه‌ریزی از جمله همه کنترل کننده‌های بر پایه رایانه، مانند رایانه‌های یک تکه، رقمی یا کنترل کننده‌های مبتنی بر رویدادها، منتشر کرد.
به‌دلیل پایین آمدن قیمت میکرو کنترلرها و ریزپردازنده‌ها، جایگزینی شستی‌های پیچی گران‌قیمت و با اجزای آنالوگ، مثل پتانسیومترها و خازن‌های متغیر، با دکمه‌های «بالا / پایین» یا شستی‌های پیچی که به وسیله ریز کنترل کننده، کنترل می‌شوند، حتی برای محصول‌های مصرفی نیز عملی شد. در اوایل دهه ۸۰ میلادی، حافظه و سامانه ورودی و خروجی داده‌ها (ورودی/خروجی) با پردازنده ادغام و به شکل یک تراشه میکروکنترلر عرضه شد. میکروکنترلرها در کاربردهایی که رایانه‌های چند منظوره گران تمام می‌شوند، کاربرد گسترده‌ای دارند.
در سال های اخیر در ایران برنامه نویسان و بلاگر های فراوانی در حوزه سیستم های نفهفته فعالیت دارند. برای اطلاعات بیشتر در مورد سیستم های نهفته به وبلاگ فارسی استک دیزاین مراجعه کنید.

مشخصات

سامانه‌های نهفته برای انجام وظایفی مشخص طراحی شده‌اند، برخلاف رایانه‌های چند منظوره که برای انجام وظایف مختلفی طراحی شده‌اند. همچنین برخی از سامانه‌های نهفته شرط‌هایی مانند امنیت و قابلیت بهره‌برداری برای انجام پردازش داده‌های به‌هنگام (بی‌درنگ) دارند که باید برآورده شود، برخی دیگر شرط‌های کمی برای انجام عملیات دارند و برخی هیچ شرطی برای انجام این وظایف ندارند که موجب سادگی بیشتر سخت‌افزار سامانه و در نتیجه کاهش قیمت تولید سامانه می‌شود.
سامانه‌های نهفته همواره یک دستگاه کاملاً مجزا از کل سامانه(Stand-alone)اصلی نیستند، بسیاری از سیستم‌های نهفته شامل قسمت‌های کوچک و وابسته به رایانه، میان یک دستگاه بزرگ‌تر هستند که وظیفه‌ای کلی‌تر را انجام می‌دهند. برای مثال، ربات گیتار گیبسون (Gibson Guitar Robot) از یک سامانه نهفته برای کوک کردن سیم‌های گیتار به بهره می‌برد. در حالی که وظیفه کلی و اصلی ربات گیبسون، نواختن موسیقی است.
دستورهای برنامه‌نویسی که برای یک سیستم نهفته نوشته می‌شوند به سفت‌افزار (سفت‌افزار) موسوم است و در حافظه فقط خواندنی (ROM) یا تراشه‌های حافظه فلش نگه‌داری می‌شود. این دستورها توانایی اجرا شدن با منابع محدود سخت‌افزاری -یعنی: حافظه کم، صفحه‌کلید و نمایشگر کوچک یا عدم وجود صفحه کلید و نمایشگر- را دارند.

رابط کاربری

دامنه گوناگونی سامانه‌های نهفته از سامانه‌ای بدون رابط کاربری – برای انجام تنها یک وظیفه – تا یک سامانه پیچیده همراه با رابط کاربری گرافیکی که شبیه سیستم‌عامل رایانه‌های رومیزی است تغییر می‌کند.
سامانه‌های ساده معمولاً از دکمه، دیودهای نورانی (LED)، یا نمایشگرهای کریستال مایع (LCD) کاراکتری یا گرافیکی (برای مثال: مدل محبوب HD44780 LCD) استفاده می‌کنند. دستگاه‌های تخصصی‌تر که از نمایشگرهای گرافیکی با حسگرهای لمسی یا دکمه‌های کنار صفحه استفاده می‌کنند، انعطاف بیشتری دارند و فضای کمتری اشغال می‌کنند.
برخی از سامانه‌ها به شکل از راه دور و با استفاده از پروتکل‌های ارتباطی (مانند: RS-232,USB,I2C) یا شبکه‌های کامپیوتری (مانند: اترنت) با کاربر ارتباط برقرار می‌کنند. این روش چند مزیت عمده دارد، گسترش توانایی‌های سامانه، صرفه‌جویی در هزینه نمایشگر، ساده کردن BSP و امکان ساختن یک رابط کاربری قوی در رایانه‌های رومیزی نسبت به سامانه نهفته.
به عنوان یک مثال خوب برای استفاده از شبکه، می‌توان از یک سرور نهفته داخل یک دستگاه (مثل: دوربین پروتکل اینترنت) یا مسیریاب‌های شبکه نام برد. رابط کاربری در یک مرورگر وب بر روی یک رایانه که به سامانه وصل است نشان داده خواهد شد؛ بنابراین نیازی به نصب نرم‌افزار سفارشی روی رایانه نیست.

پردازنده‌ها در سامانه‌های نهفته

انواع سامانه‌های نهفته در دو دسته جای می‌گیرند، ریزپردازنده‌های معمولی (μP) که از مدارهای مجتمع جدا برای حافظه و بقیه سیستم‌های جانبی استفاده می‌کنند و ریزکنترل‌کننده‌ها (μC) که معمولاً سامانه‌های جانبی زیادی روی تراشه دارند که موجب کم شدن مصرف انرژی، اندازه و هزینه می‌شود. برخلاف بازار رایانه‌های شخصی، به دلیل این که نرم‌افزار سامانه‌های نهفته برای یک کاربرد خاص نوشته شده و برای نصب شدن توسط کاربران عادی تولید نمی‌شوند، برای طراحی سامانه‌ها از معماری‌های گوناگونی برای پردازنده استفاده می‌شود، هر دو معماری جان فون نویمان و چندین نوع طراحی Harvard architectures مورد استفاده قرار می‌گیرند، هر دو نوع پردازنده معماری ریسک و non-RISC به کار رفته‌اند. طول هر
کلمه باینری از ۴ بیت تا ۶۴ بیت و حتی بیشتر تغییر می‌کند، البته شایع‌ترین نوع استفاده از کلمه‌های باینری در فرم‌های ۸ و ۱۶ بیتی است. اکثر معماری‌ها با گونه‌ها و اندازه‌های متنوع عرضه شده و به‌وسیله شرکت‌های تولیدی مختلفی تولید می‌شوند.
میکروکنترلرهای بسیار زیادی برای استفاده در سامانه‌های نهفته تولید شده‌اند. پردازنده‌های چند منظوره هم در این سامانه‌ها مورد استفاده قرار می‌گیرند ولی غالباً نیاز به مدارهای جانبی بسیار بیشتری درمقایسه با میکروکنترلرها دارند.