PDA

View Full Version : Cypress's IC و PSoC Programmer



Salah Sanjabian
دوشنبه 14 تیر 1389, 16:48 عصر
سلام خدمت دوستان
دوستان ما یه ماژولی داریم که فکر کنم از این آی سی استفاده میکنه.(Cypress)
چطور با #C بین PSoC Programmer و این ماژول ارتباط برقرار کنم؟

ممنون

Mehran.GH
سه شنبه 15 تیر 1389, 00:47 صبح
Cypress که اسم شرکت است , شماره یا مدل ماژول مورد سوال را بنویس.

معمولا شرکتهای بزرگ کار را آسان کرده اند و محیط برنامه نویسی و دیباگ و .... برای محصولات خودشان را هم ارایه می کنند یعنی اینکه نرم افزار همراه ماژول را که نصب کنی تمامی کارهای تعریف پارامترها و توابعی که نیاز داری در محیط همان نرم افزار وجود دارد و کدی هم که باید بنویسی معمولا به C است و بعد از برطرف کردن خطاها و کامپایل کردن ارتباط با سخت افزار مستقیما با JTAG انجام می شود که توضیح کامل آن را در راهنمای نرم افزار می توانی پیدا کنی .

Salah Sanjabian
سه شنبه 15 تیر 1389, 08:27 صبح
تو Document نرم افزار PSoC يه سري كد هاي #C وجود داره كه بااستفاده COM ارتباط بين PSoC و Windows Apllication رو برقرار ميكنه. چه وقت بايد ازاين كد ها استفاده كرد؟

وقتي يه فايل hex. رو ic پرو گرام ميكني ، ديگه چه نيازي به برنامه C هست؟

Salah Sanjabian
سه شنبه 15 تیر 1389, 11:17 صبح
يه سري ما‍ژول داریم كه از اين IC ها استفاده ميكنن.

بعد بااستفاده از PSoC Programmer به نرم افزار وصل شد و يه فايل hex. رو روي IC پروگرام كرد.

:افسرده:

Mehran.GH
سه شنبه 15 تیر 1389, 11:36 صبح
دوست عزیز
زمانی که درگیر پروژه بزرگ باشید دو فاکتور مهم زمان و دقت است و برای صرفه جویی در زمان نیاز داری از ابزارهایی استفاده کنید که حداقل کد را مجبور باشی بنویسی و بعد هم برطرف کردن خطاها سریع انجام شود و کد بهینه تولید می شود تا منابع پردازنه را مختل نکند.

نهایتا هم نیاز هست به دیباگینگ
که رجیسترها و متغیرها را در سیستم حین اجرای برنامه چک کنی تا از صحت اجرای برنامه اطمینان داشته باشید و تمامی این کارها را در ابزارهایی که شرکتها برای پروژه های امروزی نیاز هست همراه محصولاتشان ارایه می دهند.

البته قرار نیست اینجا آموزش نرم افزار قرار دهم ! فقط یک توضیح کوتاه اینکه اگر نرم افزار PSoC Designer™ 5.0 را نصب کنی مشاهده خواهی کرد که در سه مرحله اصلی کار را می توان به صورت حرفه ای انجام داد

مرحله یک : تعریف ماژولهای مورد نیاز برای برنامه که تماما به صورت گرافیکی انجام می دهی و مثلا در صورد اضافه کردن یک ماژول DAC توابعی که نیاز هست از DAC استفاده کنی به صورت خودکار تولید می شود

http://www.freeup2.com/images/hldwbdz5imifrfr01ny.jpg (http://www.freeup2.com/)


مرحله دوم : در این بخش باید کد نویسی کنی که همان توابعی که در مرحله قبل تولید شده را در اصل باید صدا کنی بعلاوه کارهای رایج دیگر کار کردن با متغیرها و غیره و در این حال کد نویسی با C و اسمبلی ممکن است که در بعضی موارد خاص ممکن است مجبور باشی توابع جدید هم بنویسی اما کل کار کارامدتر است از اینکه مجبور باشی تمامی توابع مثلا همان DAC را هم خودت تهیه کنی

http://www.freeup2.com/images/5urqix2fquuenprlft3.jpg (http://www.freeup2.com/)


مرحله سوم : بحث دیباگینگ است که می توانی Breakpoint در کد تعریف کنی و تمامی متغیرها و رجیسترها را در حین اجرای برنامه تحت نظر دااشته باشی تا عملیاتی که مورد نظرت است را انجام دهند و اگر مشکل وجود داشت دقیقا می توانی ببینی کجا مشکل ایجاد شده.

http://www.freeup2.com/images/tl3ryjvm73hijhfxo4cp.jpg (http://www.freeup2.com/)


روشی که اشاره کردی هم قطعا می تواند برای شروع مناسب باشد همانند میکروکنترلهای کوچک آموزشی که کد را بنویسی کامپایل کنی و کد هگز را در میکرو پروگرام کنی و بعد ببینی کار می کند یا نه و اگر کار نکرد کل داستان را تکرار کنی بدون اینکه بدانی مشکل از کجای کد است چون ابزار نظارتی نداری.

در کارهای جدی دیگر کد نویسی به حداقل رسیده و علت ان هم خطاهایی است که برنامه نویسان انجام می دهند و ممکن است خسارت به با بیاورد و گرایش بیشتر به سمت مدل سازی و تولید خودکار کد است مثلا اگر کسی بخواهد سیستم خلبان خودکار طراحی کند مقرارت ایمنی اجازه می دهد یک درصد معینی از کد بوسیله فرد نوشته شده باشد و از ابزارهای گران قیمتی مانند Esteral استفاده می شود http://www.esterel-technologies.com/

به هر حال هر روشی که راحت تر هستی را استفاده کن اما جهتی که بازار کار مدرن در آن قرار دارد به سمت استفاده از ابزارهای مدل سازی و تولید کد خودکار است به خصوص در پروژهای بزرگ که ممکن است در آینده با آن مواجه شوی و زمانی که Cypress ابزار مدرن را هم ارایه کرد اصرار ورزیدن بر روشهای قدیمی به نظر بنده بهترین انتخاب نیست.

موفق باشید

Salah Sanjabian
سه شنبه 15 تیر 1389, 15:05 عصر
ممنون از توضيحاتتون.

پس يه جور ميشه گفت شبيه به برنامه نويسي AVR هست.
مزيت اين نوع IC ها نسبت به بقيه چيه؟
مني كه آشنايي مختصري با الكترونيك دارم ، آيا منبعي براي اين نوع IC ها هست يا داكيومنت نرم افزاررو مطالعه كنم؟

نظرتون درمورد اين لينك برا شروع
http://www.ele.uva.es/~jesman/BigSeti/ftp/Microcontroladores/PSoC%20Microcontrollers/GSTutorial.pdf

Mehran.GH
سه شنبه 15 تیر 1389, 16:14 عصر
فایلی که اشاره کردی خوب است. اطلاعات بیشتر و کامل تر را در این صفحه می توانی پیدا کنی :

http://www.cypress.com/?rID=35428

در قسمت بلاگ ها هم اطلاعات و اموزش های خیلی جالب از طرف افراد مختلف معرفی شده که حتما نگاهی بینداز و اگر بعدها در حین کار مشکل داشتی با آنها تماس برقرار کن.

http://www.cypress.com/?id=2200

برای سوال پرسیدن از حرفه ای ها ! هم توضیح بده که چه هدفی داری و چه کار انجام داده ای و فقط مشکل را بیان کنن تقاضای کد یا پروژه و داکیومنت و ...... نکن (نحوه سوال پرسیدن در این فرومهای وطنی را فراموش کن! )

محیط برنامه نویسی در بعضی بخشها شبیه بعضی محیطهای برنامه نویسی برای میکروهای AVR است ولی چندین قدم جلوتر!

راجع به مزیت IC که سوال کردی سوالت دقیق نیست , شرکت Cypress محصولات مختلفی تولید می کند در زمینه های کاری مختلف که البته همه این محصولات نیاز به برنامه نویسی ندارد بنابراین فعلا به علت اینکه خودت هم اطلاع دقیقی از وظیفه ای که قرار است انجام بدهی نداری شاید بهتر باشد یکسری اطلاعات عمومی کسب کنی و نگاهی به داکیومنت ها بندازی.

نیازی نداری لزوما همه چیز را در زمینه الکترونیک مطلع باشی و اصولا شرکتی هم که بخواهی کار کنی قطعا نمی خواهد که شما همه چیز را بدانی!
کارفرما فقط فردی را لازم دارد که یک وظیفه مشخص یا یک ابزار مشخص را بتواند استفاده کند و پروژه اش را پیش ببرد .