اطلاعیه

Collapse
No announcement yet.

فیلیپس ARM LPC23xx

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

    #31
    پاسخ : فیلیپس ARM LPC23xx

    نوشته اصلی توسط alitaroosheh
    در مورد فیلیپس پورتهای 0 و 1 دو حالت عادی و سریع دارن که باید scs رو تنظیم کنی تا سرعت بالا بیاد
    اینطوری با سرعت 36مگاهرتز میشه کار کرد بقیه پورتها هم FAST هستن نیاز به کار نیست البته این پورت FAST از سری 23 به بعد اومدن و مدلهای قبلی 5 یا 6 مگاهرتز سریعتر نمیشد
    سلام
    خیلی ممنون ولی من از مود FAST استفاده میکنم.

    موفق باشید.
    If everything seems under control, you're just not going fast enough
    Mario Andretti

    دیدگاه


      #32
      پاسخ : فیلیپس ARM LPC23xx

      سلام

      در مورد سرعت پورتها چند جا دیدم که گفتن هر عمل روی پورت 2 سیکل زمان میبره که با ماکزیمم سرعت(72مگاهرتز) میشه 36 میلیون تغییر در هر ثانیه که اگه بخوایم پشت سر هم صفر و یک کنیم میشه چهار کلاک برای هر پالس یا 18مگاهرتز
      قاعدتا چون هر تغییر در پورت اینقدر زمان میگیره بیشتر از این نمیشه کاری کرد

      اینم یه لینک:
      http://www.keil.com/forum/docs/thread9514.asp

      اینم یه لینک دیگه:
      http://www.standardics.nxp.com/support/faq/microcontrollers/lpc2000/peripherals.gpio/

      اینجا نوشته 18 مگاهرتز در ازای 72مگاهرتز کلاک و pclk=4


      من خودم اسیلوسکوپ ندارم ببینم واقعا اینطوریه یا نه ولی برنامه نوشتم ریختم توی میکرو با سرعت زیاد

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

      نکته: 1. میکروهای جدیدتر fast دارن
      2. وقتی توی مد fast هستی رجیسترهای مخصوص خودشو باید استفاده کنی که توی آموزشها نوشتم
      3. کلاک اعمالی به cpu و pll و مقسم کلاک قسمت IO باید درست تنظیم بشن

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

      راستی شما هم مدار lpc2378 رو زدید و دارید کار میکنید!!! اگه کار میکنید فیلیپسیها میشن 4 تا
      به وبلاگم سر بزنید

      دیدگاه


        #33
        پاسخ : فیلیپس ARM LPC23xx

        سلام
        من دقیقا همین کار را میکنم. :sad:

        یک نکته دیگه!!!!!!!!!
        من چند خط برنامه پشت سر هم نوشتم که یک بایت یک بایت (و بدون استفاده از DMA) به spi عدد 0x55 را می فرستد. با اسکوپ دیجیتال شکل موج را ذخیره کردم. نتیجه این شد که سرعت sck دقیقا مطابق حد انتظار بود ولی فاصله ارسال 2 بایت (که در روتین نوشته شده کاملا پشت سر هم بودند) دقیقا برابر همان تغییر وضعیت پین در مثال GPIO بود.
        درضمن من از هیچ تابعی استفاده نکردم یعنی حتی برای SPI متن تابع را کپی و پیست کردم و این یعنی زمانی برای فراخوانی تابع صرف نمیشه و کلیه دستورات C که استفاده کردم فقط مقداردهی به رجیسترها بوده است. بنابراین خیلی با اسمبلی فرق ندارد. :sad:

        بنابراین فقط میمونه سرعت پردازش.

        بله من هم با LPC2378 کار میکنم. :nerd:
        موفق باشید.
        If everything seems under control, you're just not going fast enough
        Mario Andretti

        دیدگاه


          #34
          پاسخ : فیلیپس ARM LPC23xx

          سلام،

          آقای منصوری من حداکثر سرعتی که از SPI سری 21xx گرفتم یک هشتم PCLK بود که مقدار نا امید کننده ای بود به نظر شما آخرین سرعت همینه یا کاری میشه کرد؟
          There is nothing so practical as a good theory. — Kurt Lewin, 1951

          دیدگاه


            #35
            پاسخ : فیلیپس ARM LPC23xx

            نوشته اصلی توسط رضا سپاس یار
            سلام،

            آقای منصوری من حداکثر سرعتی که از SPI سری 21xx گرفتم یک هشتم PCLK بود که مقدار نا امید کننده ای بود به نظر شما آخرین سرعت همینه یا کاری میشه کرد؟
            سلام
            یعنی بیشتر جواب نمیداد؟
            در LPC2378 به سرعت 36 مگ می توان رسید.
            در SAM7S به سرعت 50 مگ می توان رسید.
            یعنی Prescale فیلیپس باید 2 یا مضربی از 2 باشد ولی اتمل می تواند یک باشد.

            حالا شما در تنظیمات مشکل دارید یا خروجی ندارید؟

            راستی مشکل اصلی ارسال متوالی سریال با این سرعت هاست. من هم که با 50 مگ ارسال داشتم با توجه به تاخیر بین دو ارسال سرعت جالبی نبود.
            موفق باشید.
            If everything seems under control, you're just not going fast enough
            Mario Andretti

            دیدگاه


              #36
              پاسخ : فیلیپس ARM LPC23xx

              نوشته اصلی توسط رضا منصوری

              سلام
              یعنی بیشتر جواب نمیداد؟
              در LPC2378 به سرعت 36 مگ می توان رسید.
              در SAM7S به سرعت 50 مگ می توان رسید.
              یعنی Prescale فیلیپس باید 2 یا مضربی از 2 باشد ولی اتمل می تواند یک باشد.

              حالا شما در تنظیمات مشکل دارید یا خروجی ندارید؟

              راستی مشکل اصلی ارسال متوالی سریال با این سرعت هاست. من هم که با 50 مگ ارسال داشتم با توجه به تاخیر بین دو ارسال سرعت جالبی نبود.
              موفق باشید.
              36 مگ خوبه اما کاتالوگ هم نوشته حداکثر سرعت، یک هشتم PCLK است. یه مشکل دیگه اینه که نه ATmel و نه NXP هیچ کدوم، SPI شون FIFO نداره و این باعث Inter-frame gap یا به قول شما "تاخیر بین دو ارسال" میشه :sad:
              به هرحال ممنون برای راهنمایی تون :smile:
              There is nothing so practical as a good theory. — Kurt Lewin, 1951

              دیدگاه


                #37
                پاسخ : فیلیپس ARM LPC23xx

                سلام

                به یه نتیجه هایی رسیدم گفتم بذارم بد نیست(نمیذارید دیگه دارم GPDMA مینویسم)

                در مورد سرعت پورت:
                اول یه برنامه نوشتم اینطوری:



                while(1){
                FIO0SET=2097152;
                FIO0CLR=2097152;
                }



                نتیجه سیگنال خروجی شد اینطوری:


                دورش خط کشیدم: حدودا 6 مگاهرتز

                بعد یه برنامه نوشتم که 10000 بار
                FIO0SET=2097152;
                FIO0CLR=2097152;

                تکرار شدن

                اینطوری:


                while(1){
                FIO0SET=2097152;
                FIO0CLR=2097152;
                FIO0SET=2097152;
                FIO0CLR=2097152;
                FIO0SET=2097152;
                FIO0CLR=2097152;
                FIO0SET=2097152;
                FIO0CLR=2097152;
                FIO0SET=2097152;
                FIO0CLR=2097152;
                ...



                خروجی سیگنال شد شکل زیر:


                فرکانس حدود 18 مگاهرتز

                یعنی اینکه while کلی زمان تلف میکنه
                :cry2:با اسمبلی هم سرعت کمه اصلا دستور پرش کلی زمان تلف میکنه :cry2:
                نمیدونم چرا... ولی با dsc تگزاس tms320f2812 هم ور میرفتم اونم با سرعت 155mhz سرعت IO هاش و کلیه پروفرالها 20مگاهرتز بود اصلا مثل اینکه بیشتر از این نمیشه انتظار داشت :cry2: ولی مثلا یه نوع lcd توی بازار هست 24mhz باید داده و کلاک بهش بدی :cry2:

                در مورد spi و تاخیر بین دو داده و سرعتهاشم ssp رو در آوردن که من یه پروژه صوتی عجیب غریب ازش دیدم سرعتش وحشتناکه. توی فیلیپس هست که با توضیحات زیر سرعتش به 30مگاهرتز میره

                How different is the SSP port from the SPI port?
                They both have the same pin interfaceh, however,
                the SSP is much faster than the SPI. The SSP can
                operate at 30MHz in Master mode whereas the SPI
                can operate at around 9MHz in Master mode
                (considering 72MHz maximum speed operation).
                The SSP has a much bigger buffer than the SPI.
                The SSP also has an 8-frame transmit and receive FIFO
                wherein each frame size can vary from 4 to 16 bits.


                و بافر fifo هم داره که دیگه داده منقطع ارسال نشه
                به وبلاگم سر بزنید

                دیدگاه


                  #38
                  پاسخ : فیلیپس ARM LPC23xx

                  نوشته اصلی توسط رضا سپاس یار
                  36 مگ خوبه اما کاتالوگ هم نوشته حداکثر سرعت، یک هشتم PCLK است. یه مشکل دیگه اینه که نه ATmel و نه NXP هیچ کدوم، SPI شون FIFO نداره و این باعث Inter-frame gap یا به قول شما "تاخیر بین دو ارسال" میشه :sad:
                  به هرحال ممنون برای راهنمایی تون :smile:
                  سلام
                  بله همینطوره . :sad:
                  من دیتاشیت LPC21XX را ندیده بودم .
                  به هر حال همانطور که شما گفتید Inter-frame gap مسئله اصلی است.
                  برای حل مساله فکر کنم استفاده از DMA راه حل خوبی باشه. :nerd:

                  چرا از 2378 استفاده نمیکنید؟
                  تا چند وقت پیش در سایت nxp میزد Sampling ولی الان میزنه Production و این یعنی باگ های سخت افزاریش هم حل شده است. :smile:
                  البته فکر کنم هنوز errata را پدیت نکردند. :sad:

                  موفق باشید.
                  If everything seems under control, you're just not going fast enough
                  Mario Andretti

                  دیدگاه


                    #39
                    پاسخ : فیلیپس ARM LPC23xx

                    نوشته اصلی توسط alitaroosheh
                    سلام

                    به یه نتیجه هایی رسیدم گفتم بذارم بد نیست ...
                    سلام
                    ممنون که کمک میکنید. :smile:
                    برای ارتباط با رم سرعت/حجم بالا ، وقتی که میکرو اینترفیس مربوطه را ندارد مجبورم با GPIO به صورت نرم افزاری شبیه سازی کنم.
                    وقتی به سرعت 50 مگ SPI دست یافتم سریعا یک cpld گذاشتم و به پارالل تبدیل کردم و فکر کردم همه چیز حل شده ولی :cry2:
                    Inter-frame gap را لحاظ نکرده بودم. :redface:
                    موفق باشید
                    If everything seems under control, you're just not going fast enough
                    Mario Andretti

                    دیدگاه


                      #40
                      پاسخ : فیلیپس ARM LPC23xx

                      سلام
                      چه جور رم مورد نظرتونه؟ 2378 فکر کنم SDRAM ساپورت میکنه... EMC داره (external memory control) فکر میکنم nand و nor flash هم ساپورت میکنه... نمیدونم ولی توی سمثلهاش هست البته اگه با 24xx اشتباه نگرفته باشم
                      به وبلاگم سر بزنید

                      دیدگاه


                        #41
                        پاسخ : فیلیپس ARM LPC23xx

                        نوشته اصلی توسط رضا منصوری

                        سلام
                        بله همینطوره . :sad:
                        من دیتاشیت LPC21XX را ندیده بودم .
                        به هر حال همانطور که شما گفتید Inter-frame gap مسئله اصلی است.
                        برای حل مساله فکر کنم استفاده از DMA راه حل خوبی باشه. :nerd:

                        چرا از 2378 استفاده نمیکنید؟
                        تا چند وقت پیش در سایت nxp میزد Sampling ولی الان میزنه Production و این یعنی باگ های سخت افزاریش هم حل شده است. :smile:
                        البته فکر کنم هنوز errata را پدیت نکردند. :sad:

                        موفق باشید.
                        سلام،
                        مشکل اینجاست که سری 21xxها DMA ندارند. از 2378 هم نمیشه استفاده کرد چون برای یک محصول Cost sensitive می خوام از LPC استفاده کنم و این قطعات گرون هستند. به هر حال توانایی های سری 21xx نسبت به قیمتش خوبه و بیش از این نمیشه انتظار داشت :smile:
                        There is nothing so practical as a good theory. — Kurt Lewin, 1951

                        دیدگاه


                          #42
                          پاسخ : فیلیپس ARM LPC23xx

                          سلام

                          بالاخره تموم شد(بیچاره شدم تا DMA رو راه انداختم)

                          اینم لینکش:
                          http://electrorc.blogfa.com/post-31.aspx

                          شرمنده میخواستم همه جوره بگم واقعیتش خیلی اذیتم کرد بقیه مطالب DMA باشه واسه پریفرالها(فعلا باهاش از مموری به مموری استفاده کردم ولی تست نکردم واسه پرفرالها کار میکنه یا نه)(اصلا نمیدونم چرا توی سایت KEIL و کل اینترنت هم زیاد مطلبی واسه DMA نیست دیگه هر چی هست کمک code.bundle و تلاش خدمون بود)

                          راستی ... ببخشید از شما دوستان ولی ...بقول دوستمون این بحثها این تاپیک رو هم مثله AT91 تبدیل میکنه به یه قول 20 یا 30 صفحه ای... تاپیک یا سایت مال من نیست که ادعایی بکنم ولی اگه امکان داره بحث ATMEL و PHILIPS توانایی ها و کارایی ها رو دیگه ادامه ندید ممنون میشم :nerd:
                          (فقط و فقط منظورم اینه که یه خواننده میاد توی پست کلی مطلب میبینه که ممکنه حوصله نکنه همه رو بخونه این مشکل توی خیلی از تاپیکها و اصلا همه FORUM های دنیا هست که تاپیک بزرگ میشه خیلی از مطالبش دیگه خونده نمیشه...) بازم ممنون :nerd: :nerd:


                          نظر یادتون نره(تو بلاگ بذارید اینجا شلوغ نشه)
                          به وبلاگم سر بزنید

                          دیدگاه


                            #43
                            پاسخ : فیلیپس ARM LPC23xx

                            سلام علی آقا....فکر کنم من تمام عمرم باید به خاطر دیر رسیدنم عذر خواهی کنم...به هر حال بازم شرمنده...خدمته دیگه....من تهران افتادم..(فرودگاه).....
                            گفتی در مورد iar بحث نکنید....چشم...فقط در همین حد بگم که زیاد با هم فرق ندارن و میشه برنامه هاش رو به هم تبدیل کرد..اونقدر ها هم چیزه ترسناکی نیست.... :mrgreen: _(مثل اینکه در موردش بحث کردم..ببخشید)
                            خوب من در خدمتم چیکار باید بکنیم.....؟

                            دیدگاه


                              #44
                              پاسخ : فیلیپس ARM LPC23xx

                              -
                              به وبلاگم سر بزنید

                              دیدگاه


                                #45
                                پاسخ : فیلیپس ARM LPC23xx

                                سلام

                                ببخشید چند وقته اینورا پیدام نمیشه... خداییش دارم هزارتا هنودنه رو با هم ورمیدارم ... خوبیش اینه که همه هندونه ها توش سفیده عین خیار ... پول هم توش نیست... به هر حال

                                PCB مدار کار با میکرو رو تغییر داده یه ایراد بحرانی داشت الان حل شد به پروتل هم تبدیل کردم که دیگه مشکلی نباشه برد تبدیل رو هم گذاشتم

                                فعلا دانلود کنید تا بعد... (آخرای متن لینک PCB برای دانلود هست)

                                http://electrorc.blogfa.com/post-31.aspx

                                راستی این دوستانی که برام PM میذارن (از همین 4 فیلیپسی خودمون)
                                بابا من خودم تازه کارم برام کد نفرستید
                                کدها رو با یه پروژه مثل اینایی که من گذاشتم با توضیح مکفی بذارید ... من به نظر هیولا میام کد برام میفرستید میگید خوبه یا نه؟؟؟ ... (فقط شلوغ نکنید بذارید با همین متانت و وقار پیش بره هر کی اومد مطالب رو خوند ما رو دعا کنه... نگه حیف نون این چیه!!!)
                                به وبلاگم سر بزنید

                                دیدگاه

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