تبلیغات
E L E C T R O N I C - آشنایی با xmega قسمت اول
 
E L E C T R O N I C
 
 
شنبه 23 مرداد 1389 :: نویسنده : mohammad ali shami


http://www.nuhorizons.com/featuredproducts/Portal/April_2009/Atmel/images/chip.jpg


آخرین سری از خانواده میکروکنترلر های avr  که مدتی است ارائه شده است سری xmega  میباشد که دراین بخش به معرفی برخی از مهمترین ویژگی های ان میپردازیم


CLOCK

از جمله اولین نکات این خانواده این است که تا ۳۲ مگاهرتز کلاک را قبول می کنند که در مقایسه با حداکثر ۲۰ مگاهرتزی AVR های معمول، تقریبا دوبرابر سرعت را تامین میکنند و همچنین این کلاک ۳۲ مگاهرتز می تواند بصورت اسیلاتور داخلی و بدون نیاز به هیچ کریستالی تامین شود. همچنین برای تنظیم کلاک احتیاج به تغییر فیوزبیت نیست و این کار از طریق تغییر رجیسترهای داخلی انجام می شود. همیشه در ابتدای شروع به کار آی سی ابتدا بصورت خودکار کلاک داخلی ۲مگاهرتز انتخاب می شود و سپس بوسیله کدهای نوشته شده، نوع کلاک، قابل تغییر است.

یک مکانیزم بسیار جالب در این آی سی قابل فعال سازی است که حتی در صورتی که کلاک خارجی فعال باشد و به هر دلیلی عمل نکند،CPU بصورت اتوماتیک روی کلاک داخلی سوئیچ کند. بنابراین کلیه مشکلاتی که در AVR های معمولی به دلیل تنظیم غلط فیوزبیت ها و یا از کار افتادن کریستال یا اسیلاتور خارجی بوجود می آید، در مورد این آی سی می تواند موضوعیت نداشته باشد. وجود PLL داخلی هم از ویژگی های دیگر این خانواده است که بوسیله آن می توان انواع کلاک ها را از یک منبع ثابت بدست آوردو همچنین یک مکانیزم( DFLL(Digital Frequency Locked Loop هم قابل فعال سازی است که اسیلاتور دائما مقدار خود را تصحیح می کند و پایداری و صحت کلاک بهبود می یابد.

در مورد راه‌اندازی Xmega با فرکانس بالاتر از حداکثر ، Xmega overclock را ببینید.


رجیسترهای متنوع و متعدد کنترلی

به دلیل وجود رجیسترهای کنترلی متعددی که در خانواده XMEGA وجود دارد، امکان نوشتن کدهای بسیار سریعتر و توانمندتری در این خانواده بوجود آمده که حتی در یک کلاک برابر، می تواند سرعت اجرا را بالاتر ببرد.

به عنوان یک مثال، برای تصحیح وضعیت چند بیت یک PORT در حین حفظ وضعیت بقیه بیت ها، در AVR های معمولی باید ابتدا مقدار PORT خوانده شود و بعد از تصحیح مقدار، مجددا در محل خود نوشته شود. اما در سری XMEGA برای set و reset و not کردن بیت ها، ۳ رجیستر مجزا وجود دارد.

بنابراین بدون آنکه نیازی وجود داشته باشد که مقدار وضعیت فعلی PORT خوانده شود می توان چند بیت آنرا بصورت همزمان set یا reset یا not کرد. امثال چنین امکاناتی می تواند منجر به بهبود راندمان زمان اجرای نرم افزار در طول یک کد طولانی شود و انجام یک کار واحد را برای یک XMEGA که کلاک برابری با یک AVR معمولی دارد، در زمان کمتری میسر کند. در مورد قسمت های دیگر سخت افزار هم کنترل زیادی از طریق رجیسترهای متعدد داخلی وجود دارد که هرچند شناخت آنرا پیچیده تر می کند، اما دست برنامه نویس را برای انجام عملیات پیچیده و سریعتر، بسیار باز می گذارد.

پورت‌ها

عملکرد پورتها در خانواده XMEGA بسیار کاملتر از AVR های معمولی است. همانگونه که اطلاع دارید، پورتهای AVR یا خروجی هستند که دو وضعیت LOW و HIGH را میتوانند داشته باشند و یا ورودی هستند که pull up داخلی می تواند فعال یا غیر فعال باشد. اما در XMEGA هم pull up و هم pull down قابلیت فعال شدن در ورودی و خروجی را دارند و همچنین وضعیت های totem pole، BUS Keeper، Wired-OR، Wired-AND برای پورتها قابل تعریف است. هر یک از این حالت ها، امکانات مجزایی را برای کار با پورتها در اختیار قرار می دهند که بیشتر آنها در پورتهای AVR عادی قابل پیاده سازی نیست. مثلا اگر چند خروجی در وضعیت Wired-OR قرار داده شوند، این امکان وجود دارد که تمام این پین ها با وجودی که خروجی هستند، به یکدیگر متصل شوند و با قرار دادن pull down خارجی یا فعال سازی pull down داخلی، هر خروجی که high باشد، تعیین کننده وضعیت خروجی کل باشد و سایر خروجی هایی که low هستند در این وضعیت بی تاثیر باشند.

همچنین این امکان وجود دارد که یک منطق NOT برای ورودی یا خروجی فعال شود که مثلا برای وضعیت ورودی، هر منطقی که به پین ورودی اعمال شود به صورت معکوس خوانده شود.

یک امکان دیگر پورتهای XMEGA وجود پورتهای مجازی یا virtual port است که توضیح آن در این مقال نمی گنجد. اما به طور خلاصه به این معناست که یکسری پورت مجازی را به پورتها واقعی نسبت می دهیم و هر عملی که روی پورت مجازی انجام شود، روی پورت معادل آن تاثیر خواهد گذاشت و ۴ پورت مجازی در سری XMEGA وجود دارد.

Totem pole

این وضعیت شبیه عملکرد پورت های AVR های عادی است. به این ترتیب که اگر پورت به عنوان خروجی تعریف شود، LOW و HIGH از یک درایور خروجی تامین می شوند که چه بصورت source و چه بصورت sink ، جریان را تامین می کند. در وضعیت ورودی هم اگر pull up فعال نباشد، ورودی حالت float دارد.

Wired-AND

این وضعیت تا حدودی شبیه پورت های ۸۰۵۱ است. به این معنی که در صورت صفر کردن خروجی، یک سوئیچ نیمه هادی روشن می شود و خروجی را low می کند و در صورت یک شدن آن، باید مقاومت pull up لازم در خروجی سوئیچ نیمه هادی قرار داشته باشد تا وضعیت high را ایجاد کند. این مقاومت می تواند بصورت داخلی فعال شود و یا در خارج IC قرار بگیرد. خروجی هایی که در وضعیت Wired-AND قرار داده شوند، قابلیت وصل شدن به یکدیگر را دارند و آن خروجی یا خروجی هایی که low باشند، خود را به بقیه تحمیل می کنند.

Wired-OR

عکس عملکرد وضعیت قبل را دارد و در صورت یک کردن خروجی، یک سوئیچ نیمه هادی روشن می شود و خروجی را high می کند و در صورت صفر شدن آن، باید مقاومت pull down لازم در خروجی سوئیچ نیمه هادی قرار داشته باشد تا وضعیت low را ایجاد کند.


Bus-keeper

با قرار گرفتن پورت در این وضعیت، این امکان بوجود می آید که وضعیت قبلی پورت زمانی که بصورت خروجی است، در تغییر وضعیت پورت به وضعیت ورودی از نظر low و high بودن همچنان حفظ شود. این کار از طریق فعال سازی هوشمند pull up و pull down بصورت خودکار انجام می شود. به این معنی که اگر وضعیت قبلی خروجی low بوده، pull down را فعال می کند و اگر هم high بوده که pull up را فعال می کند. بنابراین وضعیت پورت از نظر high و low بودن همچنان حفظ می شود.

Virtual port

به دلیل نظام خاص آدرس دهی XMEGA و اینکه بتوان دستوراتی مانند IN و OUT را در مورد پورتها بکار برد، تعبیه شده است. برای درک بهتر این نوع پورتها باید به جزئیات آدرس دهی رجیسترهای داخلی XMEGA مراجعه کنید و خواهید دید که آدرس پورتها در خارج از فضای I/O memory space قرار دارند. بنابراین با map کردن پورتهای واقعی به مجازی و دانستن این موضوع که پورتهای مجازی در فضای I/O memory space قرار دارند، دلیل وجود آنها روشن تر خواهد شد.

تعیین اولویت(priority) وقفه‌ها

یکی از اشکالات بسیار بزرگ خانواده AVR که از این نظر حتی از سری ۸۰۵۱ هم ضعیف تر می باشد، عدم امکان تعریف اولویت(priority) وقفه هاست. در این خانواده تنها یک اولویت از نوع ابتدایی بین وقفه ها وجود دارد به این معنی که هرگاه دو وقفه با هم از CPU تقاضا شوند، وقفه ای که از نظر آدرس بردار وقفه دارای مقدار کوچکتری است، ابتدا مورد پاسخگویی قرار می گیرد.

اما آن شکلی از تعریف اولویت که در میکروکنترلرهایی مانند ۸۰۵۱ وجود دارد، که به CPU این اجازه را می دهد که در وسط اجرای روتین یک وقفه با اولویت پائین تر، به وقفه با اولویت بالاتر پاسخ دهد در AVR های معمولی وجود ندارد. این موضوع ضعف و خلاء بسیار بزرگی برای AVR محسوب می شود که در برنامه نویسی حرفه ای می تواند بسیار مشکل ساز باشد.

اما تمام این مسائل در سری XMEGA حل شده است و به غیر از اینکه ۳ سطح اولویت برای وقفه ها قابل تعریف است، یک وقفه( NMI(Non Maskable Interrupt هم وجود دارد که اصولا توسط وقفه های دیگر قابل disable شدن نیست و برای عملیات حساسی مانند از کار افتادن اسیلاتور کریستالی و مانند آن مورد استفاده قرار می گیرد. بنابراین سیستم مدیریت وقفه در خانواده XMEGA بسیار قوی تر از سری های AVR است و از این نظر بسیار کاراتر و توانمندتر عمل می کند.


Event system

، مجموعه ای از ارتباط بین اجزای داخلی است که قدرت و انعطاف زیادی را برای استفاده از امکانات داخلی XMEGA ایجاد می کند. با استفاده از این سیستم می توان بدون درگیر کردن CPU و یا ایجاد هرگونه وقفه ای، تغییرات یک بخش را به عنوان فرمان تغییر و Trigger بخش دیگر به کار گرفت.

تایمرها، ADC ، مقایسه کننده آنالوگ، RTC ، پورتها و کلاک سیستم و فرمان های نرم افزاری می توانند به عنوان منابع ایجاد Event تعریف شوند. همچنین تایمرها، ADC، DAC، DMA و پورتها و ماژول ارتباط IR می توانند از منبع Event مورد نظر برای تغییرات خود فرمان بگیرند.

به عنوان چند مثال از طریق استفاده از همین سیستم می توان overflow شدن یک تایمر ۱۶ بیتی را به عنوان فرمان clock یک تایمر ۱۶ بیتی دیگر تعریف کرد و بدون استفاده از هر وقفه ای، یک تایمر ۳۲ بیتی ساخت. یا مثلا می توان سیستم را طوری تنظیم کرد که در مقدار مشخصی از RTC، فرمان تبدیل ADC انجام شود. یا با تغییراتی در یک پین ورودی، خروجی DAC در مقدار جدید قرار بگیرد. در این خانواده ۸ کانال Event در دسترس است که شامل ۸ multiplexer است که با تنظیم آنها می توان هر Event را به عنوان منبع trigger مقصد مورد نظر هدایت کرد. هر کانال Event شامل یک فیلتر دیجیتال است که این امکان را به وجود می آورد که محدوده ای بین ۱ تا ۸ sample را برای پایدار بودن اجباری Event مورد نظر تعریف کنیم تا وجود آن موثر واقع شود.

البته این بحث بسیار گسترده است و نمی توان انتظار داشت که تمام ابعاد آن در اینجا روشن شود. اما بصورت خلاصه وجود Event System باعث ایجاد یک ارتباط سخت افزاری از طریق برنامه نویسی بین اجزای مختلف XMEGA می شود، بصورتی که به عنوان یک مجموعه به هم پیوسته و واحد عمل کنند و این امکان برای یک برنامه نویس توانمند، فرصت مغتنمی محسوب می شود تا بتواند کاربرد های پیچیده و پیشرفته ای را با XMEGA پیاده سازی کند که انجام آن با AVR های عادی مقدور نباشد.

QDEC

به عنوان کاربردی از Event System که تنها در حد عنوان اشاره می شود، خانواده XMEGA قابلیت و سخت افزار لازم برای اتصال به Quadrature encoder ها(مانند Shaft encoder هایی که به موتورها وصل می شوند)، دارا می باشند و تشخیص جهت encoder و مقدار آن و عبور از مبدا را بصورت سخت افزاری ساپورت می کنند.

تایمرها

در خانواده AVR های معمولی، در شماره های ضعیف تر مانندtiny13 فقط یک تایمرهای ۸ بیتی وجود دارد و در شماره های توانمندتر مانند mega128 هم حداکثر ۲ تایمر ۱۶ بیتی و ۲ تایمر ۸بیتی وجود دارد و حداکثر ظرفیت AVR هم وجود ۴ تایمر ۱۶ بیتی و ۲ تایمر ۸ بیتی در شماره هایی مانند mega2560 است.اما تایمر های XMEGA همگی ۱۶بیتی هستند و تعداد آنها هم از ۴ عدد تا ۸ عدد متغیر است. این درحالی است که با استفاده از ظرفیت Event system که قبلا به آن اشاره شد، می توان به تایمرهایی بزرگتر از ۱۶ بیت هم بدون استفاده از وقفه ها دست پیدا کرد.

نکته دیگر اینکه در AVR، کنترلی روی جهت شمارش تایمر وجود ندارد و تایمر در وضعیتهای Normal و CTC و Fast-PWM بصورت افزایشی و در مدهای Phase corret PWM و Phase-frequency correct PWM هم بصورت افزایشی و کاهشی متوالی عمل می کند. اما جهت شمارش تایمر های XMEGA بصورت دلخواه توسط یک بیت کنترلی قابل تغییر است و این امکان بسیار خوبی محسوب می شود.

نکته بسیار مهم دیگر وجود تعداد قابل توجهی خروجی PWM در خانواده XMEGA است که بین ۱۴ تا ۲۴ خروجی PWM را در شماره های فعلی این خانواده شامل می شود. وجود این خروجی های PWM به علاوه امکان دیگری به نام (AWEX(Advanced Waveform Extension که بعدا توضیح داده می شود، خانواده XMEGA را به ابزار بسیار قدرتمندی برای کاربردهایی مانند کنترل موتور و رباتیک و نظایر آن تبدیل می کند و این در حالی است که تعداد خروجی های PWM در AVR های معمولی بسیار کمتر از این تعداد است ( ۴ عدد در mega32 و ۸ عدد در mega128 و ۱۶ عدد در mega2560 که حداکثر تعداد در AVR است). ضمن اینکه امکانات کنترل و مدیریت PWM هم در XMEGA قوی تر و کاراتر می باشد.

از جمله کاربردهای این تایمرها، وجود امکان اندازه گیری فرکانس و اندازه گیری عرض پالس بصورت سخت افزاری است که در فرکانس مترها و اندازه گیری های دقیق زمانی بکار می رود و کاربردهای متعدد دیگر که مستلزم آشنایی دقیق با ساختار تایمرهای XMEGA است.

AWeX

AWeX یا Advanced Waveform Extension یک واحد سخت افزاری طراحی شده برای پیاده سازی عملیات کنترل دور موتور و درایورهای قدرت است. وجود ۳ توانایی سخت افزاری Dead time insertion، Pattern generation وFault protection برای کاربردهای کنترل موتور و مانند آن پیش بینی شده و کارکردن با آن مستلزم آشنایی کامل با مبانی عملکرد درایورهای قدرت می باشد.

در مورد Dead time insertion می توان این توضیح را ارائه کرد که در یک پل (Bridge) تشکیل شده از سوئیچ های قدرت مانند Mosfet یا IGBT، بین خاموش شدن هر سوئیچ قدرت و روشن شدن سوئیچ دومی که در همان بازو قرار دارد، باید یک زمان حداقل در حد میکروثانیه تاخیر وجود داشته باشد. در غیر اینصورت قبل از اینکه جریان سوئیچ روشن به صفر برسد، سوئیچ دوم هم روشن خواهد شد و یک جریان بسیار شدید بین ولتاژ مثبت و منفی پل ایجاد می شود و در یک لحظه باعث از بین رفتن سوئیچ های قدرت خواهد شد( به این جریان shoot through هم گفته می شود). به این زمان تاخیر به اصطلاح Dead time گفته می شود که یک منبع تولید فرمان برای درایور، باید بتواند آنرا بصورت سخت افزاری تامین کند. در واحد AWeX خانواده XMEGA، چنین امکانی پیش بینی شده که مقدار Dead time بصورت نرم افزاری و توسط رجیسترهای کنترلی یکبار تعریف و به سخت افزار اعمال شود.

Pattern generation برای تولید یک Bit Pattern مشخص روی پورت خروجی و برای کنترل موتورهایی مانند BLDC و استپر موتور کاربرد دارد و باید بصورت یک بحث مستقل و کاملا تخصصی در آینده مطرح شود.

Fault protection هم یک واحد پیش بینی شده برای درایورهای قدرت و در جهت واکنش سریع و مشخص در شرایط وقوع fault می باشد. برای کنترل کاربردهای قدرت لازم است این امکان بصورت سخت افزاری پیش بینی شود که در هنگام وقوع fault و خطا، واکنش سریع و از قبل معینی انجام شود و مثلا فرمان خروجی به سوئیچ های قدرت به سرعت قطع شوند و این امر نباید معطل اجرای نرم افزار بماند. چرا که در غیر اینصورت ممکن است به علت جریان کشی بیش از حد به از بین رفتن سوئیچ های قدرت و مواردی از این دست منجر شود. بنابراین واحدی که تحت برنامه ریزی قبلی نرم افزار بصورت سخت افزاری به شرایط خطا پاسخ دهد، از جمله امکاناتی است که در XMEGA پیش بینی شده و امکان استفاده از آن را به عنوان یک کنترل کننده و نظارت کننده بر پروسه های در محدوده زمانی میکروثانیه و کمتر، بوجود می آورد.

ADC

تفاتهای زیادی بین ADC داخلی خانواده XMEGA با AVR های معمولی وجود دارد که شاخص ترین آن دقت و سرعت تبدیل آن است. دقت ADC این خانواده ۱۲ بیت است و قابلیت نمونه برداری تا ۲ میلیون نمونه در ثانیه (۲ MSPS) را دارد. از نظر تعداد ورودی آنالوگ هم بین گروه های مختلف XMEGA تفاوت وجود دارد و در گروهی که با پسوند A4 نوشته می شوند،یک کانال با ۱۲ ورودی و در گروه های A3 و A1 هم ۲ کانال مستقل با ۸ ورودی وجود دارند (درگروههای D4 و D3 هم ۱×۱۲ و ۱×۱۶ ورودی وجود دارند).

از جمله نکات دیگر این ADC قابلیت تبدیل ۴ سیگنال آنالوگ بصورت همزمان و با روش Pipeline است و به همین دلیل ۴ سری رجیستر داخلی برای ذخیره سازی این ۴ گروه نتیجه دارد.

از نظر ولتاژ مرجع (Reference)، چند امکان برای انتخاب وجود دارد که شامل ولتاژ دقیق ۱ ولت داخلی، Vcc/1.6 و ولتاژ مرجع خارجی است. در گروه های A1 و A3 دو ورودی مختلف به عنوان ولتاژمرجع اختصاص داده شده است.

امکان خواندن ورودی ها بصورت تفاضلی، اعمال بهره تقویت ۱ تا ۶۴، و امکان محاسبه مقدار ورودی بصورت علامت دار، از دیگر امکانات ADC این خانواده است.

یکی از موارد مهم قابل ذکر، وجود سنسور دمای داخلی در XMEGA است که نیاز به قرار دادن سنسور دما در خارج از IC را برای سنجش دما برطرف می کند. این امکان وجود دارد که خروجی این سنسور بصورت داخلی به ورودی ADC متصل و مقدار آن محاسبه شود. همچنین امکان اندازه گیری Vcc اعمال شده به IC و خروجی DAC و ولتاژ مرجع داخلی هم از طریق ADC وجود دارد.

در عملکرد خانواده XMEGA، یک ساختار Compare function وجود دارد به این معنی که مقدار ADC بصورت دائمی با یک رجیستر از پیش تعیین شده ۱۲ بیتی مقایسه می شود و می توان وقفه یا Event را در صورت کوچکتر یا بزرگتر بودن از این رجیستر فعال کرد. و بالاخره اینکه امکان انتقال نتایج عملیات ADC توسط DMA ( که بعدا توضیح داده می شود)در حافظه قابل فعال کردن است و این روش برای درگیر نکردن CPU و ذخیره سازی سریع اطلاعات در تبدیلات متوالی می تواند بکار برده شود.

DAC

وجود مبدل دیجیتال به آنالوگ ۱۲ بیتی و با سرعت حداکثر ۱ میلیون تبدیل در ثانیه، از جمله مزیت هایی در خانواده XMEGA است که در خانواده AVR های معمولی به کلی وجود ندارد و زمینه را برای انجام عملیاتی که با تولید سیگنال های آنالوگ سر و کار دارند، فراهم می کند.

در اینجا ذکر یک توضیح فنی لازم است که هرچند با قرار دادن یک فیلتر پائین گذر در خروجی PWM می توان سیگنال های آنالوگ را تولید کرد. اما حداکثر فرکانس این سیگنال آنالوگ باید تفاوت قابل توجهی با فرکانس PWM داشته باشد تا بتواند توسط فیلتر پائین گذر و با دقت بالا، جداسازی شود. حداکثر فرکانس PWM قابل حصول برای AVR در مد fast PWM و با فرض کلاک ۲۰ مگاهرتز و ۸ بیتی بودن PWM، برابر ۷۸٫۱۲۵ کیلوهرتز است. بنابراین تغیییرات سیگنال آنالوگ تولید شده توسط PWM باید بسیار کمتر از این باشد تا بتواند به خوبی جدا شود. اما وجود DAC ، زمینه را برای کاربردهایی مانند تولید صدای خروجی بصورت استریو و یا تولید سیگنال های آنالوگ با فرکانس نسبتا بالا را برای XMEGA فراهم می کند.

هر واحد DAC دارای دو خروجی مستقل آنالوگ است که هریک رجیستر دیتای خاص خود را دارند. در گروه با پسوند A3 و A4 یک واحد DAC و در گروه A1 دو واحد DAC(یعنی ۴ خروجی مستقل آنالوگ) وجود دارند.

برای تبدیلات DAC یک ولتاژ مرجع قابل تعیین است که می تواند از Vcc یا ولتاژ مرجع داخلی و یا ولتاژ دلخواه متصل به پایه تعریف شده برای این کار، تامین شود.

خروجی انالوگ DAC بصورت نرم افزاری قابل کالیبره کردن و تغییر Offset خروجی است و این کار می تواند به کمک اتصال داخلی خروجی DAC به ورودی ADC و خواندن مقدار آن و یا قرائت خروجی آنالوگ از بیرون انجام شود.

خروجی DAC همچنین می تواند بصورت داخلی به مقایسه کننده آنالوگ موجود در XMEGA متصل و ولتاژ آن با ولتاژهای دیگری مقایسه شود که این امکان برای برخی کاربردهای کنترل جریان و درایورهای قدرت، امکان فوق العاده ای محسوب می شود.

برای تولید سیگنال های آنالوگ با فرکانس نسبتا بالا از طریق قرار دادن متوالی دیتا در ورودی DAC، امکان بهره گیری از DMA داخلی XMEGA وجود دارد و در این شرایط بدون مشغول کردن بیجهت CPU، عملیات تولید سیگنال آنالوگ به خوبی انجام می شود. همچنین عملیات به روز سازی خروجی آنالوگ می تواند تحت مدیریت Event system انجام شود و بدون ایجاد بار نرم افزاری برای CPU و ایجاد هرگونه وقفه ای، وقوع Event تعیین شده، باعث به روز سازی و ایجاد تغییر مقدار در خروجی آنالوگ مورد نظر گردد.

ادامه مطلب در قسمت دوم
منبع:xmega.ir




نوع مطلب : در مورد avr، 
برچسب ها :
لینک های مرتبط :


پنجشنبه 3 اسفند 1396 08:15 ب.ظ
سلام! من خیلی خوشتون میاد نسبت ما اطلاعات بیشتری درباره پست شما در AOL می گذاریم؟

من نیاز به متخصص در این فضا برای حل مشکل من.
شاید تو باشی! نگاهی به آینده برای شما به ارمغان می آورد.
پنجشنبه 9 آذر 1396 06:41 ب.ظ
کسی که لزوما به پست های انتقادی ای که من می گویم کمک می کنم.
این اولین بار است که من صفحه وب شما را ملاقات کردم و
تا حالا؟ من با تحقیقاتی که برای ایجاد این خاص انجام دادم تعجب کردم
باور نکردنی را قرار دهید فعالیت فوق العاده!
شنبه 13 آبان 1396 04:44 ب.ظ
ما یک گروه از داوطلبان هستیم و یک طرح جدید با نام تجاری جدید در جامعهمان ایجاد میکنیم.
سایت شما به ما با اطلاعات ارزشمند برای کار در اختیار ما گذاشت. شما یک فرآیند چشمگیر و انجام داده اید
تمام جامعه ما باید از آن سپاسگزار باشند
شما.
چهارشنبه 10 آبان 1396 06:24 ب.ظ
سلام، فقط می خواستم به شما بگویم، من این مقاله را دوست داشتم.

عملی بود در حال ارسال پست!
چهارشنبه 10 آبان 1396 05:04 ب.ظ
با تشکر از وبلاگ بسیار جالب
شنبه 18 شهریور 1396 02:35 ق.ظ
من به طور جدی سایت شما را دوست دارم.. عالی رنگ ها
موضوع. آیا خودتان این وب سایت را ساختید؟ لطفا پاسخ دهید
من امیدوارم وبلاگ شخصی خودم را ایجاد کنم و بخواهم یاد بگیرم از کجا این موضوع را دریافت کرده یا موضوعی داشته باشم
به نام کودوس!
جمعه 17 شهریور 1396 04:46 ب.ظ
آیا در این سایت یک مشکل اسپم داشته اید؟ من همچنین یک وبلاگ نویس هستم، و من در مورد وضعیت شما کنجکاو بودم؛ ما برخی از شیوه های خوب را توسعه داده ایم و ما به دنبال روش های مبادله با دیگران هستیم
لطفا اگر علاقه مند به من ایمیل بزنید.
جمعه 17 شهریور 1396 01:02 ب.ظ
به عنوان مورد علاقه ذخیره شده، من عاشق سایت شما هستم!
جمعه 17 شهریور 1396 06:47 ق.ظ
من چندین وبلاگ را دیدم اما کیفیت صوتی آهنگ های صوتی موجود در این سایت واقعا شگفت انگیز است.
جمعه 17 شهریور 1396 02:15 ق.ظ
چطوری آیا شما فکر می کنید اگر من وبلاگ خود را با گروه zynga من به اشتراک بگذارم؟
بسیاری از مردمی وجود دارند که فکر می کنم واقعا از محتوای شما لذت بردم.

لطفا بگذارید بفهمم با تشکر
پنجشنبه 12 مرداد 1396 08:40 ب.ظ
Hey there! Quick question that's entirely off
topic. Do you know how to make your site mobile friendly?
My weblog looks weird when viewing from my apple
iphone. I'm trying to find a template or plugin that might
be able to resolve this problem. If you have any recommendations, please share.

Thanks!
شنبه 7 مرداد 1396 07:25 ب.ظ
Hey there! This is kind of off topic but I need some guidance from an established blog.
Is it difficult to set up your own blog? I'm not very
techincal but I can figure things out pretty fast. I'm thinking about creating my
own but I'm not sure where to start. Do you have any tips or suggestions?
Appreciate it
جمعه 16 تیر 1396 06:12 ب.ظ
It's a shame you don't have a donate button! I'd certainly donate to this superb blog!
I guess for now i'll settle for bookmarking and adding your
RSS feed to my Google account. I look forward to fresh updates and will talk about this
site with my Facebook group. Chat soon!
یکشنبه 4 تیر 1396 07:56 ق.ظ
Hi my loved one! I want to say that this post is awesome,
great written and come with approximately
all important infos. I'd like to see more posts like this.
سه شنبه 2 خرداد 1396 04:40 ب.ظ
My relatives all the time say that I am killing my time here at net, however
I know I am getting experience everyday by reading thes good content.
دوشنبه 25 اردیبهشت 1396 05:26 ب.ظ
Everything is very open with a very clear explanation of the issues.
It was definitely informative. Your website is extremely helpful.
Thanks for sharing!
چهارشنبه 6 اردیبهشت 1396 07:29 ب.ظ
Thanks for sharing your thoughts about آشنایی.

Regards
چهارشنبه 30 فروردین 1396 12:06 ق.ظ
Hi there i am kavin, its my first time to commenting anywhere, when i read this article i
thought i could also create comment due to this brilliant post.
جمعه 25 فروردین 1396 02:07 ق.ظ
Good blog you have here.. It's hard to find high quality writing
like yours these days. I seriously appreciate individuals like you!
Take care!!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


درباره وبلاگ


جدید ترین رویدادهای جامعه الکترونیک
مدارات رایگاه الکترونیکی
فروش پروگرامر AVRاز طریق USB
مقالات الکترونیک و روباتیک



مدیر وبلاگ : mohammad ali shami
جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :
« ارسال برای دوستان »
نام شما :
ایمیل شما :
نام دوست شما:
ایمیل دوست شما:

Powered by ParsTools