اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام.
    دوستان در میکرو دوتا ورودی سریال دارم که هدف آمادگی برای دریافت همزمان (کمترین تایم)دو ورودی هست.در حالت بدون دریافت و چک کردن و کنترل وضعییت هرکدام چیزی در حدود 50 میلی ثانیه زمان لازم داره و ممکنه در این تایم از آن یکی دریافت داشته باشم.
    میخوام در زمانیکه وضعییت یکی را چک میکنم اگر از دیگری دریافت داشته باشم خبردار بشود. ورودی سریال بصورت نرم افزاری هست .
    بنظر دوستان اگر بخوام از INTERRUPT استفاده کنم بهترین گذینه برای این مورد چیه؟

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

    نوشته اصلی توسط leader. نمایش پست ها
    سلام.
    دوستان در میکرو دوتا ورودی سریال دارم که هدف آمادگی برای دریافت همزمان (کمترین تایم)دو ورودی هست.در حالت بدون دریافت و چک کردن و کنترل وضعییت هرکدام چیزی در حدود 50 میلی ثانیه زمان لازم داره و ممکنه در این تایم از آن یکی دریافت داشته باشم.
    میخوام در زمانیکه وضعییت یکی را چک میکنم اگر از دیگری دریافت داشته باشم خبردار بشود. ورودی سریال بصورت نرم افزاری هست .
    بنظر دوستان اگر بخوام از INTERRUPT استفاده کنم بهترین گذینه برای این مورد چیه؟
    مهندس سلام،
    اول پیشنهاد میدم که این AVR یا چیپهای قدیمی رو کم کم طلاق بدی و بیای سمت تراشه های بروزتر!
    ... .
    حتما مستحضر هستید که مکانیزم سریال نرم افزاری، خودش وقفه ای نداره و شما فقط میتونی از وقفه های خارجی روی پینهایی که این سریال نرم افزاری روشون ایجاد شده استفاده کنی، و با توجه به اینکه وضعیت پلاریته باس سریال در حالت IDEL (بی کار) High است، شما باید برای اون مسیرها Pull UP گذاشته باشی و وقفه خارجی رو، روی لبه پائین رونده فعال کرده باشی!
    ... .
    و حتما این موضوع رو هم میدونی که با توجه به نرم افزاری بودن این پورت سریال، اگر در حین دریافت داده، وقفه ای رخ دهد و پردازنده بخواهد به وقفه سرویس دهد، اطلاعات این پورت از دست میرود!
    ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

    دیدگاه


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

      نوشته اصلی توسط ubub نمایش پست ها
      مهندس سلام،
      اول پیشنهاد میدم که این AVR یا چیپهای قدیمی رو کم کم طلاق بدی و بیای سمت تراشه های بروزتر!
      ... .
      حتما مستحضر هستید که مکانیزم سریال نرم افزاری، خودش وقفه ای نداره و شما فقط میتونی از وقفه های خارجی روی پینهایی که این سریال نرم افزاری روشون ایجاد شده استفاده کنی، و با توجه به اینکه وضعیت پلاریته باس سریال در حالت IDEL (بی کار) High است، شما باید برای اون مسیرها Pull UP گذاشته باشی و وقفه خارجی رو، روی لبه پائین رونده فعال کرده باشی!
      ... .
      و حتما این موضوع رو هم میدونی که با توجه به نرم افزاری بودن این پورت سریال، اگر در حین دریافت داده، وقفه ای رخ دهد و پردازنده بخواهد به وقفه سرویس دهد، اطلاعات این پورت از دست میرود!
      سپاس و درود بر شما.
      حقیقتش تا به امروز باavr کار نکرده ام .
      در مورد این سوال بیشتر توضیح دهم که :
      مجبورم از دو دریافت سریال بصورت نزدیک به همزمان در این پروژه استفاده کنم.بطوریکه نباید هیچ کدام از دریافتها را از دست بدهم البته هیچ موقع دریافت همزمان نخواهم داشت ولی مشخص هم نیست کدوم و در چه زمانی دریافت شوند
      و از طرفی امکان اولوییت بندی بین این دو وجود ندارد.اگر راه چاره ای پیدا نشود مجبورم از یک مینی میکرو برای دریافتهای یکی از این دو دریافت استفاده کنم.
      البته نظرات باارزش دوستانی مثل شما انشاالله راه گشا خواهد بود

      دیدگاه


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

        نوشته اصلی توسط leader. نمایش پست ها
        سپاس و درود بر شما.
        حقیقتش تا به امروز باavr کار نکرده ام .
        در مورد این سوال بیشتر توضیح دهم که :
        مجبورم از دو دریافت سریال بصورت نزدیک به همزمان در این پروژه استفاده کنم.بطوریکه نباید هیچ کدام از دریافتها را از دست بدهم البته هیچ موقع دریافت همزمان نخواهم داشت ولی مشخص هم نیست کدوم و در چه زمانی دریافت شوند
        و از طرفی امکان اولوییت بندی بین این دو وجود ندارد.اگر راه چاره ای پیدا نشود مجبورم از یک مینی میکرو برای دریافتهای یکی از این دو دریافت استفاده کنم.
        البته نظرات باارزش دوستانی مثل شما انشاالله راه گشا خواهد بود
        روز بخیر جناب مهندس،
        میدونید که بحث "صرفا دریافت" و "پردازش داده های دریافتی" فرق میکنه!
        منظورم اینه که شما با چیپهایی مثل STM324103RBT میتونی 5 خط داده سریال + 3 خط داده SPI + کلی پریفرال دیگه رو به طور 100 درصد همزمان دریافت کنی!
        و صد البته بحث پردازش این داده ها فرق میکنه! و شما فقط یکی از این داده ها را میتوانید در آن واحد پردازش کنید، که البته با توجه به سرعت نسبتا بالای این تراشه ها، کاربردهای بسیاری رو جوابگو خواهد بود!
        و همچنین در کاربردهایی واحد DMA نیز میتواند به صورت مستقل و بعضا موازی با پردازنده یکسری انتقالات رو انجام بده!
        ... .
        و درچیپهایی مثل ATMEGA64A3U علاوه بر تعداد 5 خط سریال و 3 خط SPI و ... و DMA ، شبکه سخت افزاری دیگری به نام Event System وجود داره، که تقریبا بی رقیبه که شما رو قادر میسازد که بدون دخالت CPU یکسری کارهای سخت افزاری مربوط به پریفرالها رو به طور کامل مدیریت کنید!
        یعنی در کاربردهایی میشه بدون اجرا شدن حتی یک خط کد توسط CPU ، یک پروژه کامل مثلا پخش صوت یا دیتا لایگر ساخت!!!!
        ... .
        ولی اگه منظورتوت پردازش همزمان داده های دریافتی هست، که داستانش فرق میکنه!
        ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

        دیدگاه


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

          از تراشه هایی با دو ورودی سریال مثل اتمگا64 و در حالت اینتراپت استفاده کنید. یه بافر هم براش بذارید بزرگتر از تعداد داده هایی که در یک زمان ارسال میشه. کدویژن خودش ایجاد میکنه اگه با اون کار میکنید

          دیدگاه


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

            از تمامی بزرگواران کمال تشکر را دارم.
            میکرو مورد استفاده pic16f1825 هست
            امکان تغییر سخت افزار فعلا برام ممکن نیست.
            بیشتر دنبال راهکار و ترفند نرم افزاری میگردم تا تغییر میکرو.

            دیدگاه

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