پروژه SPI
#2
ارسالی 08 July 2017 - 05:03 AM
سلام
در مورد تقسیم کلاک بر 2، چنین چیزی کلیت ندارد. ممکن است در پروژه ای خاص این کار مورد نیاز بوده باشد.
در رابطه با fifo، از آنجایی که ورودی fifo، دیتای موازی است، لازم است قبل از هر چیز دیتای spi را که به صورت سریال است، توسط shift register به صورت موازی تبدیل کرد و بعد به fifo اعمال کرد.
#3
ارسالی 08 July 2017 - 11:42 AM
ضمن تشکر از پاسختان
منظور جمله توضیحی در پروژه نمونه spi که خودتان نوشته بودید هست.
این جمله: در تنظیمات این بلوک پارامتری به اسم CLK_DIV وجود دارد که در واقع نشان می دهد کلاک SPI چه تقسیمی از کلاک سیستم باشد. حداکثر مقدار این پارامتر برابر ۲ است .
این پارامتر در واحد کلاک وجود دارد که کلاک خروجی چه تقسیمی از کلاک ورودی برد(24MHz) باشد.اما توضیح بالا در مورد بلوک SPI است.ممنون می شوم توضیح دهید.
سوال دوم هم منظورم کلاکشان بود.چون قاعدتا بلوک ها با کلاک هماهنگ و یکسان کار می کنند. بلوک spi که کلاک ورودی خودش را بر 2 تقسیم می کند ، حال کلاک ورودی به بلوک fifo باید چه گونه باشد؟
با تشکر
#4
ارسالی 08 July 2017 - 05:53 PM
سلام.
پارامتر CLK_DIV یکی از پارامترهای کور است که ما نیازی به استفاده از آن نداریم و آن را برابر حداقل مقدار ممکن (حداکثر فرکانس خروجی) قرار میدهیم تا بیشترین سرعت را بدست آوریم.
کلاک واحد latch (همان fifo) با کلاک ورودی واحد spi یکسان است. اما کلاک خروجی واحد SPI میتواند مجزا باشد که در این مثال نیز چنین است.
#5
ارسالی 17 July 2017 - 11:11 AM
با سلام
با بررسی کد verilog spi که به عنوان نمونه گذاشته بودید، متوجه شدم که کلاک sck یک چهارم کلاک ورودی ماژول spi یعنیclk است. درواقع در یک کلاک دیتا را به mosi می ریزید در یک کلاک دیتارا از miso می گیرید در یک کلاک sck را set می کنید و در یک دیگه counter برای 16 بیت را اضافه می کنید.(چهار حالت رجیستر sck_q)این در صورتی است که دریک کلاک هم می توان دیتارا از miso برداشت،هم می توان شمارنده را زیاد کرد و... ودر نهایت می تواند clk با sck یکسان باشد.می خواستم بدانم که یک چهارم کردن کلاک دلیل خاصی دارد؟
0 کاربر در حال خواندن این موضوع است
0 کاربر، 0 مهمان و 0 عضو مخفی