שְׁאֵלָה:
באילו תדרי SPI תומך Raspberry Pi?
akavel
2012-06-26 01:42:17 UTC
view on stackexchange narkive permalink

באילו תדרים SPI תומך Raspberry Pi?

בנוסף:

  • האם כולם נתמכים על ידי bootc.net SPI driver?
  • האם יש דברים נוספים עלי להיות זהירים כשמנסים לתקשר עם שבב אחר באמצעות SPI?
חָמֵשׁ תשובות:
Nakedible
2012-11-01 17:47:45 UTC
view on stackexchange narkive permalink

ה- Raspberry Pi SPI פועל במהירות שעון APB, שווה ערך למהירות שעון הליבה, 250 מגה-הרץ. ניתן לחלק את זה ב כל מספר זוגי בין 2 ל 65536 למהירות הרצויה. גליון הנתונים מציין כי המחלק חייב להיות כוח של שניים, אך זה לא נכון . מספרים מוזרים מעוגלים כלפי מטה, ו -0 (או 1) שווה ערך ל -65536. לכן מחיצה קטנה מ -2 אינה אפשרית. בין.

(היה מידע שגוי בעניין זה, אך תוצאות אלו אומתו על ידי ניסויים. אנא הפץ את הבשורה.)

אני חושב שהתשובה הזו צריכה להיות בראש.
אתה בטוח לגבי זה? גורדון טוען שבעוד שאתה יכול להאכיל אותו בכל מספר זוגי, רק כוחות של שניים באמת משפיעים: [הבנת SPI ב- Raspberry Pi | פרויקטים של גורדונס] (https://projects.drogon.net/understanding-spi-on-the-raspberry-pi/ "הבנת SPI על ה- Raspberry Pi")
בדקתי את זה באוסילוסקופ. אני חושב שהבעיה עם גורדון היא שהוא משתמש במנהל הליבה, שמפקח על מהירות השעון, במקום לפקד ישירות על המעבד מבלי להשתמש במנהל הליבה.
נושא הפורום הזה מספק מידע נוסף להוכחת התשובה של Nakedible: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=43442&p=347073
Maria Zverina
2012-06-28 14:24:33 UTC
view on stackexchange narkive permalink

ניתן להפעיל את ה- SPI במהירות השעון הליבה או לחלק אותו למטה עבור ציוד היקפי איטי יותר. שעון הליבה הוא 250 מגה הרץ. ניתן להגדיר את המחיצה לכל כוח של שניים - מ 2 ^ 0 עד 2 ^ 16. משמעות הדבר היא שתדרי SPI בין 3.8 קילוהרץ ל -250 מגה הרץ נתמכים.

מקורות:

האם זה עדיף כעריכה לפוסט של FarhadA? או, בשר את זה קצת כדי להסביר מהו שעון הליבה וכו '.
אולי - פרהאד ממקור דפי נתונים עבור BCM2835 שהוא ה- SoC בפועל עבור RPi, בעוד שההתייחסות שלי היא ל- BCM2708 שהוא רק חלק מה- SoC. המקורות עשויים להתכנס ... אבל אז הם עשויים שלא. אז אני חושב שעדיף לשמר בינתיים מקורות חלופיים.
אה ו area51 מפרט אותנו כבעלי 1.7 תשובות לשאלה וקובעת "2.5 תשובות לשאלה הן טובות, רק תשובה אחת לשאלה זקוקה לעבודה מסוימת. באתר בריא, השאלות זוכות לתשובות מרובות והתשובה הטובה ביותר נבחרת לראש." :-)
אני חושב ש- BCM2708 הוא רכיב המעבד המהווה חלק מה- BCM2835 שהוא SoC (מערכת על שבב). אבל ממש קשה למצוא לזה מקור סמכותי ....
תשובה שגויה: 2 ^ 0 אינו נתמך, והמחלק לא צריך להיות כוח של שניים.
@Nakedible אתה יכול לספק מקור להצהרות שלך?
גליון הנתונים bcm2835 מאשר את נקודת 2 ^ 0. http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf זה אושר גם על ידי הגדרות בספריית bcm2835. http://www.open.com.au/mikem/bcm2835/ באשר לאי הכוח של שני מחלקים, גליון הנתונים מציין כי ייתכן שמכוון ל -2 נועד. http://elinux.org/BCM2835_datasheet_errata זה פורסם גם בפורום כלשהו שנראה כי כל מכפיל של 2 עובד. כל זה אושר גם על ידי * בדיקת * פלט ה- SPI בחומרה אמיתית. ראה תשובתי למטה המפרטת זאת בדיוק.
FarhadA
2012-06-26 02:30:36 UTC
view on stackexchange narkive permalink

גליון הנתונים של BCM2835 אומר את הדברים בעמוד 120: הערך של רישום השעון של גוש SPI מכיל.

BC Clock Divider SCLK = Core Clock / CDIV אם CDIV מוגדר ל- 0, המחלק הוא 65536. המחלק חייב להיות כוח של 2. מספרים מוזרים מעוגלים כלפי מטה. קצב שעון ה- SPI המקסימלי הוא של שעון ה- APB.

אני לא יכול למצוא שום התייחסות לתדירות המרבית של אוטובוס ה- APB, אני חושב שזה חלק מהתיעוד של ARM11 ו לא SoC זה.

תודה על ההתייחסות; אני מאמין שהדף הוא 156? נראה כי CDIV הוא ברוחב 16b, כך שעובר בין 1 ל -65536. "שעון הליבה" הוא כנראה 700MHz? אז נגיע לטווח שבין ~ 10.7kHz עד למגבלת ה- APB המסתורית?
אתם מוזמנים מאוד, אבל אני חושש שהשעון הזה אינו שעון הליבה. זהו אוטובוס ה- APB: "APB מיועד לגישות לבקרת רוחב פס נמוך, למשל ממשקי רישום בציוד היקפי למערכת. לאוטובוס זה יש כתובת ונתוני שלב הדומים ל- AHB, אך רשימת אותות מופחתת ונמוכה בהרבה (למשל ללא התפרצויות הוא צריך לתמוך באותות 32bit ו- 66MHz. "
andré
2013-03-21 01:40:00 UTC
view on stackexchange narkive permalink

בדקתי עם ה- כפי שניתן לראות ב- http://www.brianhensley.net/2012/07/getting-spi-working-on-raspberry-pi.html ושיניתי את המהירות.

המהירות המקסימלית כאשר הבדיקה עברה היא 15MHz = 15000KHz: ראה תוצאה:

  מצב spi: 0 ביט למילה: 8 מקסימום מהירות: 15000000 הרץ (15000 KHz) FF FF FF FF FF FF40 00 00 00 00 95FF FF FF FF FF FFFF FF FF FF FF FFF FF FF FF FF FF FFDE AD BE EF BA ADF0 0D  

הבדיקה ב- 16MHz נכשלה. אנדרה

שלי רץ בסדר ב- 32MHz = 32,000KHz. ראיתי שהוזכר [כאן] (http://elinux.org/index.php?title=RPi_SPI#Speed_2) שגם זה הגבול המעשי. אני מריץ את הקושחה האחרונה של RPi ב- Raspbian קשה לצוף אם זה משנה.
לאחר RPi 3 מריץ את הבדיקה הזו ב- 60MHz בהצלחה.
Stephen Samuel
2019-12-23 22:23:18 UTC
view on stackexchange narkive permalink

BC Clock Divider SCLK = Core Clock / CDIV אם CDIV מוגדר ל- 0, המחלק הוא 65536. המחלק חייב להיות בעוצמה של 2. מספרים מוזרים מעוגלים כלפי מטה. .....

מבחינה לשונית, 'מספרים מוזרים מעוגלים למטה' תואם את 'כוח' להיות שגיאת הקלדה ל'מרובה 'אם זה היה נועד להיות כוח של שניים, לא יהיה צורך להתייחס למספרים אי זוגיים.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...