PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اتصال sram به stm32



mrmehdi
04-05-2014, 00:11
سلام
دوستان یه سئوال بد ذهن من رو به خودش مشغول کرده و جوابی براش پیدا نکردم.
من میخوام یه SRAM به میکرو های 100 پایه به بالا STM وصل کنم که FSMC دارن ولی مشکل اصلیم اینجاست که هرچی نقشه توی نت رو بالا پایین میکنی و میچرخی جز آی سی SRAM سری IS62wvxxxx که دیتای 16 بیتی دارن معرفی نشده!!!
اینگار یه نفر تا حالا پیدا نشده که بخواد یه مقداری بغیر از این آی سی رم به این میکرو ها وصل کنه!!!
مثلا من الان این چیپ اس رم HM62256 رو دارم.
یه اس رم 8 بیت 32 کیلو بایتی است.
کسی میتونه کمک کنه که چطور باس این رو به یه STM وصل کنم و آدرس دهی کنم؟؟
دوتا پین هست توی آی سی IS62WVxxxxx بنام UB و LB که اشاره میکنه به 8بیت بالایی و 8 بیت پایین دیتای 16 بیتی .
الان من چطور میتونم با HM62256 که این پایه هارو نداره رو به STM وصل کنم؟
میشه 2تا HM62256 رو موازی کنم و یه باس 16 بیت بسازم؟

sadmonew
04-05-2014, 15:16
سلام مهندس
باس داده fsmc رو به دلخواه میتونی 16 بیتی یا 8 بیتی انتخاب کنی.

fsmc_norsraminitstructure.fsmc_memorydatawidth = fsmc_memorydatawidth_16b;

mrmehdi
05-05-2014, 01:48
یعنی صرفا من فقط باس رو 8 بیتی انتخاب کنم حله؟
دیگه مورد خواصی وجود نداره؟
بعد اینکه در مورد آدرس دهی چطوریاست؟
اگه من بخوام از دوتا رم 32 کیلو یه 64 کیلو بسازم خطوط آدرس و کنترل رو چطور باس به رم ها وصل کنم؟
پایه های FSMC_NEx طبق گفته دیتا شیت واسه چیپ Enable آی سی های جانبی استفاده شده است ولی چرا همواره از FSMC_NE3 توی نقشه ها استفاده شده است.
ممنونم از پاسخت مهندس

dellfogostar
05-05-2015, 11:53
سلام
من sdram رو به stm32f429zg به همراه lcd وصل کردم و درایور lcdconf.cرو از قسمت درایور های segger برای که برای stm32f429 بود استفاده کردم اما نمیدونم چرا تو guiinit هنگ میکنه صفحه ال سی دی طبق تعریف بکگراندی که تو lcdconf.c کرده آبی میشه . وهمچنین آدرس و داده ها تو رم تست کردم جواب میده اما نمیدونم چرا با lcd هماهنگ نیست البته تو lcdconf.c از dma2d استفاده شده
کد راه اندازی رم که برا STM32F429I-discovery هستش
رم هم
K4S561632C-TC75- (You can see links before reply)
هستش
نکته :ایا منظور از این کد( /* FMC SDRAM control configuration */

FMC_SDRAMInitStructure.FMC_Bank = FMC_Bank2_SDRAM)
همون بانک تو میکرو هستش یا sdram

نکته 2- فک کنم کلاک تقسیم بر دو شده .
اگه میشه کد کانفیگ sdram خودتونو بزارید
نکته 3 کد /* Row addressing: [7:0] */
FMC_SDRAMInitStructure.FMC_ColumnBitsNumber = FMC_ColumnBits_Number_8b;
/* Column addressing: [11:0] */
FMC_SDRAMInitStructure.FMC_RowBitsNumber = FMC_RowBits_Number_12b
اینجا از تعداد 8 row و 12 col استفاده کرده اما من تو دیتاشیت رم گفته 0-8 تا ROW ی و از 0-12 یعنی به ترتیب 9 و 13 .ابن تعریف چه تاثیری رو RAM داره(اینو میدونم که حافظه رو افزایش میده)؟
آیا تاثیر طول ترک ها زیاد هستش؟

dellfogostar
09-05-2015, 12:26
سلام دوستان
اگه فایل lcdconf.c برا stm32f429 و همچنین timing lcd7 inch رو دارید آپلودش کنید.
فایل lcdconf.c خود emwin هنگ میکنه.
تشکر.