اطلاعیه

Collapse
No announcement yet.

راه اندازی Ethernet

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

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

    با این وضعِ اقتصاد دیگه عصاب نمی مونه واسه آدم :rolleyes:

    شما ابتدا به ساکن با بردت کلنجار برو مشکل جریان کِشیش رو رفع کن. بعد برو سراغ برنامه.
    من برای دیباگ کردن از پورت سریال میکروکنترلر استفاده کردم و نتیجه دستورات رو می فرستم رو پورت. شما اگه می تونی این کارو بکن که خوبه. اگه نه، یه چند تا LED بذار که خاموش روشنش کنی. دیباگرِ Keil هم چیزِ عالی ایه. در حالِ اجرا مقدار تمام متغیرهای برنامه ت رو real-time نشون می ده.

    این دستوری که گفتی درسته. برای شروع حوصله کن و بشین یه ساعت Datasheet این آی سی DP83848 رو بخون. دستورات هم همش توی مثال Easyweb هست. کل رجیسترها هم اوّل برنامه معرفی شدند. همین دیگه

    خودمم و خودت!
    بیایید با Google آشتی کنیم!

    دیدگاه


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

      اتصال را داد بلاخره ولی جواب نداد

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

      دو تا پین ای سی هم لحیم نشده بود که درست تش کردم و الان دوتا برد رو با یه رگولاتتور LF33 راه انداختم که ولتاژ به 2.5 ولت میرسه این کمه نه؟

      دیدگاه


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

        آقا دیگه مطمئنم که بردم ساله ولی چرا جواب نمیگیرم نمیدونم

        روی بردم یه ال ای دی هست که برای مشخص کرد اتصال 100 مگ هست که اگر روشن باشه یعنی اتصال 100 مگ ه

        وقتی کامپیوترم رو روی Auto و 100 مگ میزارم این ال ای ای روشنه میشه ولی وقتی رو 10 مگ میزارم این ال ای دی روشن نمیشه

        دیدگاه


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

          تبریک میگم :applause: این تازه میشه وضعیت من تو سه چهار ماه گذشته!

          میگم، وحید ورزش، LF33 که دیگه گیر و گور نداره که! جریان مصرفیِ مدار چقدره؟! اگه ولتاژ ورودی رو 4-5 ولت بدی درست کار می کنه برات.

          من خودمم 10Mbps رو جواب نگرفتم. اتصال با کامپیوتر برقرار نمی کنه، حتی وقتی به زور هر دو سمت (میکروکنترلر-PHY و کامپیوتر) رو روی 10M میذارم.

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

          دیدگاه


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

            :wow:
            اولین باره که در مورد درست کردنِ یه چیز، یا راه اندازیِ یه قسمتی از پروژه انقدر احساس سرمستی می کنم. دوستان، بالأخره تونستم با واسطِ DM9161، و میکروکنترلر LPC176x ارتباط Ethernet رو راه بندازم. کدِ EasyWeb رو دستکاری کردم و چند تا کدِ دیگه هم برای ارسال بسته TCP اجرا کردم. با برنامه شنودِ پورت Ethernet هم رفت و آمدِ بسته ها و تعدادشون رو بررسی کردم. جواب میده بسیار عــالی! سرعت ارسال هم در بهترین حالت 12MB/s. یعنی داغونم کردها! لِهِ لِه!

            به جرأت اینو مدیونِ پیگیریِ خودم، و بعد از اون اسیلوسکوپِ دیجیتال! و در آخر مغازه کانکتور فروشی زیرزمینِ توکل هستم! که کانکتورِ سالم به من فروخت، فقط هزار تومن!

            آی سیِ PHY همونطور که گفتم DM9161A هست که جوان الک می فروشه. وحید ورزش جان، هنوز نفهمیدم چرا به این آی سی لفظِ "آشغال ترین!" رو نسبت دادی!! چیزی که واضحه اینه که همه این آی سی های واسط شبکه مثل هم هستند، فقط در طرح سخت افزار و PCB و کدنویسی باید نکات ظریفی رو رعایت کنید، همین.

            شماتیک دقیقاً عین چیزایی که تو اینترنت هست. نکات ریزِ طراحی رو می گم. بعداً هم شماتیک و PCB و یه تیکه از کدِ راه انداز EMAC که تغییرش دادم رو میذارم که بچه ها استفاده کنن.

            نکات:
            1) این قسمت از برد فرکانس بالاست. در طراحی و PCB کشیدن باید ملاحظات فرکانس بالا داشته باشید.

            2) طبق نکته 1، PHY رو نزدیک به میکروکنترلر قرار بدید، و کانکتور شبکه رو نزدیکِ PHY.

            3) طبق نکته 1، سیگنال کلاک 50MHz مرجع رو با Track هایی به طول یکسان به میکروکنترلر و PHY برسونید. خودِ Altium همچین امکاناتی برای سیم کشی با طولِ مشخص داره. اگر هم نداشت، خودتون به Track کلاک قر و فِر بدید! تا طولِ یکسانی از اسیلاتور به میکروکنترلر یا PHY داشته باشه.

            4) طبق نکته 1، سیگنالهای +-RX و +-TX دیفرانسیلی هستند. دقت کنید که باید هر جفت طولِ یکسان، حتی المقدور با فاصله یکسان از هم و بدونِ تیزی و تغییر جهت 90 درجه و در کوتاهترین مسیر سیم کشی بشن. باز هم Altium امکاناتی برای معرفیِ سیگنالهای دیفرانسیلی و سیم کِشیِ اونها توی PCB داره. بچه ها، این قسمت خیلی مهمه. به عنوان مثال این سیگنالها برای ارتباط 100Mbps با فرکانس 125MHz بالا پایین میرن! مقدار دامنه ولتاژشون هم متجاوز از 0.6-0.7 ولت نیست. به سادگی نویز بهشون اثر میگذاره. به سادگی روغن لحیم می تونه اثر نامطلوب روشون ایجاد کنه. بُرد باید تمیزِ تمیز باشه و این سیگنالها در نزدیکترین حالت به کانکتورِ شبکه وصل بشن.

            5) کانکتور RJ45 شبکه! اگه کسی از RJ000002 جوان الک استفاده کرده و جواب گرفته بیاد دفاع کنه! من تو 2 تا برد مختلف زدم و جواب نداد. نمی گم اشکال از اونه، ولی یکی از ایرادات اتصال Ethernet همین کانکتورهای فیلتر دار و LED داره. بردِ من یه کانکتورِ فیلتر دار و بدون LED اِ.

            6) این آی سی های شبکه می تونن توی RMII چندین تاشون به هم وصل بشن و باس درست کنند. هر کدوم یه آدرسی دارن که با اتصال مقاومت به پایه های PHYAD0-4 مشخص میشه. مثلِ I2C. خودتون آدرسِ پیش فرضِ 00001 رو بهش بدید. حتماً دو پینِ پایین آدرس رو مقاومت بذارید، چون این دو تا پین به RX0-1 وصل هستند دو تا مقاومت 10k بذارید که PHYAD0 رو Pull-up کنه و PHYAD1 رو Pull-down. بقیه پینها چون به جایی وصل نیستن مقدارِ 0 می گیرن.

            7) تمامیِ مقادیرِ Pull-up ها و Pull-down های زمانِ روشن شدنِ PHY توی رجیسترهاش نوشته می شه. رجیسترها رو بخونید و از مقدار اونها اطمینان حاصل کنید.
            دقت کنید که فقط موقعِ ریست از این پینها نمونه برداری می شه. بعد از ریست شدن، این پینها به حالت نرمالِ کار خودشون ادامه می دن.

            8) در آخر، توی برنامه EasyWeb در قسمت راه انداز EMAC یکمی دقت به خرج بدید. آی سی های PHY مختلف یه قسمتی از کدشون فرق می کنه. قبل از مقداردهی به رجیسترها برگه اطلاعات آی سی رو مطالعه کنید. با یک دیباگر (پورت سریال یا دیباگرِ Keil) مقدار رجیسترها رو ببینید.

            همین

            امیدوارم به دردِتون بخوره.
            شماتیک و PCB باشه برای بعد.

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

            دیدگاه


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

              تبریک عرض میکنم خوشحالم که جواب گرفتین اصلا فکر نمیکردم با اون ای سی جواب بگیرین :wow: :wow:

              یه سوال در مورد نکته 8

              احتمالا منظور شما ID ای هست که هر PHY داره درسته؟ شما چه تغییراتی رو تو برنامه easyweb دادین تا جواب گرفتین؟ چیز هایی که من میدونم یک ادرس PHY هست و دومی هم ID که هر PHY داره که تو دوتا بردی که من زدم ادرس 0x01 بود یا همون پیشفرض (که از رو شماتیک هم میشه تشخیص داده چیه ) که ID برای KS8721 این میشه 0x00221619 و برای DP83848 هم این میشه 0x20005C90 که تو برد دوم یعنی 83848 نیازی به تغییر اون دو نیست شما به غیر از این دو چه چیز هایی تغییر دادین؟

              تنظیمات کارت شبکه کامپیوترتون رو چی کار کردین منظورم اینه رو اتوماتیک گذاشتین یا دستی IP دادین

              وضعیت برد من رو میدونید ، منظورم اتصال میده ، بردم مشکل داره؟

              دوتا بردم زدم تاحالا هردو اتصال رو میدن نمیدونم چرا تو هر دو برد با ای سی ارتباط بقرار نمیکنم

              فقط کمک کنید تغییراتی که تو Easyweb دادین رو بگید من برنامه نویسی Socket رو بلدم و در میکرو هم احتمال زیاد بتونم از پس ش بر بیام ولی تو این برد ش گیر کردم کمک کنید

              من میتونم شمارتون رو داشته باشم

              من تو برد 83848 مقاومت های پول اپ و پول دان نزاشتم برای پین های مزبوط به ادرس ولی تو دیتا شیت گفته که PHYAD0 پول اپ ضعیف داه و PHYAD1-4 هم پول دان ضعیف داه خودشون

              راستی اون دوتا بردی که زدم رو هیچ کدوم میکرو نزاشتم و میکرو بیرون هست و یه کابل 10 رشته ای میکرو به برد وصل میکنم

              دیدگاه


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


                :wow: :wow: :wow: :wow: :wow: :wow:

                ای ول!! تبریــــــک می گم! خیلی خیلی خوشحال شدم از اینکه هر دوتامون راضی و خوشنود این پست رو ترک می کنیم )

                راستی، بُردت چه جوری بود؟ همون آی سی سوخته قبلیه بود؟!
                من که هر نکته ای به ذهنم می رسید گفتم! درست یا غلطش دیگه بخاطرِ جو خوشحالیِ سنگینی بود که بر من غالب شده بود دیروز )
                راجع به Pull-up اینا نمی دونستم. ممنون که گفتی. بقیه چیزا رو هم درست گفتی. من چون خیلی وسواس داشتم بعضی قسمتهای برنامه رو دست زدم و به ظن خودم درستش کردم! ولی حالا که مال شما جواب داده، خوب پس از اوّلشم درست بوده دیگه. حالشو ببــر
                بیایید با Google آشتی کنیم!

                دیدگاه


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

                  ای سی رو که عوض کردم ولی خوب وقتی که عوض کردم همون طوری مثل قبل جواب نداد و مشکل از اسیلاتور بود که درست کردم و کار کرد
                  راستی من با ٨٣٨۴٨ جواب گرفتم اونم اسیلاتورش رو برد برد هست ولی با KS8721 جواب نگرفتم هنوز هرجی ID رو عوض میکنم جواب نمیده شما چیکار کردین که جواب داد
                  من از فردا میرم که یه دونه برنامه easyweb رو از صفر شروع کنم بنویسم انشاالله و امید وارم از پسش بر بیان
                  من میتونم ایمیل تون رو داشته باشه؟ البته اگر به ایمیلتون سر میزنیدو برای کاری بغیر از این پروژه می خواستم یه جور هایی دارم تیم تشکیل میدم ولی قطعی نیست

                  دیدگاه


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

                    هر کاری میکنم مثال های تو کیل رو جواب نمیگیرم چرا؟ در صورتی که مثال Easyweb رو کار میکنه و صفحه اش رو میبینم تو mozilla هم تو IE

                    دیدگاه


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

                      مثالهای Keil؟!!! مثالها؟!! ببخشید مگه Keil چند تا مثال داره واسه Ethernet؟!!
                      تا اونجا که من اطلاع دارم این چیزایی که توی اینترنت می بینی مثالهای Keil نیست. easyweb مالِ خود NXP اِ. یه bootloader برای Ethernet هم داره که بازم مال NXP اِ.

                      حالا شما بفرمایید این مثالها رو از کجا اُوردین؟!
                      بیایید با Google آشتی کنیم!

                      دیدگاه


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

                        مثال ها توی این مسیر هستند!!!
                        c:\keil\arm\boards\keil\mcb2300\rl\tcpnet

                        راستی من می خوام برد قبلیم که مربوط به KS8721 هست رو هم جواب بگیرم شما چی کار کردین تو پروژه Easyweb تا جواب گرفتین؟ من ای دی رو تغییر میدم ولی جواب نمیده؟

                        دیدگاه


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

                          بازم گفت مثال ها!! وحید ورزش جان، شما برای یه دونه از هر چیز چرا شناسه جمع بکار می بری آخه؟!! تو اون آدرسی که گفتی یه دونه مثال Ethernet بیشتر نیست.
                          کلاً NXP دو تا مثال برای Ethernet داره، یکیش همین Easyweb و دومیش هم bootloader برای Ethernet (که هنوز خودم نتونستم راه بندازمش!).

                          مثالهای دیگه رو باید از جاهای دیگه تو اینترنت پیدا کنی.

                          در مورد اون آی سی KS8721 من اطلاعاتی ندارم. تغییراتی که من برای DM9161 دادم بجز ID این بود که با دستور (نوشتن تو یه رجیسترش) ریست کردمش، فازِ Autonegotiation رو حذف کردم و بصورت دستوری بردمش تو مدِ 100Mb/s FD. همین.
                          دیگه یادم نیست چه کارهایی کردم. ولی نتیجه هر تغییر رو توی پورت سریال می نوشتم تا پاسخ آی سی رو ببینم. استفاده از اسیلوسکوپ هم خیلی مفیده! متوجه می شی که RX0-1 و TX0-1 بالا پایین می رن یا نه.

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

                          دیدگاه


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

                            خیلی ممنون
                            در مورد مثال ها شما دقیقا اگر برید تو اون ادرسی که گفتم میبینید که چنتا مثال داره easyweb یه مثال ساده هست اصله کاری ها تو اون مسیر هستند
                            ورژن برنامه شما چیه

                            دیدگاه


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

                              رفتم نبود. نسخه 4.12 نصبه رو سیستمم.

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

                              دیدگاه


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

                                کیل ت قدیمه ورژن جدیدتر رو بریز

                                دیدگاه

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