PDA

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



sbbanoo
12-08-2018, 12:25
با سلام
دوستان من میخوام با میکرو stm32f407zet6 با استفاده از چیپ dp83848 اترنت رو راه اندازی کنم. از نرم افزار cubemx استفاده کردم و پریفرال ETH روی مدMII تنظیم کردم و LWIP رو هم کانفیگ کردم. اما متاسفانه نمیتونم از طریق کابل شبکه به میکرو متصل بشم و PING بگیرم. کسی هست من رو راهنمایی کنه؟:brk:

mzarkoob
12-08-2018, 14:07
سلام
ابتدا باید ببنید برد سالم است :
----------------
حل دو معادله دو مجهول
ایراد از برد است یا از برنامه!؟
در مواردی یک برنامه روی برد شما کار نمی کند. یا خود برد زده این یا از برد آماده استفاده می کنید. یا خود برنامه نوشته اید یا از سمپل آماده استفاده کرده اید.
ایراد از کجاست؟ یک مقدار وقت صرف برنامه می کنید و کمی صرف سخت افزار. همه چیز هم درست می بینید.
در اینجا به شکلی باید از یک طرف اطمینان حاصل کنید. یا از برنامه یا از برد.
یک برنامه ای که بر روی یک برد کار می کند روی برد شما هم باید درست کار کند مگر آنکه سخت افزار شما مشکل داشته باشد(موارد عجیبه و استثناها بماند)
armeducation
------------------
یک برنامه ای که از آن مطمئنید اگر رو برد بریزید که کار کند آن وقت وقت خود را صرف تنظیمات کیوب می کنید و اینکه ببینید چه تنظیمی انجام نشده.
این برد سمپل همراه ندارد؟
البته در فیلم آموزش پیشرفته stm32f1 مبحث اترنت با rl کیل شرح داده شده است که از آن هم برای راه اندازی می توانید استفاده کنید.

sbbanoo
12-08-2018, 15:24
سلام
ابتدا باید ببنید برد سالم است :
----------------
حل دو معادله دو مجهول
ایراد از برد است یا از برنامه!؟
در مواردی یک برنامه روی برد شما کار نمی کند. یا خود برد زده این یا از برد آماده استفاده می کنید. یا خود برنامه نوشته اید یا از سمپل آماده استفاده کرده اید.
ایراد از کجاست؟ یک مقدار وقت صرف برنامه می کنید و کمی صرف سخت افزار. همه چیز هم درست می بینید.
در اینجا به شکلی باید از یک طرف اطمینان حاصل کنید. یا از برنامه یا از برد.
یک برنامه ای که بر روی یک برد کار می کند روی برد شما هم باید درست کار کند مگر آنکه سخت افزار شما مشکل داشته باشد(موارد عجیبه و استثناها بماند)
armeducation
------------------
یک برنامه ای که از آن مطمئنید اگر رو برد بریزید که کار کند آن وقت وقت خود را صرف تنظیمات کیوب می کنید و اینکه ببینید چه تنظیمی انجام نشده.
این برد سمپل همراه ندارد؟
البته در فیلم آموزش پیشرفته stm32f1 مبحث اترنت با rl کیل شرح داده شده است که از آن هم برای راه اندازی می توانید استفاده کنید.
سخت افزار طراحی خودمون هست و برنامه های ساده هم روش جواب داده. مشکل اینجا دستوراتی هست که برای ping گرفتن از طریق کابل شبکه لازمه

mrm
12-08-2018, 20:57
سلام
cubemx برای شبکه از lwip استفاده میکنه.
برای پینگ باید کتابخونه icmp رو هم اضافه کنید ( Define مربوطه رو فعال کنید تا اضافه بشه ) و برای شروع ip استاتیک بدید تا بشه راحتتر مشکل رو حل کرد
برای دیباگ خود lwip خروجی تقریبا تمام بخش ها رو میتونه روی سریال برسته کافیه مد دیباگش رو هم فعال کنید و خروجی ها رو ببینید.

sbbanoo
14-08-2018, 09:41
با تشکر. نیازی هست که با استفاده از دستورات کتابخانه icmp کدنویسی کنم؟ چه دستوراتی باید برای پینگ گرفتن در حلقه while استفاده کنم؟

mrm
14-08-2018, 12:00
نه نیازی به به کدنویسی نیست.شما فقط باید اضافه اش کنید.

sbbanoo
14-08-2018, 16:49
متاسفانه جواب نداد. من کتابخونه icmp.h رو به فایل main اضافه کردم. ip رو هم در cubemx مقدار دهی کردم.

mrm
14-08-2018, 21:43
قرار نیست با اضافه کردن header ، چیزی به برنامه شما اضافه بشه.
cubemx->configuration->lwip->general setting->lwip_icmp
رو enable کنید.
در همون بخش dhcp رو غیرفعال کنید و ip و بقیه پارامتر ها رو تنظیم کنید.
دقت کنید که ip میکرو باید در رنج ip که داخل سیستم تنظیم هست باشه.

sbbanoo
15-08-2018, 11:38
همه این موارد رو اعمال کردم یه کد تست led هم نوشتم که اجرا میشه ولی led روی کانکتور شبکه روشن نمیشه و ping هم نمیده باید چکار کنم؟

mrm
18-08-2018, 01:19
led روی کانکتور شبکه باید از طریق خود dp روشن بشه.که با استفاده از مقاومت های پول اپی که روی پین ها میزارید میشه تنظیمش کرد.(البته از داخل رجیستر هم میشه)
قبل از هر چیز شماتیک مدار رو با دیتاشیت به دقت بررسی کنید(اگر برد اماده هست باید مثال اماده روش باشه.) بعد روی برد ولتاژ ها رو چک کنید.مقاومت 4.87 مقدارش مهمه که همین مقدار باشه.PFBOUT هم ولتاژش رو چک کنید.خروجی اسیلاتور 25 مگاهرتز رو چک کنید.اگر اینها درست بود حالا میشه کد رو بررسی کنید.اینکه پین های متصل از میکرو به dp رو داخل نرم افزار cubemx درست تنظیم کردید یا نه ؟
تا برسیم به بقیه موارد

sbbanoo
20-08-2018, 15:07
بله مواردی که گفتین چک کردم درست هستن