אינציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל ממשק בקר PIC עם המחשב. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל / מיקרו-בקרים כאשר מפתחים מכשיר על מיקרו-בקר (MCU), מתעוררת לעתים קרובות הבעיה של חיבורו למחשב כדי להחליף מידע. ברוב המקרים נדרש מצב דו-כיווני בשער חליפין נמוך יחסית. במקרה הטוב, ל-MK אולי יש ממשק טורי, אך לרוב יש לבחור בו מבין הזולים שאינם מצוידים בממשק כזה. לדוגמה, לשבב PIC16F84A הפופולרי מאוד לאחרונה מבית Microchip אין ממשק כזה. המאמר דן באפשרות הטמעת תוכנה של הממשק הטורי הן מצד MK והן מצד המחשב. כדי לתקשר עם ההתקן ב-MK, אתה יכול להשתמש ביציאה המקבילה (LPT) או הטורית (COM) של המחשב. הראשון קל יותר לעבוד איתו - הוא יכול להשתמש במספר גדול יחסית של אותות קלט ופלט, שרמותיהם תואמות TTL. החיסרון של יציאה זו הוא שבעוד שתחת DOS או Linux מספיקות פעולות קלט/פלט פשוטות כדי להשתמש בה, אז לצורך פעולה נכונה תחת Windows יש צורך להקפיד על פרוטוקול העברת הנתונים, שאינו יעיל בעבודה עם מיקרו-בקר . שליטה ישירה על קווי יציאת LPT בודדים אפשרית גם היא, אך הדבר דורש התקנה של מנהל התקן מיוחד. ה"חיסרון" של יציאת ה-LPT הוא שברוב המחשבים יש רק אחד וככלל הוא תפוס על ידי המדפסת. היתרונות העיקריים של יציאת ה-COM הם שממשק התכנות הסטנדרטי של Windows (API) מאפשר לך לשלוט ישירות על כמה קווי פלט ולשלוט בקווי קלט, ויש לו גם את הפונקציה של המתנה לאירוע כלשהו הקשור ליציאת ה-COM. היתרון שלו הוא שתקן RS-232, לפיו מיוצרות יציאות ה-COM, מאפשר חיבור וניתוק כבלים בזמן פעולת המכשירים (הוט plug). בנוסף, למחשב יש כמעט תמיד יציאת COM פנויה. החיסרון של היציאה הוא שרמת האות שונה מ-TTL, שבה הרמה הלוגית הנמוכה מתאימה למתח של -12, והגבוהה ל-+12 V. היישום של ממשק RS-232 סטנדרטי יחייב את ה-MK לדבוק בקפדנות במרווחי הזמן בין אותות המוצא. במצב אמיתי, מהוד הקוורץ של המיקרו-בקר עשוי שלא להתאים לתדר העברת הנתונים, וה-MK עצמו עסוק בדרך כלל במשהו חשוב יותר מאשר יצירת מרווחי זמן מדויקים. כתוצאה מכך, מתברר שקל יותר ליישם באופן תכנותי אפשרות החלפה סינכרונית טורית, כאשר כל סיביות נתונים מאושרות על ידי פעימת סנכרון. התרשים הסכמטי של הממשק המוצע מוצג באיור. 1. כדי להמיר רמות RS-232 ל-TTL, משתמשים במחלקים התנגדות R1R4 ו-R2R5. דיודות VD1 ו-VD2 נחוצות כדי לא להעביר את המתח השלילי המתאים לאפס הלוגי. אות ה-TTL של ה-MK אינו זקוק להמרה וניתן להזין אותו ישירות לקווי הקלט של יציאת ה-COM. הנגד R3 מגביל את זרם המוצא של ה-MK במקרה של קצר חשמלי אפשרי. כפי שניתן לראות מהתרשים, נדרשים ארבעה חוטים כדי לתקשר עם המחשב. המחשב יוזם חילופי נתונים על ידי הוצאת פולסי שעון לקו ה-DTR, הנחת נתונים משודרים על קו ה-RTS וקבלת נתונים שהתקבלו דרך קו ה-CTS. המחשב וה-MK יכולים לשנות נתונים רק כאשר הרמה הלוגית של אות הסינכרון נמוכה. אפשרות הטמעת ממשק זו מאפשרת העברת נתונים דופלקס מלא. מספרי הסיכות XS1 בתרשים הם עבור שקע DB-25F בעת שימוש בכבל מודם סטנדרטי. מספרי אנשי הקשר של מחברים אחרים ובעת שימוש בכבל מודם אפס מופיעים בטבלה. 1. יש לבחור את קצב החזרות של הפולסים המסנכרנים כך שלמיקרו-בקר יהיה מובטח זמן לעבד נתונים מהמחשב, להגיב לכל פולס סנכרון. סיביות מידע מועברות ברצף. עם השלמת השידור של הסיביות של בית אחד, השידור של סיביות הבתים הבאות מגיע, כאשר סיבית המידע המשמעותית ביותר משודרת ראשונה. כדי להחזיר את הממשק למצבו המקורי (הגדרת מספר הביט המשודר ל-0), המחשב חייב לבצע רישום. 1 בקו הסנכרון שנה את מצב קו הנתונים. ה-MK מוציא ביט חדש של נתונים על קו ה-CTS עם נפילת פולסים של קוטביות חיובית בכניסת סנכרון DTR, וקורא נתונים מקו ה-RTS בקצה של פולסים של קוטביות חיובית. ניתן להפסיק את ההחלפה בכל עת על ידי הפסקת אספקת פולסי הסנכרון. דיאגרמת התזמון של חילופי נתונים מוצגת באיור. 2. בעת יישום ממשק, מומלץ להעביר ערכי בקרה בכמה בתים כדי לבדוק את נכונות הנתונים המועברים. קוד המקור של ההליך עבור המיקרו-בקר PIC16F84A [1] בשפת C, המיישם את הממשק המוצע, ניתן בטבלה. 2. הקריאה לפרוצדורת link() ממוקמת בלולאת התוכנה הראשית ונקראת כל הזמן במהלך פעולת MK על מנת לנטר את מצב הממשק. כל המשתנים המשמשים את הנוהל מוכרזים כגלובליים. בכל שיחה, הוא קורא את המצבים של קווי הקלט של הממשק (RB6 ו-RB7) ומשווה אותם עם המצבים שלהם בשיחה הקודמת. בתנאים מסוימים (נפילת סנכרון, קצה סנכרון, איפוס ממשק), פעולות מבוצעות לפי ההיגיון של הממשק. קוד המקור של ההליך עבור מחשב בפסקל (דלפי) ניתן בטבלה. 3. כאן נקרא הליך הקישור פעם אחת לבצע את פעולת החלפת המידע עם הח"כ. לפני שתקרא לזה, אתה צריך למלא את מאגר obuf שעבר. בסיום ההליך, הנתונים המתקבלים יאותרו במערך ibuf. ההליך פותח את יציאת ה-COM שצוינה במחשב ובאמצעות פונקציות ה-API של Windows [2], שולט במצב קווי הפלט ומסקר את שורות הקלט. לאחר השלמת חילופי המידע, הנמל נסגר. בהליך הקישור, עיכובי זמן מיושמים באמצעות הפונקציה sleep() . הערכים שלהם מחושבים או נבחרים באופן ניסיוני על סמך היעדר אובדן סיביות במהלך חילופי נתונים בין ה-MK למחשב. הדוגמה מציגה עיכובים להחלפה עם בקר PIC עם מהוד קוורץ בתדר של 4 מגה-הרץ, אשר, בנוסף, מבצע עבודה שימושית אחרת. אם הליך ההחלפה לוקח יותר מדי זמן להשלמתו, ניתן להעבירו לשרשור ביצוע נפרד של מערכת ההפעלה כך שיבוצע במקביל לתוכנית הראשית [2]. אם חילופי המידע דורשים קריאה וכתיבה נפרדות, ניתן להפיץ מערכים של נתונים משודרים ומתקבלים לכתובות שונות, כפי שמוצג באיור. 2. ב-MK נוח לבנות את היווצרות הנתונים המועברים ואת השימוש בנתונים המתקבלים בצורה של נהלי ה-upload() ו-download(), הנקראים לפני השידור ובעת קבלת הביט הבא, בהתאמה. הראשון שבהם צריך להחזיר את ערך הביט המשודר לפי מספרו בחבילת המידע המועברת, השני מקבל את ערך הביט המתקבל ומספרו בחבילה ועליו להשתמש בערכים אלו כדי לשנות את אוגרי MK, לכתוב ל-EEPROM וכו'. יישום נהלים אלה לעיבוד חבילת מידע בגודל 4 בתים (טבלה 4) מוצג בטבלה. 5. תוכנית לדוגמה עבור MK ניתנת עבור מהדר C2C [3]. ניתן להשתמש בהליך המחשב בתוכנית שנכתבה ב- Borland Delphi 3 ומעלה. ספרות
מחבר: S.Kuleshov, Kurgan ראה מאמרים אחרים סעיף מיקרו-בקרים. תקרא ותכתוב שימושי הערות על מאמר זה. חדשות אחרונות של מדע וטכנולוגיה, אלקטרוניקה חדשה: התמצקות של חומרים בתפזורת
30.04.2024 ממריץ מוח מושתל
30.04.2024 תפיסת הזמן תלויה במה מסתכלים
29.04.2024
עוד חדשות מעניינות: ▪ תה ומוח עדכון חדשות של מדע וטכנולוגיה, אלקטרוניקה חדשה
חומרים מעניינים של הספרייה הטכנית החופשית: ▪ קטע באתר החשמלאי. PTE. בחירת מאמרים ▪ כתבה גג הבית שלך. טיפים למאסטר הבית ▪ מאמר למה אנחנו מפסיקים לגדול? תשובה מפורטת ▪ מעצב ראשי מאמרים. תיאור משרה ▪ כתבה מגבר אולטרה ליניארי על מנורות 6N2P, 6P14P. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל ▪ מאמר התקן הגנה. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל כל השפות של דף זה בית | הספרייה | מאמרים | <font><font>מפת אתר</font></font> | ביקורות על האתר www.diagram.com.ua |