در این پروژه هدف دریافت دیتا از طریق پروتکل I2S با استفاده از میکروکنترلر STM32F407VGT6 و PCM1808 و سپس انتقال بدون وقفه دیتا از طریق SPI1 میکرو به برد رزبری پای می باشد.
_________________________________ تمرکز پروژه تنها بر روی بخش STM هست. _______________________________________
عملکرد سیستم:
با فرمان پین PA0 یا هر پین مورد نظر دیگر (ممکن است پین اینتراپت مورد نیاز باشد)، میکرو از طریق SPI1 دو مقدار مقدار را دریافت میکند. به طور مثال:
Sensitivity = 1.2;
Resolution = 96000;
Resolution مقدار دیتا رو نشان می دهد یعنی باید 96000 دیتا سه بایتی (24bit) دریافت شود. این دیتا زمانی شروع به دریافت میشود که مقدار ولتاژ خوانده شده از طریق I2S به بیش از مقدار Sensitivity رسیده باشد. بنابراین بعد از گذشتن از این مقدار ولتاژ (Sensitivity) باید 96000 دیتا 3 بایتی به رزبری انتقال داده شود. میتوانید دوتا بافر 512*3 تعریف کنید که به صورت نوبه ای اطلاعات I2S رو دریافت کنن و وقتی بافر اول پر شد اطلاعات به رزبری پای منتقل بشه و بافر دو از طریق I2S پر شود و این چرخه ادامه داشته باشد.
uint8_t buffer1[512* 3]; //24-bit samples
uint8_t buffer2[512* 3]; //24-bit samples
volatile uint8_t currentBuffer = 0; // Active buffer flag
حتماً در هردو انتقال دیتا از DMA باید استفاده شود.
باید قابلیت دریافت stereo و mono رو داشته باشیم. ولی پیش فرض مونو و کانال چپ هست.
این آگهی از وبسایت کارلنسر پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت کارلنسر برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.