اطلاعیه

Collapse
No announcement yet.

ارتباط RS485 با FPGA

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

    ارتباط RS485 با FPGA

    سلام دوستان
    من میخوام یه سیگنال که مطابق پروتکل RS485 هستو بدم FPGA بخونه ولی مشکلی که دارم اینه که آیسی MAX485 سطح ولتاژش 5 ولت است نه 3.3 و نمیشه خروجیشو به FPGA داد.
    به نظرتون راهش چیه؟
    میشه از همون MAX485 با یه مقاومت مثلا 1کیلو اهم(بین خروجی آیسی و ورودی FPGA) استفاده کرد؟
    ضمنا فرکانس سیگنالم هم 2Mhz است.
    FPGA مورد نظرم هم X3S400-4TQ144I است.

    #2
    پاسخ : ارتباط RS485 با FPGA

    سلام از تقسیم ولتاژ استفاده کنید
    با max232 هم میتونین با دستکاریه خازناش این کارو بکنین همون تقسیم بهتره
    انحصار طلبي علمي در دنياي امروز جايگاهي ندارد،بياييد تا دانسته هاي خود را هرچند اندک؛با ديگران به اشتراک بگذاريم...
    فرهنگ و تمدن بي همتاي ايرانيان به سبب حمله ي وحشيانه مغولان نابود شد،امروز نوبت من و توست که با انتشار دانسته هاي خود ايران را به جايگاه بي همتاي گذشته باز گردانيم.

    پيامبر اکرم(ص)فرمودند بهترين مردم کساني هستند که خيرشان به ديگران برسد.

    دیدگاه


      #3
      پاسخ : ارتباط RS485 با FPGA

      باید آی سی های مخصوص این تبدیل باشه. مثلا واسه RS232 اینا هست MAX3222-MAX-3232-MAX3241
      سرچ کن تو سایت maxim هم بگرد
      https://www.linkedin.com/in/mohammadhosseini69

      http://zakhar.blog.ir

      دیدگاه


        #4
        پاسخ : ارتباط RS485 با FPGA

        نوشته اصلی توسط ravanjok
        سلام از تقسیم ولتاژ استفاده کنید
        با max232 هم میتونین با دستکاریه خازناش این کارو بکنین همون تقسیم بهتره
        اگه با یه تقسیم ساده میشه پس دلیل استفاده از این آیسی ها چیه؟ مواردی از قبیل جریان کشیده شده توسط FPGA(در حالتی که FPGA دریافت کنندس) و فرکانس سیگنال و ... مشکل ایجاد نمیکنه؟
        نوشته اصلی توسط محمد حسینی
        باید آی سی های مخصوص این تبدیل باشه. مثلا واسه RS232 اینا هست MAX3222-MAX-3232-MAX3241
        سرچ کن تو سایت maxim هم بگرد
        ماکسیم رو زیرورو کردم و به آیسی زیر رسیدم:
        MAX3079EASD
        که اتفاقا جوان هم دارتش
        http://javanelec.com/productsDetails.aspx?id=21017
        فقط یه ابهامی دارم و اونم اینه که توی دیتاشیت این آیسی نوشته که
        The MAX3079E slew rate is pin selectable for 250kbps, 500kbps, and 16Mbps
        الان من فرکانس سیگنالم 2مگاهرتزه. با توجه به خط بالا آیا میتونم با این فرکانس کار کنم؟ با فقط همین فرکانس هایی که خودش گفته رو میشه استفاده کرد؟

        دیدگاه


          #5
          پاسخ : ارتباط RS485 با FPGA

          نوشته اصلی توسط cyber68
          ماکسیم رو زیرورو کردم و به آیسی زیر رسیدم:
          MAX3079EASD
          که اتفاقا جوان هم دارتش
          http://javanelec.com/productsDetails.aspx?id=21017
          فقط یه ابهامی دارم و اونم اینه که توی دیتاشیت این آیسی نوشته که
          The MAX3079E slew rate is pin selectable for 250kbps, 500kbps, and 16Mbps
          الان من فرکانس سیگنالم 2مگاهرتزه. با توجه به خط بالا آیا میتونم با این فرکانس کار کنم؟ با فقط همین فرکانس هایی که خودش گفته رو میشه استفاده کرد؟
          نرخ انتقال چقدره؟ اگه یکی از همون 3 تا که نوشتی هست که مطمئنا مشکل نداره. در غیر اینصورت به نظر من بهتره که نرخ انتقالی که برای آی سی مبدل انتخاب میکنی بیشتر از نرخ انتقال خودت باشه تا slew rate خراب نشه. شایدم این سه تا هرکدوم واسه یه بازه ای استاندارد باشن. من دقیق نمی دونم...
          https://www.linkedin.com/in/mohammadhosseini69

          http://zakhar.blog.ir

          دیدگاه


            #6
            پاسخ : ارتباط RS485 با FPGA

            نوشته اصلی توسط محمد حسینی
            نرخ انتقال چقدره؟ اگه یکی از همون 3 تا که نوشتی هست که مطمئنا مشکل نداره. در غیر اینصورت به نظر من بهتره که نرخ انتقالی که برای آی سی مبدل انتخاب میکنی بیشتر از نرخ انتقال خودت باشه تا slew rate خراب نشه. شایدم این سه تا هرکدوم واسه یه بازه ای استاندارد باشن. من دقیق نمی دونم...
            این آیسی هر سه رو ساپورت میکنه. یعنی یه پین ورودی داره که با صفر یا یک یا قطع بودنش بین این سه تا تنظیم میشه.
            سوال منم همینه که این سه تا نرخی که نوشته معناش چیه؟

            دیدگاه


              #7
              پاسخ : ارتباط RS485 با FPGA

              نوشته اصلی توسط cyber68
              اگه با یه تقسیم ساده میشه پس دلیل استفاده از این آیسی ها چیه؟ مواردی از قبیل جریان کشیده شده توسط FPGA(در حالتی که FPGA دریافت کنندس) و فرکانس سیگنال و ... مشکل ایجاد نمیکنه؟؟
              واسه اتصال MMC به میکرو که مشکلی ایجاد نکرده
              انحصار طلبي علمي در دنياي امروز جايگاهي ندارد،بياييد تا دانسته هاي خود را هرچند اندک؛با ديگران به اشتراک بگذاريم...
              فرهنگ و تمدن بي همتاي ايرانيان به سبب حمله ي وحشيانه مغولان نابود شد،امروز نوبت من و توست که با انتشار دانسته هاي خود ايران را به جايگاه بي همتاي گذشته باز گردانيم.

              پيامبر اکرم(ص)فرمودند بهترين مردم کساني هستند که خيرشان به ديگران برسد.

              دیدگاه


                #8
                پاسخ : ارتباط RS485 با FPGA

                نوشته اصلی توسط cyber68
                این آیسی هر سه رو ساپورت میکنه. یعنی یه پین ورودی داره که با صفر یا یک یا قطع بودنش بین این سه تا تنظیم میشه.
                سوال منم همینه که این سه تا نرخی که نوشته معناش چیه؟
                نرخ انتقال اطلاعات دیگه. خودت باید تعیین کنی. اطلاعاتی که واست میاد یا می خوای واسه طرف دیگه بفرستی با چه سرعتی باید انتقال داده بشه؟
                https://www.linkedin.com/in/mohammadhosseini69

                http://zakhar.blog.ir

                دیدگاه


                  #9
                  پاسخ : ارتباط RS485 با FPGA

                  نوشته اصلی توسط محمد حسینی
                  نرخ انتقال اطلاعات دیگه. خودت باید تعیین کنی. اطلاعاتی که واست میاد یا می خوای واسه طرف دیگه بفرستی با چه سرعتی باید انتقال داده بشه؟
                  توی پست اولم گفتم نرخ اطلاعات من 2Mhz هستش
                  الان نمیدونم اگه مثلا نرخ انتقال آیسی رو روی 16Mbps تنظیم کنم معناش از 0 تا 16Mbps هست یا فقط 16mbps.

                  دیدگاه


                    #10
                    پاسخ : ارتباط RS485 با FPGA

                    نوشته اصلی توسط cyber68
                    توی پست اولم گفتم نرخ اطلاعات من 2Mhz هستش
                    الان نمیدونم اگه مثلا نرخ انتقال آیسی رو روی 16Mbps تنظیم کنم معناش از 0 تا 16Mbps هست یا فقط 16mbps.
                    شما گفتی فرکانس سیگنالت 2 مگاهرتز. سرعت انتقال داده رو با واحد bps تعیین می کنند و معمولا استانداردهایی داره. مثل 9600، 4800 و ...
                    من فکر میکنم 250kbps، 500kbps و 16Mbps استانداردهای RS485 باشن و احتمالا نرخ انتقال شما یکی از اینهاست. شما 2Mhz رو از کجا آوردی؟
                    البته من با RS485 کار نکردم. شاید حق با شماست...
                    https://www.linkedin.com/in/mohammadhosseini69

                    http://zakhar.blog.ir

                    دیدگاه


                      #11
                      پاسخ : ارتباط RS485 با FPGA

                      نوشته اصلی توسط محمد حسینی
                      شما گفتی فرکانس سیگنالت 2 مگاهرتز. سرعت انتقال داده رو با واحد bps تعیین می کنند و معمولا استانداردهایی داره. مثل 9600، 4800 و ...
                      من فکر میکنم 250kbps، 500kbps و 16Mbps استانداردهای RS485 باشن و احتمالا نرخ انتقال شما یکی از اینهاست. شما 2Mhz رو از کجا آوردی؟
                      البته من با RS485 کار نکردم. شاید حق با شماست...
                      ببینید مسأله اینه: ما یه کلاک 2مگاهرتز داریم که سطح ولتاژش مطابق RS485 هستش و میخوایم اینو بدیم به FPGA.
                      درسته که در حالت کلی bps با hz فرق داره ولی در این حالت من فکر کنم اینا یکین
                      البته یه چیزی الان به ذهنم رسید و اونم اینکه در این حالت تعداد بیت بر ثانیه یا bps میشه دوبرابر تعداد پریود بر ثانیه یا hz.

                      دیدگاه


                        #12
                        پاسخ : ارتباط RS485 با FPGA

                        با سلام
                        راه های زیادی هست یک نمونه استفاده از Transceiverبا تغذیه 3.3 ولتی است که نرخ تبادل مورد نظر را اقناع کند مثلا
                        ISL83485
                        راه دیگر استفاده از بافرهای مناسب CMOS هست مانند
                        (4050B HEX BUFFER/CONVERTER (NON INVERTING
                        خوب دقت کنید، این تراشه تغدیه 3 تا 20 ولتی می تواند داشته باشد ولی نکته کلیدی اش آن است که ورودی آن مستقل از تغذیه اش، تا 15 ولت می تواند باشد و البته خروجی اش (VOH) بالاتر از تغذیه نمی رود. بر این مبنا، طراحی ما برای بخش دریافت چنین است
                        کد:
                        RS485 BUS <-- MAX485(VCC=+5V) --> 4050(VCC=+3V3) --> XC3S(VCCO=+3V3)
                        نکته دیگر آن است که بافر فوق به سرعت مورد نظر شما نیز می تواند پاسخ دهد (دیتا شیت آن را ببینید)
                        البته پیش از ساخت بورد نهایی، حتما مدار را بسته و با نرخ مورد نظر تست بگیرید.
                        در ضمن شاید منظور شما "تیک" یا بایت سنکرون سازی در طراحی Time Triggered یا TTE باشد که می خواهید به FPGA به عنوان فرمانبر بدهید.

                        دیدگاه


                          #13
                          پاسخ : ارتباط RS485 با FPGA

                          نوشته اصلی توسط masoud_a
                          با سلام
                          راه های زیادی هست یک نمونه استفاده از Transceiverبا تغذیه 3.3 ولتی است که نرخ تبادل مورد نظر را اقناع کند مثلا
                          ISL83485
                          راه دیگر استفاده از بافرهای مناسب CMOS هست مانند
                          (4050B HEX BUFFER/CONVERTER (NON INVERTING
                          خوب دقت کنید، این تراشه تغدیه 3 تا 20 ولتی می تواند داشته باشد ولی نکته کلیدی اش آن است که ورودی آن مستقل از تغذیه اش، تا 15 ولت می تواند باشد و البته خروجی اش (VOH) بالاتر از تغذیه نمی رود. بر این مبنا، طراحی ما برای بخش دریافت چنین است
                          کد:
                          RS485 BUS <-- MAX485(VCC=+5V) --> 4050(VCC=+3V3) --> XC3S(VCCO=+3V3)
                          نکته دیگر آن است که بافر فوق به سرعت مورد نظر شما نیز می تواند پاسخ دهد (دیتا شیت آن را ببینید)
                          البته پیش از ساخت بورد نهایی، حتما مدار را بسته و با نرخ مورد نظر تست بگیرید.
                          در ضمن شاید منظور شما "تیک" یا بایت سنکرون سازی در طراحی Time Triggered یا TTE باشد که می خواهید به FPGA به عنوان فرمانبر بدهید.
                          راه اول که استفاده از Transceiverبا تغذیه 3.3 ولتی است به نظر مناسب تره
                          فقط یه سوال و اونم اینکه در دیتاشیت همون آیسی ISL83485 جدول زیر اومده:

                          الان با مدل ISL83485 که دیتاریتش 10Mbps است من میتونم یه دیتا با نرخ 2Mbps انتقال بدم؟

                          دیدگاه


                            #14
                            پاسخ : ارتباط RS485 با FPGA

                            سلام به همه
                            نمیدونم تا حالا دوستمون جواب گرفته یا نه
                            ولی اینم یه راه حله
                            اونم اینکه کافیه ابتدا rs485 و به راحتی با آی سیADM485 به rs232 تبدیل کنی و سپس اونو به FPGA متصلش کنی.
                            البته یادتون باشه که تغذیه adm485 رو 3.6 بدهید نه 5.

                            این کارو من با max232 و ارتباط با کامپیوتر انجام دادم و جواب گرفتم.

                            دیدگاه


                              #15
                              پاسخ : ارتباط RS485 با FPGA

                              دوست عزیز می تونید از ADM3485 که مبدل RS485 و با ولتاژ 3.3V کار میکنه استفاده کنید
                              من یک تعداد از اونو وارد کردم به قیمت 5900
                              یک نگاه به دیتاشیتش کنید میبینید که از ADM485 بهتره و ولتاژ کاریش هم کمتره.

                              دیدگاه

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