מצגת סיום פרויקט
מערכת בקרת גישה )יחידת קצה(
רזניקוב יבגני, דיאגילב קיריל : יםמגיש
אלכס גרבר :מנחה
המעבדה למערכות הטכניון - מכון טכנולוגי לישראל ספרתיות מהירות
הפקולטה להנדסת חשמל
תפקיד היחידה דלתות פתיחת על אחראית קצה ודיווח יחידת
על מצב הדלת את אוספת " היא מ ע הדרושים הנתונים
) האם ) מגנטי כרטיס מספר החלטה לקבלגישה CAN ושולחת אותם דרך לאפשר
לשרת. במקרה של פריצה או אי סגירת דלת יחידה
מדווחת לשרת ומפעילה אזעקה. של פתיחה ליזום יכול השרת חירום במקרה
הדלתות .כל
פונקציונלי תיאור
: הבלוקים סכמת
חישן מגנטי
קורא מגנטי פנימי
קורא מגנטי חיצוני
זמזם
מנעול
LEDמערך
CAN
In Circuit Debugger
WIRE-WRAPמבט על –
סכימה כללית
FPGA PIC
זמזםמערךLED
מנעול
מערךJUMPER
חיישןמגנטי
קורא מגנטי
קורא מגנטי
MCP2551
FPGAתפקיד
הבקר PICבהתאם לפקודות שהוא מקבל מ-מסוגל לבצע את הפעולות הבאות:
-יםLEDלהדליק\לכבות –JUMPERלקרוא מערך – לזמזם או\ו מנעולPWMלהעביר אות –להעביר נתונים שהתקבלו מקורא מגנטי ונאגרו –
PIC ל-FIFOבתוך טור
?FPGAאיך מעבירים פקודות ל-
יש לנו פרוטוקול טורי פשוט:PICי או 1 מתחיל לייצר שעון )שולח לרגל י
י לוגי לסירוגין(0י בסנכרון עם שעון מקור הנתונים מתחיל
לשלוח ביט מידע עבור כל מחזור שעון. מקבל המידע דואג לקרוא את הנתון כל
מחזור של שעון.
קריאת נתוני כרטיס מגנטי
-קורא מגנטי מחובר לFPGA לכן כשאנחנו ,מעבירים כרטיס, קורא מתחיל להעביר
FPGAנתונים לטורים הממומשים ב- ברגע שאחד מטורים מתמלא נשלחת
שדואג לקרוא את כל הנתונים PICפסיקה ל-ולרוקן את הטור.
FPGA ל-PICחיבורים בין
- חוט אתחולRESET חוט שעון וחוט נתונים לקריאה של מערך
JUMPER חוט פסיקה – מיוצרת כל פעם כשטור נתונים
מקורא מגנטי מתמלא חוט שעון וחוט נתונים עבור מידע מקורא
מגנטי חוט שעון וחוט נתונים המשמשים להעברת
FPGAפקודות ל-
מבנה תוכנה
תוכנה מתחלקת לשני בלוקים עיקריים: בלוק שלCAN שגרות שמאפשרות –
תקשורת קלה ונוחה עם שרת. בלוק של מכונת מצבים של מנעול – בלוק
זה מנהל את כל העבודה של התקן על סמך .CAN ו-FPGAמידע שהוא מקבל מ-
?CANOpen ו-CANמה זה
רשתCAN היא רשת פשוטה שמאפשרת בתים.8לשלוח חבילות נתונים של
פרוטוקול שלCANOpen הוא פרוטוקול סטנדרטי שמאפשר ממשק סטנדרטי לרשת
ושליחת ידיעות ארוכות.
CANOpenמושגים בסיסיים ב-
-כל חבילה בCAN-מורכבת מ ביט11כותרת של –
בתים.8גוף הידיעה של – כל ידיעהSDO-ב CANOpen-מורכבת מ
(Init Messageהודעת התחלה )–
(Segmented Dataאופציונלי – מידע מצורף )–
(.End Messageהודעת סיום )–
CANOpenמושגים בסיסיים ב-
:ישנם גם הודעות אישור–Init Confirmation–Last Segment Confirmation–End Confirmation
-בדו-שיח בין שתי יחידות בCANOpen אחרי ידיעה חייב להגיע אישור של קבלה, רק אחרי
אישור עוברים לשלב הבא של העברה.
1 חלק CANבלוק
מורכב משלוש שכבות:CANבלוק של שכבה של חבילותCAN שכבה שמומשה –
בספריות סטנדרטיות ומטפלת בשליחה וקבלה .CANשל חבילות
שכבה שלCANOpen)SDO( - שכבה זומומשה על ידינו ומממשת שליחת ידיעות
ומטפלת בחלוקת CANOpenסטנדרטיות של בתים( לחבילות.7ידיעות ארוכות )יותר מ-
2 חלק CANבלוק
שכבה שלישית ואחרונה מממשת מכונת מצבים, כלומר דואגת לקבל כל חלקי CANOpenשל
הידיעה ולחברם או לחלק את המידע לידיעות ולשלוח אותן ברשת.CANOpenשל
LockFSMבלוק
בלוק זה מממש מכונת מצבים של יחידתקצה
מכונת מצבים מגיבה להודעות שרת )ברמהשל הודעות ולא של חבילות נתונים(
ומטפלת בבדיקה מול השרת של הרשאות כניסה.
דיאגרמת מצבים
IDLE
B-In
Fire
A-Req
O-Door Sleep
Exep פסיקה
אתחול
עבודה קצבי
CAN ~ 1Mbps מעבד -PIC 6Mhz- מ – פחות מגנטי 4KHzקורא – נמוך בקצב לדגימה ניתנים הרכיבים שאר
~10Hz
רמות מתחים
מעבדPIC : V5 -מקלט MCP2551 : V5משדר בקרFPGA : 3.3V : זמזםV5 :מנעולV5
תודות
,תודה לצוות המעבדה )אלי, ברוריה, צפרירגבי( על תמיכה טכנית וייעוץ מקצועי.
תודה לאלכס גרבר על עזרה מתמדתבפיתוח ובו זמנית מוכנות לתת לנו חופש
פעולה קונסטנטין סיניוק על עזרה בהפעלת ספרית
CAN.סטנדרטית
סוף