اطلاعیه

Collapse
No announcement yet.

ارسال تصویر vga با nrf24l01

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

    ارسال تصویر vga با nrf24l01

    سلام خدمت همه ی دوستان
    توی انجمن سرچ کردم اما نتیجه ای نداشت.
    من میخوام یک تصویر vga را با میکرو avr توسط ماژول nrf24l01 ارسال کنم و در طرف دگ اون را بگیرم و بدم به مانیتور.
    به نظرتون این کار شدنیه؟
    می خواستم از ماژول tx5823 استفاده کنم ولی ورودیش av هست در صورتی که من تصویر اصلیم hdmi هست و برای راحت شدن میخوام به vga تبدیل کنم و اگه بخوام vga را به AV تبدیل کنم و به tx5823 بدم دگ فاجعه میشه!
    چه راهی به نظرتون میرسه؟
    ممنون میشم راهنمایی کنید

    #2
    پاسخ : ارسال تصویر vga با nrf24l01

    سلام

    میکرو avr برای این کار سرعتش پایینه
    یا باید با آی سی هایی مثل fpga یا cpld یا . . . ( معمولا بین 100 تا 300 )
    و یا با میکرو های arm مثلا lpc1768 کار کنی ( فرکانسش 100 مگا هرتز هست )
    آرزوی سرافرازی برای ایران عزیز . . .


    دیدگاه


      #3
      پاسخ : ارسال تصویر vga با nrf24l01

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

      میکرو avr برای این کار سرعتش پایینه
      یا باید با آی سی هایی مثل fpga یا cpld یا . . . ( معمولا بین 100 تا 300 )
      و یا با میکرو های arm مثلا lpc1768 کار کنی ( فرکانسش 100 مگا هرتز هست )
      خودمم اولش همین نظر را داشتم ولی یه چیزی منو به شک انداخت
      اول این که از نظر فرکانسی فک نمیکنم avr با nrf مشکلی با هم داشته باشند.
      اما در مورد vga شاید این طور نباشه.
      من بررسی کردم فرکانس های vga برای ست کردن دیتا و همزمانی ستون های عمودی و افقی ، یکی ش 50hz و دیگری حدود 15khz هست و با در نظر داشتن فرکانس 16Mhz برای میکرو فکر نمیکنم میکرو کم بیاره!

      دیدگاه


        #4
        پاسخ : ارسال تصویر vga با nrf24l01

        بحث اینه که شما بعد از دریافت یک سری اطلاعات از vga و احتمالا پردازش اونها میخوای ارسالشون کنی
        حتی اگه فقط رو ارسال دیتا تمرکز کنیم فکر میکنم میکرو کم میاره
        شما کل کار هایی که میکروی ارسال کننده باید انجام بده رو بگید تا در موردش صحبت کنیم
        جز به جز توضیح بدید
        مثلا این که چطوری میخواد اطلاعات vga رو بگیره بعدش باهاشون چه میکنه و بعدش باید ارسالشون کنه
        توضیح بدید :
        . . .
        آرزوی سرافرازی برای ایران عزیز . . .


        دیدگاه


          #5
          پاسخ : ارسال تصویر vga با nrf24l01

          نمیدونم شما طرز کار vga اشنا هستید یا نه.
          ولی درکل به این صورته که سه تا پایه برای رنگ های rgb هر پیکسل داره و دو تا پایه برای همزمانی عمودی و افقی.
          منظور از همزمانی یعنی مثلا وقتی پالس اعمالی به محمور عمودی به سطح یک برسه ، رنگی که توسط سه پایه rgb ساخته شده به اولین پیکسل محور عمودی اعمال میشه و شروع به اپدیت کردن وضعیت بقیه ی پیکسل ها میکنه.
          خب مسلما من در مرحله ی اول باید با استفاده از تایمر ها فرکانس های همزمانی عمودی و افقی را تشخیص بدم.
          در مرحله ی دوم باید توسط adc با دقت 8 بیت (8 بیت به دلیل استفاده از قالب رنگی rgb) ولتاژ پایه rgb را پیدا کنم.
          در مرحله سوم باید مقادیر r و g و b مربوط به پیکسل جاری + ستون و ردیف پیکسل جاری را ارایه کنم و توسط nrf ارسال کنم .
          در طرف گیرنده باید با nrf مقادیر را دریافت کنم و توسط pwm با دقت 8 بیت روی سه تا از پایه های میکرو ولتاژ های rgb را اعمال کنم و توسط تایمر ها فرکانس همزمانی عمودی و افقی را نیز تعیین کنم.
          در کل فکر میکنم فرایند کار به این صورت باشه

          دیدگاه


            #6
            پاسخ : ارسال تصویر vga با nrf24l01

            دوست من حالا دیگه مطمئن شدم که با میکرو avr کارت نمیشه
            اما اگه بخوای با تعداد فریم های پایین مثلا شاید 4 فریم تصویر ارسال کنی شاید بتونی این کارو انجام بدی ( تا جایی که میدونم تعداد فریم نمایش 25 فریم هست )
            اما چیزی که سرعت رو در این کار بشدت پایین میاره همین adc هستش
            بنده بر اساس آزمایش هایی که انجام دادم
            اگه فرکانس adc میکرو مگا 8 رو رو 1000 کیلوهرتز تنظیم کنی
            از مد 8 بیتی استفاده کنی
            هر تبدیل ( فرقی نمیکنه چه ولتاژی رو داره اندازه گیری میکنه ) خیلی که زود انجام بشه 500 میکروثانیه طول میکشه
            البته اگه بتونی از حالت intterupt استفاده کنی که در حین اندازه گیری پردازش گر کار خودش رو انجام بده سرعتت بالا تر میره
            آرزوی سرافرازی برای ایران عزیز . . .


            دیدگاه


              #7
              پاسخ : ارسال تصویر vga با nrf24l01

              مسلما باید از interrupt استفاده کنم.
              ولی این کار به کمک avr یکم معقول به نظر نمیاد

              دیدگاه


                #8
                پاسخ : ارسال تصویر vga با nrf24l01

                نوشته اصلی توسط hosseinghaheri نمایش پست ها
                مسلما باید از interrupt استفاده کنم.
                ولی این کار به کمک avr یکم معقول به نظر نمیاد
                چرا میگی معقول نیست ؟ بگو ماهم یه چیز یاد بگیریم
                پس میخوای چیگار کنی ؟
                اگه برای Adc از وقفه استفاده نکنی هر تبدیل حداقل 500 میکروثانیه زمان میبره
                آرزوی سرافرازی برای ایران عزیز . . .


                دیدگاه


                  #9
                  پاسخ : ارسال تصویر vga با nrf24l01

                  نه اصلا به ADC هم کاری ندارم ولی احساس میکنم AVR ازعهده اسکن کردن VGA بر نیاد

                  دیدگاه


                    #10
                    پاسخ : ارسال تصویر vga با nrf24l01

                    نوشته اصلی توسط hosseinghaheri نمایش پست ها
                    سلام خدمت همه ی دوستان
                    توی انجمن سرچ کردم اما نتیجه ای نداشت.
                    من میخوام یک تصویر vga را با میکرو avr توسط ماژول nrf24l01 ارسال کنم و در طرف دگ اون را بگیرم و بدم به مانیتور.
                    به نظرتون این کار شدنیه؟
                    می خواستم از ماژول tx5823 استفاده کنم ولی ورودیش av هست در صورتی که من تصویر اصلیم hdmi هست و برای راحت شدن میخوام به vga تبدیل کنم و اگه بخوام vga را به AV تبدیل کنم و به tx5823 بدم دگ فاجعه میشه!
                    چه راهی به نظرتون میرسه؟
                    ممنون میشم راهنمایی کنید
                    یک تصویر (VGA 640 * 480) با ماژول دوربینی مثل (ov7670) (با ۱۶ بیت برای ذخیره هر پیکسل ) : 640 * 480 * 2 = 614,400 Byte
                    ماژول NRF با حداکثر نرخ ارسال 2Mbit بر ثانیه و بدون درنظر گرفتن سربار میتواند تقریبا 200 Kbyte/S ارسال داشته باشد
                    ینی سه ثانیه برای ارسال یک تصویر (شش ثانیه با نرخ ارسال 1Mbit)
                    آیا میکروی AVR میتونه در سه ثانیه تصویر رو دریافت و به فرستنده بده ؟ بله میتونه
                    If the wind will not serve, take to the oars

                    دیدگاه


                      #11
                      پاسخ : ارسال تصویر vga با nrf24l01

                      با عرض پوزش از دوستان من فکر کردم قراره فیلم ارسال بشه
                      اگه قرار به ارسال تصویر هستش بله میکرو میتونه این کارو انجام بده
                      آرزوی سرافرازی برای ایران عزیز . . .


                      دیدگاه


                        #12
                        پاسخ : ارسال تصویر vga با nrf24l01

                        نوشته اصلی توسط ASHIT AXAR نمایش پست ها
                        یک تصویر (VGA 640 * 480) با ماژول دوربینی مثل (ov7670) (با ۱۶ بیت برای ذخیره هر پیکسل ) : 640 * 480 * 2 = 614,400 Byte
                        ماژول NRF با حداکثر نرخ ارسال 2Mbit بر ثانیه و بدون درنظر گرفتن سربار میتواند تقریبا 200 Kbyte/S ارسال داشته باشد
                        ینی سه ثانیه برای ارسال یک تصویر (شش ثانیه با نرخ ارسال 1Mbit)
                        آیا میکروی AVR میتونه در سه ثانیه تصویر رو دریافت و به فرستنده بده ؟ بله میتونه
                        ممنونم ، اگه میشه یه توضیحی روی محاسباتتون بدید.
                        یه سوال دگ ، من زیاد به بیت ریت فکر نکرده بودم، چون دیدم فرکانس nrf برابر 2.4 گیگاهرتز هست و گفتم که مسلما میتونه این کار را انجام بده
                        سه ثانیه خیلی سرعت کم هست ، و ورودی vga من ممکنه یک کامپیوتر باشه که از پیکسل های بیشتری تشکیل شده.
                        به نظرتون باید چکار کنم؟

                        دلیل: ادغام دو پست برای جلوگیری از اسپم

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

                        دیدگاه


                          #13
                          پاسخ : ارسال تصویر vga با nrf24l01

                          نوشته اصلی توسط hosseinghaheri نمایش پست ها
                          ممنونم ، اگه میشه یه توضیحی روی محاسباتتون بدید.
                          یه سوال دگ ، من زیاد به بیت ریت فکر نکرده بودم، چون دیدم فرکانس nrf برابر 2.4 گیگاهرتز هست و گفتم که مسلما میتونه این کار را انجام بده
                          سه ثانیه خیلی سرعت کم هست ، و ورودی vga من ممکنه یک کامپیوتر باشه که از پیکسل های بیشتری تشکیل شده.
                          به نظرتون باید چکار کنم؟
                          واسه اینکار سه روش میشه پیشنهاد داد:
                          فرستنده ی با نرخ ارسال بیشتر: به گمانم بهترین روش برای شما همین باشه - اگه سرعت ارسال برای شما مهم هستش
                          کاهش اندازه تصویر: با کاهش رزولوشن میشه حجم رو تا اندازه زیادی کم کرد (QVGA - QQVGA - QQQVGA)
                          فشرده سازی تصویر: که اینکار بر روی میکرو نمیشه (چون باید همه ی تصویر توی حافظه بارگذاری بشه که اینقد رم نداره میکرو) و همینطور پردازش زیادی می خواد
                          البته بعضی ماژول های دوربین اندکی فشرده سازی رو انجام میدن و فرمت فشرده ی JPEG )JPG) رو میدن که حجم رو خیلی کم میکنه
                          فشرده سازی داده : که اینکار هم الگوریتم های پیچیده و سنگین و همینطور رم کافی رو نیاز داره که باز مناسب نیست

                          محاسبات ساده ست: اندازه تصویر رو بدست بیارید و تقسیم بر نرخ ارسال کنید تا زمان ارسال یک فریم بدست بیاد
                          نرخ ارسال هم با کیلو - مگا - گیگا (بیت) نوشته میشه که با تقسیم بر اندازه بایت (هشت بیت) بدست میاد
                          2MBit/8=250KByte
                          اون سربار که گفتم برمیگرده به دستورات کنترلی و تصدیق که جدای از داده ارسال میشه و کمی از پهنای باند رو اشغال میکنه
                          و یه چیز دیگه : سرعت ارسال با افزایش فاصله کم میشه و شما نمیتوانید بیشتر از نصف برد ماژول (و حتی کمتر) از حداکثر نرخ ارسال استفاده کنید
                          If the wind will not serve, take to the oars

                          دیدگاه


                            #14
                            پاسخ : ارسال تصویر vga با nrf24l01

                            نوشته اصلی توسط ASHIT AXAR نمایش پست ها
                            واسه اینکار سه روش میشه پیشنهاد داد:
                            فرستنده ی با نرخ ارسال بیشتر: به گمانم بهترین روش برای شما همین باشه - اگه سرعت ارسال برای شما مهم هستش
                            کاهش اندازه تصویر: با کاهش رزولوشن میشه حجم رو تا اندازه زیادی کم کرد (QVGA - QQVGA - QQQVGA)
                            فشرده سازی تصویر: که اینکار بر روی میکرو نمیشه (چون باید همه ی تصویر توی حافظه بارگذاری بشه که اینقد رم نداره میکرو) و همینطور پردازش زیادی می خواد
                            البته بعضی ماژول های دوربین اندکی فشرده سازی رو انجام میدن و فرمت فشرده ی JPEG )JPG) رو میدن که حجم رو خیلی کم میکنه
                            فشرده سازی داده : که اینکار هم الگوریتم های پیچیده و سنگین و همینطور رم کافی رو نیاز داره که باز مناسب نیست

                            محاسبات ساده ست: اندازه تصویر رو بدست بیارید و تقسیم بر نرخ ارسال کنید تا زمان ارسال یک فریم بدست بیاد
                            نرخ ارسال هم با کیلو - مگا - گیگا (بیت) نوشته میشه که با تقسیم بر اندازه بایت (هشت بیت) بدست میاد
                            2MBit/8=250KByte
                            اون سربار که گفتم برمیگرده به دستورات کنترلی و تصدیق که جدای از داده ارسال میشه و کمی از پهنای باند رو اشغال میکنه
                            و یه چیز دیگه : سرعت ارسال با افزایش فاصله کم میشه و شما نمیتوانید بیشتر از نصف برد ماژول (و حتی کمتر) از حداکثر نرخ ارسال استفاده کنید
                            ممنون.
                            حالا یه سوال دگ داشتم.
                            من اگه اول کار وقتی vga به میکرو وصل میشه فرکانس های همزمانی را تشخیص بدم و با nrf ارسالش کنم. (فقط برای یکبار)
                            و بعد خروجی های rgb را با adc بگیرم و سه تاش را در کنار هم (مثل قالب رنگی) بزارم و اون را با فرکانس مورد نیازش توسط nrf ارسال کنم چی میشه؟
                            مثلا برای رنگ سفید یک پیکسل بجای این که برای rgb سه بار 255 را بفرستم ، بیام و از معادل هگزه سه عدد استفاده کنم که به صورت ffffff میشه و در اخر این را به عنوان یک استرینگ ارسال کنم!

                            دیدگاه


                              #15
                              پاسخ : ارسال تصویر vga با nrf24l01

                              نوشته اصلی توسط hosseinghaheri نمایش پست ها
                              ممنون.
                              حالا یه سوال دگ داشتم.
                              من اگه اول کار وقتی vga به میکرو وصل میشه فرکانس های همزمانی را تشخیص بدم و با nrf ارسالش کنم. (فقط برای یکبار)
                              و بعد خروجی های rgb را با adc بگیرم و سه تاش را در کنار هم (مثل قالب رنگی) بزارم و اون را با فرکانس مورد نیازش توسط nrf ارسال کنم چی میشه؟
                              مثلا برای رنگ سفید یک پیکسل بجای این که برای rgb سه بار 255 را بفرستم ، بیام و از معادل هگزه سه عدد استفاده کنم که به صورت ffffff میشه و در اخر این را به عنوان یک استرینگ ارسال کنم!
                              اگه ffffff که 6 تا f هست رو به صورت استرینگ ارسال کنید در واقع دارید 6 بایت رو ارسال میکنید
                              اما اگه برای رنگ قرمز سبز و ابی بخواید 255 رو بفرستید میشه 3 بایت پس سریع تر هستش

                              توجه کنید اگه به صورت رشته یا استرینگ در آوردید هر عنصر رشته خودش یه بایته اما اگه دیتای هر رنگ رو به صورت یه عدد ارسال کنید هر عددش یه بایت هست
                              جدیدترین ویرایش توسط rezamajdi; ۱۳:۰۲ ۱۳۹۵/۰۷/۱۸.
                              آرزوی سرافرازی برای ایران عزیز . . .


                              دیدگاه

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