اطلاعیه

Collapse
No announcement yet.

مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

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

    مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

    سلام
    یک مشکل در ارتباط با پورت سریال دارم . برنامه ی من به این صورت است که :
    با برنامه ی paint ای که خودم با زبان C# طراحی کردم یک تصویری می کشم تصویر را سیاه و سفید می کنم به کد تبدیل می کنم این کد را از طریق پورت سریال به میکرو ATmega32 می فرستم(این کد به ازاء هر پیکسل سیاه عدد 1 و به ازاء هر پیکسل سفید عدد 0 ، به وجود آمده و در داخل یک فایل از نوع txt قرار داده شده) و با توجه به برنامه ای که برای نشان دادن تصاویر در محیط کدویژن نوشته شده ، روی LCD گرافیکی(64*128) نشان می دهم.
    حالا مشکل من اینجاست که این کدی که با paint تولید می کنم 8192 تاکاراکتر است میکرو این قدر فضا نداره برای همین از یک eeprom به شماره AT24C128 استفاده کردم. (16 کیلوئی هست)ولی این IC ، ده میلی ثانیه طول می کشه تا یه چیزی داخلش نوشته بشه این فایل هم که یکدفعه فرستاده می شه تو این 10 میلی ثانیه یه مقدار داده که البته مقدارش کم هم نیست از دست میره. کسی می تونه کمک کنه یا یک راهی پیشنهاد بده.

    ناگفته نمانه که این 8192 کاراکتری که ارسال می شه به می کرو میره داخل یه آرایه ای بعدش از eeprom میخوانم و هر 8 تا را یه یک عدد هگز تبدیل می کنم.که به یک آرایه 1024 تا ای از اعداد هگز تبدیل می شه.

    #2
    پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

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

    دیدگاه


      #3
      پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

      شما میتونید در برنامه ای که با کامپیوتر نوشتید و بین هر بایت که برای میکرو ارسال میکنید چند میلی ثانیه تاخیر ایجاد کنید

      اینجوری داده از دست نمیره و احتیاجی به رم هم نیست :smile:
      ِِDie for Life, Not Live to Die
      Freedom Fighter
      " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

      دیدگاه


        #4
        پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

        آقای chia داده ها اول در فایل نوشته می شوند بعدا از طریق پورت سریال به صورت آسنکرون ارسال می شوند . یعنی ساخت داده یا کد و ارسال آن همزمان نیست . شاید کاری که بشه کرد این باشه که داده های اضافی بین داده ها مان قرار بدیم . که توی یه حساب سر انگشتی حدودا 100یا بیشتر میشه که این کار نه جالب هست نه دقیق :cry:
        اقای کشت پور منظورتان از اضافه کردن رم چیه ؟ مگه مقدار رم داخلی میکرو ثابت نیست یا منظورتان اضافه کردن SRAM خارجی هست.
        در ارتباط با مورد دومی که عرض کردید باید بگم اگه این کارو بکنم که داده از دست میره یه فایل هست که 8192 تا کاراکتر داخلشه اینا یه دفعه به میکرو ارسال می شوند.شاید من منظورتون را درست متوجه نشدم.اگه می شه بیشتر توضیح بدید.

        دیدگاه


          #5
          پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

          توروخدا یه نفر کمک کنه . ضروریه

          یعنی میشه یه جوری کامپیوتر را مجبور کرد صبر کنه ؟ مثله سنکرون

          دیدگاه


            #6
            پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

            فرمایش شما درسته

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

            شما وقتی یک تکست فایل ر و میخونید اون رو در یک متغیر رشته ای ذخیره کنید و با استفاده از یک تایمر و یک حلقه ی for هر بار بعد از سرریز شدن تایمر مثلا 10 میلی ثانیه یک کاراکتر از متغیر رشته ای رو ارسال کنید

            ظاهرا که منطقیه حداقل به امتحانش می ارزه

            روش رم هم به این شکله که شما یک رم خازجی با حجم دیتایی که ارسال میکنید میزارید و اول دیتا رو روی رم دخیره میکنید و بعد با سرعت کمتر روی ای تو پی رام مینویسید اما به نظر من روش بالایی بهتره و ارزونتره :smile:
            ِِDie for Life, Not Live to Die
            Freedom Fighter
            " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

            دیدگاه


              #7
              پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

              یا اینکه وقتی عکستون رو به کد تبدیل میکنید با برنامه نویسی اون رو به 8 فایل 1 کیلویی تقسیم کنید

              بعد اولین فایل رو ارسال کنید و از اون طرف هم با میکرو این 1کیلو داده رو روی اس رم بنویسید و بلافاصله شروع به نوشتن روی ای تو پی رام کنید
              بعد یه کد برای کامپیوتر بفرستید که 1 کیلو بایت دوم را بفرستد و دوباره به همین ترتیب

              اینم میشه اما میکروی شما باید حداقل 2 کیلو اس رم داشته باشه
              ِِDie for Life, Not Live to Die
              Freedom Fighter
              " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

              دیدگاه


                #8
                پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

                آقای chia شما 3 راه حل ارائه دادید.
                در مورد راه حل اول: من درست منظورتون را نگرفتم . ببینید درست میگم ، شما منظورتان این هست که من با #C ای که Paint را طراحی کردم مستقیم با پورت سریال ارتباط برقرار کنم . اگه #C این قابلیت را داشته باشه و بشه پیاده سازیش کرد فکر کنم مسئله حل هست.
                در مورد راه حل دومتون: شاید به نحوی من هم دارم از همین روش استفاده می کنم فقط به جای SRAM از eeprom خارجی استفاده کردم. حالا یه سوال می مونه آیا SRAM هم مثه eeprom برای اینکه داخلش چیزی بنویسیم نیاز هست یه مدتی صبر کنیم.eeprom که 10 میلی ثانیه نیاز داره.
                و راه حل سومتان ، به یکم وقت نیاز دارم تا پیاده سازیش کنم.
                ازتون ممنونم بازم راهنمائیم کنید.

                دیدگاه


                  #9
                  پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

                  سلام

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

                  مگه شما از MS COMMON استفاده نمیکنید

                  والا من با C# کار نکردم اما تو ویژوال بیسیک که اینجوریه :smile:

                  امیدوارم کارتون راه بیفته
                  ِِDie for Life, Not Live to Die
                  Freedom Fighter
                  " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

                  دیدگاه


                    #10
                    پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

                    چرا انقدر درد سر؟
                    همون موقعی که داری پیکسلهارو به صفر و یک تبدیل میکنی , هر 8 پیکسل رو تو یک بایت قرار بده , یعنی همون کاری که تو میکرو انجام میدی رو تو کامپیوتر انجام بده , اینجوری حجمش میشه یک کیلو بایت.
                    من همین برنامه رو برای یکی نوشتم , البته با دلفی و با پورت یو اس بی و صفحه ای که طرف روش نقاشی میکنه به طور همزمان روی ال سی دی نمایش داده میشه.
                    الهم عجل لولیک الفرج

                    دیدگاه


                      #11
                      پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

                      سلام،

                      من این برنامه رو بدون میکرو از طریق پورت موازی نوشتم که Real-time که نقاشی می کنید روی LCD نمایش داده بشه.

                      شما چند تا راه دیگه هم داری:

                      1. استفاده از Mode نوشتن صفحه به صفحه روی EEPROM
                      2. استفاده از پین های Hanshake پورت سریال
                      3. ایجاد یک بافر حلقوی بوسیله ی SRAM میکرو
                      4. ذخیره بر روی حافظه ی Flash میکرو بوسیله ی Boot Loader


                      There is nothing so practical as a good theory. — Kurt Lewin, 1951

                      دیدگاه


                        #12
                        پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

                        نوشته اصلی توسط محمدرضا"Iran-PC"
                        چرا انقدر درد سر؟
                        همون موقعی که داری پیکسلهارو به صفر و یک تبدیل میکنی , هر 8 پیکسل رو تو یک بایت قرار بده , یعنی همون کاری که تو میکرو انجام میدی رو تو کامپیوتر انجام بده , اینجوری حجمش میشه یک کیلو بایت.
                        من همین برنامه رو برای یکی نوشتم , البته با دلفی و با پورت یو اس بی و صفحه ای که طرف روش نقاشی میکنه به طور همزمان روی ال سی دی نمایش داده میشه.
                        بله از اتفاق اول هم همین کار را انجام دادم یک عدد هگز را توی یک فایل ریختم ولی چیزی توش ریخته نمی شد . گفتم شاید فایل txt هست عدد هگز را به معادل کاراکتری تبدیل کردم اما باز نتیجه بخش نبود . البته ممکن هست که راه را اشتباه رفته باشم اگه در این مورد بیشتر راهنمائی کنید ممنون می شم
                        می شه برنامه ای که برای دوستتان نوشتید را توی انجمن بذارید ؟

                        دیدگاه


                          #13
                          پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

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

                          من این برنامه رو بدون میکرو از طریق پورت موازی نوشتم که Real-time که نقاشی می کنید روی LCD نمایش داده بشه.

                          شما چند تا راه دیگه هم داری:

                          1. استفاده از Mode نوشتن صفحه به صفحه روی EEPROM
                          2. استفاده از پین های Hanshake پورت سریال
                          3. ایجاد یک بافر حلقوی بوسیله ی SRAM میکرو
                          4. ذخیره بر روی حافظه ی Flash میکرو بوسیله ی Boot Loader


                          شما هم برنامتون را با #C نوشتید؟ اگه نوشتید می تونید بگید چطور با پوت ارتباط برقرار کردید؟ اگه هم پورت سریال را بگید که دیگه خیلی خیلی لطف کردید.

                          متاسفانه (البته باید خجالت بکشم) من از هیچ کدوم از راهاتون اطلاع ندارم می شه در مورد هر کدام توضیح بدید

                          دیدگاه


                            #14
                            پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

                            سلام، برنامه ی من با ویژوال بیسیکه، اگر می خواهید با C# بدون میکرو با LCD ارتباط برقرار کنید این مقاله اصول کار رو در مورد LCD کاراکتری گفته، شما تبدیل اش کن به گرافیکی، قطعا کار می کنه :smile:

                            I/O Ports Uncensored رو در سایت http://www.codeproject.com جستجو کنید.
                            There is nothing so practical as a good theory. — Kurt Lewin, 1951

                            دیدگاه


                              #15
                              پاسخ : مشکل در ارسال فایل از طریق پورت سریال و نوشتن همزمان در یک eeprom

                              نوشته اصلی توسط sharif*
                              بله از اتفاق اول هم همین کار را انجام دادم یک عدد هگز را توی یک فایل ریختم ولی چیزی توش ریخته نمی شد . گفتم شاید فایل txt هست عدد هگز را به معادل کاراکتری تبدیل کردم اما باز نتیجه بخش نبود . البته ممکن هست که راه را اشتباه رفته باشم اگه در این مورد بیشتر راهنمائی کنید ممنون می شم
                              می شه برنامه ای که برای دوستتان نوشتید را توی انجمن بذارید ؟
                              چطوری ریختید که چیزی ریخته نشد؟
                              منظورتون از عدد هگز چیه؟
                              شما باید به شکل مناسب 8 بیت رو کنار هم بچینید و به یک بایت تبدیل کنید (0 تا 255) بعد بریزید توی فایلتون و بعد ارسالش کنید.
                              حجم فایلتون هم باید بشه 1024 بایت
                              برنامه رو چون برای اون نوشتم , نمیتونم اینجا بذارم (فعلا).
                              الهم عجل لولیک الفرج

                              دیدگاه

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