NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 1795 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 11 از 11

موضوع: مشکل در ارتباطا can bus

  1. #1
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نوشته ها
    10
    تشکر
    0
    تشکر شده 3 بار در 1 پست

    پیش فرض مشکل در ارتباطا can bus

    با سلام
    من از مثال آماده 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 رو ارسال میکنه

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نوشته ها
    10
    تشکر
    0
    تشکر شده 3 بار در 1 پست

    پیش فرض

    از دوستان کسی در این زمینه نظری ندارن ؟ فقط مطمئن شدم ack هم توسط lpc ارسال میشه .بدجوری گیرم ...

  4. #3

  5. #4
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نوشته ها
    10
    تشکر
    0
    تشکر شده 3 بار در 1 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    کن بین دو تا lpc1788 درست کلر می کند؟
    همچنین بین دو pic ؟
    با سلام و تشکر فروان از وقتی که تخصیص دادین . Lpc1788 فقط یه دونه دارم و با lpc دیگه ای تست نکردم ولی pic رو با یک pic دیگه تست کردم و ارتباط اوکی بود. از اونجایی که فقط یک عدد LPC دارم اون رو در مد CAN SELF
    TEST MOD(loop)
    آزمایش که میکنم دیتا ارسال و دریافت میشه
    سپاسگزارم
    ویرایش توسط loveMCU : 19-06-2018 در ساعت 18:34

  6. #5
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    اگر می توانستید بین دو برد lpc1788 هم تست کنید خیلی بهتر بود. اگر در این حالت جواب ندهد مشخص می شود اصلا در طرف برد 1788 تبادل ندارید و وقتتان تلف نمی شود که بخواهید بررسی کنید ایراد کجاست.

  7. #6
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نوشته ها
    10
    تشکر
    0
    تشکر شده 3 بار در 1 پست

    پیش فرض

    درسته ولی مستلزمه یک هزینه 146 تومنیه که البته اگه چاره ای پیدا نکنم مجبورم تهیه کنم این ارزونترین هدر بردیه که توو کویر بود اگه مدل ارزونتری از هدر برد های lpc1788 سراغ دارید ممنون میشم معرفی کنین

  8. #7

  9. تشکرها از این نوشته :


  10. #8
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نوشته ها
    10
    تشکر
    0
    تشکر شده 3 بار در 1 پست

    پیش فرض

    خیلی ممنون از پاسختون . بله میتونم lpc1768 تهیه کنم. , ب نظرم یه اسیلوسکوپ باید پیدا کنم شکل موجو چک کنم.

  11. #9
    عضو جدید
    تاریخ عضویت
    Jun 2018
    نوشته ها
    10
    تشکر
    0
    تشکر شده 3 بار در 1 پست

    پیش فرض

    بالاخره این مشکل حل شد .
    اگه یه سرچ تو مقالات کنید اشاره شده که هیچ ایرادی جهت اتصال ترانسیورهای 3.3v به ترانسیورهای 5V وجود نداره . ولی خوب در عمل اینطور نبود متاسفانه ترانسیور 3.3V من قسمت ارسالش سوخته بود و LPC1788 نمی تونست سیگنال ACK رو به PIC ارسال کنه در نتیجه PIC تا ابد یک داده تکراری میفرستاد
    وقتی من ترانسیور 5 ولتیو عوض کرده بودم و vd230 گزاشتم ، بیخبر از این بودم که ترانسیور سمت lpc اسیب دیده بوده
    بهترین و سیو ترین راه در ارتباطات CAN BUS اینه که هر دو گره از یک نوع ترانسیور باشن(نه از لحاظ پارت نامبر از لحاط ولتاژ کاری) و حتما گراندینگ بین دو گره برقرار باشه و حتما مقاومت های انتهای خط 120 اهم در هر طرف از باس قرار داده بشه
    شب خوش
    ارادتمند شما .مهدی حیدری نیا
    ویرایش توسط loveMCU : 30-06-2018 در ساعت 02:26

  12. کاربران : 3 تشکر کرده اند از شما loveMCU برای ارسال این پست سودمند:


  13. #10
    کاربر علاقه مند omid_2132 آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    86
    تشکر
    89
    تشکر شده 55 بار در 18 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    خوب مگه حتما نمی خواهید با 1788 باشه؟
    با 1768 هم می خواهید تست کنید.
    ارسال تصویر با استفاده از پروتکل CAN بین دو برد LPC1768
    سلام مهندس جان.
    میشه در مورد ارسال تصویر توسط همین پروتکول یه کم بیشتر توضیح بدین.
    ندیدم فرومی گه در موردش بحث کرده باشین.

  14. #11
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    دیتای تصویر را 8 بایت 8 بایت ارسال می کنید و آن طرف یا همان موقع نمایش می دهید یا در رم قرار می دهید و بعد از تکمیل نمایش می دهید.

  15. کاربران : 2 تشکر کرده اند از شما mzarkoob برای ارسال این پست سودمند:


مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •