שְׁאֵלָה:
האם פי מספיק חזק לפרויקט אוסצילוסקופ?
niw3
2012-12-27 04:13:39 UTC
view on stackexchange narkive permalink

המטרה שלי היא לייצר מכשירים מבוססי פי, החל מאוסילוסקופ. אז קראתי תשובות ל

נראה שאפשר לקרוא כניסות אנלוגיות בקצב דגימה נמוך מאוד, אבל אני תוהה אם אוכל להגיע לקצב של דגימות לשנייה. רכישת נתונים רציפה כנראה תהיה קשה, אם זה אפשרי בכלל, אז אני יכול להסתדר בלעדיה. האם פי יהיה מצויד לכך? אני רוצה לראות צורות גל בתצוגות המחוברות ל- Pi בהתחלה, ובהמשך במכשירים הניידים שלי (בזמן ש- Pi מעביר אליהם נתונים אלחוטיים).

הניסיון שלי עם מערכת שבבים ממערכת אומר לי שמערכות אלה עשויות להיות להרוות בקלות על קלט / פלט רציף. האם זה המקרה גם עבור פי?

שמונה תשובות:
AndrejaKo
2012-12-30 17:49:46 UTC
view on stackexchange narkive permalink

בואו נקבל סקירה ברמה גבוהה על מה שיש לאוסילוסקופ:

ראשית יש לנו את הקצה הקדמי האנלוגי. כאן יש לנו רשת תואמת עכבה עבור הבדיקות (אבל הבדיקות יצטרכו גם להיות בעל חלק תואם קיבול), קטע הנחתה (חשוב מאוד, כדי שלא להעמיס על ה- ADC או להכניס מתח גבוה), הפעלה וחיבור ל ממיר מאנלוגי לדיגיטלי. אני לא אדבר יותר מדי על זה, מכיוון שאני לא טוב מדי עם דברים אנלוגיים, אבל השורה התחתונה היא: אין שום דבר שאנחנו יכולים לעשות עם Pi בסעיף זה.

בשלב הבא יש לנו את האנלוגי. לחלק ממיר דיגיטלי. תזדקק לפחות ל- ADC אחד לכל ערוץ. ניתן להשתמש ביותר לשיעור דגימה גבוה יותר. בהיקף המסורתי, ה- ADC מחובר למכשיר ASIC או למכשיר FPGA. הם משמשים מכיוון שמחשבים מסורתיים אינם מספיקים בזמן אמת (ואינם מבלבלים בזמן אמת עם מהיר!) כדי לעבד את הנתונים שמספק ה- ADC. נתונים אלה נשמרים בזיכרון RAM כלשהו. חלק מהמכשירים ישתמשו בזכרון RAM סטטי, ואילו אחרים ישתמשו בזיכרון דינמי. באופן כללי, גישת ה- SRAM מסורתית יותר ונראית אצל יצרני שמות גדולים, בעוד שנראה כי השימוש ב- DRAM הוא הגישה החדשה יותר שניתן לראות ביחידות הזולות יותר בעיצוב סיני.

כמות ה- RAM ומהירותו יקבעו כמה דגימות ניתן לאחסן. כמעט תמיד ה- ADC יהיה ADC של 8 סיביות, כך למשל לדוגמא מגה אחת נצטרך פי 8 ב '100000 = 8 Mb או 1 MB RAM. עבור MSa / s אחד, נצטרך זיכרון RAM שיכול לעבוד במהירות זו. כיום, זה אמור להיות קל יחסית להשיג. ה- FPGA בדרך כלל מניע ישירות את ה- RAM ואחראי על אחסון הנתונים בו. זה עובד על ידי מילוי זיכרון הדוגמה כשיש עדיין מקום ריק ואז מחליף אותו כשהוא מלא. כשיש מספר ADCs לערוץ, ה- FPGA יגדיר אותם כך שמתחילים לדגום תחילה, ואז בשעון הבא שנייה וכן הלאה. כאשר הם מסיימים את הדגימה, המדגם של ה- ADC הראשון ייכתב בזיכרון, ואז המדגם השני של ADC. זה יראה כאילו ה- ADCs מדגמים מהר יותר מאשר הם באמת.

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

בחלק זה אנו רואים את השימוש האפשרי הראשון ב- Pi. אם קצב הדגימה נמוך מספיק, אולי נוכל להניע את ה- ADC ישירות מה- Pi ולאחסן את תוצאותיהם בזיכרון ה- RAM של Pi. כמה מהר אנחנו יכולים ללכת תלוי באופן שבו ה- ADC מחובר ל- Pi וכיצד ה- Pi עושה את ה- I / O שלו. ממה שקראתי, המהירות הגבוהה ביותר של יציאות ה- I ^ 2C של Pi היא 150 מגה-הרץ (כמה קל יהיה להשיג ב- GNU / Linux זו שאלה אחרת) ואילו המהירות הסטנדרטית הגבוהה ביותר היא 5 מגה-הרץ ול SPI המהירות הגבוהה ביותר ב ה- Pi הוא 250 מגה-הרץ. אני לא בטוח מה המהירות הסטנדרטית הגבוהה ביותר של SPI, אבל אני מצפה שהיא תהיה איפשהו בטווח של 100 מגה הרץ במקסימום.

אז בתיאוריה יש לנו יותר ויותר מהירות ב- Pi כדי להפעיל ADC בטווח MSa / s נמוך. יש לי תחושה שמהירות ה- RAM לא תהיה בעיה כאן, אבל אין לי נתונים שתגבה את זה. אם זה המקרה, יהיה לנו יתרון גדול בהשוואה להיקפים הרגילים: יהיה זמין זיכרון לכידה גדול מאוד. לדוגמה, אם אנו מקדישים 32 מיב של זיכרון RAM לתוכנית לזיכרון לדוגמא ויש לנו שני ערוצים, זה ישאיר לנו 16 מיב לכל ערוץ או קצת יותר מ- 134 מגה או 134 מגה-דוגמאות לערוץ. זה משהו שגם כיום לאוסילוסקופים רבים אין.

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

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

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

זה החלק שממה שאני יכול לראות את הפי באמת יכול לזרוח. זה יכול לנהוג בתצוגה יפה של 1920x1080 (בעוד שהיקפים נמצאים לעתים קרובות בתת 800x600) ויכולים לבצע פענוח פרוטוקולים יפה מאוד. הבעיה היחידה שאני יכול לראות תהיה מהירות וכיצד העיבוד ישפיע על זמן ההמתנה. אם נלך על קצב רענון נמוך, נוכל להשיג איתו מנתח לוגיקה ממש טוב.

לבסוף מילה על אוסצילוסקופי USB ומדוע בכלל USB רע בכלל עבור סוג זה של פרויקטים: אוסצילוסקופ USB מסורתי. עושה קלט ודגימה ושולח את נתוני הדגימה למחשב לעיבוד שעבורו קיימת יישום מארח. בעיקרון משהו דומה מאוד ייעשה גם עם פי. בדרך כלל יישומי המחשב מעוצבים בצורה גרועה ומלאים באגים. החלק הרע הבא הוא USB עצמו. הוא מתפרסם כאוטובוס מהיר שיכול לבצע 480 Mb / s במצב "Hi-Speed". האמת היא שזה נדיר ביותר למצוא בקר USB שיכול לתמוך במהירויות כה גבוהות (נראה שהממוצע הוא בסביבות 250 Mb / s ממה שראיתי) ושהוא כפרוטוקול לא מתאים במיוחד לאמיתי יישום בזמן. ראשית הוא משותף בין כל המכשירים במרכז (ולפי יש רק יציאת USB אחת אליה מחובר רכזת Ethernet + USB), יש תקורה גבוהה יחסית (בהשוואה ל- SPI למשל) ויש לו זמן אחזור גבוה (זכרו שב -1 MSa / s כל דגימה נמשכת רק 1 µs, לכן עלינו להחזיק זיכרון על הלוח שלנו מכיוון שאיננו יכולים לשלוח דגימות בזמן אמת באמצעות USB). לבסוף השימוש ב- USB יהפוך את רכישת הנתונים לחלק מההיקף להיות סתם אוסצילוסקופ USB וכאן אנו מאבדים כל יתרון בשימוש ב- Pi: מחשבים שולחניים מסורתיים הם הרבה יותר נפוצים, מהירים יותר, מושגים בקלות ובעלת יכולות USB טובות בהרבה.

עריכה קראתי פוסט יחסית מאת גרט ואן לו ולדבריו, שיעורים מציאותיים עבור ה- I ^ 2C של פי הם 400 קילו-הרץ ו עבור SPI הם 20 מגהרץ.

אז מה שיא תשובתך? זה יותר כמו וויקי.
@ppumkin כן, שאלה כזו דורשת תשובה כזו .. ובכן אין פסגה. לא נמסר לנו מספיק מידע לגבי הביצועים הצפויים של המכשיר הדרוש לנו, בהנחה שפי יבצע רכישה, השורה התחתונה תהיה כן, בתדרים נמוכים מספיק. אם Pi לא יבצע רכישה, אין טעם להשתמש ב- Pi בגלל ביצועי ה- USB הגרועים שלה.
BitScope
2013-09-23 18:39:20 UTC
view on stackexchange narkive permalink

מצאנו כי ה- Raspberry Pi הוא פלטפורמה מצוינת להפעלת התוכנה הדרושה לך עבור פרויקט כזה. הבעיה היא להכניס את האותות ל- RPi מלכתחילה ולבצע לכידת אותות בזמן אמת ללא ריצוד במהירות באותו מעבד שמריץ את תוכנת ה- O / S ותוכנות היישום. הפיתרון שלנו הוא BitScope Raspberry Pi Oscilloscope שמזווג BitScope (לצילום גל מעורב במהירות גבוהה) עם ה- Raspberry Pi שמריץ את כל התוכנות הדרושות.

enter image description here

תקע חסר בושה =)
זה מגניב. אבל זה לא קשור לתשובה! או אולי זה מוכיח שהפי הוא חלש כדי להיות אוסצילוסקופ?
ה- Pi אינו "חלש מדי" אך אין לו יכולת קלט / פלט הדרושה לרכישת צורת גל (במהירות גבוהה). במילים של השאלה המקורית, זה "תחת מצויד בשביל זה" :-)
ikku
2012-12-27 07:09:12 UTC
view on stackexchange narkive permalink

הערה: זה יותר קטע טקסט 'חושב בקול רם' ואז תשובה אמיתית

הרעיון גם עלה במוחי לפני זמן מה, ואני עדיין אוהב את רעיון כללי!

עד כמה שידוע לי, ההיקפים המתקדמים הם מאז 15 שנה (או אפילו יותר) רק מחשבים (PC) עם חבורה של קלט / פלט מהיר במיוחד. אני חושב שכאשר קלט / פלט דומה מתוכנן / מחובר ל- RPi, התוצאה עשויה להיות מפתיעה לטובה.

IMHO דרך טובה לעשות זאת היא לאפשר ל- RPi פשוט לאחסן ולהציג את הנתונים שנאספו (שהתקבלו למשל דרך יציאת ה- USB) ולתת לחומרה מיוחדת לבצע את מדידת המהירות הגבוהה. לאחר מכן ניתן לשלוט גם על יחידת המדידה המהירה הזו על ידי ה- RPi על סמך קלט משתמש או משהו דומה.

בגרסה הראשונה ב- RPi היו / יש כמה בעיות ביציאות ה- USB, לא חיפשתי. לאחרונה אם אלה נפתרים כרגע. שמעתי גם שמועה שלגרסת ה- 2.0 החדשה של RPi לא צריכות להיות בעיות אלה, אך גם לא בדקתי את השמועה הזו.

אני חושב שהתוצאות ללא חומרה חיצונית (מיוחדת) מוגבלות בגלל מספר יציאות ה- I / O והעובדה שמערכת הפעלה שלמה פועלת בה (מה שמגביל את האפשרויות בזמן אמת). אלא אם כן אתה מתכנן לכתוב מערכת הפעלה משלך?

גם שימוש בשבבי I2C לדוגמא למטרה זו לא יהיה במהירות מספקת לעשות משהו ממש נחמד. SPI נותן כבר הרבה יותר רוחב פס (עד 100Mhz מראש הראש), אבל הייתי הולך על USB ובמידת הצורך לדחוס, או משתמש בתכנית קידוד טובה לפני שליחת הנתונים, כדי להשיג יותר רוחב פס.

אז אני מניח שזה אפשרי, אבל החומרה שצריך להוסיף ל- RPi תהיה הרבה יותר יקרה מה- RPi עצמו.

אחרון חביב (לפני שאפסיק לחלום בהקיץ על הנושא הזה) לא אתפלא אם חיפוש באינטרנט יביא לקבוצה כלשהי שכבר עסוקה בכך.

Marthein
2013-01-29 15:56:33 UTC
view on stackexchange narkive permalink

תוכל לחבר את אחד מ הנדסת ה- TiePie Handyscope HS5 אוסצילוסקופים / מחוללי צורות גל שרירותיות ליציאת ה- USB. ניתן להוריד ספרייה שהורכבה עבור ה- Raspberry Pi לשימוש באוסצילוסקופ אחד או מרובים בו זמנית. הכלי משתמש בתזמון ובזיכרון משלו, כך שאין הפסד ביצועים. אז כן, ה- Pi מספיק חזק לפרויקט אוסצילוסקופ.

Handyscope HS5

מפרטי המפתח של האוסצילוסקופ: 2 ערוצים, 14 סיביות, 500 MS / s, רוחב פס 250 מגה-הרץ , 20 MS / s 14 סיביות ללא הזרמת פער פער רציף, 32 זיכרון MS לכל ערוץ, דיוק בסיס בסיס של 1 עמוד לדקה.

מפרטים עיקריים של מחולל צורות גל שרירותיות: צורות גל של 1 µHz עד 30 MHz, 240 MS / s , 14 סיביות, זיכרון 64 MS, פלט -12 עד 12 וולט (24 וופ), דיוק בסיס זמן של עמוד אחד.

שלום. בעתיד אנא גלה את זיקתך למוצר שאתה מפרסם. תודה.
בלי אותי! תסתכל על המחירים! נראה עם זאת מוצרים נחמדים. לא בתחום התקציב שלי.
לא היה מודע לצורך גילוי השתייכות. טקסט שונה כדי לציין שאני קשור להנדסת TiePie.
Piotr Kula
2013-01-29 18:50:26 UTC
view on stackexchange narkive permalink

התשובה היא כן.

היא מספיק חזקה! אבל רק לתדרים מסוימים- כפי שצוין כבר בגלל המגבלות.

אז! -> אתה צריך לשאול את עצמך מה אתה רוצה למדוד?

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

מתנדים יכולים לנוע בין תדרים נמוכים פשוטים שעולים 5 דולר ארה"ב ואז אחרים יכולים להתמודד עם עד 50Ghz + - זה עולה כמו בית קטן! 75,000 USD-100,000 USD!

אני חושב שהפטל יהיה מספיק טוב למדידת תדרי תת-גיגה, כמו אותות אלחוטיים 433mhz, תקשורת אוטובוס מעבד במהירות נמוכה, TTS / UART, איתור באגים I2C - לא הרבה יותר באמת. והתדרים הגבוהים יותר לא יהיו ממש מדויקים, מכיוון שעיצובם פטל אינו מפעיל מערכת הפעלה בזמן אמת. אז תצטרך להתחיל עם מערכת ההפעלה (או כאמור מכשירים חיצוניים בזמן אמת - אבל מה הטעם אז?)

אבל אם אתה באמת רוצה למדוד אותות, אז אתה יכול לקנות ממש טוב והוגן מכשיר במחיר השווה למפרט פטל. אבל הוא כבר מעוצב היטב, מלא בתכונות, באמת בוגר בעיצובו והוכיח שהוא יכול להיות שימושי בסביבה של תחביבים. אין צורך להמציא את הגלגל מחדש כאן. למשל DSO Nano לערוץ יחיד של פחות מ- 100 USD.

enter image description here

DSO Nano Quad Channel עבור פחות מ- 200 USD

enter image description here

ואז, איזה פטל או מכשיר דומה לא יכולים לעשות!

ועלות הון קטן ...

enter image description here

  • עד 110Ghz, עם כונן קשיח לאחסון נתונים, מדויקים במיוחד, סימולציות ומפעילים.
  • מודד Bluetooth, WCDMA / EDGE / 3G / 4G, אלחוטי A / B / G / N 2.4Ghz / 5Ghz, SATA, AGP / PCI / PCI-Express, אותות לוויין גולמיים, ערוצי כונן קשיח, Ethernet וכו 'וכו' ...
אני יכול לעשות את ה- RPi שלי להיראות כמו Rohde & Schwarz, יהיה נחמד, אולי קצת מעבר לגבעה, מקרה מקרה :-)
לצחוק בקול רם! זה יהיה מראה לעיניים כואבות :)
avra
2013-09-25 12:49:22 UTC
view on stackexchange narkive permalink

הסיכוי הטוב ביותר שלך הוא לנסות אם sigrok וזו חזית libsigrok ניתן לקמפל ב- Pi, ו ואז לקנות חומרת אוסצילוסקופ תואמת. כך תוכלו לתפוס אותות עד 24 מגה דגימות לשנייה. עם מספיק ידע תוכלו להתאים אישית את התוכנה בכל דרך שתרצו, כולל שידור אלחוטי למכשירים ניידים.

tovis
2015-01-27 21:58:49 UTC
view on stackexchange narkive permalink

מישהו שמדבר על סיגרוק. אני חושב שהדרך הקרובה ביותר היא להשתמש ב- CY7C68013A המתועד היטב עם מנהל ההתקן EZ-USB FX2LP. במחשב שולחני זה לא עבד עם Weezy, אבל על ג'סי זה עובד טוב. הנה המגבלה הידועה על 24 Msps. אני חושב על דרך אחרת, באמצעות ממשק המצלמה. ממשק זה יכול לנהל 2.1 מגה פיקסל ו -30 פריימים לשנייה, מה שאומר שהוא יכול להעביר נתונים ל- GPU במהירות של מעל 60 מגה "דוגמאות" לשנייה. נשמע שימושי יותר מ- 20 מגה הרץ SPI או USB.

מדובר בממשקים דיגיטליים, כך שזה לא יפיק אוסצילוסקופ אלא אם כן תניע אותם עם תפוקת ADC במהירות גבוהה. הפתרונות המעשיים ביותר מדגמים סדרי גודל במהירות רבה יותר, אך אינם עושים זאת ברציפות - דבר שמתאים יותר לבעיות הרגילות.
James Phillips
2014-01-14 20:01:35 UTC
view on stackexchange narkive permalink

אם לא אכפת לך להיות מוגבל לתדרי שמע, אני משתמש בממיר MCP3202 זול של 12 סיביות ממיר A / D כדי לרכוש ב- pi עם spidev, וב- pydatascope כדי להציג נתונים המועברים דרך Ethernet דרך שקע TCP. Pydatascope משמש גם כמנתח ספקטרום!

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

פרסם מעקבים או שלח לי ישירות אם יש לך שאלות, אשמח לעזור.

אתה משתמש בתמונה המוגנת בזכויות יוצרים שלי ללא אישור. אנא הסר את התמונה המוגנת בזכויות יוצרים מאתר האינטרנט שלך.
תודה על תשובתך @James פיליפס. הסרתי את התמונה מתשובתך. הוא ממתין לבדיקה. שימו לב שאני לא זה שהוספתי את זה. האם תוכל לספק את כתובת האתר שלך המכילה את התמונה עבור מי שמעוניין לראות?


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