PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل در ارتباط can bus



loveMCU
11-06-2018, 12:55
با سلام
من از مثال آماده keil 5 برای ارتباط CAN BUS در lpc1788 استفاده کردم (مبتنی بر CMSIS) و میکرویه ذکر شده رو به PIC18f258 وصل کردم ، برنامه PIC قبلا تست شده و با یک میکروی دیگه از نوع PIC18f258 جواب گرفتم ولی بین LPC و PIC مشکل دارم در هر دو baud rate 125k انتخاب شده و پارامتر های bit timing خیلی دقیق در هر دو میکرو انتخاب شده . شککم به متفاوت بودن چیپ های ترانسیور CAN در LPC و PICرفته بود که هر دورو یکسان کردم ولی بازهم جواب نگرفتم
(هر دورو از نوع vd230 کردم)
. البته مشکلرو دقیق توضیح بدم اینه که PIC قرار اعداد 0 تا 255 رو به LPC بفرسته ، اعداد 0 ، 1 ، و2 دریافت میشن و دیگه چیزی دریافت نمیشه ، علت اینکه چرا 3 سیکل دریافت میشه اینه که کلا در CAN سه رجیستر ارسال داریم وقتی در PIC تنظیم میکنم که فقط از یک بافر ارسال استفاده کنه ،این دفعه فقط عدد 0 دریافت میشه...نکته خیلی جالب اینه که و قتی هر سه میکرو روی باس هستن یعنی یک PIC فرستنده یک PIC دریافت کننده و یک LPC1788 دریافت کننده ، تمام اعداد در LPC دریافت میشن ... و من نتیجه ای که گرفتم اینه که : قسمت ارسال در LPC کار نمیکنه چون در CAN حتما باید سیگنال ACK به فرستنده ارسال بشه تا فرستنده دیتایه بعدیو بفرسته .و وقتی روی باس فقط LPC و PIC رو میزارم چون LPC بعد از دریافت نمیتونه ACK رو به PIC بفرسته PIC ارسال داده ی بعدیو متوقف میکنه (حتما میگین خودت به خودت جواب میدی ) میخواستم ببینم برداشت و راهنمایی شما چیه ممنون میشم دوستانی که با CAN کار کردن منو راهنمایی کنن (اسکوپ هم ندارم- در سمت گیرنده ها هم فیلتری ست نکردم هر دو میکرو هم در حالت CAN Standard ID هستن)
خلاصه : وقتی فقط روی باس PIC و LPC هست، در سمت گیرنده یعنی LPC پس از سیکل سوم یعنی دریافت عدد 2 دیگه چیزی دریافت نمیشه و PIC تا ابد فقط عدد 2 رو ارسال میکنه