PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : در خواست کمک در راه اندازی sd با stdio



wantedboy
16-09-2014, 15:15
سلام دوستان
کسی یه کتابخانه کامل و دست نخورده از راه اندازی sd با stdio نداره برای شروع کار می خواستم.(stm32f103ret6 میکرو اینه).هرچی گشتم یدونه کامل دست نخورده پیدا نکردم.
ممنون میشم دوستان کمک کنید

bascom2
16-09-2014, 16:28
با سلام
من هم روی این موضوع کار کردم نتیجه نگرفتم خواهشن دوستانی که جواب گرفتند کتابخانه کامل آن را برای استفاده سایر دوستان قرار دهند
توضیح اینکه شما در حالت معمولی می توانید حداکثر 4 مگابایت از روی sd بخونید اما با این اینترفیس خاص تا حدود 50 مگ را می شود از روی sd خواند که برای کارهای پردازش تصویر و موراد مشابه کفایت میکند.
با تشکر

mdgr
21-09-2014, 12:44
سلام مهندس منظورتون Sdio هست؟ یه مثال خوب تو سایت هست که روی stm32f103vet6 جواب داده.
منم میکروم stm32f103ret6 هست ولی این مثال واسم جواب نمیده و هیچ جوابی از کارت حافظه دریافت نمی کنم.
مثال توی بخش راه اندازی sdio و کار با توابع کتابخانه ای (You can see links before reply) هست تو صفحه سوم یه جستجو کنید پیدا میشه. از اون برنامه تست بگیرید اگه ممکنه جواب تستتونو هم بگید
موفق باشی
ممنون

wantedboy
22-09-2014, 08:41
سلام
اون برنامه تست کردم هیچ جوابی نتونستم بگیرم.:(cry::

mdgr
22-09-2014, 08:56
روی پورت سریال چی می نویسه؟
بورد میکروتون رو خودتون زدین؟ طبق همون شماتیک صفحه اول همون بخش بستین مدارتونو؟

wantedboy
22-09-2014, 16:53
روی پورت سریال چی می نویسه؟
بورد میکروتون رو خودتون زدین؟ طبق همون شماتیک صفحه اول همون بخش بستین مدارتونو؟
نه خودم نزدم برد و خریدم.
مشکل اینه که اصلا بودن یا نبودن مووری هیچ تاثیری روی کار نداره.

mdgr
24-09-2014, 10:29
مهندس من حدودا دو ماه هست که روی این موضوع کار می کنم. اگه براتون ممکنه (با دیباگر یا یک سخت افزاری که بشه بررسی کرد مثل یه led) یک بخش برنامه رو چک کنید چون مشکل اینکه بودن و نبودن کارت حافظه فرقی نداره فک می کنم اون قسمت باشه.
توی فایل sdcard.c توی تابع SD_PowerON یک تابع به نام CmdResp7Error هست کار این تابع اینه که وقتی دستور از میکرو به کارت حافظه ارسال میشه با بررسی کردن بیت های CTIMEOUT و CCRCFAIL و CMDREND وضعیت پاسخ را معلوم میکنه. اگر کارت حافظه نباشه منطقیه که CTIMEOUT باید set بشه ولی بیتی یک میشه که یعنی پاسخ دریافت شده صحیح است همون بیت CMDREND به نظرم مساله شما هم همین باشه که میگید بودن و نبودن کارت حافظه فرقی نمیکنه.
لطفا این مساله رو چک کنید اگر مشکلتون همین بود بگید در ضمن من یک فایل h. نوشتم که برای ارتباط spi هست اگه خواستین بگین که اونو هم آپ کنم براتون

mdgr
24-09-2014, 15:18
مهندس sdio حل شد روی برد یه مقاومت 1kهست کنار سوییچ سه تایی اگر اونو از برد جدا کنید مشکلتون با همون مثالی که معرفی کردم حل میشه.
اون مقاومت برای فعالسازی usb هست.
یعنی مشکل این برد اینه که نمیشه هم usb رو داشت هم sdio
البته اینم قابله حله اگر نیاز داشتین این مساله رو بگین تاجایی که بلدم راهنماییتون کنم

wantedboy
25-09-2014, 07:50
مهندس sdio حل شد روی برد یه مقاومت 1kهست کنار سوییچ سه تایی اگر اونو از برد جدا کنید مشکلتون با همون مثالی که معرفی کردم حل میشه.
اون مقاومت برای فعالسازی usb هست.
یعنی مشکل این برد اینه که نمیشه هم usb رو داشت هم sdio
البته اینم قابله حله اگر نیاز داشتین این مساله رو بگین تاجایی که بلدم راهنماییتون کنم
ممنون دوست عزیز که پیگیری
تست می کنم خبرشو بهت میدم.
اگه میتوانی اون فایل spi هم آپلود کن ممنون.
خیلی خیلی ممنون

wantedboy
25-09-2014, 11:56
سلام
من اون برنامه ها داخل اون تاپیک در مورد stdio هردو رو تست کردم جواب نداد.
لطفا کمک کنید میکرو من ret6
آیا اون برنامه ها هم روی این مدل جواب میدن.

wantedboy
25-09-2014, 20:31
سلام
اون تابع چک کردم که گفتید
ccrcfall این یک میشه.

mdgr
26-09-2014, 01:06
تو تنظیمات پروژه مدل میکرو رو باید ret6 بذارید
فاصله کارت حافظه هم باید کم باشه در حد 5 سانت. اگر باز هم جواب نگرفتین مقاومت های pull up رو از مدار جدا کنید. یعنی تو مدار فقط پایه های کارت حافظه به میکرو متصل باشن بدون pull up

wantedboy
26-09-2014, 10:44
سلام من مموری عوض کردم.
بعد برنامه دومی داخل اون تاپیک تست کردم تا دو مرحله میره جلو دیگه گیر میکنه.
فکر کنم داخل if چهارمی گیر میکنه.
لطفا یه نگاهی بکنید
بازم ممنون

wantedboy
26-09-2014, 12:45
سلام
راستی اون برنامه که گفتی با spi نوشتی اگه به صورت پروژه کامل داری برام بزار.
ممنون

mdgr
29-09-2014, 23:54
سلام من فعلا به اون پروژه spi دسترسی ندارم سعی می کنم تا آخر هفته بفرستم.
کدوم if رو میگین؟ میشه همون بخشی که گیر میکنه رو اینجا بنویسید؟منظورتون if تو main هست؟

wantedboy
02-10-2014, 07:24
سلام من فعلا به اون پروژه spi دسترسی ندارم سعی می کنم تا آخر هفته بفرستم.
کدوم if رو میگین؟ میشه همون بخشی که گیر میکنه رو اینجا بنویسید؟منظورتون if تو main هست؟

سلام
آره همون قسمت که مد انتخاب میشه.
بعد عدد 42 بر می گردونه.داخل status
راستی مموری باید fat باشه یا fat 32?

mdgr
02-10-2014, 16:04
سلام عدد 42 معنیش اینه که خطایی وجود نداره. من فکر می کنم توی تابع outputfile گیر میکنه برای شما
حالا برای تست دوتا کار انجام بدین یکی اینکه تابع outputfile رو پاکش کنید یا توضیحاتش کنید. یکی دیگه اینکه اونجا که mode انتخاب میشه که اولش رو interrupt mode هست و polling mode توضیحات شده شما interrupt mode رو توضیحات کنیید و polling mode رو انتخاب کنین.
الان برنامتون داخل if های داخل main میره؟ اگه میره همه چی حله فقط کافیه outputfile رو پاک کنید جاش توابعی که من براتون میفرستم رو استفاده کنید

wantedboy
02-10-2014, 17:42
سلام
الان تست می کنم mmc با چه فرمتی ، فرمت کنم؟
Fat یا fat32؟

wantedboy
02-10-2014, 18:38
سلام
مشکل حل شد.
اشکال کار از اونجا بود که وقتی برنامه به دستورات usart می رسید قفل می کرد.
بعد بروشون داشتم درست شد.
ممنون محمد که پی گیر بودی

wantedboy
03-10-2014, 21:30
سلام دوستان
من از روی مموری عکس با پسوند bmp نشون میدم عکس هام رو به رنگ زرد نشون میده کسی تا حالا به این مشکل بر خورده؟
داخل یه جا قبلا خونده بودم یکی هم همین اتفاق ها براش افتاده بود ولی اون عکس هاش به سمت رنگ آبی میرفت!؟؟؟
تا حالا واسه کسی اتفاق افتاده؟؟؟؟

wantedboy
07-10-2014, 13:20
سلام دوستان
سرعت spi بیشتره یا sdio ?
من الان با sdio دارم کار می کنم می تونم سرعت خوندن افزایش بدم؟
فرمت sd کارد در سرعت خوندن اطلاعاتش تاثیر داره؟ (fat 32 یا fat )
ممنون میشم کمک کنید.

sadmonew
07-10-2014, 17:25
سلام
مهندس شك نكن سرعت sdio بيشتر است و مهمترين دليل هم همين هست كه شما تو sdio از 4 خط داده(data0...data3) واسه خوندن ونوشتن استفاده ميكنيد، در حاليكه تو spi تنها دوخط(mosi , miso) ديتا داريد.

wantedboy
07-10-2014, 20:04
ممنون
در مورد بقیه سوال ها و افزایش سرعت اصلاعاتی دارید؟
من وقتی داخل برنامه mod 4 bit را فعال می کنم دیگه sd کارد جواب نمیده.
کدام مد sd سرعتش بالاست:
Poling mod
Dma mod
Interup mod

mdgr
16-10-2014, 11:50
سلام
مهندس من هم همین مشکلو دارم. دارم یه برنامه جدید می نویسم تا ببینم میشه این مشکلو حل کرد یا نه . اگر مشکلتون حل شد به منم بگین ممنون میشم.

mdgr
16-10-2014, 17:31
وقتی مد 4بیت رو فعال می کنیم خطای tx underrun error میده، سرعت هم توی مد یک بیتی خیلی کمهcry::

wantedboy
16-10-2014, 18:47
وقتی مد 4بیت رو فعال می کنیم خطای tx underrun error میده، سرعت هم توی مد یک بیتی خیلی کمهcry::
سلام
من روی مد 8 bit گذاشتم جواب داد.
ولی چهار بیت جواب نمی ده.یادمه روی یکی از مد ها چهار بیت هم جواب میده.
فکر کنم از هر دو مد جواب گرفتم.
فقط به مشکل که به وجود آمد وقتی عکس از موری نمایش میدارم داخل مد تک بیت درست بود ولی داخل آون دو مد دیگر رنگ عکس بهم می خورد!

mdgr
17-10-2014, 12:48
سلام سرعت انتقال داده ها چطور بوده؟ مد 4 بیت رو جواب گرفتین؟ چه تغییری باید تو برنامه داد بجز enable 4 bit mode ؟