در این پروژه هدف دریافت دیتا از طریق پروتکل I2S با استفاده از میکروکنترلر STM32F407VGT6 و PCM1808 و سپس انتقال بدون وقفه و بلادرنگ دیتا از طریق SPI1 میکرو به برد رزبری پای می باشد.
_________________________________ تمرکز پروژه تنها بر روی بخش STM هست. _______________________________________
عملکرد سیستم:
با فرمان پین PA0 و به همراه NSS مرتبط با SPI1 (البته می توان PA0 رو نادیده گرفت و هرگاه NSS صفر شد (یعنی رزبری پای آماده دریافت اطلاعات شد) )، میکرو کنترلر شروع به دریافت دیتا از طریق I2S2 می کند و این اطلاعات از طریق SPI1 به صورت بلادرنگ به رزبری پای انتقال داده می شود.
پارامترهای ارتباطی I2S2 به صورت زیر است.
Fsampling = 96khZ
Data Format = 24-bit I2S
STM32F407VGT6 = Master Clock
***** اطلاعات کانال چپ فقط مورد نیاز است.
میتوانید از تکنیک دابل بافرینگ استفاده کنید که به صورت پیش فرض در کتابخانه های HAL تعریف شده استفاده کنید یا می توانید دوتا بافر 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 باید استفاده شود.
مشخصات پروتکلها در عکس پیوست شده آمده است.
این آگهی از وبسایت کارلنسر پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت کارلنسر برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.