اطلاعیه

Collapse
No announcement yet.

راه اندازی Ethernet

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راه اندازی Ethernet

    سلام خدمت دوستان و اساتید
    چندین ساله که از مطالب تخصصی در سایتهای مفید ایرانی استفاده می کنم ولی تا حالا خودم فعالیت مجازی نداشتم. ارتباطاتتم بیشتر رو در روست. کارِآ‌خیلی آدما رو راه انداختم و به اصلاح ذکات علمم رو خیلی بشتر از حد لازم پرداختم!
    الآن چند ماهه که کارم بسیار گیره یه پروژه ست و کسی هم پیدا نشده که کمکم کنه. مطالب مرتبط توی سایت هم کمکی به من نکرد. موضوع رو اینجا در میون می گذارم، شاید شماها بتونید کمکی بکنید؛

    چند تا برد برای LPC1768 و LPC1769 زدم و خوب کار می کنند. همه چی درسته،آ‌ الا Ethernet. مثالهای NXP واقعاً برام مفید بودن، ولی مثال Easyweb چند ماه از وقت من رو تلف کرده!
    از سخت افزار شروع می کنم که آی سیِ واسط فیزیکی رو DP83848 گذاشتم،آ‌ درست عینِ شماتیک MCB1700. سفارشِ از خارج دادم چند تا ازش اُوردن و همه شونو زدم ترکوندم! به طرز غریبی داغ می شد و VCCش به GND اتصال کوتاه می شد! یا مثلاً یه پایه ای که ورودی بود (مثلاً Power-Down) که باید با یه مقاومتِ معمولی راحت Pull-up بشه،آ‌ با یه مقاومتِآ‌ زیر 100 اهم همچنان ولتاژش نزدیک صفر بود (یعنی اینجوری حدود 33mA جریان می کشید). بگذریم. این مسئله جاش اینجا نیست.

    بی خیالِآ‌ این آی سی شدم،آ‌ کارم رو با یه بردِ دیگه با آی سی فیزیکی DM9161A از سر گرفتم. این آی سی از بعضی لحاظ بهتر از DP83848 اِ. ولی خوب،آ‌ این یکی هم درست کار نکرد :sad: سخت افزار رو بارها بازنگری و اصلاح کردم. کدهای برنامه رو کامل خوندم. تک تکِ بیتهای رجیسترهای دو تا آی سیِآ‌ بالا رو با هم مقایسه کردم و صد جور ژانگولربازیِ دیگه! اما تنها نتیجه مفید اینه که سیگنال 100Base سمتِ کامپیوتر به آی سیِ DM9161 می رسه (با اسیلوسکوپ دیدم) و دو تا RXآ‌ میکروکنترلر بالا پایین می ره. ولی عملاً میکروکنترلر LPC1768 هیچ سیگنالی رو دریافت نمی کنه،آ‌ هیچ سیگنالی داده ای رو هم به PHYآ‌ نمی فرسته.
    لازمه بگم که مدیریتِآ‌ MII درسته؛ یعنی سیگنالهای MDC و MDIO به درستی کار می کنند و رجیسترهای PHY به درستی نوشته و خونده میشه. مد کاری طبعاً RMII اِ بقیه چیزها هم طبق اطلاعات NXP و DAVICOM.
    به کانکتور RJ45 هم شک دارم. از RJ000002 جوان الک استفاده کردم و به نظرم اگه بتونم از آی سیِ فیلترِآ‌ جداگانه و کانکتور استاندارد RJ45 استفاده کنم بهتره. منتها آی سی فیلتر پیدا نکردم هنوز. اگه سراغ دارید بگین.
    چند تا کدِآ‌ مختلف رو روی میکروکنترلر اجرا کردم. هیچ کدوم فایده ای نداشتند. شماتیک و برد نهایی رو با نمونه بردِآ‌آموزشیِآ‌ چینی (اسمش LPC1768-Mini-DK) منطبق کردم و کدِآ‌ نمونه اون رو پس از جستجوی فراوان در وبلاگهای چینی! روش اجرا کردم. بازم بی فایده.

    در اسرع وقت شماتیک رو براتون می فرستم.

    حالا، اگر کسی تجربه ای داره برای سخت افزار مبتنی بر LPC، و کار بر روی راه اندازی بلوک EMAC اونها، لطفاً برای من بنویسه اینجا.
    متشکرم
    بیایید با Google آشتی کنیم!

    #2
    پاسخ : راه اندازی Ethernet

    سلام

    منم مثل شما دارم رو اترنت کارم میکنم البته برای LPC2368 و تا حالا هم یه برد زدم اونم برای KS8721 بود که وقتی ای سی بدونه میکرو به کامپیوتر وصل میکردم شبکه برقرار میشد و کامپیوتر میرفت برای شناساسی دستگاه (هر دو ال ای دی رو سوکت RJ45 روی بردم روشن و یک هم چشمک میزد )ولی چون میکرو وصل نبود شناسایی نمیکرد ولی مثال Easyweb رو نتونستم جواب بگیرم

    حالاهم رفتم سراغ DP83848 و فردا بردی که اماده کردم رو سفارش میدم والبته شماتیک رو هم از برد MCB2300 برداشتم و با برد MCB1768 هم مقایسه کردم یکی هستند تو دیتاشیت هم که دیدم همه رو درست رفته بود شما بردتون مشکل نداشته که داغ میکرده؟
    سوکت رو هم میتونید از سایت زیر تهیه کنید که استاندارد هست و فیلتر دار والبته سفارش باید بدین من یدونه برای برد قبلی گرفتم 6500 که سوکت برای گیگالن بود و از جمهوری گرفتم ، برای برد جدیدم رو از همین سایت گرفتم. راستی شما ای سی 83848 رو از کجا تهیه کردین؟
    میتونید یه عکس از شماتیک یا پی سی بی بزارین می خوام تا با بردم خودم مقایسه کنم

    اینم عکس برد خودم که هنوز نزدم



    اینم لینک سایت برای سوکت
    www.kavirelectronic.ir/eshop/

    دیدگاه


      #3
      پاسخ : راه اندازی Ethernet

      آقا وحید عزیز، سلام
      ممنون بخاطر همراهی. ای کاش شماتیک رو می ذاشتی تا ببینیم.
      اینم شماتیکِ من:

      PCB ی من خیلی درهم و کوچیکه، فعلاً به کار نمیاد اینجا!
      آی سی ها رو نمی دونم از کجا خریدن! مطمئناً سفارش به یکی از مغازه های جمهوری و خرید از چین

      LEDها چشمک می زنن و تو کامپیوتر می نویسه 100Mbps متصل شد. ولی هیچ بسته داده ای از سمتِ میکروکنترلر به کامپیوتر نمیاد. من یه نرم افزار پیدا کردم که آمارِ همه ورودی خروجی های شبکه رو می گیره! (به اسمِ کوسه موسه - shark - اینا بود! یادم نی الآن!). دیدم که کامپیوتر به IP ی 192.168.0.255 داده می فرسته. خودم هم Ping کردمش که یه بسته داده رو Broadcast می کنه به سمت IP مقصد. اگه ارتباطات سخت افزاریِ شبکه درست باشه، Ping حتماً می رسه به مقصد. ولی تو بردِ من داده ای توسط میکروکنترلر دریافت نمی شه. رو پایه های RX0-1 میکروکنترلر (مربوط به EMAC) سیگنال هست، ولی میکرو جواب نمی ده بهش. TX0-1 میکرو خروجی نداره.

      سوکت RJ45 با فیلتر و بدونِ LED خریدم امروز، 1000 تومن!!
      راستی، چطوری میشه به طور غیر مجازی از کویر الکترونیک خرید کرد؟!!

      خوب، در موردِ شما، امیدوارم Ethernet به درستی راه بیافته. اگه راه افتاد فوتی کوزه گریش رو به منم بگید حتما! :smile:
      بیایید با Google آشتی کنیم!

      دیدگاه


        #4
        پاسخ : راه اندازی Ethernet

        این شماتیک منه

        http://www.4shared.com/file/JRQVKmgX/DP83848_Sheet_2.html


        شماتیک شما با باله من هیچ فرقی نمیکنه
        فکر میکنم کار خاصی باید انجام بدیم تا میکرو دیتا ارسال کنه برد قبلیم رو وقتی به میکرو وصل میکنم چراغ های سوکت الا روشن نمیشه چرا نمیدونم شما هم این این طوری میگید احتمالا اگه من بزنم با همشن مشکل مواجه شم

        در مورد خرید از اون سایت هم خود فروشگاه تو یزد هست و کاری نمیشه کرد برای تو کمتر از 48 ساعت رسید دستم قیمت ها فوق العاده خوبه

        شما اون سوکت رو از کجا 1000 تومن خریدید؟

        دیدگاه


          #5
          پاسخ : راه اندازی Ethernet

          PCB شما هم که عین مالِ من بود.
          سوکت رو از زیرزمینِ توکل خریدم. تقریباً همه مغازه ها همچین سوکتِ RJ45 رو دارن و زیرِ 2000 تومن می فروشند، ولی خودشون نمی دونن چیه! جوان الک و کویر و این مغازه ها چون می دونن چیه، قیمت رو دو سه برابر می کنن و مشتری هم می خره!

          من دارم یه بردِ کوچیک برای Ethernet می زنم دوباره. این بار با رعایت کامل مواردی مثل زمینهای آنالوگ و دیجیتال، تغذیه های آنالوگ و دیجیتال و Decouple کردن اونها، طول یکسان برای سیمهای RX+- و TX+-، طول یکسان سیگنالِ 50MHz (یه سمتِ میکروکنترلر و PHY) و غیره.

          یه موردِ دیگه اینکه، اگه بشه Ethernet رو با 10Mbps هم راه بندازیم کافیه ها! قرار نیست سرور به پا کنیم توی میکروکنترلر! یکی دو تا بسته داده بفرسته و بگیره کافیه به جان خودم! امروز تلاش کردم تنظیمات کارت شبکه کامپیوتر رو کردم 10Mbps، و به زور PHY رو بردم تو مد 10Mbps FD ولی این بار اصلاً علامت کامپیوترها هم درست نشد این گوشه! هیچی.

          شما لطف کن خبر بده به من که بردت به کجا رسید. مونتاژ کردی و جواب گرفتی حتماً به من بگو

          ما منتظریم...
          بیایید با Google آشتی کنیم!

          دیدگاه


            #6
            پاسخ : راه اندازی Ethernet

            من دارم یه بردِ کوچیک برای Ethernet می زنم دوباره. این بار با رعایت کامل مواردی مثل زمینهای آنالوگ و دیجیتال، تغذیه های آنالوگ و دیجیتال و Decouple کردن اونها، طول یکسان برای سیمهای RX+- و TX+-، طول یکسان سیگنالِ 50MHz (یه سمتِ میکروکنترلر و PHY) و غیره.
            شما مطمئن هستید که هیچین کار هایی رو باید برای DP83848 کرد؟ من دیتاشیت DP83848 و KS8721 رو دیدم همچین چیزی نگفته بودند مخصوصا زمین انالوگ و دیجیتال و فقط تو دیتا شیت DM9161 دیدم که این طوری بود و خیلی ای سی مضخرفی هم هست

            دیدگاه


              #7
              پاسخ : راه اندازی Ethernet

              توجه به موارد آنالوگ-دیجیتال و سیمهای فرکانس بالا تو هر کارِ طراحی برد بطور ضمنی باید رعایت بشه. نگران نباش، من این برد جدید رو برای DM9161 زدم، نه DP83848. بردِ من دو روز دیگه آماده س. نتیجه رو می نویسم اینجا. شما خبری از بردت نشد که...
              بیایید با Google آشتی کنیم!

              دیدگاه


                #8
                پاسخ : راه اندازی Ethernet

                برد فردا انشاالله میاد دستم...

                راستی DM9161 برا میکرو های اتمل هست یعنی با اونها بیشتر سازگاری داره

                دیدگاه


                  #9
                  پاسخ : راه اندازی Ethernet

                  مبارکه به سلامتی بعد از کلی خرج کردن و لحیم و... این برد اصلا جواب نـــــــــــــداد!!!!! :angry: :angry: :angry:
                  باز دمش گرم برد قبلی یه اتصال 100 مگ میداد این برد اینم هم نداد

                  فقط موقعی که دادم ای سی رو لحیم کنن برام یارو لحیم کرد بار اول ولی اشتباه لحیم کرد بعد گفتم ای سی رو جدا کنه و درست لحیم کنه که این کارو کرد برام ، احتمال داره ای سی در حین لحیم کاری (با هیتر لحیم کرد )بار دوم سوخته باشه؟؟؟؟ برد 250 میلی جریان میکشه

                  تو تهران جایی هست که DP83848 رو داشته باشه؟

                  دیدگاه


                    #10
                    پاسخ : راه اندازی Ethernet

                    جریانِ این برد به طور متوسط 100-150 میلی آمپره. تمام Pull-upها و Pull-down ها رو بررسی کن. احتمالِ سوختنِ آی سی کمه. ولی در کل جواب گرفتن از سخت افزارش خیلی مشکله. به این راحتی نیست که بردهای آماده رو بچه ها روشن کنن و ماشاللاه Easyweb رو روش اجرا کنن و بَه بَه و چَه چَه کنن!

                    نندازش دور. روش کار کن. همچنان جا داره.
                    فکر نمی کنم تو ایران باشه آی سی. باید سفارش بدی از چین بیاد. 10-12 روزه میرسه دستت.

                    من فردا DM9161 رو تست می کنم. البته چشمم آب نمی خوره! ولی خوب دیگه، چه کنیم...
                    بیایید با Google آشتی کنیم!

                    دیدگاه


                      #11
                      پاسخ : راه اندازی Ethernet

                      ای سی 83848 من شماتیکش رو با دو ای سی دیگه DM9191 و KS8721 مقایسه کردم که اشغال ترین 9161 هست که خیلی داغونه و بهترین هم 83848 هست که چیز خاصی نداره مثل یه ای سی معمولی 8721 بین اون دوتا هست ولی خوب ساده هست که وقتی بردش رو زدم حداقل اتصال 100 مگ رو میداد این برد همین رو هم نداد من هنوز شک دارم که برد 8721 مشکل داشته باشه

                      راستی رایت ک.یر الکترونیک ای سی 83848 رو داره من سافرش دادم تا دو روز دیگه میاد دستم

                      شماهم من رو از جریان کارات بی خبر نزارید

                      دیدگاه


                        #12
                        پاسخ : راه اندازی Ethernet

                        احسند پس مورد استفاده DP83848 زیاده که آی سی ش رو وارد کردند.

                        راستش من نمی فهمم شما چه جوری از روی شماتیک تونستی این سه تا آی سی رو به این شکل دسته بندی کنی! و چرا به DM9161آ‌ لغب "آشغال ترین" رو نسبت دادی! ولی به طور حتم این آی سی کار می کنه و جواب می ده. جوان الکترونیک سه چهار ساله که ینو می فروشه. اگه منظورت اینه که DP83848 محصولِآ‌ National اِ و اون شرکت اصلاً کارش حرف نداره و خفنه و اینا، درست. ولی هر وقت تونستی خیلی راحت از یه آی سی جواب مطلوب رو بگیری بگو آی سیِآ‌ خوبیه،آ‌ یا برعکس اگه بعد از همه تلاشها (نه فقط با یک طراحی برد) جواب مورد نظر رو نگرفتی، اون وقت بگو فلان آی سی مزخرفه.
                        با این حرفا،آ‌ هر سه تای این آی سی ها مزخرف هستند! ولی این حرف درست نیست. در واقع ما نتونستیم از این آی سی ها جواب بگیریم.

                        خوب،آ‌ من رفتم سراغ بردِآ‌ قبلیِآ‌ خودم که با DP83848 زده بودم. ارتباط 100Mbps وصل می شه سمتِآ‌ کامپیوتر ولی مثل قبل هیچ داده ای ارسال نمی شه. اون قضیه Pull-up و جریان کشی که گفتم هم چِرت بوده! تو همه این آی سی ها،آ‌ پایه های ورودی این شکلی در هنگام Powerup نمونه برداری می شن و تا آخر این مقدار توی یه رجیستری باقی می مونه. برنامه میکروکنترلر رو دست زدم. مقدار رجیسترهای PHY رو خوندم. همه چی خوب و درست بود. حتی سیگنال های 100BaseT هم رو اسیلوسکوپ دیده می شه. ولی داده ای به میکروکنترلر نمی رسه و از میکروکنترلر هم هیچ داده ای به کامپیوتر نمی ره.
                        DP83848 یه راهی داره برای درست کردن Lopp-Backآ‌ (یعنی هر چی از کامپیوتر می گیره رو می فرسته براش). این کار رو هم انجام دادم. نتیجه خاصی نداد. یعنی به ظاهر باید سیگنالهای RX0-1 و TX0-1 که به هم وصل شده اند یه چیزی بالا پایین می پرید! ولی انگار که نه انگار.

                        پیشنهاد می کنم شما با بردت بیشتر سر و کله بزنی. برنامه رو چک کن. رجیسترها رو بخونی. سخت افزار رو با اسیلوسکوپ چک کن. مثلاًآ‌ یه Pull-up معمولی برای پایه MDIOآ‌ حتماً لازمه. یا اینکه PHYADDR رو حتماً از توی رجیسترش چندین بار بخون. اگه لازم شد به صورت دستی PHYADDR[0] رو Pull-up کن و بقیه رو Pull-dwon یا هر شکلِآ‌ دلخواهِ دیگه.

                        با این تجربیات من،آ‌به نظرم ایراد از این آی سی ها نیست. ما بلد نیستیم درست استفاده شون کنیم. همین که من ندونسته زدم چندین تا DP83848 رو سوزوندم! خودش یه شاهدی بر این قضیه ست.

                        احتمالاً شنبه برد جدیدم رو رونمایی می کنم!
                        بیایید با Google آشتی کنیم!

                        دیدگاه


                          #13
                          پاسخ : راه اندازی Ethernet

                          این لینک شماتیک و بردم هست شما با ماله خودتون مقایسه کنید ببیند چقدر فرق میکنه

                          برد من اصلا اتصال به کامپیوتر نمیده و تا وقتی هم این اتصال رو نده من نمیتونم برم سمت برنامه نویسی و ...

                          شما وقتی بردتون رو بدونه میکرو به کامپیوتر وصل میکنید اتصال رو میده؟ وقتی که یارو داشت ای سی رو برای بار دوم لحیم میکرد بنظرم رو ای سی زیاد هیتر گرفت

                          وقتی که ولتاژ خروجی رگلاتور 3.2 رو به برد میدم ولتاژ رگلاتور افت میکنه و میا رو 0.5 ولت

                          اگر امکان داره شما هم لینک شماتیک و برد 83848 خودتون رو هم بزارین

                          من یه مشکل دیگه با برد قبلیم که برای KS8721 هست دارم اینه وقتی برد رو بدونه میکرو به کامپیوتر وصل میکنم چراغ هیا سوکت روشن میشه ولی وقتی میکرو به برد وصل میکنم تا حالا هرچقدر ور رفتم این چراغ های سوکت روشن نمیشه

                          شما تونستی مقدار ریجیستر های ای سی رو بخونی؟ اگه بتونید بخونید من فکر میکنم تمومه برنامه easyweb رو باید جواب بگیرد

                          بنظرتون یه همچین چیزی رو برد برد جواب میده؟ :biggrin:

                          http://www.4shared.com/rar/YsS5eeaP/DP83848.html


                          دیدگاه


                            #14
                            پاسخ : راه اندازی Ethernet

                            شماتیکمون مثل همه و مثل شماتیک بردهای آموزشیِ Keil یا اون چینیه. قبلاً هم گفته بودم که مثل هم بوده شماتیک مدارمون. من شماتیکم رو اون بالا گذاشتم دیگه. مگه نوشته های منو نمی بینی؟!! PCB ش رو هم گفتم که به دردت نمی خوره. چون درهمه و کوچیک.

                            منم مشکلِ اتصال کوتاه (Vcc و GND) داشتم با DP83848. وقتی اتصالی می کنه، دیگه کاریش نمی شه کرد! آی سیِ خالی رو رو هوا تست اهمی کردم (دمونتاژ کرده بودمش) و اتصال کوتاه داشت. در کل این مدار بیشتر از 150 میلی آمپر نباید جریان بکشه. سیمهای GND و Vcc رو چک کن. اتصالی داره احتمالاً.

                            به چراغها هم زیاد اعتنا نکن. اوّل جریان کشی رو رفع کن، بعد برو با میکروکنترلر رجیسترهاش رو تنظیم کن. یه ارتباط 100Mbps میده سمت PC.

                            خوب، اینجا چرا فقط ما دو نفر با هم تبادل نظر می کنیم؟!! بچه های کار بلدِ ECA بیاید کمک دیگـــه! :question: وحید ورزش عزیز، اگه از رفقای این فروم کسی رو می شناسی پیغام بده بیاد کمک. اینجوری به جایی نمی رسیم...
                            بیایید با Google آشتی کنیم!

                            دیدگاه


                              #15
                              پاسخ : راه اندازی Ethernet

                              شماتیکمون مثل همه و مثل شماتیک بردهای آموزشیِ Keil یا اون چینیه. قبلاً هم گفته بودم که مثل هم بوده شماتیک مدارمون. من شماتیکم رو اون بالا گذاشتم دیگه. مگه نوشته های منو نمی بینی؟!! PCB ش رو هم گفتم که به دردت نمی خوره. چون درهمه و کوچیک.
                              عصاب نداری ها!!!! حالا کوتا 120 ساله گی با این عصاب زیاد دوام نمیاری هااااا!!!! :biggrin: از من گفتن بود :biggrin:

                              من شماتیک رو دیدم گفتم شماهم یه نگاه بکنی شما تجربت بیشتر شاید جایی من اشتباه کردم شما متوجه بشی

                              کلا این برد یه جوریه وقتی خروجی رگولاتور که 3.2 ولت هست رو بمحضه اینکه به برد میزنم ولتاژ میشه 0.5 ولت ، ای سی ها یی که سفارش دادم باید سریع عوض میکنم

                              اون برد قبلی رو هر کاری میکنم نمیتونم مقدار رجیستر ها رو بخونم به کمک این دستور

                              کد:
                              id1 = read_PHY (PHY_REG_IDR1);
                              البته اول اترنت میکرو رو هم اینیت میکنم

                              دیدگاه

                              لطفا صبر کنید...
                              X