من می خاستم چند تا میکرو با هم شبکه کنم به وسیله پروتکل can که می شه بدون قطع جریان برق یه میکرو اضافه یا کم کرد. اگه کسی در این مورد چیزی می دونه لطفا راهنمایی کنه . :question:
سلام دوست عزیز
شبکه بندی یک سری میکرو یه مبحث کلی هست کهاز اون به MPCM هم یاد می کنن .
در این جریان یک میکرومیشه حاکم یا همون MASTER و بقیه ی میکروها حالا هر چند تایی که هستن میشن تابع یا دریافت کننده .
هرموقعی که مستر شبکه بخواد به یکی از اسلیو ها دیتا ارسال کنه آدرس اون رو که قبلا توی یه پروتکلی تعریف شده روی خط صدا می زنه و اسلیو مورد نظر خودش رو در مد دریافت یا تبادل اطلاعات قرار می ده .
در این میون یه سری بحثا پیش می اد که مثلا مقید می کنه که همه ی اسلیوها باید در قالب نه بیتی قرار داشته باشن یا مثلا وقتی می خوایم MPCM فعال بشه باید بیت مربوطه اش در رجیستر UCSRA یک بشه و.....
فکر کنم دیگه اینا به کارت نیاد اما اگه اومد بگو بگم
[quote author=elias link=topic=14486.msg66071#msg66071 date=1205522579]
rs485 رو بچسب. چون مثل can تفاضلیه هم سرعت ارسال ،هم مسافت زیاد و هم نویز پذیری کمی داره. با max485 یا sn75176 شروع کن.
[
ممکنه در مورد rs485 بیشتر توضیح بدید لطفن چطور میشه ازش برای شبکه دوتا میکرو استفاده کرد به صورت usart به طوریکه مستر pc باشه و اسلیو میکروها؟
نمی دونم چطور باید برنامه شو نوشت
ممنون میشم
ببینید اساس کار به این ترتیبه که شما باید از واحد usart میکرو برای این منظور استفاده کنید. حالا برای اتصال به کامپوتر شما میتونید از همون تراشه ی max485 استفاده کنید . من با 485 زیاد کار نکردم اما با 232 کار کردم . اما فکر نمی کنم زیاد باهم فرق داشته باشن . در واقع کامپیوتر اطلاعات و دیتایی که داره رو میذاره برای ورودی 485 و اون هم با تبدیل سطح ولتاژ به TTL برای میکرو آکادش میکنه و این سیکل مداما ادامه پیدا می کنه . موفق باشید .
سلام
RS485 فقط یه بستر فیزیکیه که خصوصیاتی رو برای انتقال بیتها از قبیل سطوح ولتاژ، نحوه تبدیل 0 و 1 به ولتاژها، فواصل قابل پشتیبانی و غیره رو میگه و هیچ کاری به نوع اطلاعات و مدیریت اونها نداره. اما CAN یک پروتکل ارتباطی کامله که برای انتقال بیتها از روشی شبیه RS485 استفاده میکنه. تویه اون نحوه ارتباط بین دستگاهها، شیوه های کنترل خطا و غیره آورده شده. اصلا یه پروتکل لایه بندی شده کامله. شامل 4 لایه مجزاست.
اما بستر انتقال RS485 خصوصیات جالبی داره. بدلیل تفاضلی بودن ولتاژها در انتقالها اولا احتیاج به یه ولتاژ مرجع نداره (مثل GND) که ولتاژهای خطوط انتقال نسبت به اون مقایسه بشن. بنابراین سیم GND به طور کلی از اون حذف میشه. خصوصیت تفاضلی به این بستر کمک کرده تا بتونه به فاصله های زیاد هم بدون اشکال انتقال داشته باشه (35 Mbit/s برای 10 متر و 100 Kbit/s برای 1.2 کیلومتر). در حالی که ارتباطهای مثل I2C و SPI ارتباطهای سریال برای شبکه کردن فقط در داخل مدار چاپی هستن. به طوری که I2C حتی با مدار تقویت باسش بیشتر از 80 سانتی متر توصیه نمی شه. علاوه بر اون یک ارتباط Half-Duplex. یعنی در هر زمان فقط در یک طرف اجازه انتقال وجود داره. ولی SPI و بستر RS485 میتونن به صورت FullDuplex انتقال اطلاعات داشته باشن. یعنی در یک زمان در هر دو طرف داده رو ردوبدل کنن. ( اطلاعات عددی از سایت Wikipedia آورده شده www.wikipedia.com)
موفق باشید
سلام
همیشه سعی کن به اندازه نیاز هزینه و وقت صرف کنی
میکرو شما نمیدونم چی هست ولی اکثر میکرو ها پورت سریالشون حالت 9 بیتو داره که بیت 9 رو به عنوان آدرس بودن اطلاعات در نظر میگیرن
من با 8051 برا اولین بار 10 دقیقه زمان صرف کردم 4 تاشو شبکه کردم
سعی کن اگه نمیخوای به شبکه های استاندارد وصل بشی خودت پروتکل مورد نیازتو بنویسی
اصولم همونه که میکن دوستان یکی از میکروها رو به عنوان سرور و هماهنگ کننده بگیر
خواستی بگو بیشتر بگم
آقا ایمان شما که گفتی با SPI میتونی مثله هلو انجامش بدی، می شه یه کد با C را اینجا قرار بدی
چه خوش است زر خالی که به آتش اندر آید
چو کند درون آتش هنر و گهرنمائی
مگریز ای برادر تو ز شعله های آذر
ز برای امتحان را چه شود اگر درآئی
به خدا ترا نسوزد رخ تو چو زر فروزد
که خلیل زاده ای تو زقدیم آشنائی چو خلیل رو در آتش که تو خالصی و دلپاک در خیبر است برکن که علی مرتضائی.
آقا حمید ممنون
می خواستم بدونم برای بیش از دومیکرو چه جوری می شه یعنی slave select 3,4,...n را چه جوری تعیین می کنید؟
چه خوش است زر خالی که به آتش اندر آید
چو کند درون آتش هنر و گهرنمائی
مگریز ای برادر تو ز شعله های آذر
ز برای امتحان را چه شود اگر درآئی
به خدا ترا نسوزد رخ تو چو زر فروزد
که خلیل زاده ای تو زقدیم آشنائی چو خلیل رو در آتش که تو خالصی و دلپاک در خیبر است برکن که علی مرتضائی.
دیدگاه