על ידי Ngel » ג' נובמבר 17, 2009 12:08 am
בהקשר לשאלות:
נגיד שסידרת ההתחלה שלי תיהיה 0101, האם עלי לבנות בצד המשדר מכונת מצבים, שרק סידרת מספרים מהסוג הנל תעביר אותו למצב של קליטה, למשך 8 סיביות? איך היתם עושים?
בגלל שאתה משתמש בתקשורת טורית של הבקר, המצב די פשוט:
ברגע שרגל כניסת אות המידע מקבלת "1" זה אומר שמידע לא מתקבל, ברגע שהיא יורדת ל"0" היא עוברת למצב קליטת מידע ומקבלת אחרי ה"0" את 8 הסיביות שאתה שולח (בתקשורת UART שמובנת בבקר). אם אתה מתכנת בעצמך תקשורת טורית אז כן, אתה צריך לבנות סוג של מכונת מצבים.
בנוסף נניח כי שני הפיקים עובדים בתדירות זהה, אבל הרי יתכנו שינויים קטנים סביב תדר המסופק להם (מה גודל השגיאה של מתנד מבוסס גביש?). במוסף תיתכן הבעיה של הפאזה- בצד המקלט, והמשדר הפאזה תיהיה שונה (כלומר יהיה הפרש זמנים בין רגע עליית הפולס
בכול צד). איך אני מתגבר על הבעיות האלה בצורה פשוטה?
אין בעייה של פאזה המקלט\המשדר מטפלים בזה. בעיית הסינכרון נפתרת על ידי תקשורת מובנת בבקר UART שמבצעת סנכרון לבד. אם אתה בונה מפענח לבד עליך לבצע כל מני פתרונות שיגרמו למערכת לך לזהות תחילת שידור (לדוגמא מה שכתבתי למעלה)
האם הבעיות שאני מדבר עליהם הן מוצדקות?
כן מאוד!
קצבי העבודה שאני הולך לעבוד עליהם כרגע הן די נמוכים- אני רוצה להעביר מצב של 8 לחצנים לצד השני, ככה שאני יכול להניח בצורה מוצדקת כי המידע במבוא ישתנה לא פחות מפעם בשניה נגיד. לכן האם עלי לשדר קבוע מידע מחזורי, או שעלי לשדר את המידע פעם אחת, אולי פעמיים ואז לחכות לשינוי מצב ההדקים בכניסה?
אם אתה משתמש במודל טיפש AM כמו שאמרת, אז אתה צריך לשדר את המידע אפילו עשרות פעמים בשנייהכדי להיות בטוח שהמידע יתקבל כמו שצריך או לבנות מפענח ומקודד חכם מאוד.
נושא הRF והתקשורת לא קל, הוא מסובך מאוד ודורש הבנה וניסויים רבים.
אני ממליץ לך מאוד להתשתמש בפתרון הראשון שנתתי לך