امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
کمک درمورد Initial کردن MMC
نویسنده پیام
hamed_mo آفلاین
تازه وارد

ارسال‌ها: 9
موضوع‌ها: 2
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 0
( 3 تشکر در 2 ارسال )
ارسال: #1
کمک درمورد Initial کردن MMC
سلام خدمت همه شما دوستای عزیز. من یه مشکل کوچیک یه کمی بزرگ!!! دارم. میخوام با MMC کار کنم، کلی هم در موردش چیزی خوندم و سرچ کردم. مشکل اینجاست که هرکاری میکنم نمیتونم Initial کنم MMC رو. این کدی هست که برای Initial کردنش نوشتم.
کد:
#define CS PORTB.4
#define DIn PORTB.5

PORTB=0x00;
DDRB=0xBF;

SPCR=0x58;
SPSR=0x00;

void MMCinit(void){
  unsigned char i,r;
  delay_ms(100);
  CS = 1;
  DIn = 1;
  for (i=0;i<12;i++) spi(0xff);
  delay_ms(100);
  CS = 0;
  spi(0x40);
  for (i=0;i<4;i++) spi(0x00);
  spi(0x95);
  r = 0x00;
  while (r != 0x01){
      r = spi(0xff);
  };
  r = 0xff;
  while (r != 0x00){
    spi(0xff);
    spi(0x41);
    for (i=0;i<5;i++) spi(0x00);
    r = spi(0xff);
  };
  CS = 1;
}

MMC رو هم اینطوری به میکرو وصل کردم (البته غیر از ولتاژ که از یه رگلاتور دیگه استفاده کردم)

http://www.captain.at:80/electronic-atme...ematic.png

حالا نمیدونم مشکل کجاست که تو همون حلقه اول که باید 0x01 بگیره گیر میکنه، یعنی میشه گفت MMC جواب نمیده. اگه کمک کنید خیلی ممنون میشم. بدجوری اعصابمو خورد کرده. نمیدونم اتصالاتم مشکل داره یا برنامم. البته چندتا برنامه پیدا کردم اونارم تست کردم ولی جواب نداد. MMC هم 32 مگ از اون فابریکای 6600 هست. تستشم کردم با گوشی کار میکنه...
۱۰-فروردین-۱۳۸۷, ۱۳:۱۲:۲۲
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #2
 
بهتر کل سیستم رو 3.3 کنی تا مقاومت نخواد فرکانس کار رو هم بیار پایین ببین چی می شه
فکر کنم بگردی برنامه آماده هم باشه
یادمه کانفیگ spi هم مهم بود یه جایی گداشتم توی همین فروم

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۱-فروردین-۱۳۸۷, ۰۹:۲۸:۵۲
وب سایت ارسال‌ها
پاسخ
hamed_mo آفلاین
تازه وارد

ارسال‌ها: 9
موضوع‌ها: 2
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 0
( 3 تشکر در 2 ارسال )
ارسال: #3
نمیشه!
خیلی ممنون که جواب دادید آقا هادی. فرکانس کاری میکرو 8 مگاهرتزه. برنامه آماده هم دارم. کانفیگ spi هم اینجوریه
کد:
// SPI Type: Master
   // SPI Clock Rate: 125.000 kHz
   // SPI Clock Phase: Cycle Half
   // SPI Clock Polarity: Low
   // SPI Data Order: MSB First
   SPCR=0x52;
   SPSR=0x00;
از سالم بودن MMC هم مطمئن هستم. ولی نمیدونم چرا کار نمیکنه... کمک کنید. خیلی وقت ندارم.
۱۴-فروردین-۱۳۸۷, ۱۸:۴۴:۱۵
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #4
 
به نظر درست می یاد فقط یکم سرعت رو بیار پایین برای تست ضرر نداره

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۵-فروردین-۱۳۸۷, ۰۶:۳۹:۴۶
وب سایت ارسال‌ها
پاسخ
hamed_mo آفلاین
تازه وارد

ارسال‌ها: 9
موضوع‌ها: 2
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 0
( 3 تشکر در 2 ارسال )
ارسال: #5
 
آقا هادی سرعت میکرو رو اوردم رو 4 مگاهرتز. سرعت spi رو هم گذاشتم رو fosc/128 یعنی حدود 31.2 کیلوهرتز ولی بازم کار نمیکنه.
ممکنه بعضی مدلای MMC ارتباط SPI رو ساپورت نکنه؟ MMC من واسه 6600 هستش که هیچ مارکی نداره فقط روش یه عدد نوشته با 6600 همین! واسه همین نتونستم دیتاشیتشو پیدا کنم.
۱۷-فروردین-۱۳۸۷, ۱۵:۱۸:۳۷
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #6
 
آره راستی 2 تا پروتکل دارن انگار
http://pinouts.ru/Memory/mmcard_pinout.shtml
http://pinouts.ru/Memory/sdcard_pinout.shtml
همون اولی رو ببین
می تونی یکی دیگه بخری با اون هم تست کنی

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۸-فروردین-۱۳۸۷, ۰۵:۰۹:۵۱
وب سایت ارسال‌ها
پاسخ
hamed_mo آفلاین
تازه وارد

ارسال‌ها: 9
موضوع‌ها: 2
تاریخ عضویت: بهمن ۱۳۸۶

تشکرها : 0
( 3 تشکر در 2 ارسال )
ارسال: #7
خیلی ممنون
سلام.
ببخشید من چند روزی خیلی سرم شلوغ بود نتونستم بیام. آقا هادی مشکل حل شد! همینجوری یه دفعه!!! فکر کنم جریان منبع تغذیم کم بود. به هر حال خیلی خیلی ممنون که وقت گذاشتید و جواب دادید.
ولی یه مشکل دیگه دارم. وقتی میکرو رو به منبع تغذیه وصل میکنم MMC کار نمیکنه و باید حتما یک بار میکرو رو ریست کنم. همین که ریست میکنم درست میشه. قبل از شروع برنامه با delay تاخیر گذاشتم ولی باز فایده نداره...
اگه ممکنه راهنمایی کنید...
۰۵-اردیبهشت-۱۳۸۷, ۱۱:۴۷:۲۸
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #8
RE: کمک درمورد Initial کردن MMC
مگه اینکه میکرو هنگ کنه وگرنه کاری به جز همون تاخیر فکر نکنم انجام بده شاید هم تو یاینشیال مشکل داری دوبار اینشیال کن mmc رو شاید درست شد اون تاخیر رو هم زیادش کن

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۶-اردیبهشت-۱۳۸۷, ۰۹:۴۷:۵۹
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال درمورد timer,resetو وقفه alfaalarm 1 2,309 ۲۳-دى-۱۳۹۰, ۲۰:۲۲:۴۴
آخرین ارسال: apcog
  یک کتاب درمورد avr janReza 13 5,373 ۰۲-دى-۱۳۸۶, ۱۵:۳۵:۴۷
آخرین ارسال: agape

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS