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

موضوع: مشکل عجیب با هدر spi

  1. #1
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض مشکل عجیب با هدر spi

    سلام

    من یک مشکلی با کلاک هدر spi دارم

    من دارم ماژول RFM70 و راه اندازی میکنم ولی وقتی کلاک رو از 2MHz بیشتر میکنم اصلا ماژول هیچ دیتایی نمیده در صورتی که تو دیتاشیت گفته تا 8MHz کار میکنه و جالب تر اینکه وقتی کلاک رو میارم پایین مثلا میزارم 500KHz ی جواب میگیرم وقتی میزارم 800KHz ی جواب دیگه میگرم موقع خوندن رجیستر ها

    به نظرتون مشکل از کجا میتونه باشه؟

    البته در هیچ کلاکی دیتای صحیح رو دریافت نکردم

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

  3. #2
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    سلام - شما دقیقا از کدوم هدر استفاده میکنید - منم دقیقا همین مشکل رو دارم ولی با mmc و آخر هم متوجه نشدم مشکل از کجاست ، تنها احتمالی که میدم - خطا تو محاسبه مقدار کلاک باشه ، شما اگر دسترسی به اسکوپ دارید میتونید چک کنید که spi با چه فرکانسی کلاک میخوره

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


  5. #3
    مدیر انجمن
    تاریخ عضویت
    Dec 2009
    نام
    غلامحسن منصوری
    نوشته ها
    359
    تشکر
    408
    تشکر شده 819 بار در 248 پست

    پیش فرض

    نقل قول نوشته اصلی توسط agape نمایش پست ها
    سلام - شما دقیقا از کدوم هدر استفاده میکنید - منم دقیقا همین مشکل رو دارم ولی با mmc و آخر هم متوجه نشدم مشکل از کجاست ، تنها احتمالی که میدم - خطا تو محاسبه مقدار کلاک باشه ، شما اگر دسترسی به اسکوپ دارید میتونید چک کنید که spi با چه فرکانسی کلاک میخوره
    معمولا باید ابتدا mmc را با فرکانس 400Khz راه اندازی کرد و بعد کلاک را بالا برد.

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


  7. #4
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض

    نقل قول نوشته اصلی توسط agape نمایش پست ها
    سلام - شما دقیقا از کدوم هدر استفاده میکنید - منم دقیقا همین مشکل رو دارم ولی با mmc و آخر هم متوجه نشدم مشکل از کجاست ، تنها احتمالی که میدم - خطا تو محاسبه مقدار کلاک باشه ، شما اگر دسترسی به اسکوپ دارید میتونید چک کنید که spi با چه فرکانسی کلاک میخوره
    سلام، من از همون هدری که تو تاپیک زیر شما نوشتین استفاده میکنم
    کلیه آموزش ها و نکات مهم برد eke2sam7x v2.0 کویرالکترونیک - ایـــــــــران میـــــــکرو ™

    من ماژول RFM70 و با AVR راه انداختم و مشکلی نبود و هرجا نیاز داشتم به spi از هدر spi.h خود کدویژن استفاده کردم بعد اومدم کدی که نوشتم به کد قابل اجرا واسه آرم اتم تبدیل کنم و تغییرات زیر رو دادم که جواب نداد
    [PHP]
    #define BORD_CLK 92160000

    #define CSN PA8
    #define CE PA10[/PHP]کد زیر رو واسه AVR زدم که خیلی راحت جواب میده و مقادیر رجیستر های RFM70 و میخونه
    [PHP]
    unsigned char rfm70_reg_read(unsigned char reg)
    {
    unsigned char data;
    csn=0;
    spi(reg);
    data=spi(0xFF);
    csn=1;
    return data;
    }[/PHP]کد بالارو به کد زیر تبدیل کردم و جواب نگرفتم
    [PHP]
    unsigned char SPI_Read_Reg(unsigned char reg)
    {
    unsigned char data;
    RST_PORTA = CSN;
    SPI_Write(AT91C_BASE_SPI0,0,reg);
    SPI_Write(AT91C_BASE_SPI0,0,oxff);
    data = SPI_Read(AT91C_BASE_SPI0);
    SET_PORTA = CSN;
    return data;
    }[/PHP]به صورت زیر کانفیگ کردم

    [PHP] SPI_Configure_PIO_MAKS(SPI0_PORT,SPI0_PIO_MASK); // Enable the SPI pins required by the application

    SPI_Configure(AT91C_BASE_SPI0, // SPI0 TO USE
    AT91C_ID_SPI0, // SPI0 PMC ID TO Active Power
    SPI_MASTER| // SPI SET TO MASTER MODE
    SPI_ONE_DEVIDE // SPI Connct TO 1Device {NO MOLTI DEVICE}
    SPI_MOD_FDIS); // Disable Mode Fault Detection


    SPI_ConfigureNPCS(AT91C_BASE_SPI0,
    0, // Config Chanal 0
    SPI_MODE_3|
    SPI_8_BIT| // 8 Bit Data strim
    SPI_SCBR(1000000,BORD_CLK)| // Clock Of SPI SET To 1 MHZ
    SPI_DLYBCT(1000,BORD_CLK)| // Delay In Send Strim 1us
    SPI_DLYBS(1000,BORD_CLK));



    SPI_Enable(AT91C_BASE_SPI0); // Enable SPI0
    [/PHP]البته من پایه CSN و وقتی دستی صفر و یک میکنم جواب میگیریم ولی وقتی از پایه شماره ۱۲ که تو هدر تعریف کردم واسه SPI0_NPCS0 استفاده میکنم فقط ماژول بم 0x1c و بر میگردونه یعنی هرچی و میخام بخونم فقط همینو میده بم ولی وقتی خودم دستی یک پورت رو صفر و یک میکنم بجای SPI0_NPCS0 ماژول جواب میده البته جواب نادرست

    کانفیگ های SPI0

    [PHP]#define SPI0_PORT AT91C_BASE_PIOA
    #define SPI0_NPCS0 12
    #define SPI0_NPCS1 13
    #define SPI0_NPCS2 14
    #define SPI0_NPCS3 15
    #define SPI0_MISO 16
    #define SPI0_MOSI 17
    #define SPI0_SPCK 18
    #define SPI0_PIO_MASK ((1<<SPI0_NPCS0)|(1<<SPI0_NPCS1)|(1<<SPI0_NPCS2)|( 1<<SPI0_NPCS3)|(1<<SPI0_MISO)|(1<<SPI0_MOSI)|(1<<S PI0_SPCK))
    [/PHP]

    ی چیز جالب تر اینکه اگر من مثلا ۱۰ بار خوندن با spi آرم و انجام بدم از مورد سوم به بعد جواب فقط صفر میشه ولی اگر بینشون یک تاخیر ۱۰ میلی ثانیه بزارم بدون مشکل جواب میده

  8. #5
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض

    نقل قول نوشته اصلی توسط agape نمایش پست ها
    سلام - شما دقیقا از کدوم هدر استفاده میکنید - منم دقیقا همین مشکل رو دارم ولی با mmc و آخر هم متوجه نشدم مشکل از کجاست ، تنها احتمالی که میدم - خطا تو محاسبه مقدار کلاک باشه ، شما اگر دسترسی به اسکوپ دارید میتونید چک کنید که spi با چه فرکانسی کلاک میخوره
    البته من به اسکوپ دسترسی ندارم ولی با توجه به آزمایش هایی که کردم مشکلم و از نظر timing خوندن spi میدونم ولی واسم عجیبه که تو avr با هدر spi.h کدویژن خیلی راحت جواب میده و هیچ مشکلی از نظر کلاک نداشتم

    دارم یک هدر نرم افزاری واسه SPI مینویسم ببینم با این مدل هدر جواب میگیرم یا نه

  9. #6
    کاربر فعال beroz آواتار ها
    تاریخ عضویت
    May 2009
    نام
    بهروز
    نوشته ها
    285
    تشکر
    204
    تشکر شده 299 بار در 116 پست

    پیش فرض

    سلام

    کسی کتابخونه دیگه ای واسه spi نداره تست کنم؟

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

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