لطفا فایل شماره یک رو ملاحظه بفرمایید. یه مستر هست که با سه تا LM75 به طور دائم در ارتباط هست و فقط هم دما رو میخونه. خیلی ساده ، اول آدرس، بعدش دستور ریدینگ دست آخر هم دما. برای هرسه تا سنسور پشت سر هم و کل این فرایند اغلب دوبار تکرار میشه در هر ثانیه. ولی زمان بین خواندن اولی و دومی کاملا متغییر و تصادفی هست. تصویر یک ما اون بلاک سبز هستیم و قراره ما هم از اطلاعات دما با خبر بشیم. شاید اینطور به نظر بیاد که مساله سادست ما هم دستور خواندن رو صادر میکنیم که اطلاعات دما رو برداریم. ولی توجه بفرمایید که اگر خوندن ما با سیگنال های مستر همزمان بشه بلافاصله سیستم تریپ میخوره که این کار ممنوع هست و به هیچ عنوان نباید سیستم وقفه در کارش ایجاد بشه. در وحله اول با روش های آماری با قضیه برخورد شد که احتمال تداخل سیگنال ما با مستر به صفر برسه ولی متاسفانه بعد از چند ساعت این تداخل به خاطر ذات تصادفی خواندن مستر حتما اتفاق می افتد مهمم نیست که چقدر تکنیک های آماری رو پیشرفته کنی. ولی ما اینجا به دنبال راه حل قطعی هستیم. از اونجایی که ما هیچ دسترسی یا کنترلی نه روی اسلیوها و نه روی مستر نداریم، تنها راه اینطور به نظر میاد که مشابه پردازش سیگنال یک logic Analyzer از سیگنال ها فقط نمونه برداری بشه و اونوقت درون یک میکرو پردازش سیگنال و نهایتا استخراج دمای سنسورها انجام بشه. تصویر دوم. بسیار از آی سی های سوییچ I2C توی مارکت برای این موضوع مطالعه شد که متاسفانه برای این پروژه اجرایی نبود. پیشنهاد میکنم اگه بتونیم به طریقی دسترسی به زیر لایه های دستور HAL پیدا کنیم این کار ممکنه میشه چون سخت افزار لازم تو دل میکرو همین الان هم هست. میکرو Stm32f0C8T6 میتونه تا فرکانس نزدیک به 380 کیلوهرتز کلاک I2C تولید میکنه. بدون صورت که مثلا میکرو اطلاعات کلاک و دیتا رو روی یک آرایه ذخیره بکنه بدون اینکه بخواد سیگنال ACL یا NACK بزنه و عملا فقط یه Observerباقی بمونه. اطلاعات بیشتری لازم بود بفرمایید بلافاصله خدمتتون ارسال می گردد.
این آگهی از وبسایت کافه پروژه پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت کافه پروژه برین و از اونجا برای این شغل اقدام کنین.