UM11942
שכבת הוראות PN5190
בקר Frontend NFC
מדריך למשתמש
בקר חזיתי PN5190 NFC
מידע על מסמך
מֵידָע | תוֹכֶן |
מילות מפתח | PN5190, NFC, Frontend NFC, בקר, שכבת הוראות |
תַקצִיר | מסמך זה מתאר את הפקודות והתגובות של שכבת ההוראות לעבודה מבקר מארח, להערכת פעולתו של בקר חזיתי NXP PN5190 NFC. PN5190 הוא בקר חזיתי NFC מהדור הבא. היקף מסמך זה הוא לתאר את פקודות הממשק לעבודה עם בקר חזיתי PN5190 NFC. למידע נוסף על פעולתו של בקר חזיתי PN5190 NFC, עיין בגיליון הנתונים ובמידע המשלים שלו. |
היסטוריית גרסאות
לְהַאִיץ | תַאֲרִיך | תֵאוּר |
3.7 | 20230525 | • סוג המסמך והכותרת השתנו מהתוספת של גיליון נתוני המוצר למדריך למשתמש • ניקוי עריכה • תנאי עריכה מעודכנים עבור אותות SPI • נוספה הפקודה GET_CRC_USER_AREA בטבלה 8 בסעיף 4.5.2.3 • עודכן פרטים שונים עבור PN5190B1 ו-PN5190B2 בסעיף 3.4.1 • תגובה מעודכנת של סעיף 3.4.7 |
3.6 | 20230111 | תיאור התגובה של תקינות בדיקה משופרת בסעיף 3.4.7 |
3.5 | 20221104 | סעיף 4.5.4.6.3 "אירוע": נוסף |
3.4 | 20220701 | • נוספה הפקודה CONFIGURE_MULTIPLE_TESTBUS_DIGITAL בטבלה 8 בסעיף 4.5.9.3 • סעיף מעודכן 4.5.9.2.2 |
3.3 | 20220329 | תיאור החומרה שופר בסעיף 4.5.12.2.1 "פקודה" ובסעיף 4.5.12.2.2 "תגובה" |
3.2 | 20210910 | מספרי גרסת הקושחה עודכנו מ-2.1 ל-2.01 ומ-2.3 ל-2.03 |
3.1 | 20210527 | תיאור הפקודה RETRIEVE_RF_FELICA_EMD_DATA נוסף |
3 | 20210118 | הגרסה הרשמית הראשונה שפורסמה |
מָבוֹא
1.1 מבוא
מסמך זה מתאר את ממשק המארח PN5190 ואת ממשקי ה-API. ממשק המארח הפיזי המשמש בתיעוד הוא SPI. מאפיין פיזי של SPI אינו נחשב במסמך.
הפרדת מסגרות ובקרת זרימה הם חלק ממסמך זה.
1.1.1 היקף
המסמך מתאר את השכבה הלוגית, קוד הוראות, APIs הרלוונטיים עבור הלקוח.
תקשורת מארח הסתיימהview
ל-PN5190 שני מצבי פעולה עיקריים לתקשורת עם הבקר המארח.
- נעשה שימוש בתקשורת מבוססת HDLL כאשר המכשיר מופעל להיכנס:
א. מצב הורדה מאובטח מוצפן לעדכון הקושחה שלו - תקשורת מבוססת פקודה-תגובה TLV (ניתן כאקסample).
2.1 מצב HDLL
מצב HDLL משמש לפורמט החלפת מנות כדי לעבוד עם מצבי ההפעלה הבאים של IC:
- מצב הורדת קושחה מאובטח (SFWU), ראה סעיף 3
2.1.1 תיאור של HDLL
HDLL היא שכבת הקישור שפותחה על ידי NXP כדי להבטיח הורדת FW אמינה.
הודעת HDLL מורכבת מכותרת בת 2 בתים, ואחריה מסגרת, הכוללת את ה-opcode ואת ה-Payload של הפקודה. כל הודעה מסתיימת ב-CRC של 16 סיביות, כמתואר בתמונה למטה:כותרת ה-HDLL מכילה:
- חתיכה. מה שמציין אם ההודעה הזו היא החלק היחיד או האחרון של הודעה (chunk = 0). או אם, לפחות, עוקב אחר נתח אחר (חתך = 1).
- אורך המטען המקודד ב-10 ביטים. אז, עומס המסגרת של HDLL יכול להגיע עד 1023 בייטים.
סדר הבתים הוגדר כ-big-endian, כלומר Ms Byte ראשון.
ה-CRC16 תואם לתקן X.25 (CRC-CCITT, ISO/IEC13239) עם פולינום x^16 + x^12 + x^5 +1 וערך טעינה מראש 0xFFFF.
זה מחושב על פני כל מסגרת ה-HDLL, כלומר כותרת + מסגרת.
Sampיישום קוד C:
static uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)
{
uint32_t i;
uint16_t crc_new ;
uint16_t crc = 0xffffU;
עבור (I = 0; i < dwLength; i++)
{
crc_new = (uint8_t)(crc >> 8) | (crc << 8 );
crc_new ^= p[i];
crc_new ^= (uint8_t)(crc_new & 0xff) >> 4;
crc_new ^= crc_new << 12;
crc_new ^= (crc_new & 0xff) << 5;
crc = crc_new;
}
החזר crc;
}
2.1.2 מיפוי תחבורה על ה-SPI
עבור כל קביעת NTS, הביט הראשון הוא תמיד HEADER (בית חיווי זרימה), הוא יכול להיות 0x7F/0xFF ביחס לפעולת כתיבה/קריאה.
2.1.2.1 רצף כתיבה מהמארח (כיוון DH => PN5190)2.1.2.2 קריאת רצף מהמארח (כיוון PN5190 => DH)
2.1.3 פרוטוקול HDLL
HDLL הוא פרוטוקול תגובת פקודה. כל הפעולות שהוזכרו לעיל מופעלות באמצעות פקודה ספציפית ומאומתות על סמך התגובה.
פקודות ותגובות עוקבות אחר תחביר הודעת HDLL, הפקודה נשלחת על ידי מארח ההתקן, התגובה על ידי ה-PN5190. ה-opcode מציין את סוג הפקודה והתגובה.
תקשורת מבוססת HDLL, משמשת רק כאשר ה-PN5190 מופעל להיכנס למצב "הורדת קושחה מאובטחת".
מצב 2.2 TLV
TLV מייצג Tag ערך אורך.
2.2.1 הגדרת מסגרת
מסגרת SPI מתחילה בקצה היורד של NTS ומסתיימת בקצה העולה של NTS. SPI הוא לפי הגדרה פיזית דופלקס מלא אבל PN5190 משתמש ב-SPI במצב חצי דופלקס. מצב SPI מוגבל ל-CPOL 0 ו-CPHA 0 עם מהירות שעון מקסימלית כמפורט ב-[2]. כל מסגרת SPI מורכבת מכותרת בת 1 ו-n-bytes של גוף.
2.2.2 חיווי זרימהה-HOST תמיד שולח כבייט ראשון את בייט חיווי הזרימה, בין אם הוא רוצה לכתוב או לקרוא נתונים מה-PN5190.
אם יש בקשת קריאה ואין נתונים זמינים, התגובה מכילה 0xFF.
הנתונים לאחר בית חיווי הזרימה הם הודעה אחת או כמה הודעות.
עבור כל קביעת NTS, הביט הראשון הוא תמיד HEADER (בית חיווי זרימה), הוא יכול להיות 0x7F/0xFF ביחס לפעולת כתיבה/קריאה.
2.2.3 סוג הודעה
בקר מארח יתקשר עם PN5190 באמצעות הודעות המועברות בתוך מסגרות SPI.
ישנם שלושה סוגי הודעות שונים:
- פְּקוּדָה
- תְגוּבָה
- מִקרֶה
דיאגרמת התקשורת לעיל מציגה את הכיוונים המותרים עבור סוגי ההודעות השונים כמפורט להלן:
- פקודה ותגובה.
- פקודות נשלחות רק מהבקר המארח אל PN5190.
- תגובות ואירועים נשלחים רק מ-PN5190 לבקר המארח.
- תגובות הפקודה מסונכרנות באמצעות סיכת ה-IRQ.
- המארח יכול לשלוח את הפקודות רק כאשר IRQ נמוך.
- המארח יכול לקרוא את התגובה/אירוע רק כאשר IRQ גבוה.
2.2.3.1 רצפים וכללים מותריםרצפים מותרים של פקודות, תגובה ואירועים
- פקודה מאושרת תמיד על ידי תגובה, או אירוע, או שניהם.
- בקר מארח אינו רשאי לשלוח פקודה נוספת לפני שלא קיבלו תגובה לפקודה הקודמת.
- אירועים עשויים להישלח באופן אסינכרוני בכל עת (לא משולבים בתוך צמד פקודות/תגובות).
- הודעות EVENT לעולם אינן משולבות עם הודעות RESPONSE בתוך מסגרת אחת.
פֶּתֶק: הזמינות של הודעה (או RESPONSE או EVENT) מסומנת כשה-IRQ עולה גבוה, מנמוך. IRQ נשאר גבוה עד שכל מסגרת התגובה או האירוע נקראת. רק לאחר שאות IRQ נמוך, המארח יכול לשלוח את הפקודה הבאה.
2.2.4 פורמט הודעה
כל הודעה מקודדת במבנה TLV עם עומס n-bytes עבור כל הודעה מלבד הפקודה SWITCH_MODE_NORMAL.כל TLV מורכב מ:
הקלד (T) => 1 בייט
Bit[7] סוג הודעה
0: הודעת COMMAND או RESPONSE
1: הודעת EVENT
Bit[6:0]: קוד הוראות
אורך (L) => 2 בתים (צריך להיות בפורמט גדול-אנדי)
ערך (V) => N בתים של ערך/נתונים של ה-TLV (פרמטרי פקודה / נתוני תגובה) בהתבסס על שדה אורך (פורמט גדול-אנדיאן)
2.2.4.1 מסגרת מפוצלת
הודעת COMMAND חייבת להישלח במסגרת SPI אחת.
ניתן לקרוא הודעות RESPONSE ו-EVENT במספר מסגרות SPI, למשל כדי לקרוא את בייט האורך.ניתן לקרוא הודעות RESPONSE או EVENT במסגרת SPI בודדת אך להתעכב על ידי NO-CLOCK ביניהן, למשל, כדי לקרוא את האורך בייט.
מצב אתחול הפעלה של IC - מצב הורדת FW מאובטח
3.1 מבוא
חלק מקוד הקושחה PN5190 מאוחסן באופן קבוע ב-ROM, בעוד ששאר הקוד והנתונים מאוחסנים בפלאש המוטבע. נתוני המשתמש מאוחסנים בהבזק ומוגנים על ידי מנגנונים נגד קריעה המבטיחים את שלמות הנתונים וזמינותם. על מנת לספק ללקוחות NXPs תכונות התואמות את התקנים העדכניים ביותר (EMVCo, NFC Forum וכן הלאה), ניתן לעדכן גם את הקוד וגם את נתוני המשתמש ב-FLASH.
האותנטיות והשלמות של הקושחה המוצפנת מוגנות על ידי חתימת מפתח א-סימטרית/סימטרית ומנגנון Hash משורשר לאחור. הפקודה הראשונה DL_SEC_WRITE מכילה את ה-hash של הפקודה השנייה ומוגנת על ידי חתימת RSA על המטען של המסגרת הראשונה. קושחת PN5190 משתמשת במפתח הציבורי RSA כדי לאמת את הפקודה הראשונה. ה-hash המשורשר בכל פקודה משמש לאימות הפקודה העוקבת, כדי להבטיח שצד שלישי לא יגשת לקוד הקושחה ולנתונים.
המטענים של פקודות DL_SEC_WRITE מוצפנים עם מפתח AES-128. לאחר אימות של כל פקודה, תוכן המטען מפוענח ונכתב ל-Flash על ידי קושחת PN5190.
עבור קושחת NXP, NXP אחראית על אספקת עדכוני קושחה מאובטחים חדשים, יחד עם נתוני משתמש חדשים.
הליך העדכון מצויד במנגנון להגנה על האותנטיות, השלמות והסודיות של קוד ונתונים של NXP.
סכימת מנות מסגרת מבוססת HDLL משמשת עבור כל הפקודות והתגובות עבור מצב שדרוג קושחה מאובטח.
סעיף 2.1 מספק את הסוףview של סכימת מנות מסגרת HDLL בשימוש.
PN5190 ICs תומכים הן בפרוטוקול הורדת FW מאובטחת מוצפנת מדור קודם והן בפרוטוקול הורדת FW מאובטחת מוצפנת בעזרת קריפטו בחומרה, בהתאם לגרסה שבה נעשה שימוש.
שני הסוגים הם:
- פרוטוקול הורדת FW מאובטח מדור קודם שעובד עם גרסת PN5190 B0/B1 IC בלבד.
- פרוטוקול הורדת FW מאובטח בסיוע קריפטו של חומרה שעובד עם גרסת PN5190B2 IC בלבד, המשתמש בבלוק ההצפנה של החומרה שבשבב
הסעיפים הבאים מסבירים את הפקודות והתגובות של מצב הורדת קושחה מאובטחת.
3.2 כיצד להפעיל את מצב "הורדת קושחה מאובטחת".
התרשים למטה, והשלבים הבאים, מראים כיצד להפעיל מצב הורדת קושחה מאובטחת.תנאי מוקדם: PN5190 נמצא במצב פעולה.
תרחיש עיקרי:
- תנאי כניסה שבו נעשה שימוש בפין DWL_REQ כדי להיכנס למצב "הורדת קושחה מאובטחת".
א. מארח ההתקן מושך פין DWL_REQ גבוה (תקף רק אם עדכון קושחה מאובטח באמצעות פין DWL_REQ) או
ב. מארח ההתקן מבצע איפוס קשיח כדי לאתחל את ה-PN5190 - מצב כניסה שבו סיכת DWL_REQ אינה משמשת לכניסה למצב "הורדת קושחה מאובטחת" (הורדה ללא סיכה).
א. מארח ההתקן מבצע איפוס קשיח כדי לאתחל את ה-PN5190
ב. מארח ההתקן שולח את SWITCH_MODE_NORMAL (סעיף 4.5.4.5) להיכנס למצב יישום רגיל.
ג. כעת כאשר IC במצב יישום רגיל, מארח ההתקן שולח את SWITCH_MODE_DOWNLOAD (סעיף 4.5.4.9) כדי להיכנס למצב הורדה מאובטח. - מארח ההתקן שולח פקודת DL_GET_VERSION (סעיף 3.4.4), או DL_GET_DIE_ID (סעיף 3.4.6), או DL_GET_SESSION_STATE (סעיף 3.4.5).
- מארח ההתקן קורא את גרסת החומרה והקושחה הנוכחית, הפגישה, ה-Die-ID מהמכשיר.
א. מארח ההתקן בודק את סטטוס ההפעלה אם ההורדה האחרונה הושלמה
ב. מארח המכשיר מחיל את כללי בדיקת הגרסה כדי להחליט אם להתחיל את ההורדה או לצאת מההורדה. - מארח מכשיר נטען מא file הקוד הבינארי של הקושחה להורדה
- מארח ההתקן מספק פקודת DL_SEC_WRITE ראשונה (סעיף 3.4.8) המכילה:
א. הגרסה של הקושחה החדשה,
ב. חוסר של 16 בתים של ערכים שרירותיים המשמשים לערפול מפתח הצפנה
ג. ערך תקציר של הפריים הבא,
ד. החתימה הדיגיטלית של המסגרת עצמה - מארח ההתקן טוען את רצף פרוטוקול ההורדה המאובטח ל-PN5190 עם פקודות DL_SEC_WRITE (סעיף 3.4.8)
- כאשר הפקודה האחרונה DL_SEC_WRITE (סעיף 3.4.8) נשלחה, מארח ההתקן מבצע את הפקודה DL_CHECK_INTEGRITY (סעיף 3.4.7) כדי לבדוק אם הזכרונות נכתבו בהצלחה.
- מארח ההתקן קורא את גרסת הקושחה החדשה ובודק את מצב ההפעלה אם סגור לדיווח לשכבה העליונה
- מארח ההתקן מושך את פין DWL_REQ לנמוך (אם סיכת DWL_REQ משמש כדי להיכנס למצב הורדה)
- מארח ההתקן מבצע איפוס קשיח (החלפת פין VEN) במכשיר כדי לאתחל את ה-PN5190
מצב לאחר: הקושחה מעודכנת; מספר גירסת קושחה חדשה מדווח.
3.3 חתימת קושחה ובקרת גרסאות
במצב הורדת קושחה PN5190, מנגנון מבטיח שרק קושחה חתומה ומסופקת על ידי NXP תתקבל לקושחה של NXP.
להלן ישים רק עבור קושחת NXP מאובטחת מוצפנת.
במהלך סשן הורדה, נשלחת גרסת קושחה חדשה של 16 סיביות. הוא מורכב מספר מז'ור ומספר מינורי:
- מספר עיקרי: 8 סיביות (MSB)
- מספר קטן: 8 סיביות (LSB)
ה-PN5190 בודק אם מספר הגרסה הראשית החדשה גדול או שווה למספר הנוכחי. אם לא, הורדת הקושחה המאובטחת נדחית, וההפעלה נשמרת סגורה.
3.4 פקודות HDLL להורדה מוצפנת מדור קודם וסיוע בהצפנת חומרה הורדה מוצפנת
סעיף זה מספק מידע על הפקודות והתגובות ששימשו עבור שני סוגי ההורדות להורדת קושחה של NXP.
3.4.1 קודי OP של פקודת HDLL
פֶּתֶק: מסגרות פקודת HDLL מיושרות ב-4 בתים. בתים של מטען לא בשימוש נותרים אפסיים.
טבלה 1. רשימה של קודי OP של פקודת HDLL
PN5190 B0/B1 (הורדה מדור קודם) |
PN5190 B2 (הורדה בסיוע קריפטו) |
כינוי פיקוד | תֵאוּר |
0xF0 | 0xE5 | DL_RESET | מבצע איפוס רך |
0xF1 | 0xE1 | DL_GET_VERSION | מחזירה את מספרי הגרסה |
0xF2 | 0xDB | DL_GET_SESSION_STATE | מחזירה את מצב ההפעלה הנוכחי |
0xF4 | 0xDF | DL_GET_DIE_ID | מחזיר את מזהה הקובייה |
0xE0 | 0xE7 | DL_CHECK_INTEGRITY | בודק ומחזיר את ה-CRC על האזורים השונים וכן דגלי מצב עובר/נכשל עבור כל אחד מהם |
0xC0 | 0x8C | DL_SEC_WRITE | כותב x בתים לזיכרון החל מהכתובת המוחלטת y |
3.4.2 קודי תגובת HDLL
פֶּתֶק: מסגרות תגובה של HDLL מיושרות ב-4 בתים. בתים של מטען לא בשימוש נותרים אפסיים. רק תגובות DL_OK יכולות להכיל ערכי מטען.
טבלה 2. רשימה של קודי OP של תגובה HDLL
opcode | כינוי תגובה | תֵאוּר |
0x00 | DL_OK | הפקודה עברה |
0x01 | DL_INVALID_ADDR | כתובת אסורה |
0x0B | DL_UNKNOW_CMD | פקודה לא מזוהה |
0x0C | DL_ABORTED_CMD | רצף הנתחים גדול מדי |
0x1E | DL_ADDR_RANGE_OFL_ERROR | כתובת מחוץ לטווח |
0x1F | DL_BUFFER_OFL_ERROR | המאגר קטן מדי |
0x20 | DL_MEM_BSY | הזיכרון עמוס |
0x21 | DL_SIGNATURE_ERROR | אי התאמה בחתימה |
0x24 | DL_FIRMWARE_VERSION_ERROR | גרסה נוכחית שווה או גבוהה יותר |
0x28 | DL_PROTOCOL_ERROR | שגיאת פרוטוקול |
0x2A | DL_SFWU_DEGRADED | שחיתות בנתוני פלאש |
0x2D | PH_STATUS_DL_FIRST_CHUNK | נתח ראשון התקבל |
0x2E | PH_STATUS_DL_NEXT_CHUNK | חכה לנתח הבא |
0xC5 | PH_STATUS_INTERNAL_ERROR_5 | אי התאמה באורך |
3.4.3 פקודת DL_RESET
החלפת מסגרות:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF0 0x00 0x00 0x00 0x18 0x5B]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE5 0x00 0x00 0x00 0xBF 0xB9] [HDLL] <- [0x00 0x04 STAT 0x00 CRC16] האיפוס מונע מה-PN5190 לשלוח את התשובה DL_STATUS. לכן, ניתן לקבל רק סטטוס שגוי.
STAT הוא מצב ההחזרה.
3.4.4 פקודת DL_GET_VERSION
החלפת מסגרות:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF1 0x00 0x00 0x00 0x6E 0xEF]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE1 0x00 0x00 0x00 0x75 0x48] [HDLL] <- [0x00 0x08 STAT HW_V RO_V MODEL_ID FM1V FM2V RFU1 RFU2 CRC16 של מסגרת הטעינה של GetVerXNUMX]
טבלה 3. תגובה לפקודת GetVersion
שָׂדֶה | בייט | תֵאוּר |
STAT | 1 | סטָטוּס |
HW_V | 2 | גרסת חומרה |
RO_V | 3 | קוד ROM |
MODEL_ID | 4 | מזהה דגם |
FMxV | 5-6 | גרסת קושחה (משמשת להורדה) |
RFU1-RFU2 | 7-8 | – |
הערכים הצפויים של שדות תגובה שונים והמיפוי שלהם הוא כדלקמן:
טבלה 4. ערכים צפויים של התגובה של הפקודה GetVersion
סוג IC | גרסת HW (hex) | גרסת ROM (hex) | מזהה דגם (hex) | גרסת FW (hex) |
PN5190 B0 | 0x51 | 0x02 | 0x00 | xx.yy |
PN5190 B1 | 0x52 | 0x02 | 0x00 | xx.yy |
PN5190 B2 | 0x53 | 0x03 | 0x00 | xx.yy |
3.4.5 פקודת DL_GET_SESSION_STATE
החלפת מסגרות:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF2 0x00 0x00 0x00 0xF5 0x33]
PN5190 B2: [HDLL] -> [0x00 0x04 0xDB 0x00 0x00 0x00 0x31 0x0A] [HDLL] <- [0x00 0x04 STAT SSTA RFU CRC16] מסגרת המטען של תגובת GetSession היא:
טבלה 5. תגובה לפקודת GetSession
שָׂדֶה | בייט | תֵאוּר |
STAT | 1 | סטָטוּס |
SSTA | 2 | מצב מושב • 0x00: סגור • 0x01: פתוח • 0x02: נעול (הורדה אינה מותרת יותר) |
RFU | 3-4 |
3.4.6 פקודת DL_GET_DIE_ID
החלפת מסגרות:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF4 0x00 0x00 0x00 0xD2 0xAA]
PN5190 B2: [HDLL] -> [0x00 0x04 0xDF 0x00 0x00 0x00 0xFB 0xFB] [HDLL] <- [0x00 0x14 STAT 0x00 0x00 0x00 ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8
ID10 ID11 ID12 ID13 ID14 ID15 CRC16] מסגרת המטען של תגובת GetDieId היא:
טבלה 6. תגובה לפקודה GetDieId
שָׂדֶה | בייט | תֵאוּר |
STAT | 1 | סטָטוּס |
RFU | 2-4 | |
DIEID | 5-20 | מזהה הקובייה (16 בתים) |
3.4.7 פקודת DL_CHECK_INTEGRITY
החלפת מסגרות:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xE0 0x00 0x00 0x00 CRC16]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE7 0x00 0x00 0x00 0x52 0xD1] [HDLL] <- [0x00 0x20 STAT LEN_DATA LEN_CODE 0x00 [CRC_INFO] [CRC32] תגובת ה-Check load של ה-CRC16 ב-cRCXNUMX
טבלה 7. תגובה לפקודת CheckIntegrity
שָׂדֶה | בייט | ערך/תיאור | |
STAT | 1 | סטָטוּס | |
LEN DATA | 2 | המספר הכולל של קטעי נתונים | |
קוד LEN | 3 | המספר הכולל של קטעי קוד | |
RFU | 4 | שָׁמוּר | |
[CRC_INFO] | 58 | 32 ביטים (ליטל-אנדיאן). אם ביט מוגדר, ה-CRC של הקטע המתאים תקין, אחרת לא תקין. | |
קצת | מצב שלמות האזור | ||
[31:28] | שמור [3] | ||
[27:23] | שמור [1] | ||
[22] | שמור [3] | ||
[21:20] | שמור [1] | ||
[19] | אזור תצורת RF (PN5190 B0/B1) [2] שמור (PN5190 B2) [3] | ||
[18] | אזור תצורת פרוטוקול (PN5190 B0/B1) [2] אזור תצורת RF (PN5190 B2) [2] | ||
[17] | שמור (PN5190 B0/B1) [3] אזור תצורת המשתמש (PN5190 B2) [2] | ||
[16:6] | שמור [3] | ||
[5:4] | שמור עבור PN5190 B0/B1 [3] שמור עבור PN5190 B2 [1] | ||
[3:0] | שמור [1] | ||
[CRC32] | 9-136 | CRC32 מתוך 32 הסעיפים. כל CRC הוא של 4 בתים המאוחסנים בפורמט אנדיאן קטן. 4 הבתים הראשונים של CRC הם של סיביות CRC_INFO[31], 4 הבתים הבאים של CRC הם של סיביות CRC_INFO[30] וכן הלאה. |
- [1] סיביות זו חייבת להיות 1 כדי שה-PN5190 יפעל כראוי (עם תכונות או הורדת FW מוצפנת).
- [2] סיביות זו מוגדרת ל-1 כברירת מחדל, אך הגדרות ששונו על ידי המשתמש מבטלות את ה-CRC. אין השפעה על פונקציונליות PN5190..
- [3] ערך סיביות זה, גם אם הוא 0, אינו רלוונטי. ניתן להתעלם מערך סיביות זה..
3.4.8 פקודת DL_SEC_WRITE
יש לשקול את הפקודה DL_SEC_WRITE בהקשר של רצף של פקודות כתיבה מאובטחות: "הורדת קושחה מאובטחת" המוצפנת (המכונה לעתים קרובות eSFWu).
פקודת הכתיבה המאובטחת פותחת תחילה את הפעלת ההורדה ומעבירה את אימות ה-RSA. הבאים הם מעבירים כתובות ובייטים מוצפנים כדי לכתוב לתוך PN5190 Flash. כולם מלבד האחרון מכילים את ה-hash של הבאים, ולכן מודיעים שהם אינם האחרונים, ומקשרת באופן קריפטוגרפי את מסגרות הרצף יחד.
ניתן להכניס פקודות אחרות (מלבד DL_RESET ו-DL_CHECK_INTEGRITY) בין פקודות הכתיבה המאובטחות של רצף מבלי לשבור אותו.
3.4.8.1 פקודת DL_SEC_WRITE ראשונה
פקודת כתיבה מאובטחת היא הראשונה אם ורק אם:
- אורך המסגרת הוא 312 בתים
- לא התקבלה פקודת כתיבה מאובטחת מאז האיפוס האחרון.
- החתימה המוטבעת מאומתת בהצלחה על ידי ה-PN5190.
התגובה לפקודת המסגרת הראשונה תהיה כדלקמן: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT הוא מצב ההחזרה.
פֶּתֶק: יש לכתוב לפחות גוש אחד של נתונים במהלך eSFWu למרות שהנתונים שנכתבו עשויים להיות באורך של בייט אחד בלבד. לכן, הפקודה הראשונה תמיד תכיל את ה-hash של הפקודה הבאה, מכיוון שיהיו לפחות שתי פקודות.
3.4.8.2 פקודות DL_SEC_WRITE אמצעיות
פקודת כתיבה מאובטחת היא 'אמצעית' אם ורק אם:
- ה-opcode הוא כמתואר בסעיף 3.4.1 עבור פקודת DL_SEC_WRITE.
- פקודת כתיבה מאובטחת ראשונה כבר התקבלה ואומתה בהצלחה בעבר
- לא התרחש איפוס מאז קבלת פקודת הכתיבה המאובטחת הראשונה
- אורך המסגרת שווה לגודל הנתונים + גודל הכותרת + גודל הגיבוב: FLEN = SIZE + 6 + 32
- התקציר של כל המסגרת שווה לערך ה-hash שהתקבל בפריים הקודם
התגובה לפקודת המסגרת הראשונה תהיה כדלקמן: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT הוא מצב ההחזרה.
3.4.8.3 פקודת DL_SEC_WRITE אחרונה
פקודת כתיבה מאובטחת היא האחרונה אם ורק אם:
- ה-opcode הוא כמתואר בסעיף 3.4.1 עבור פקודת DL_SEC_WRITE.
- פקודת כתיבה מאובטחת ראשונה כבר התקבלה ואומתה בהצלחה בעבר
- לא התרחש איפוס מאז קבלת פקודת הכתיבה המאובטחת הראשונה
- אורך המסגרת שווה לגודל הנתונים + גודל הכותרת: FLEN = SIZE + 6
- התקציר של כל המסגרת שווה לערך ה-hash שהתקבל בפריים הקודם
התגובה לפקודת המסגרת הראשונה תהיה כדלקמן: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT הוא מצב ההחזרה.
מצב אתחול הפעלה של IC - מצב הפעלה רגיל
4.1 מבוא
בדרך כלל PN5190 IC חייב להיות במצב פעולה רגיל כדי לקבל ממנו את פונקציונליות ה-NFC.
כאשר PN5190 IC מאתחל, הוא תמיד ממתין לקבלת פקודות ממארח כדי לבצע פעולה, אלא אם אירועים שנוצרו בתוך PN5190 IC הביאו לאתחול PN5190 IC.
4.2 רשימת הפקודות הסתיימהview
טבלה 8. רשימת פקודות PN5190
קוד פיקוד | שם פקודה |
0x00 | WRITE_REGISTER |
0x01 | WRITE_REGISTER_OR_MASK |
0x02 | WRITE_REGISTER_AND_MASK |
0x03 | WRITE_REGISTER_MULTIPLE |
0x04 | READ_REGISTER |
0x05 | READ_REGISTER_MULTIPLE |
0x06 | WRITE_E2PROM |
0x07 | READ_E2PROM |
0x08 | TRANSMIT_RF_DATA |
0x09 | RETRIEVE_RF_DATA |
0x0A | EXCHANGE_RF_DATA |
0x0B | MFC_AUTHENTICATE |
0x0C | EPC_GEN2_INVENTORY |
0x0D | LOAD_RF_CONFIGURATION |
0x0E | UPDATE_RF_CONFIGURATION |
0x0F | GET_ RF_CONFIGURATION |
0x10 | RF_ON |
0x11 | RF_OFF |
0x12 | הגדר TESTBUS_DIGITAL |
0x13 | CONFIGURE_TESTBUS_ANALOG |
0x14 | CTS_ENABLE |
0x15 | CTS_CONFIGURE |
0x16 | CTS_RETRIEVE_LOG |
0x17-0x18 | RFU |
0x19 | עד FW v2.01: RFU |
מ-FW v2.03 ואילך: RETRIEVE_RF_FELICA_EMD_DATA | |
0x1A | RECEIVE_RF_DATA |
0x1B-0x1F | RFU |
0x20 | SWITCH_MODE_NORMAL |
0x21 | SWITCH_MODE_AUTOCOLL |
0x22 | SWITCH_MODE_STANDBY |
0x23 | SWITCH_MODE_LPCD |
0x24 | RFU |
0x25 | SWITCH_MODE_DOWNLOAD |
0x26 | GET_DIEID |
0x27 | GET_VERSION |
0x28 | RFU |
0x29 | עד FW v2.05: RFU |
מ-FW v2.06 ואילך: GET_CRC_USER_AREA | |
0x2A | עד FW v2.03: RFU |
מ-FW v2.05 ואילך: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL | |
0x2B-0x3F | RFU |
0x40 | ANTENNA_SELF_TEST (לא נתמך) |
0x41 | PRBS_TEST |
0x42-0x4F | RFU |
4.3 ערכי סטטוס תגובה
להלן ערכי סטטוס התגובה, המוחזרים כחלק מהתגובה מ-PN5190 לאחר הפעלת הפקודה.
טבלה 9. ערכי מצב תגובה PN5190
סטטוס תגובה | ערך סטטוס תגובה | תֵאוּר |
PN5190_STATUS_SUCCESS | 0x00 | מציין שהפעולה הושלמה בהצלחה |
PN5190_STATUS_TIMEOUT | 0x01 | מציין שפעולת הפקודה הביאה לפסק זמן |
PN5190_STATUS_INTEGRITY_ERROR | 0x02 | מציין כי פעולת הפקודה הביאה לשגיאת שלמות נתוני RF |
PN5190_STATUS_RF_COLLISION_ERROR | 0x03 | מציין כי פעולת הפקודה הביאה לשגיאת התנגשות RF |
PN5190_STATUS_RFU1 | 0x04 | שָׁמוּר |
PN5190_STATUS_INVALID_COMMAND | 0x05 | מציין שהפקודה הנתונה לא חוקית/לא מיושמת |
PN5190_STATUS_RFU2 | 0x06 | שָׁמוּר |
PN5190_STATUS_AUTH_ERROR | 0x07 | מציין שאימות MFC נכשל (הרשאה נדחתה) |
PN5190_STATUS_MEMORY_ERROR | 0x08 | מציין שפעולת הפקודה הביאה לשגיאת תכנות או לשגיאת זיכרון פנימי |
PN5190_STATUS_RFU4 | 0x09 | שָׁמוּר |
PN5190_STATUS_NO_RF_FIELD | 0x0A | מציין שאין או שגיאה בנוכחות שדה RF פנימי (ישים רק אם מצב יוזם/קורא) |
PN5190_STATUS_RFU5 | 0x0B | שָׁמוּר |
PN5190_STATUS_SYNTAX_ERROR | 0x0C | מציין שהתקבל אורך מסגרת פקודה לא חוקי |
PN5190_STATUS_RESOURCE_ERROR | 0x0D | מציין שאירעה שגיאת משאב פנימית |
PN5190_STATUS_RFU6 | 0x0E | שָׁמוּר |
PN5190_STATUS_RFU7 | 0x0F | שָׁמוּר |
PN5190_STATUS_NO_EXTERNAL_RF_FIELD | 0x10 | מציין כי לא קיים שדה RF חיצוני במהלך ביצוע הפקודה (מתאים רק במצב כרטיס/יעד) |
PN5190_STATUS_RX_TIMEOUT | 0x11 | מציין שהנתונים לא מתקבלים לאחר הפעלת RFExchange ותפוגה הזמן הקצוב של RX. |
PN5190_STATUS_USER_CANCELLED | 0x12 | מציין שהפקודה הנוכחית שפועלת בוטלה |
PN5190_STATUS_PREVENT_STANDBY | 0x13 | מציין ש-PN5190 מנוע לעבור למצב המתנה |
PN5190_STATUS_RFU9 | 0x14 | שָׁמוּר |
PN5190_STATUS_CLOCK_ERROR | 0x15 | מציין שהשעון ל-CLIF לא התחיל |
PN5190_STATUS_RFU10 | 0x16 | שָׁמוּר |
PN5190_STATUS_PRBS_ERROR | 0x17 | מציין שהפקודה PRBS החזירה שגיאה |
PN5190_STATUS_INSTR_ERROR | 0x18 | מציין שהפעולה של הפקודה נכשלה (היא עשויה לכלול, שגיאה בפרמטרים של הוראות, שגיאת תחביר, שגיאה בפעולה עצמה, דרישות מוקדמות להוראה לא מתקיימות וכו') |
PN5190_STATUS_ACCESS_DENIED | 0x19 | מציין שהגישה לזיכרון הפנימי נדחתה |
PN5190_STATUS_TX_FAILURE | 0x1A | מציין ש-TX over RF נכשל |
PN5190_STATUS_NO_ANTENNA | 0x1B | מציין שאין אנטנה מחוברת/קיימת |
PN5190_STATUS_TXLDO_ERROR | 0x1C | מציין שיש שגיאה ב-TXLDO כאשר ה-VUP אינו זמין וה-RF מופעל. |
PN5190_STATUS_RFCFG_NOT_APPLIED | 0x1D | מציין שתצורת RF אינה נטענת כאשר RF מופעל |
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR | 0x1E | עד FW 2.01: לא צפוי |
מ-FW 2.03 ואילך: מציין שבמהלך Exchange עם LOG ENABLE BIT מוגדר בפנקס FeliCa EMD, נצפתה שגיאת FeliCa EMD |
||
PN5190_STATUS_INTERNAL_ERROR | 0x7F | מציין שפעולת NVM נכשלה |
PN5190_STATUS_SUCCSES_CHAINING | 0xAF | מציין כי, בנוסף נתונים ממתינים לקריאה |
4.4 הסתיימו אירועיםview
ישנן שתי דרכים שבהן אירועים מקבלים הודעה למארח.
4.4.1 אירועים רגילים על סיכת IRQ
אירועים אלה הם קטגוריות להלן:
- מופעל תמיד - המארח מקבל תמיד הודעה
- נשלט על ידי מארח - מארח מקבל הודעה, אם סיבית הפעלת האירועים המתאימה מוגדרת במאגר (EVENT_ENABLE (01h)).
פסיקות ברמה נמוכה מכתובות ה-IP ההיקפיות, כולל ה-CLIF, יטופלו לחלוטין בתוך הקושחה והמארח יקבל הודעה רק על האירועים המפורטים בסעיף האירועים.
הקושחה מיישמת שני אוגרי אירועים כאוגרי RAM שניתן לכתוב / לקרוא באמצעות פקודות סעיף 4.5.1.1 / סעיף 4.5.1.5.
הרשמה EVENT_ENABLE (0x01) => אפשר התראות ספציפיות/כל האירועים.
הרשום EVENT_STATUS (0x02) => חלק ממטען הודעת האירוע.
האירועים ינוקו על ידי המארח ברגע שהודעת האירוע תוקרא על ידי המארח.
אירועים הם אסינכרוניים באופיים ומקבלים הודעה למארח, אם הם מופעלים במאגר EVENT_ENABLE.
להלן רשימת האירועים שיהיו זמינים למארח כחלק מהודעת האירוע.
טבלה 10. אירועי PN5190 (תוכן של EVENT_STATUS)
ביט - טווח | שדה [1] | תָמִיד מופעל (Y/N) | |
31 | 12 | RFU | NA |
11 | 11 | CTS_EVENT [2] | N |
10 | 10 | IDLE_EVENT | Y |
9 | 9 | LPCD_CALIBRATION_DONE_EVENT | Y |
8 | 8 | LPCD_EVENT | Y |
7 | 7 | AUTOCOLL_EVENT | Y |
6 | 6 | TIMER0_EVENT | N |
5 | 5 | TX_OVERCURRENT_EVENT | N |
4 | 4 | RFON_DET_EVENT [2] | N |
3 | 3 | RFOFF_DET_EVENT [2] | N |
2 | 2 | STANDBY_PREV_EVENT | Y |
1 | 1 | GENERAL_ERROR_EVENT | Y |
0 | 0 | BOOT_EVENT | Y |
- שימו לב שאין שני אירועים במועדון למעט במקרה של שגיאות. במקרה של שגיאות במהלך הפעולה, יוגדר אירוע פונקציונלי (למשל BOOT_EVENT, AUTOCALL_EVENT וכו') ו-GENERAL_ERROR_EVENT.
- אירוע זה יושבת אוטומטית לאחר פרסום למארח. המארח צריך להפעיל שוב את האירועים האלה אם הוא רוצה לקבל הודעה על אירועים אלה.
4.4.1.1 פורמטים של הודעת אירועים
פורמט הודעת האירוע משתנה בהתאם להתרחשויות של אירוע ולמצב שונה של ה-PN5190.
המארח חייב לקרוא tag (T) ואורך ההודעה (L) ולאחר מכן קרא את המספר המתאים של בתים כערך (V) של האירועים.
באופן כללי, הודעת האירוע (ראה איור 12) מכילה את ה-EVENT_STATUS כפי שהוגדר בטבלה 11 ונתוני האירוע תואמים לסיבית האירועים המתאימה שנקבעה ב-EVENT_STATUS.
פֶּתֶק:
עבור אירועים מסוימים, מטען לא קיים. לדוגמה, אם TIMER0_EVENT מופעל, רק EVENT_STATUS מסופק כחלק מהודעת האירוע.
טבלה 11 מפרטת גם אם נתוני האירוע קיימים עבור האירוע המתאים בהודעת האירוע.GENERAL_ERROR_EVENT עשוי להתרחש גם עם אירועים אחרים.
בתרחיש זה, הודעת האירוע (ראה איור 13) מכילה את ה-EVENT_STATUS כפי שהוגדר בטבלה 11 ואת GENERAL_ERROR_STATUS_DATA כפי שהוגדרו בטבלה 14 ולאחר מכן נתוני האירוע תואמים לסיבית האירוע המתאימה שנקבעה ב-EVENT_STATUS כפי שהוגדרה בטבלה 11.פֶּתֶק:
רק לאחר BOOT_EVENT או לאחר POR, STANDBY, ULPCD, המארח יוכל לעבוד במצב הפעולה הרגיל על ידי הוצאת הפקודות המפורטות למעלה.
במקרה של ביטול פקודה קיימת, רק לאחר IDLE_EVENT, המארח יוכל לעבוד במצב הפעולה הרגיל על ידי הוצאת הפקודות המפורטות לעיל.
4.4.1.2 הגדרות מצב EVENT שונות
4.4.1.2.1 הגדרות סיביות עבור EVENT_STATUS
טבלה 11. הגדרות עבור ביטים EVENT_STATUS
ביט (אל - מאת) | מִקרֶה | תֵאוּר | נתוני האירוע של האירוע המתאים (אם יש) |
|
31 | 12 | RFU | שָׁמוּר | |
11 | 11 | CTS_EVENT | סיביות זו מוגדרת כאשר נוצר אירוע CTS. | טבלה 86 |
10 | 10 | IDLE_EVENT | ביט זה מוגדר כאשר הפקודה המתמשכת מבוטלת עקב הוצאת הפקודה SWITCH_MODE_NORMAL. | אין נתוני אירועים |
9 | 9 | LPCD_CALIBRATION_DONE_ מִקרֶה |
סיביות זו מוגדרת כאשר נוצר אירוע כיול LPCD. | טבלה 16 |
8 | 8 | LPCD_EVENT | סיביות זו מוגדרת כאשר אירוע LPCD נוצר. | טבלה 15 |
7 | 7 | AUTOCOLL_EVENT | סיביות זו מוגדרת כאשר פעולת AUTOCOLL הושלמה. | טבלה 52 |
6 | 6 | TIMER0_EVENT | סיביות זו מוגדרת כאשר אירוע TIMER0 מתרחש. | אין נתוני אירועים |
5 | 5 | TX_OVERCURRENT_ERROR_ מִקרֶה |
סיביות זו מוגדרת, כאשר הזרם בדריבר ה-TX גבוה מהסף המוגדר ב-EEPROM. במצב זה, השדה כבוי אוטומטית לפני ההודעה למארח. אנא עיין בסעיף 4.4.2.2. | אין נתוני אירועים |
4 | 4 | RFON_DET_EVENT | סיביות זו מוגדרת כאשר שדה ה-RF החיצוני מזוהה. | אין נתוני אירועים |
3 | 3 | RFOFF_DET_EVENT | ביט זה מוגדר כאשר שדה RF חיצוני שכבר קיים נעלם. | אין נתוני אירועים |
2 | 2 | STANDBY_PREV_EVENT | ביט זה מוגדר כאשר המתנה נמנעת בגלל תנאי מניעה קיימים | טבלה 13 |
1 | 1 | GENERAL_ERROR_EVENT | סיביות זו מוגדרת כאשר קיימים תנאי שגיאה כלליים כלשהם | טבלה 14 |
0 | 0 | BOOT_EVENT | סיביות זו מוגדרת כאשר PN5190 מופעל עם POR/Standby | טבלה 12 |
4.4.1.2.2 הגדרות סיביות עבור BOOT_STATUS_DATA
טבלה 12. הגדרות עבור ביטים BOOT_STATUS_DATA
קצת ל | Bit From | מצב אתחול | סיבת האתחול בשל |
31 | 27 | RFU | שָׁמוּר |
26 | 26 | ULP_STANDBY | סיבת אתחול עקב יציאה מ-ULP_STANDBY. |
25 | 23 | RFU | שָׁמוּר |
22 | 22 | BOOT_ RX_ULPDET | RX ULPDET הביא לאתחול במצב ULP-Standby |
21 | 21 | RFU | שָׁמוּר |
20 | 20 | BOOT_SPI | סיבת האתחול עקב משיכת אות SPI_NTS נמוך |
19 | 17 | RFU | שָׁמוּר |
16 | 16 | BOOT_GPIO3 | סיבת האתחול עקב המעבר של GPIO3 מנמוך לגבוה. |
15 | 15 | BOOT_GPIO2 | סיבת האתחול עקב המעבר של GPIO2 מנמוך לגבוה. |
14 | 14 | BOOT_GPIO1 | סיבת האתחול עקב המעבר של GPIO1 מנמוך לגבוה. |
13 | 13 | BOOT_GPIO0 | סיבת האתחול עקב המעבר של GPIO0 מנמוך לגבוה. |
12 | 12 | BOOT_LPDET | סיבת האתחול עקב נוכחות שדה RF חיצוני במהלך STANDBY/SUSPEND |
11 | 11 | RFU | שָׁמוּר |
10 | 8 | RFU | שָׁמוּר |
7 | 7 | BOOT_SOFT_RESET | סיבת האתחול עקב איפוס רך של IC |
6 | 6 | BOOT_VDDIO_LOSS | סיבת האתחול עקב אובדן VDDIO. עיין בסעיף 4.4.2.3 |
5 | 5 | BOOT_VDDIO_START | סיבת האתחול אם STANDBY הוכנס עם VDDIO LOSS. עיין בסעיף 4.4.2.3 |
4 | 4 | BOOT_WUC | סיבת האתחול עקב מונה השכמה שחלף במהלך כל אחת מפעולות ה-STANDBY. |
3 | 3 | BOOT_TEMP | סיבת האתחול עקב טמפרטורת IC היא יותר ממגבלת הסף שהוגדרה. אנא עיין בסעיף 4.4.2.1 |
2 | 2 | BOOT_WDG | סיבת האתחול עקב איפוס כלב השמירה |
1 | 1 | RFU | שָׁמוּר |
0 | 0 | BOOT_POR | סיבת האתחול עקב איפוס ההפעלה |
4.4.1.2.3 הגדרות סיביות עבור STANDBY_PREV_STATUS_DATA
טבלה 13. הגדרות עבור סיביות STANDBY_PREV_STATUS_DATA
קצת ל | Bit From | מניעת המתנה | המתנה נמנעה עקב |
31 | 26 | RFU | שָׁמוּר |
25 | 25 | RFU | שָׁמוּר |
24 | 24 | PREV_TEMP | טמפרטורת הפעולה של ה-IC היא מחוץ לסף |
23 | 23 | RFU | שָׁמוּר |
22 | 22 | PREV_HOSTCOMM | תקשורת ממשק מארח |
21 | 21 | PREV_SPI | אות SPI_NTS נמשך נמוך |
20 | 18 | RFU | שָׁמוּר |
17 | 17 | PREV_GPIO3 | אות GPIO3 עובר מנמוך לגבוה |
16 | 16 | PREV_GPIO2 | אות GPIO2 עובר מנמוך לגבוה |
15 | 15 | PREV_GPIO1 | אות GPIO1 עובר מנמוך לגבוה |
14 | 14 | PREV_GPIO0 | אות GPIO0 עובר מנמוך לגבוה |
13 | 13 | PREV_WUC | מונה ההשכמה חלף |
12 | 12 | PREV_LPDET | זיהוי צריכת חשמל נמוכה. מתרחש כאשר אות RF חיצוני מזוהה בתהליך המעבר למצב המתנה. |
11 | 11 | PREV_RX_ULPDET | זיהוי הספק נמוך במיוחד של RX. מתרחש כאשר אות RF מזוהה בתהליך המעבר ל-ULP_STANDBY. |
10 | 10 | RFU | שָׁמוּר |
9 | 5 | RFU | שָׁמוּר |
4 | 4 | RFU | שָׁמוּר |
3 | 3 | RFU | שָׁמוּר |
2 | 2 | RFU | שָׁמוּר |
1 | 1 | RFU | שָׁמוּר |
0 | 0 | RFU | שָׁמוּר |
4.4.1.2.4 הגדרות סיביות עבור GENERAL_ERROR_STATUS_DATA
טבלה 14. הגדרות עבור סיביות GENERAL_ERROR_STATUS_DATA
קצת ל | קצת מ | מצב שגיאה | תֵאוּר |
31 | 6 | RFU | שָׁמוּר |
5 | 5 | XTAL_START_ERROR | הפעלת XTAL נכשלה במהלך האתחול |
4 | 4 | SYS_TRIM_RECOVERY_ERROR | אירעה שגיאת חיתוך מערכת פנימית בזיכרון, אך השחזור נכשל. המערכת פועלת במצב משודרג לאחור. |
3 | 3 | SYS_TRIM_RECOVERY_SUCCESS | אירעה שגיאת חיתוך זיכרון פנימית של המערכת, והשחזור הצליח. המארח חייב לבצע אתחול מחדש של ה-PN5190 כדי שהשחזור ייכנס לתוקף. |
2 | 2 | TXLDO_ERROR | שגיאת TXLDO |
1 | 1 | CLOCK_ERROR | שגיאת שעון |
0 | 0 | GPADC_ERROR | שגיאת ADC |
4.4.1.2.5 הגדרות סיביות עבור LPCD_STATUS_DATA
טבלה 15. הגדרות עבור בתים LPCD_STATUS_DATA
קצת ל | Bit From | תחולת סיביות סטטוס לפי הפעולה הבסיסית של LPCD או ULPCD | התיאור עבור הסיביות המקבילות מוגדר בבייט סטטוס. | ||
LPCD | ULPCD | ||||
31 | 7 | RFU | שָׁמוּר | ||
6 | 6 | בטל_HIF | Y | N | הופסק עקב פעילות HIF |
5 | 5 | שגיאת CLKDET | N | Y | הופסק עקב שגיאת CLKDET |
4 | 4 | פסק זמן של XTAL | N | Y | הופסק עקב פסק זמן XTAL אירע |
3 | 3 | זרם יתר של VDDPA LDO | N | Y | הופסק עקב זרם יתר של VDDPA LDO |
2 | 2 | שדה RF חיצוני | Y | Y | הופסק עקב שדה RF חיצוני |
1 | 1 | GPIO3 בטל | N | Y | הופסק עקב שינוי ברמת GPIO3 |
0 | 0 | כרטיס זוהה | Y | Y | כרטיס מזוהה |
4.4.1.2.6 הגדרות סיביות עבור נתוני מצב LPCD_CALIBRATION_DONE
טבלה 16. הגדרות עבור בתים של נתוני LPCD_CALIBRATION_DONE עבור ULPCD
קצת ל | Bit From | סטטוס LPCD_CALIBRATION DONE מִקרֶה | התיאור עבור הסיביות המקבילות מוגדר בבייט סטטוס. |
31 | 11 | שָׁמוּר | |
10 | 0 | ערך התייחסות מכיול ULPCD | ערך ה-RSSI הנמדד במהלך כיול ULPCD המשמש כעיון במהלך ULPCD |
טבלה 17. הגדרות עבור LPCD_CALIBRATION_DONE בתים של נתוני מצב עבור LPCD
קצת ל | Bit From | תחולת סיביות סטטוס לפי הפעולה הבסיסית של LPCD או ULPCD | התיאור עבור הסיביות המקבילות מוגדר בבייט סטטוס. | ||
2 | 2 | שדה RF חיצוני | Y | Y | הופסק עקב שדה RF חיצוני |
1 | 1 | GPIO3 בטל | N | Y | הופסק עקב שינוי ברמת GPIO3 |
0 | 0 | כרטיס זוהה | Y | Y | כרטיס מזוהה |
4.4.2 טיפול בתרחישי אתחול שונים
ה- PN5190 IC מטפל במצבי שגיאה שונים הקשורים לפרמטרים של IC כמו להלן.
4.4.2.1 טיפול בתרחיש של טמפרטורת יתר כאשר PN5190 נמצא בפעולה
בכל פעם שהטמפרטורה הפנימית של ה- PN5190 IC מגיעה לערך הסף כפי שהוגדר בשדה EEPROM TEMP_WARNING [2], ה-IC נכנס למצב המתנה. וכתוצאה מכך, אם שדה EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] מוגדר להעלות הודעה למארח, אז GPIO0 יימשך גבוה כדי להודיע ל-IC על טמפרטורה גבוהה.
ככל שטמפרטורת ה-IC יורדת מתחת לערך הסף כפי שהוגדר בשדה EEPROM TEMP_WARNING [2], ה-IC יאתחל עם BOOT_EVENT כמו בטבלה 11 ו-BOOT_TEMP מצב האתחול מוגדר כמו בטבלה 12 ו-GPIO0 יימשך נמוך.
4.4.2.2 טיפול בזרם יתר
אם PN5190 IC חש את מצב זרם היתר, ה-IC מכבה את מתח ה-RF ושולח את ה-TX_OVERCURRENT_ERROR_EVENT כמו בטבלה 11.
ניתן לשלוט על משך מצב זרם היתר על ידי שינוי שדה EEPROM TXLDO_CONFIG [2].
למידע על IC מעבר לסף הנוכחי, עיין במסמך [2].
פֶּתֶק:
אם יש אירועים ממתינים או תגובה אחרים, הם יישלחו למארח.
4.4.2.3 אובדן VDDIO במהלך הפעולה
אם PN5190 IC נתקל שאין VDDIO (אבדן VDDIO), ה-IC נכנס למצב המתנה.
IC מאתחל רק כאשר ה-VDDIO זמין, כאשר BOOT_EVENT כמו בטבלה 11 ו-BOOT_VDDIO_START ביט מצב האתחול מוגדר כמו בטבלה 12.
למידע על מאפיינים סטטיים של PN5190 IC, עיין במסמך [2].
4.4.3 טיפול בתרחישי הפסקה
ל- PN5190 IC יש תמיכה בביטול פקודות הביצוע הנוכחיות ובהתנהגות של PN5190 IC, כאשר פקודת ביטול כזו כמו סעיף 4.5.4.5.2 נשלחת ל- PN5190 IC היא כפי שמוצג בטבלה 18.
פֶּתֶק:
כאשר PN5190 IC נמצא במצב ULPCD ו-ULP-Standby, לא ניתן לבטל אותו על ידי שליחת סעיף 4.5.4.5.2 או על ידי התחלת עסקת SPI (על ידי משיכה נמוכה של אות SPI_NTS).
טבלה 18. תגובת אירוע צפויה כאשר פקודות שונות הסתיימו עם סעיף 4.5.4.5.2
פקודות | התנהגות כאשר נשלחת פקודת Switch Mode Normal |
כל הפקודות שבהן לא הוזן הספק נמוך | EVENT_STAUS מוגדר ל-"IDLE_EVENT" |
Switch Mode LPCD | EVENT_STATUS מוגדר ל-"LPCD_EVENT" כאשר "LPCD_ STATUS_DATA" מציין סיביות סטטוס כ-"Abort_HIF" |
Switch Mode Standby | EVENT_STAUS מוגדר ל-"BOOT_EVENT" כאשר "BOOT_ STATUS_DATA" מציין סיביות "BOOT_SPI" |
Switch Mode Autocoll (ללא מצב אוטונומי, מצב אוטונומי עם המתנה ומצב אוטונומי ללא המתנה) | EVENT_STAUS מוגדר ל-"AUTOCOLL_EVENT" עם סיביות STATUS_DATA המציינים שהפקודה בוטלה על ידי המשתמש. |
4.5 מצב רגיל פרטי הוראות הפעלה
4.5.1 רישום מניפולציה
ההוראות של סעיף זה משמשות כדי לגשת לרישומים הלוגיים של PN5190.
4.5.1.1 WRITE_REGISTER
הוראה זו משמשת לכתיבת ערך של 32 סיביות (ליטל-אנדיאן) לאוגר לוגי.
4.5.1.1.1 תנאים
הכתובת של הפנקס חייבת להתקיים, והרישום חייב להיות בעל התכונה READ-WRITE או WRITE-ONLY.
4.5.1.1.2 פיקוד
טבלה 19. ערך הפקודה WRITE_REGISTER כתוב ערך של 32 סיביות לאגר.
שדה מטען | מֶשֶׁך | ערך/תיאור |
כתובת רישום | 1 בייט | כתובת הפנקס. |
טבלה 19. ערך הפקודה WRITE_REGISTER... המשך
כתוב ערך של 32 סיביות לרשום.
שדה מטען | מֶשֶׁך | ערך/תיאור |
עֵרֶך | 4 בתים | ערך אוגר של 32 סיביות שיש לכתוב. (ליטל-אנדיאן) |
4.5.1.1.3 תגובה
טבלה 20. ערך תגובה WRITE_REGISTER
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.1.2 WRITE_REGISTER_OR_MASK
הוראה זו משמשת לשינוי תוכן הרישום באמצעות פעולת OR לוגית. התוכן של המאגר נקרא ומבצעים פעולת OR לוגית עם המסכה שסופקה. התוכן שהשתנה נכתב בחזרה לפנקס.
4.5.1.2.1 תנאים
הכתובת של הפנקס חייבת להתקיים, והרישום חייב להיות בעל התכונה READ-WRITE.
4.5.1.2.2 פיקוד
טבלה 21. ערך הפקודה WRITE_REGISTER_OR_MASK בצע פעולת OR לוגית על אוגר באמצעות מסכה שסופקה.
שדה מטען | מֶשֶׁך | ערך/תיאור |
כתובת רישום | 1 בייט | כתובת הפנקס. |
מַסֵכָה | 4 בתים | מסכת סיביות משמשת כאופרנד עבור פעולת OR לוגית. (ליטל-אנדיאן) |
4.5.1.2.3 תגובה
טבלה 22. ערך התגובה WRITE_REGISTER_OR_MASK
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.1.3 WRITE_REGISTER_AND_MASK
הוראה זו משמשת כדי לשנות את תוכן הרישום באמצעות פעולת AND לוגית. התוכן של האוגר נקרא ומבוצעת פעולת AND הגיונית עם המסכה שסופקה. התוכן שהשתנה נכתב בחזרה למרשם.
4.5.1.3.1 תנאים
הכתובת של הפנקס חייבת להתקיים, והרישום חייב להיות בעל התכונה READ-WRITE.
4.5.1.3.2 פיקוד
טבלה 23. ערך הפקודה WRITE_REGISTER_AND_MASK בצע פעולת AND לוגית על אוגר באמצעות המסכה שסופקה.
שדה מטען | מֶשֶׁך | ערך/תיאור |
כתובת רישום | 1 בייט | כתובת הפנקס. |
מַסֵכָה | 4 בתים | מסכת סיביות משמשת כאופרנד לפעולה לוגית AND. (ליטל-אנדיאן) |
4.5.1.3.3 תגובה
טבלה 24. ערך התגובה WRITE_REGISTER_AND_MASK
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.1.4 WRITE_REGISTER_MULTIPLE
פונקציונליות הוראות זו דומה לסעיף 4.5.1.1, סעיף 4.5.1.2, סעיף 4.5.1.3, עם אפשרות לשלב ביניהם. למעשה, הוא דורש מערך של ערכי ערך-סוג אוגר ומבצע פעולה מתאימה. הסוג משקף את הפעולה שהיא או כתיבה של אוגר, פעולת OR לוגית על אוגר או פעולת AND לוגית על אוגר.
4.5.1.4.1 תנאים
הכתובת הלוגית המתאימה של המאגר בתוך קבוצה חייבת להתקיים.
תכונת הגישה לרשום חייבת לאפשר ביצוע פעולה נדרשת (סוג):
- פעולת כתיבה (0x01): תכונה READ-WRITE או WRITE-ONLY
- או פעולת מסיכה (0x02): תכונת READ-WRITE
- פעולת AND mask (0x03): תכונת READ-WRITE
הגודל של מערך 'סט' חייב להיות בטווח שבין 1 - 43, כולל.
שדה 'סוג' חייב להיות בטווח של 1 עד 3, כולל
4.5.1.4.2 פיקוד
טבלה 25. ערך הפקודה WRITE_REGISTER_MULTIPLE בצע פעולת כתיבה של אוגר באמצעות קבוצה של זוגות רישום-ערך.
שדה מטען | מֶשֶׁך | ערך/תיאור | |||
הגדר [1…n] | 6 בתים | כתובת רישום | 1 בייט | כתובת הגיונית של המרשם. | |
סוּג | 1 בייט | 0x1 | כתוב הרשמה | ||
0x2 | כתוב הרשמה או מסכה | ||||
0x3 | כתוב הרשמה AND Mask | ||||
עֵרֶך | 4 בתים | 32 ערך אוגר ביס שיש לכתוב, או מסיכת סיביות בשימוש לפעולה לוגית. (ליטל-אנדיאן) |
הערה: במקרה של חריגה, הפעולה לא מבוטלת, כלומר אוגרים ששונו עד להתרחשות חריגה נשארים במצב שונה. המארח חייב לנקוט בפעולות מתאימות כדי להתאושש למצב מוגדר.
4.5.1.4.3 תגובה
טבלה 26. ערך תגובה WRITE_REGISTER_MULTIPLE
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.1.5 READ_REGISTER
הוראה זו משמשת לקריאת התוכן של אוגר לוגי. התוכן קיים בתגובה, כערך של 4 בתים בפורמט ליטל-אנדיאן.
4.5.1.5.1 תנאים
הכתובת של המאגר הלוגי חייבת להתקיים. תכונת הגישה של המאגר חייבת להיות READ-WRITE או READ-ONLY.
4.5.1.5.2 פיקוד
טבלה 27. ערך הפקודה READ_REGISTER
קרא אחורה תוכן של פנקס.
שדה מטען | מֶשֶׁך | ערך/תיאור |
כתובת רישום | 1 בייט | כתובת המאגר הלוגי |
4.5.1.5.3 תגובה
טבלה 28. ערך תגובה READ_REGISTER
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) | ||
ערך רישום | 4 בתים | ערך אוגר של 32 סיביות שהוקרא. (ליטל-אנדיאן) |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.1.6 READ_REGISTER_MULTIPLE
הוראה זו משמשת לקריאת אוגרים לוגיים מרובים בבת אחת. התוצאה (תוכן כל פנקס) מסופקת בתגובה להוראה. כתובת הרישום עצמה אינה כלולה בתגובה. סדר תוכן המרשם בתוך התגובה מתאים לסדר כתובות המרשם בתוך ההוראה.
4.5.1.6.1 תנאים
כל כתובות הרישום בתוך ההוראה חייבות להתקיים. תכונת הגישה לכל אוגר חייבת להיות READ-WRITE או READ-ONLY. הגודל של מערך 'כתובת רישום' חייב להיות בטווח שבין 1 - 18, כולל.
4.5.1.6.2 פיקוד
טבלה 29. ערך הפקודה READ_REGISTER_MULTIPLE בצע פעולת קריאת אוגר על קבוצה של אוגרים.
שדה מטען | מֶשֶׁך | ערך/תיאור |
כתובת רישום[1…n] | 1 בייט | כתובת רישום |
4.5.1.6.3 תגובה
טבלה 30. ערך תגובה READ_REGISTER_MULTIPLE
שדה מטען | מֶשֶׁך | ערך/תיאור | ||
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) | ||||
ערך רישום [1…n] | 4 בתים | עֵרֶך | 4 בתים | ערך אוגר של 32 סיביות שהוקרא (ליט-אנדיאן). |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.2 מניפולציה של E2PROM
האזור הנגיש ב-E2PROM הוא לפי מפת EEPROM וגודל ניתן להתייחסות.
פֶּתֶק:
1. בכל מקום שבו 'כתובת E2PROM' מוזכרת בהוראות שלהלן, יתייחס לגודל אזור ה-EEPROM הניתן לכתובת.
4.5.2.1 WRITE_E2PROM
הוראה זו משמשת לכתיבת ערך אחד או יותר ל-E2PROM. השדה 'ערכים' מכיל את הנתונים שייכתבו ל-E2PROM החל מהכתובת הניתנת בשדה 'כתובת E2PROM'. הנתונים נכתבים בסדר רציף.
פֶּתֶק:
שימו לב שזוהי פקודת חסימה, זה אומר שה-NFC FE חסום במהלך פעולת הכתיבה. זה יכול לקחת כמה אלפיות שניות.
4.5.2.1.1 תנאים
השדה 'כתובת E2PROM' חייב להיות בטווח לפי [2]. מספר הבתים בשדה 'ערכים' חייב להיות בטווח שבין 1 - 1024 (0x0400), כולל. פעולת הכתיבה אינה יכולה לחרוג מכתובת ה-EEPROM כפי שהוזכר ב-[2]. תגובת שגיאה תישלח למארח אם הכתובת חורגת ממרחב הכתובות של EEPROM כמו ב-[2].
4.5.2.1.2 פיקוד
טבלה 31. ערך הפקודה WRITE_E2PROM כתוב ערכים נתונים ברצף ל-E2PROM.
שדה מטען | מֶשֶׁך | ערך/תיאור |
כתובת E2PROM | 2 בייט | כתובת ב-EEPROM שממנה תתחיל פעולת הכתיבה. (ליטל-אנדיאן) |
ערכים | 1 - 1024 בתים | ערכים שיש לכתוב ל-E2PROM בסדר רציף. |
4.5.2.1.3 תגובה
טבלה 32. ערך התגובה WRITE_EEPROM
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.2.2 READ_E2PROM
הוראה זו משמשת לקריאת נתונים מאזור זיכרון E2PROM. השדה 'כתובת E2PROM' מציינת את כתובת ההתחלה של פעולת הקריאה. התגובה מכילה את הנתונים שנקראו מ-E2PROM.
4.5.2.2.1 תנאים
השדה 'כתובת E2PROM' חייב להיות בטווח חוקי.
השדה 'מספר בתים' חייב להיות בטווח שבין 1 - 256, כולל.
פעולת הקריאה אינה יכולה לחרוג מכתובת ה-EEPROM האחרונה שנגישה.
תגובת שגיאה תישלח למארח, אם הכתובת חורגת ממרחב הכתובות של ה-EEPROM.
4.5.2.2.2 פיקוד
טבלה 33. ערך הפקודה READ_E2PROM קרא ערכים מ-E2PROM ברצף.
שדה מטען | מֶשֶׁך | ערך/תיאור |
כתובת E2PROM | 2 בייט | כתובת ב-E2PROM שממנה תתחיל פעולת הקריאה. (ליטל-אנדיאן) |
מספר בתים | 2 בייט | מספר הבתים שיש לקרוא. (ליטל-אנדיאן) |
4.5.2.2.3 תגובה
טבלה 34. ערך התגובה READ_E2PROM
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) | ||
ערכים | 1 - 1024 בתים | ערכים שנקראו בסדר עוקב. |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.2.3 GET_CRC_USER_AREA
הוראה זו משמשת לחישוב ה-CRC עבור אזור תצורת המשתמש המלא כולל אזור הפרוטוקול של PN5190 IC.
4.5.2.3.1 פיקוד
טבלה 35. ערך הפקודה GET_CRC_USER_AREA
קרא את ה-CRC של אזור תצורת המשתמש כולל אזור הפרוטוקול.
שדה מטען | מֶשֶׁך | ערך/תיאור |
– | – | אין נתונים במטען |
4.5.2.3.2 תגובה
טבלה 36. ערך תגובה GET_CRC_USER_AREA
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) | ||
ערכים | 4 בתים | 4 בתים של נתוני CRC בפורמט Little Endian. |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.3 מניפולציה של נתוני CLIF
ההוראות המתוארות בסעיף זה מתארות את הפקודות לשידור וקליטת RF.
4.5.3.1 EXCHANGE_RF_DATA
פונקציית החלפת ה-RF מבצעת שידור של נתוני ה-TX וממתינה לקליטת נתוני RX כלשהם.
הפונקציה חוזרת במקרה של קליטה (שגויה או נכונה) או שקרה פסק זמן. הטיימר מופעל עם END של TRANSMISSION ומופסק עם ההתחלה של RECEPTION. ערך הזמן הקצוב שהוגדר מראש ב-EEPROM ישמש במקרה שהפסקה לא הוגדרה לפני ביצוע פקודת Exchange.
אם משדר_מצב הוא
- ב-IDLE נכנס למצב TRANSCEIVE.
- ב-WAIT_RECEIVE, מצב מקלט המשדר מאופס למצב TRANSCEIVE MODE במקרה של ביט יוזם מוגדר
- ב-WAIT_TRANSMIT, מצב מקלט המשדר מאופס למצב TRANSCEIVE MODE במקרה של ביט יוזם לא מוגדר
השדה 'מספר ביטים חוקיים ב-Byte האחרון' מציין את אורך הנתונים המדויק שיש לשדר.
4.5.3.1.1 תנאים
גודל השדה 'נתוני TX' חייב להיות בטווח שבין 0 - 1024, כולל.
השדה 'מספר ביטים חוקיים ב-Byte האחרון' חייב להיות בטווח שבין 0 ל-7.
אסור לקרוא לפקודה במהלך שידור RF מתמשך. הפיקוד יבטיח את המצב הנכון של מקלט המשדר להעברת הנתונים.
פֶּתֶק:
פקודה זו תקפה רק עבור מצב Reader ומצב P2P "פאסיבי/פעיל יוזם.
4.5.3.1.2 פיקוד
טבלה 37. ערך הפקודה EXCHANGE_RF_DATA
כתוב נתוני TX למאגר שידור RF פנימי ומתחיל שידור באמצעות פקודת שידור והמתן עד לקבלה או לפסק זמן כדי להכין תגובה למארח.
שדה מטען | מֶשֶׁך | ערך/תיאור | |
מספר ביטים חוקיים ב-Byte האחרון | 1 בייט | 0 | כל הסיביות של הבת האחרון מועברות |
1 - 7 | מספר הסיביות בתוך הבית האחרון שישודר. | ||
RFExchangeConfig | 1 בייט | תצורה של פונקציית RFExchange. פרטים ראה למטה |
טבלה 37. ערך הפקודה EXCHANGE_RF_DATA... המשך
כתוב נתוני TX למאגר שידור RF פנימי ומתחיל שידור באמצעות פקודת שידור והמתן עד לקבלה או לפסק זמן כדי להכין תגובה למארח.
שדה מטען | מֶשֶׁך | ערך/תיאור |
נתונים TX | n בתים | נתוני TX אשר חייבים להישלח באמצעות CLIF באמצעות פקודת שידור. n = 0 - 1024 בתים |
טבלה 38. RFexchangeConfig Bitmask
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | תֵאוּר |
סיביות 4 - 7 הם RFU | ||||||||
X | כלול נתוני RX בתגובה המבוססת על RX_STATUS, אם הביט מוגדר ל-1b. | |||||||
X | כלול אוגר EVENT_STATUS בתגובה, אם הביט מוגדר ל-1b. | |||||||
X | כלול רישום RX_STATUS_ERROR בתגובה, אם הביט מוגדר ל-1b. | |||||||
X | כלול רישום RX_STATUS בתגובה, אם הביט מוגדר ל-1b. |
4.5.3.1.3 תגובה
טבלה 39. ערך תגובה EXCHANGE_RF_DATA
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR |
||
RX_STATUS | 4 בתים | אם מתבקש RX_STATUS (ליט-אנדיאן) |
RX_STATUS_ERROR | 4 בתים | אם מתבקש RX_STATUS_ERROR (ליט-אנדיאן) |
EVENT_STATUS | 4 בתים | אם EVENT_STATUS מתבקש (ליט-אנדיאן) |
נתונים RX | 1 - 1024 בתים | אם נתוני RX מתבקשים. נתוני RX שהתקבלו במהלך שלב קליטת RF של חילופי RF. |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.3.2 TRANSMIT_RF_DATA
הוראה זו משמשת לכתיבת נתונים לתוך מאגר השידור הפנימי של CLIF ולהתחיל בשידור באמצעות פקודת שידור פנימית. גודל המאגר הזה מוגבל ל-1024 בתים. לאחר ביצוע הוראה זו, קליטת RF מופעלת באופן אוטומטי.
הפקודה חוזרת מיד לאחר השלמת השידור ולא מחכה להשלמת הקליטה.
4.5.3.2.1 תנאים
מספר הבתים בשדה 'נתוני TX' חייב להיות בטווח שבין 1 - 1024, כולל.
אסור לקרוא לפקודה במהלך שידור RF מתמשך.
4.5.3.2.2 פיקוד
טבלה 40. ערך הפקודה TRANSMIT_RF_DATA כתוב נתוני TX למאגר שידור פנימי של CLIF.
שדה מטען | מֶשֶׁך | ערך/תיאור |
מספר ביטים חוקיים ב-Byte האחרון | 1 בייט | 0 כל הסיביות של הבית האחרון משודרות 1 - 7 מספר הסיביות בתוך הבית האחרון שישודר. |
RFU | 1 בייט | שָׁמוּר |
נתונים TX | 1 - 1024 בתים | נתוני TX אשר ישמשו במהלך שידור ה-RF הבא. |
4.5.3.2.3 תגובה
טבלה 41. ערך התגובה TRANSMIT_RF_DATA
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.3.3 RETRIEVE_RF_DATA
הוראה זו משמשת לקריאת נתונים מהמאגר הפנימי CLIF RX, המכיל את נתוני תגובת ה-RF (אם יש) שפורסמו אליו מהביצוע הקודם של סעיף 4.5.3.1 עם אפשרות לא לכלול את הנתונים שהתקבלו בתגובה או בסעיף 4.5.3.2 .XNUMX פקודה.
4.5.3.3.1 פיקוד
טבלה 42. ערך הפקודה RETRIEVE_RF_DATA קרא נתוני RX ממאגר קליטה פנימי של RF.
שדה מטען | מֶשֶׁך | ערך/תיאור |
רֵיק | רֵיק | רֵיק |
4.5.3.3.2 תגובה
טבלה 43. ערך התגובה RETRIEVE_RF_DATA
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
שדה מטען | מֶשֶׁך | ערך/תיאור |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
||
נתונים RX | 1 - 1024 בתים | נתוני RX שהתקבלו במהלך קליטת RF מוצלחת אחרונה. |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.3.4 RECEIVE_RF_DATA
הוראה זו ממתינה לנתונים המתקבלים דרך ממשק RF של הקורא.
במצב קורא, הוראה זו חוזרת אם יש קליטה (שגויה או נכונה) או שהתרחש פסק זמן של FWT. הטיימר מופעל עם END של TRANSMISSION ומופסק עם ההתחלה של RECEPTION. ערך ברירת המחדל של הזמן הקצוב שהוגדר מראש ב-EEPROM ישמש במקרה של זמן קצוב לא מוגדר לפני ביצוע פקודת Exchange.
במצב יעד, הוראה זו חוזרת במקרה של קליטה (שגויה או נכונה) או שגיאת RF חיצונית.
פֶּתֶק:
יש להשתמש בהוראה זו עם פקודת TRANSMIT_RF_DATA לביצוע פעולת TX ו-RX...
4.5.3.4.1 פיקוד
טבלה 44. ערך הפקודה RECEIVE_RF_DATA
שדה מטען | מֶשֶׁך | ערך/תיאור |
ReceiveRFConfig | 1 בייט | תצורה של הפונקציה ReceiveRFConfig. לִרְאוֹת טבלה 45 |
טבלה 45. מסיכת סיביות של ReceiveRFConfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | תֵאוּר |
סיביות 4 - 7 הם RFU | ||||||||
X | כלול נתוני RX בתגובה המבוססת על RX_STATUS, אם הביט מוגדר ל-1b. | |||||||
X | כלול אוגר EVENT_STATUS בתגובה, אם הביט מוגדר ל-1b. | |||||||
X | כלול רישום RX_STATUS_ERROR בתגובה, אם הביט מוגדר ל-1b. | |||||||
X | כלול רישום RX_STATUS בתגובה, אם הביט מוגדר ל-1b. |
4.5.3.4.2 תגובה
טבלה 46. ערך התגובה RECEIVE_RF_DATA
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) PN5190_STATUS_TIMEOUT |
שדה מטען | מֶשֶׁך | ערך/תיאור |
PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
||
RX_STATUS | 4 בתים | אם מתבקש RX_STATUS (ליט-אנדיאן) |
RX_STATUS_ERROR | 4 בתים | אם מתבקש RX_STATUS_ERROR (ליט-אנדיאן) |
EVENT_STATUS | 4 בתים | אם EVENT_STATUS מתבקש (ליט-אנדיאן) |
נתונים RX | 1 - 1024 בתים | אם נתוני RX מתבקשים. נתוני RX שהתקבלו באמצעות RF. |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (תצורת FeliCa EMD)
הוראה זו משמשת לקריאת נתונים ממאגר CLIF RX הפנימי, המכיל נתוני תגובה של FeliCa EMD (אם יש) שפורסמו אליו מהביצוע הקודם של הפקודה EXCHANGE_RF_DATA שחוזרת עם המצב 'PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR'.
פֶּתֶק: פקודה זו זמינה מ-PN5190 FW v02.03 ואילך.
4.5.3.5.1 פיקוד
קרא נתוני RX ממאגר קליטת RF פנימי.
טבלה 47. ערך הפקודה RETRIEVE_RF_FELICA_EMD_DATA
שדה מטען | מֶשֶׁך | ערך/תיאור | |
FeliCaRFretrieveConfig | 1 בייט | 00 – FF | תצורה של הפונקציה RETRIEVE_RF_FELICA_EMD_DATA |
תיאור תצורה (bitmask). | סיביות 7..2: RFU סיביות 1: כלול רישום RX_STATUS_ ERROR בתגובה, אם ביט מוגדר ל-1b. סיביות 0: כלול אוגר RX_STATUS בתגובה, אם ביט מוגדר ל-1b. |
4.5.3.5.2 תגובה
טבלה 48. ערך התגובה RETRIEVE_RF_FELICA_EMD_DATA
שדה מטען | מֶשֶׁך | ערך/תיאור | |||
סטָטוּס | 1 בייט | מצב הפעולה. הערכים הצפויים הם כדלקמן: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) | |||
RX_STATUS | 4 בייט | אם מתבקש RX_STATUS (ליט-אנדיאן) | |||
RX_STATUS_ ERROR | 4 בייט | אם מתבקש RX_STATUS_ERROR (ליט-אנדיאן) |
שדה מטען | מֶשֶׁך | ערך/תיאור | |||
נתונים RX | 1...1024 בייט | נתוני FeliCa EMD RX שהתקבלו במהלך קליטת RF לא מוצלחת אחרונה באמצעות Exchange Command. |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.4 החלפת מצב פעולה
PN5190 תומך ב-4 מצבי פעולה שונים:
4.5.4.1 רגיל
זהו מצב ברירת המחדל, שבו כל ההוראות מותרות.
4.5.4.2 המתנה
PN5190 נמצא במצב המתנה/שינה כדי לחסוך בחשמל. יש להגדיר את תנאי ההשכמה כדי להגדיר מתי לצאת שוב מהמתנה.
4.5.4.3 LPCD
PN5190 נמצא במצב זיהוי כרטיס צריכת חשמל נמוכה, שם הוא מנסה לזהות כרטיס שנכנס לנפח הפעולה, עם צריכת חשמל נמוכה ככל האפשר.
4.5.4.4 איסוף אוטומטי
PN5190 פועל כמאזין RF, מבצע הפעלת מצב יעד באופן אוטונומי (כדי להבטיח אילוצי זמן אמת)
4.5.4.5 SWITCH_MODE_NORMAL
לפקודה Switch Mode Normal יש שלושה מקרי שימוש.
4.5.4.5.1 UseCase1: היכנס למצב פעולה רגיל עם הדלקה (POR)
השתמש כדי לאפס למצב לא פעיל עבור קבלת / עיבוד הפקודה הבאה על ידי כניסה למצב פעולה רגיל.
4.5.4.5.2 UseCase2: סיום הפקודה שכבר פועלת כדי לעבור למצב פעולה רגיל (פקודה ביטול)
השתמש כדי לאפס למצב Idle עבור קבלת / עיבוד הפקודה הבאה על ידי סיום הפקודות שכבר פועלות.
ניתן יהיה לסיים פקודות כגון המתנה, LPCD, Exchange, PRBS ו-Autocoll באמצעות פקודה זו.
זו הפקודה המיוחדת היחידה, שאין לה תגובה. במקום זאת, יש לו הודעת EVENT.
עיין בסעיף 4.4.3 למידע נוסף על סוג האירועים המתרחשים במהלך ביצוע פקודות בסיסיות שונות.
4.5.4.5.2.1 UseCase2.1:
פקודה זו תאפס את כל רשמי ה-CLIF TX, RX ו-Feld Control למצב אתחול. הוצאת פקודה זו תכבה כל שדה RF קיים.
4.5.4.5.2.2 UseCase2.2:
זמין מ-PN5190 FW v02.03 ואילך:
פקודה זו לא תשנה CLIF TX, RX ו- Field Control Registers אלא רק תעביר את מקלט המשדר למצב IDLE.
4.5.4.5.3 UseCase3: מצב פעולה רגיל עם איפוס רך/יציאה מהמתנה, LPCD במקרה זה, ה-PN5190 נכנס ישירות למצב הפעולה הרגיל, על ידי שליחת ה-IDLE_EVENT למארח (איור 12 או איור 13) ו" סיביות IDLE_EVENT" מוגדרת בטבלה 11.
אין דרישה לשלוח פקודת SWITCH_MODE_NORMAL.
פֶּתֶק:
לאחר המעבר של ה-IC למצב רגיל, כל ההגדרות של RF משתנות למצב ברירת מחדל. זה הכרחי כי תצורת RF בהתאמה ואוגרים קשורים אחרים חייבים להיטען בערכים מתאימים לפני ביצוע פעולת RF ON או RF Exchange.
4.5.4.5.4 מסגרת פקודה לשליחה עבור מקרי שימוש שונים
4.5.4.5.4.1 UseCase1: פקודה היכנס למצב פעולה רגיל עם הפעלה (POR) 0x20 0x01 0x00
4.5.4.5.4.2 UseCase2: פקודה לסיום פקודות שכבר פועלות כדי לעבור למצב פעולה רגיל
שימוש במקרה 2.1:
0x20 0x00 0x00
מקרה שימוש 2.2: (מ-FW v02.02 ואילך):
0x20 0x02 0x00
4.5.4.5.4.3 UseCase3: פקודה למצב פעולה רגיל עם איפוס רך/יציאה מהמתנה, LPCD, ULPCD
אף אחד. PN5190 נכנס ישירות למצב פעולה רגיל.
4.5.4.5.5 תגובה
אַף לֹא אֶחָד
אירוע אחד
מוגדר BOOT_EVENT (בפנקס EVENT_STATUS) המציין שהמצב הרגיל נכנס ונשלח למארח. עיין באיור 12 ואיור 13 עבור נתוני האירוע.
מוגדר IDLE_EVENT (בפנקס EVENT_STATUS) המציין שהמצב הרגיל נכנס ונשלח למארח. עיין באיור 12 ואיור 13 עבור נתוני האירוע.
מוגדר BOOT_EVENT (בפנקס EVENT_STATUS) המציין שהמצב הרגיל נכנס ונשלח למארח. עיין באיור 12 ואיור 13 עבור נתוני האירוע.
4.5.4.6 SWITCH_MODE_AUTOCOLL
ה-Switch Mode Autocoll מבצע אוטומטית את הליך הפעלת הכרטיס במצב יעד.
השדה 'מצב אוסף אוטומטי' חייב להיות בטווח שבין 0 - 2, כולל.
במקרה ששדה 'מצב צילום אוטומטי' מוגדר ל-2 (איסוף אוטומטי): שדה 'טכנולוגיות RF' (טבלה 50) חייב להכיל מסיכת סיביות המציינת את טכנולוגיות ה-RF לתמוך במהלך ה-Autocoll.
אין לשלוח הוראות במצב זה.
סיום מסומן באמצעות פסיקה.
4.5.4.6.1 פיקוד
טבלה 49. ערך הפקודה SWITCH_MODE_AUTOCOLL
פָּרָמֶטֶר | מֶשֶׁך | ערך/תיאור | |
טכנולוגיות RF | 1 בייט | מסכת סיביות המציינת את טכנולוגיית ה-RF להאזנה במהלך Autocoll. | |
מצב איסוף אוטומטי | 1 בייט | 0 | אין מצב אוטונומי, כלומר Autocoll מסתיים כאשר שדה RF חיצוני אינו קיים. |
סיום במקרה של | |||
• NO RF FIELD או RF FIELD נעלמו | |||
• PN5190 מופעל במצב TARGET | |||
1 | מצב אוטונומי עם המתנה. כאשר לא קיים שדה RF, Autocoll נכנס אוטומטית למצב המתנה. לאחר זיהוי שדה RF חיצוני RF, PN5190 נכנס שוב למצב Autocoll. | ||
סיום במקרה של | |||
• PN5190 מופעל במצב TARGET | |||
מ-PN5190 FW v02.03 והלאה: אם שדה EEPROM "bCard ModeUltraLowPowerEnabled" בכתובת '0xCDF' מוגדר ל-'1', אז PN5190 נכנס להמתנה בהספק נמוך במיוחד. | |||
2 | מצב אוטונומי ללא המתנה. כאשר אין שדה RF, PN5190 ממתין עד ששדה RF קיים לפני הפעלת אלגוריתם Autocoll. המתנה לא בשימוש במקרה זה. | ||
סיום במקרה של • PN5190 מופעל במצב TARGET |
טבלה 50. RF Technologies Bitmask
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | תֵאוּר |
0 | 0 | 0 | 0 | RFU | ||||
X | אם מוגדר ל-1b, האזנה עבור NFC-F Active מופעלת. (לא זמין). | |||||||
X | אם מוגדר ל-1b, האזנה עבור NFC-A Active מופעלת. (לא זמין). | |||||||
X | אם מוגדר ל-1b, האזנה עבור NFC-F מופעלת. | |||||||
X | אם מוגדר ל-1b, האזנה עבור NFC-A מופעלת. |
4.5.4.6.2 תגובה
התגובה רק מסמנת שהפקודה עובדה.
טבלה 51. ערך התגובה SWITCH_MODE_AUTOCOLL
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (מצב מעבר לא הוכנס עקב הגדרות שגויות) |
אירוע אחד
הודעת האירוע נשלחת עם סיום הפקודה, ונכנס למצב הרגיל. המארח יקרא את בתי התגובה בהתבסס על ערך האירוע.
פֶּתֶק:
כאשר הסטטוס אינו "PN5190_STATUS_INSTR_SUCCESS", אז בתים נוספים של "פרוטוקול" ו-"Card_Activated" אינם קיימים.
מידע טכנולוגי מאוחזר מהאוגרים באמצעות פקודות סעיף 4.5.1.5, סעיף 4.5.1.6.
הטבלה הבאה מציגה את נתוני האירועים הנשלחים כחלק מהודעת האירוע איור 12 ואיור 13.
טבלה 52. EVENT_SWITCH_MODE_AUTOCOLL – נתונים AUTOCOLL_EVENT החלפת מצב פעולה אירוע אוסף אוטומטי
שדה מטען | מֶשֶׁך | ערך/תיאור | |
סטָטוּס | 1 בייט | מצב הפעולה | |
PN5190_STATUS_INSTR_SUCCESS | PN5190 מופעל במצב TARGET. נתונים נוספים באירוע זה תקפים. |
||
PN5190_STATUS_PREVENT_STANDBY | מציין ש-PN5190 מנוע לעבור למצב המתנה. מצב זה תקף רק כאשר מצב ה-Autocoll נבחר כ"מצב אוטונומי עם המתנה". |
PN5190_STATUS_NO_EXTERNAL_RF_ FIELD | מציין כי לא קיים שדה RF חיצוני במהלך ביצוע של Autocoll במצב לא אוטונומי | ||
PN5190_STATUS_USER_CANCELLED | מציין שהפקודה הנוכחית שנמצאת בתהליך בוטלה על ידי הפקודה הרגילה של החלפת מצב | ||
פּרוֹטוֹקוֹל | 1 בייט | 0x10 | מופעל כפאסיבי TypeA |
0x11 | מופעל כפאסיבי TypeF 212 | ||
0x12 | מופעל כפאסיבי TypeF 424 | ||
0x20 | מופעל בתור Active TypeA | ||
0x21 | מופעל בתור Active TypeF 212 | ||
0x22 | מופעל בתור Active TypeF 424 | ||
ערכים אחרים | לֹא בְּתוֹקֶף | ||
כרטיס_מופעל | 1 בייט | 0x00 | אין תהליך הפעלת כרטיס לפי ISO 14443-3 |
0x01 | מציין שהמכשיר מופעל במצב פסיבי |
פֶּתֶק:
לאחר קריאת נתוני האירוע, הנתונים שהתקבלו מהכרטיס/המכשיר שהופעלו (כגון 'n' בתים של ATR_REQ/RATS לפי ISO18092/ISO1443-4), ייקראו באמצעות פקודת סעיף 4.5.3.3.
4.5.4.6.4 תקשורת למשלample
4.5.4.7 SWITCH_MODE_STANDBY
מצב Switch Mode Standby מכוון אוטומטית את ה-IC למצב המתנה. ה-IC יתעורר לאחר שמקורות התעוררות מוגדרים עומדים בתנאי ההתעוררות.
פֶּתֶק:
תפוגת מונה עבור ULP STANDBY ו-HIF abort עבור STANDBY זמינים כברירת מחדל ליציאה ממצבי המתנה.
4.5.4.7.1 פיקוד
טבלה 53. ערך הפקודה SWITCH_MODE_STANDBY
פָּרָמֶטֶר | מֶשֶׁך | ערך/תיאור |
Config | 1 בייט | מסכת סיביות השולטת במקור ההתעוררות לשימוש ובמצב המתנה לכניסה. מתייחס טבלה 54 |
ערך נגדי | 2 בתים | ערך בשימוש עבור מונה השכמה באלפיות שניות. הערך המרבי הנתמך הוא 2690 עבור המתנה. הערך המרבי הנתמך הוא 4095 עבור ULP המתנה. הערך שיסופק הוא בפורמט Little Endian. תוכן פרמטר זה תקף רק אם "מסכת ה-Config Bitmask" מופעלת להתעוררות עם פקיעת המונה. |
טבלה 54. Config Bitmask
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | תֵאוּר |
X | היכנס להמתנה של ULP אם הביט מוגדר ל-1b. היכנס למצב המתנה אם הביט מוגדר ל-0b. | |||||||
0 | RFU | |||||||
X | התעוררות ב-GPIO-3 כאשר הוא גבוה, אם הביט מוגדר ל-1b. (לא רלוונטי עבור ULP המתנה) | |||||||
X | התעוררות ב-GPIO-2 כאשר הוא גבוה, אם הביט מוגדר ל-1b. (לא רלוונטי עבור ULP המתנה) | |||||||
X | התעוררות ב-GPIO-1 כאשר הוא גבוה, אם הביט מוגדר ל-1b. (לא רלוונטי עבור ULP המתנה) | |||||||
X | התעוררות ב-GPIO-0 כאשר הוא גבוה, אם הביט מוגדר ל-1b. (לא רלוונטי עבור ULP המתנה) | |||||||
X | פג תוקפו של מונה השכמה בהתעוררות, אם ה-bit מוגדר ל-1b. עבור ULP-Standby, אפשרות זו מופעלת כברירת מחדל. | |||||||
X | התעוררות בשדה RF חיצוני, אם הביט מוגדר ל-1b. |
פֶּתֶק: מ-PN5190 FW v02.03, אם שדה EEPROM "CardModeUltraLowPowerEnabled" בכתובת '0xCDF' מוגדר ל-'1', לא ניתן להשתמש בתצורת ULP המתנה עם פקודת SWITCH_MODE_STANDBY.
4.5.4.7.2 תגובה
התגובה רק מסמנת שהפקודה עובדה ומצב המתנה ייכנס רק לאחר קריאת התגובה במלואה על ידי המארח.
טבלה 55. ערך התגובה SWITCH_MODE_STANDBY החלפת מצב פעולה המתנה
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (מצב מעבר לא הוכנס - עקב הגדרות שגויות) |
אירוע אחד
הודעת האירוע נשלחת עם סיום הפקודה, ונכנס למצב הרגיל. עיין בפורמט של האירוע שיישלח לאחר השלמת הפקודה כמו באיור 12 ואיור 13.
במקרה שאם PN5190 נמנע לעבור למצב המתנה, אזי האירוע "STANDBY_PREV_EVENT" המוגדר ב-EVENT_STATUS כאמור טבלה 11 נשלחת למארח בסיבת מניעת המתנה כפי שהוזכרה בטבלה 13.
4.5.4.7.4 תקשורת דוגמהample
4.5.4.8 SWITCH_MODE_LPCD
ה-Switch Mode LPCD מבצע זיהוי ניתוק באנטנה עקב שינוי הסביבה סביב האנטנה.
ישנם 2 מצבים שונים של LPCD. הפתרון מבוסס HW (ULPCD) מציע צריכת חשמל תחרותית עם רגישות מופחתת. הפתרון מבוסס FW (LPCD) מציע רגישות מהשורה הראשונה עם צריכת חשמל מוגברת.
במצב יחיד של FW מבוסס (LPCD), אין אירוע כיול שנשלח למארח.
כאשר מצב יחיד מופעל, כיול ומדידות עוקבות מתבצעות כולם לאחר יציאה מהמתנה.
עבור אירוע כיול במצב יחיד, תחילה הפק מצב יחיד עם פקודת אירוע כיול. לאחר הכיול, מתקבל אירוע כיול LPCD שלאחריו יש לשלוח את פקודת המצב היחיד עם ערך הייחוס שהתקבל מהשלב הקודם כפרמטר הקלט.
ההגדרה של ה-LPCD מתבצעת בהגדרות EEPROM/Flash Data לפני קריאת הפקודה.
פֶּתֶק:
ביטול GPIO3 עבור ULPCD, ביטול HIF עבור LPCD זמינים כברירת מחדל ליציאה ממצבי צריכת חשמל נמוכה.
השכמה עקב פג תוקף המונה מופעלת תמיד.
עבור ULPCD, תצורת DC-DC צריכה להיות מושבתת בהגדרות EEPROM/Flash Data ועליה לספק אספקת VUP דרך VBAT. יש לבצע את הגדרות המגשר הדרושות. להגדרות EEPROM/Flash Data, עיין במסמך [2].
אם הפקודה היא עבור כיול LPCD/ULPCD, המארח עדיין צריך לשלוח את המסגרת השלמה.
4.5.4.8.1 פיקוד
טבלה 56. ערך הפקודה SWITCH_MODE_LPCD
פָּרָמֶטֶר | מֶשֶׁך | ערך/תיאור | |
b שליטה | 1 בייט | 0x00 | הכנס לכיול ULPCD. הפקודה נעצרת לאחר כיול ואירוע עם ערך התייחסות נשלח למארח. |
0x01 | הזן ULPCD | ||
0x02 | כיול LPCD. הפקודה נעצרת לאחר כיול ואירוע עם ערך התייחסות נשלח למארח. | ||
0x03 | הזן LPCD | ||
0x04 | מצב יחיד | ||
0x0C | מצב יחיד עם אירוע כיול | ||
ערכים אחרים | RFU | ||
בקרת השכמה | 1 בייט | מסכת סיביות השולטת במקור ההתעוררות לשימוש עבור LPCD/ULPCD. התוכן של שדה זה אינו נחשב לכיול. מתייחס טבלה 57 | |
ערך התייחסות | 4 בתים | ערך התייחסות לשימוש במהלך ULPCD/LPCD. עבור ULPCD, Byte 2 המחזיק את ערך ה-HF Attenuator משמש גם בשלב הכיול וגם בשלב המדידה. עבור LPCD, התוכן של שדה זה אינו נחשב עבור כיול ומצב יחיד. מתייחס טבלה 58 לקבלת המידע הנכון על כל 4 הבתים. |
|
ערך נגדי | 2 בתים | ערך עבור מונה השכמה באלפיות שניות. הערך המרבי הנתמך הוא 2690 עבור LPCD. הערך המרבי הנתמך הוא 4095 עבור ULPCD. הערך שיסופק הוא בפורמט Little Endian. התוכן של שדה זה אינו נחשב לכיול LPCD. עבור מצב יחיד ומצב יחיד עם אירוע כיול, ניתן להגדיר את משך ההמתנה לפני הכיול מתצורת ה-EEPROM: LPCD_SETTINGS->wCheck Period. עבור מצב יחיד עם כיול, ערך WUC לא יהיה אפס. |
טבלה 57. מסכת סיביות בקרת התעוררות
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | תֵאוּר |
0 | 0 | 0 | 0 | 0 | 0 | 0 | RFU | |
X | התעוררות בשדה RF חיצוני, אם הביט מוגדר ל-1b. |
טבלה 58. מידע בתים של ערך התייחסות
בייטים של ערך התייחסות | ULPCD | LPCD |
בייט 0 | בייט ייחוס 0 | ערוץ 0 בייט עזר 0 |
בייט 1 | בייט ייחוס 1 | ערוץ 0 בייט עזר 1 |
בייט 2 | ערך מנחת HF | ערוץ 1 בייט עזר 0 |
בייט 3 | NA | ערוץ 1 בייט עזר 1 |
4.5.4.8.2 תגובה
טבלה 59. ערך התגובה SWITCH_MODE_LPCD
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (מצב מעבר לא הוכנס - עקב הגדרות שגויות) |
אירוע אחד
הודעת האירוע נשלחת עם סיום הפקודה, והמצב הרגיל נכנס עם הנתונים הבאים כחלק מהאירוע המוזכר באיור 12 ובאיור 13.
טבלה 60. EVT_SWITCH_MODE_LPCD
שדה מטען | מֶשֶׁך | ערך/תיאור |
מצב LPCD | עיין בטבלה 15 | עיין בטבלה 154.5.4.8.4 תקשורת דוגמהample |
4.5.4.9 SWITCH_MODE_DOWNLOAD
הפקודה Switch Mode Download נכנסת למצב הורדת קושחה.
הדרך היחידה לצאת ממצב הורדה היא לבצע איפוס ל-PN5190.
4.5.4.9.1 פיקוד
טבלה 61. ערך הפקודה SWITCH_MODE_DOWNLOAD
פָּרָמֶטֶר | מֶשֶׁך | ערך/תיאור |
– | – | אין ערך |
4.5.4.9.2 תגובה
התגובה רק מסמנת שהפקודה עובדה ומצב ההורדה ייכנס לאחר קריאת התגובה על ידי המארח.
טבלה 62. ערך התגובה SWITCH_MODE_DOWNLOAD
החלף מצב פעולה אוסף אוטומטי
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (מצב מעבר לא הוכנס) |
אירוע אחד
אין הפקת אירועים.
4.5.4.9.4 תקשורת דוגמהample
4.5.5 אימות קלאסי של MIFARE
4.5.5.1 MFC_AUTHENTICATE
הוראה זו משמשת לביצוע MIFARE Classic Authentication בכרטיס מופעל. נדרשים המפתח, ה-UID של הכרטיס וסוג המפתח כדי לאמת בכתובת החסימה הנתונה. התגובה מכילה בית אחד המציין את מצב האימות.
4.5.5.1.1 תנאים
מפתח השדה חייב להיות באורך 6 בתים. סוג מפתח שדה חייב להכיל את הערך 0x60 או 0x61. כתובת חסימה עשויה להכיל כל כתובת מ-0x0 - 0xff, כולל. ה-UID של השדה חייב להיות באורך בתים ועליו להכיל את ה-UID של 4 בתים של הכרטיס. יש להכניס כרטיס מבוסס מוצר ISO14443-3 MIFARE Classic למצב ACTIVE או ACTIVE* לפני ביצוע הוראה זו.
במקרה של שגיאת זמן ריצה הקשורה לאימות, שדה זה 'סטטוס אימות' מוגדר בהתאם.
4.5.5.1.2 פיקוד
טבלה 63. פקודת MFC_AUTHENTICATE
בצע אימות על כרטיס מופעל מבוסס מוצר MIFARE Classic.
שדה מטען | מֶשֶׁך | ערך/תיאור | |
מַפְתֵחַ | 6 בתים | יש להשתמש במפתח אימות. | |
סוג מפתח | 1 בייט | 0x60 | מפתח סוג א' |
0x61 | סוג מפתח ב' | ||
כתובת חסום | 1 בייט | הכתובת של הבלוק שעבורו יש לבצע את האימות. | |
UID | 4 בתים | UID של הכרטיס. |
4.5.5.1.3 תגובה
טבלה 64. תגובת MFC_AUTHENTICATE
תגובה ל-MFC_AUTHENTICATE.
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR |
אירוע אחד
אין אירוע להוראה זו.
תמיכה בתקן 4.5.6 ISO 18000-3M3 (EPC GEN2).
4.5.6.1 EPC_GEN2_INVENTORY
הוראה זו משמשת לביצוע מלאי של ISO18000-3M3 tags. הוא מיישם ביצוע אוטונומי של מספר פקודות לפי ISO18000-3M3 על מנת להבטיח את התזמונים המצוינים בתקן זה.
אם קיים במטען של ההוראה, תחילה מבוצעת פקודת Select ואחריה פקודת BeginRound.
אם יש תגובה חוקית במשבצת הזמן הראשונה (ללא פסק זמן, ללא התנגשות), ההוראה שולחת ACK ושומרת את ה-PC/XPC/UII שהתקבל. לאחר מכן, ההוראה מבצעת פעולה לפי השדה 'התנהגות מעובדת של משבצת זמן':
- אם שדה זה מוגדר ל-0, ניתנת פקודת NextSlot לטיפול במשבצת הזמן הבאה. זה חוזר על עצמו עד שהמאגר הפנימי מלא
- אם שדה זה מוגדר ל-1, האלגוריתם משתהה
- אם שדה זה מוגדר ל-2, ניתנת פקודת Req_Rn אם, ורק אם, היה תקף tag תגובה ב-Timeslot Command
שדה 'Select Command Length' חייב להכיל את אורך השדה 'Select Command', שעליו להיות בטווח שבין 1 - 39, כולל. אם 'בחר אורך פקודה' הוא 0, השדות 'ביטים תקפים ב-Byte האחרון' ו'בחר פקודה' לא חייבים להיות קיימים.
השדה Bits in last Byte צריך להכיל את מספר הביטים שישודרו בבייט האחרון של השדה 'Select Command'. הערך חייב להיות בטווח שבין 1 ל-7, כולל. אם הערך הוא 0, כל הביטים מהבייט האחרון משדה 'בחר פקודה' מועברים.
השדה 'בחר פקודה' צריך להכיל פקודת בחירה לפי ISO18000-3M3 ללא CRC-16c נגרר וחייב להיות בעל אותו אורך כמו שמצוין בשדה 'בחר אורך פקודה'.
שדה 'BeginRound Command' צריך להכיל פקודת BeginRound לפי ISO18000-3M3 ללא CRC-5 נגרר. מתעלמים מ-7 הסיביות האחרונות של הבית האחרון של 'BeginRound Command' מכיוון שלפקודה יש אורך בפועל של 17 סיביות.
'התנהגות מעובדת של משבצת זמן' חייבת להכיל ערך מ-0 עד 2, כולל.
טבלה 65. ערך פקודה EPC_GEN2_INVENTORY בצע מלאי ISO 18000-3M3
שדה מטען | מֶשֶׁך | ערך/תיאור | |
חידוש מלאי | 1 בייט | 00 | GEN2_INVENTORY ראשוני |
01 | המשך את הפקודה GEN2_INVENTORY - השאר
השדות למטה ריקים (מתעלמים מכל מטען) |
||
בחר אורך פקודה | 1 בייט | 0 | לא מוגדרת פקודת Select לפני הפקודה BeginRound. השדה 'ביטים חוקיים בבת האחרון' ושדה 'בחר פקודה' לא יהיו נוכחים. |
1 - 39 | אורך (n) של השדה 'בחר פקודה'. | ||
ביטים תקפים ב-Byte האחרון | 1 בייט | 0 | כל הסיביות של הבת האחרון של שדה 'בחר פקודה' מועברות. |
1 - 7 | מספר הביטים שישודרו בבייט האחרון של שדה 'בחר פקודה'. | ||
בחר פקודה | n בתים | אם קיים, שדה זה מכיל את הפקודה Select (לפי ISO18000-3, טבלה 47) שנשלחת לפני הפקודה BeginRound. CRC-16c לא ייכלל. | |
פקודה BeginRound | 3 בתים | שדה זה מכיל את הפקודה BeginRound (לפי ISO18000-3, טבלה 49). CRC-5 לא ייכלל. | |
התנהגות מעובדת של משבצת זמן | 1 בייט | 0 | התגובה מכילה מקסימום מספר משבצות הזמן שעשויים להתאים למאגר התגובה. |
1 | התגובה מכילה משבצת זמן אחת בלבד. | ||
2 | התגובה מכילה משבצת זמן אחת בלבד. אם משבצת הזמן מכילה תגובת כרטיס חוקית, גם ידית הכרטיס כלולה. |
4.5.6.1.1 תגובה
אורך התגובה עשוי להיות "1" במקרה של חידוש מלאי.
טבלה 66. ערך תגובה EPC_GEN2_INVENTORY
שדה מטען | מֶשֶׁך | ערך/תיאור | |||
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: | |||
PN5190_STATUS_SUCCESS (קרא את מצב משבצת הזמן בבייט הבא עבור Tag תְגוּבָה) PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
|||||
משבצת זמן [1…n] | 3 - 69 בתים | סטטוס משבצת זמן | 1 בייט | 0 | Tag תגובה זמינה. 'Tag שדה אורך תשובה', שדה 'סיביות חוקיות בבייט האחרון', ו-'Tag שדה תשובה נוכח. |
1 | Tag תגובה זמינה. | ||||
2 | לֹא tag השיב במשבצת הזמן. 'Tag השדה 'אורך תשובה' ושדה 'סיביות חוקיות בבתים אחרונים', יוגדרו לאפס. 'Tag שדה 'תשובה' לא יהיה קיים. | ||||
3 | שניים או יותר tags הגיבו בפרק הזמן. (הִתנַגְשׁוּת). 'Tag השדה 'אורך תשובה' ושדה 'סיביות חוקיות בבתים אחרונים', יוגדרו לאפס. 'Tag שדה 'תשובה' לא יהיה קיים. |
Tag אורך תשובה | 1 בייט | 0-66 | אורך של 'Tag שדה השב (i). אם Tag אורך התשובה הוא 0, ואז ה- Tag שדה תשובה אינו קיים. | ||
ביטים חוקיים ב-Byte האחרון | 1 בייט | 0 | כל הסיביות של הבת האחרון של 'Tag שדה 'תשובה' תקפים. | ||
1-7 | מספר סיביות חוקיות של בית אחרון של 'Tag שדה תשובה. אם Tag אורך התשובה הוא אפס, יש להתעלם מהערך של בייט זה. | ||||
Tag תְגוּבָה | 'n' בייטים | תשובת ה tag לפי ISO18000-3_2010, טבלה 56. | |||
Tag יָדִית | 0 או 2 בייטים | ידית של tag, במקרה שהשדה 'מצב משבצת זמן' מוגדר ל'1'. אחרת השדה לא קיים. |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.7 ניהול תצורת RF
עיין בסעיף 6, עבור תצורת TX ו-RX עבור טכנולוגיות RF שונות וקצבי נתונים הנתמכים על ידי PN5190. הערכים אינם קיימים בטווח המוזכר להלן, יש לראות בהם RFU.
4.5.7.1 LOAD_RF_CONFIGURATION
הוראה זו משמשת לטעינת תצורת ה-RF מ-EEPROM לתוך אוגרי CLIF פנימיים. תצורת RF מתייחסת לשילוב ייחודי של טכנולוגיית RF, מצב (יעד/ יוזם) וקצב העברת העברת נתונים. ניתן לטעון תצורת RF בנפרד עבור מקלט CLIF (תצורת RX) ונתיב המשדר (תצורת TX). יש להשתמש בערך 0xFF אם התצורה המתאימה עבור נתיב לא תשתנה.
4.5.7.1.1 תנאים
השדה 'תצורת TX' חייב להיות בטווח שבין 0x00 - 0x2B, כולל. אם הערך הוא 0xFF, תצורת ה-TX לא תשתנה.
השדה 'תצורת RX' חייב להיות בטווח שבין 0x80 - 0xAB, כולל. אם הערך הוא 0xFF, תצורת RX לא תשתנה.
תצורה מיוחדת עם TX Configuration = 0xFF ו-RX Configuration = 0xAC משמשת לטעינת אוגרי האתחול פעם אחת.
תצורה מיוחדת זו נדרשת כדי לעדכן את תצורות האוגר (הן TX והן RX) השונות מערכי איפוס ה-IC.
4.5.7.1.2 פיקוד
טבלה 67. ערך הפקודה LOAD_RF_CONFIGURATION
טען הגדרות RF TX ו-RX מ-E2PROM.
שדה מטען | מֶשֶׁך | ערך/תיאור | |
תצורת TX | 1 בייט | 0xFF | תצורת TX RF לא השתנתה. |
0x0 - 0x2B | תצורת TX RF מקבילה נטענה. | ||
תצורת RX | 1 בייט | 0xFF | תצורת RX RF לא השתנתה. |
0x80 - 0xAB | תצורת RX RF תואמת נטענה. |
4.5.7.1.3 תגובה
טבלה 68. ערך התגובה LOAD_RF_CONFIGURATION
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.7.2 UPDATE_RF_CONFIGURATION
הוראה זו משמשת לעדכון תצורת ה-RF (ראה הגדרה בסעיף 4.5.7.1) בתוך E2PROM. ההוראה מאפשרת עדכון לפי ערך פירוט הרישום, כלומר לא צריך לעדכן את הסט המלא (אם כי אפשר לעשות זאת).
4.5.7.2.1 תנאים
גודל מערך השדות תצורה חייבת להיות בטווח שבין 1 - 15, כולל. תצורת מערך השדה חייבת להכיל קבוצה של תצורת RF, כתובת רישום וערך. תצורת ה-RF בשדה חייבת להיות בטווח שבין 0x0 – 0x2B עבור תצורת TX ו-0x80 – 0xAB עבור תצורת RX, כולל. הכתובת בתוך השדה Register Address חייבת להתקיים בתצורת ה-RF המתאימה. ערך שדה צריך להכיל ערך שיש לכתוב לתוך האוגר הנתון וחייב להיות באורך של 4 בתים (פורמט אנדיאן קטן).
4.5.7.2.2 פיקוד
טבלה 69. ערך הפקודה UPDATE_RF_CONFIGURATION
עדכן את תצורת ה-RF
שדה מטען | מֶשֶׁך | ערך/תיאור | ||
תצורה[1…n] | 6 בתים | תצורת RF | 1 בייט | תצורת RF שעבורה יש לשנות את האוגר. |
כתובת רישום | 1 בייט | רישום כתובת בתוך טכנולוגיית ה-RF הנתונה. | ||
עֵרֶך | 4 בתים | ערך שיש לרשום בפנקס. (ליטל-אנדיאן) |
4.5.7.2.3 תגובה
טבלה 70. ערך התגובה UPDATE_RF_CONFIGURATION
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.7.3 GET_ RF_CONFIGURATION
הוראה זו משמשת לקריאת תצורת RF. צמדי הכתובת-ערך-רישום זמינים בתגובה. על מנת לדעת כמה זוגות יש לצפות, ניתן לאחזר מידע גודל ראשון מה-TLV הראשון, המציין את האורך הכולל של המטען.
4.5.7.3.1 תנאים
תצורת ה-RF בשדה חייבת להיות בטווח שבין 0x0 – 0x2B עבור תצורת TX ו-0x80 –0xAB עבור תצורת RX, כולל.
4.5.7.3.2 פיקוד
טבלה 71. ערך הפקודה GET_ RF_CONFIGURATION אחזר את תצורת ה-RF.
שדה מטען | מֶשֶׁך | ערך/תיאור |
תצורת RF | 1 בייט | תצורת RF שעבורה יש לאחזר את קבוצת צמדי ערכי האוגר. |
4.5.7.3.3 תגובה
טבלה 72. ערך תגובה GET_ RF_CONFIGURATION
שדה מטען | מֶשֶׁך | ערך/תיאור | ||
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
||||
זוג[1…n] | 5 בתים | כתובת רישום | 1 בייט | רישום כתובת בתוך טכנולוגיית ה-RF הנתונה. |
עֵרֶך | 4 בתים | ערך רישום של 32 סיביות. |
אירוע אחד
אין אירוע להוראה.
4.5.8 טיפול בשדה RF
4.5.8.1 RF_ON
הוראה זו משמשת להפעלת ה-RF. תקנת ה-DPC ב-FieldOn הראשונית תטופל בפקודה זו.
4.5.8.1.1 פיקוד
טבלה 73. ערך הפקודה RF_FIELD_ON
הגדר את RF_FIELD_ON.
שדה מטען | מֶשֶׁך | ערך/תיאור | ||
RF_on_config | 1 בייט | ביט 0 | 0 | השתמש בהימנעות מהתנגשות |
1 | השבת הימנעות מהתנגשות | |||
ביט 1 | 0 | אין P2P פעיל | ||
1 | P2P פעיל |
4.5.8.1.2 תגובה
טבלה 74. ערך תגובה RF_FIELD_ON
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_RF_COLLISION_ERROR (שדה RF אינו מופעל עקב התנגשות RF) PN5190_STATUS_TIMEOUT (שדה RF לא מופעל עקב פסק זמן) PN5190_STATUS_TXLDO_ERROR (שגיאת TXLDO עקב VUP אינה זמינה) PN5190_STATUS_RFCFG_NOT_APPLIED (תצורת RF לא מוחלת לפני פקודה זו) |
אירוע אחד
אין אירוע להוראה זו.
4.5.8.2 RF_OFF
הוראה זו משמשת כדי להשבית את שדה ה-RF.
4.5.8.2.1 פיקוד
טבלה 75. ערך הפקודה RF_FIELD_OFF
שדה מטען | מֶשֶׁך | ערך/תיאור |
רֵיק | רֵיק | רֵיק |
4.5.8.2.2 תגובה
טבלה 76. ערך תגובה RF_FIELD_OFF
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
אירוע אחד
אין אירוע להוראה זו.
4.5.9 בדיקת תצורת האוטובוס
אותות אפיק הבדיקה הזמינים בתצורות ה-PAD שנבחרו מפורטים בסעיף 7 לעיון.
יש להפנות אותם לאספקת התצורה להוראות אפיק בדיקה כפי שצוין להלן.
4.5.9.1 CONFIGURE _TESTBUS_DIGITAL
הוראה זו משמשת להחלפת אות אוטובוס בדיקה דיגיטלי זמין בתצורות משטח נבחרות.
4.5.9.1.1 פיקוד
טבלה 77. ערך הפקודה CONFIGURE_TESTBUS_DIGITAL
שדה מטען | מֶשֶׁך | ערך/תיאור | |
TB_SignalIndex | 1 בייט | עיין ב סעיף 7 | |
TB_BitIndex | 1 בייט | עיין ב סעיף 7 | |
TB_PadIndex | 1 בייט | אינדקס הכרית, שעליו ייצא האות הדיגיטלי | |
0x00 | פין AUX1 | ||
0x01 | פין AUX2 | ||
0x02 | פין AUX3 | ||
0x03 | פין GPIO0 | ||
0x04 | פין GPIO1 | ||
0x05 | פין GPIO2 | ||
0x06 | פין GPIO3 | ||
0x07-0xFF | RFU |
4.5.9.1.2 תגובה
טבלה 78. CONFIGURE_TESTBUS_DIGITAL ערך תגובה
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
אירוע אחד
אין אירוע להוראה זו.
4.5.9.2 CONFIGURE_TESTBUS_ANALOG
הוראה זו משמשת כדי לקבל אות אוטובוס בדיקה אנלוגי זמין בתצורות משטח נבחרות.
ניתן לקבל את האות באפיק בדיקה אנלוגי במצבים שונים. הם:
4.5.9.2.1 מצב RAW
במצב זה, האות שנבחר על ידי TB_SignalIndex0 מוסט על ידי Shift_Index0, מוסווה עם Mask0 ויוצא ב-AUX1. באופן דומה, האות שנבחר על ידי TB_SignalIndex1 מוסט על ידי Shift_Index1, מוסווה עם Mask1 ויוצא ב-AUX2.
מצב זה מציע גמישות ללקוח להוציא כל אות ברוחב של 8 סיביות או פחות ואינו מחייב המרת סימנים ליציאה אל הרפידות האנלוגיות.
4.5.9.2.2 מצב משולב
במצב זה, האות האנלוגי יהיה ערך ה-ADCI/ADCQ/pcrm_if_rssi ב-10 סיביות המומר לערך ללא סימן, מוקטן ל-8 סיביות ואז יוצא על רפידות AUX1 או AUX2.
רק אחד מהערכים המומרים של ADCI/ADCQ (10 סיביות) יכול להיות יוצא ל-AUX1/AUX2 בכל עת.
אם ערך שדה עומס האות Combined_Mode הוא 2 (משולב אנלוגי ודיגיטלי), אז אפיק בדיקה אנלוגי ודיגיטלי מנותב על AUX1 (אות אנלוגי) ו-GPIO0 (אות דיגיטלי).
האותות לניתוב מוגדרים בכתובת ה-EEPROM המוזכרת להלן:
0xCE9 – TB_SignalIndex
0xCEA - TB_BitIndex
0xCEB - אנלוגי TB_Index
יש להגדיר את אינדקס אוטובוס הבדיקה ואת סיביות הבדיקה ב-EEPROM לפני שנוציא את המצב המשולב עם אפשרות 2.
פֶּתֶק:
המארח יספק את כל השדות, ללא קשר לתחולת השדה במצב "גולמי" או "משולב". ה- PN5190 IC מתייחס רק לערכי השדה הרלוונטיים.
4.5.9.2.3 פיקוד
טבלה 79. ערך הפקודה CONFIGURE_TESTBUS_ANALOG
שדה מטען | מֶשֶׁך | ערך/תיאור | ישימות שדה עבור מצב משולב | |
bConfig | 1 בייט | ביטים הניתנים להגדרה. מתייחס טבלה 80 | כֵּן | |
אות משולב_מצב | 1 בייט | 0 – ADCI/ADCQ 1 – pcrm_if_rssi |
כֵּן | |
2 - אנלוגי ודיגיטלי משולב | ||||
3 – 0xFF – שמורה |
TB_SignalIndex0 | 1 בייט | אינדקס האותות של האות האנלוגי. מתייחס סעיף 7 | כֵּן | |
TB_SignalIndex1 | 1 בייט | אינדקס האותות של האות האנלוגי. מתייחס סעיף 7 | כֵּן | |
Shift_Index0 | 1 בייט | עמדות העברת קלט DAC0. הכיוון יוחלט לפי סיביות ב-bConfig[1]. | לֹא | |
Shift_Index1 | 1 בייט | עמדות העברת קלט DAC1. הכיוון יוחלט לפי סיביות ב-bConfig[2]. | לֹא | |
מסכה0 | 1 בייט | מסכת DAC0 | לֹא | |
מסכה1 | 1 בייט | מסכת DAC1 | לֹא |
טבלה 80. מסכת bitconfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | תֵאוּר | ישים למצב |
X | X | טווח הסטת פלט DAC1 – 0, 1, 2 | נָא | ||||||
X | X | טווח הסטת פלט DAC0 – 0, 1, 2 | נָא | ||||||
X | במצב משולב, אות על פין AUX1/AUX2 0 ➜ אות ב-AUX1 1 ➜ אות ב-AUX2 |
מְשׁוּלָב | |||||||
X | כיוון הסטת קלט DAC1 0 ➜ העבר ימינה 1 ➜ העבר שמאלה |
נָא | |||||||
X | כיוון הסטת קלט DAC0 0 ➜ העבר ימינה 1 ➜ העבר שמאלה |
נָא | |||||||
X | מצב. 0 ➜ מצב גולמי 1 ➜ מצב משולב |
גלם/משולב |
4.5.9.2.4 תגובה
טבלה 81. ערך התגובה CONFIGURE_TESTBUS_ANALOG
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
אירוע אחד
אין אירוע להוראה זו.
4.5.9.3 CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
הוראה זו משמשת להעברת אות אוטובוס בדיקה דיגיטלי מרובים זמינים בתצורות משטח נבחרות.
פֶּתֶק: אם אורך זה הוא אפס אז אפיק בדיקה דיגיטלי מאופס.
4.5.9.3.1 פיקוד
טבלה 82. ערך הפקודה CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
שדה מטען | מֶשֶׁך | ערך/תיאור | |
TB_SignalIndex #1 | 1 בייט | עיין ב 8 למטה | |
TB_BitIndex #1 | 1 בייט | עיין ב 8 למטה | |
TB_PadIndex #1 | 1 בייט | אינדקס הכרית, שעליו ייצא האות הדיגיטלי | |
0x00 | פין AUX1 | ||
0x01 | פין AUX2 | ||
0x02 | פין AUX3 | ||
0x03 | פין GPIO0 | ||
0x04 | פין GPIO1 | ||
0x05 | פין GPIO2 | ||
0x06 | פין GPIO3 | ||
0x07-0xFF | RFU | ||
TB_SignalIndex #2 | 1 בייט | עיין ב 8 למטה | |
TB_BitIndex #2 | 1 בייט | עיין ב 8 למטה | |
TB_PadIndex #2 | 1 בייט | אינדקס הכרית, שעליו ייצא האות הדיגיטלי | |
0x00 | פין AUX1 | ||
0x01 | פין AUX2 | ||
0x02 | פין AUX3 | ||
0x03 | פין GPIO0 | ||
0x04 | פין GPIO1 | ||
0x05 | פין GPIO2 | ||
0x06 | פין GPIO3 | ||
0x07-0xFF | RFU |
4.5.9.3.2 תגובה
טבלה 83. CONFIGURE_MULTIPLE_TESTBUS_DIGITAL ערך תגובה
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 2]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
אירוע אחד
אין אירוע להוראה זו.
4.5.10 תצורת CTS
4.5.10.1 CTS_ENABLE
הוראה זו משמשת להפעלה/השבתה של תכונת רישום CTS.
4.5.10.1.1 פיקוד
טבלה 84. ערך הפקודה CTS_ENABLE
אורך שדה מטען ערך/תיאור | ||||
הפעל/השבת | 1 בייט | ביט 0 | 0 | השבת את תכונת הרישום של CTS |
1 הפעל את תכונת ה-CTS Logging |
||||
קצת 1-7 | RFU |
4.5.10.1.2 תגובה
טבלה 85. ערך התגובה CTS_ENABLE
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
אירוע אחד
הטבלה הבאה מציגה את נתוני האירועים שיישלחו כחלק מהודעת האירוע כפי שמוצג באיור 12 ובאיור 13.
טבלה 86. זה מודיע למארח שהתקבלו נתונים. EVT_CTS_DONE
שדה מטען | מֶשֶׁך | ערך/תיאור |
מִקרֶה | 1 בייט | 00 … TRIGGER התרחש, הנתונים מוכנים לקליטה. |
4.5.10.2 CTS_CONFIGURE
הוראה זו משמשת כדי להגדיר את כל אוגרי ה-CTS הנדרשים כגון טריגרים, אוגרי אפיק בדיקה, sampתצורת ling וכו',
פֶּתֶק:
[1] מספק הבנה טובה יותר של תצורת CTS. הנתונים שנלכדו יישלחו כחלק מהתגובה לפקודת סעיף 4.5.10.3.
4.5.10.2.1 פיקוד
טבלה 87. ערך הפקודה CTS_CONFIGURE
שדה מטען | מֶשֶׁך | ערך/תיאור |
PRE_TRIGGER_SHIFT | 1 בייט | מגדיר את אורך רצף הרכישה לאחר ההדק ביחידות של 256 בתים. 0 פירושו ללא תזוזה; n פירושו n*256 בתים בלוק היסט. הערה: תקף רק אם TRIGGER_MODE הוא מצב טריגר "PRE" או "COMB". |
TRIGGER_MODE | 1 בייט | מציין את מצב הרכישה לשימוש. |
0x00 - מצב POST | ||
0x01 - RFU | ||
0x02 - מצב PRE | ||
0x03 – 0xFF – לא חוקי | ||
RAM_PAGE_WIDTH | 1 בייט | מציין את כמות הזיכרון על השבב שמכוסה על ידי רכישה. גרנולריות נבחרה לפי התכנון כ-256 בייטים (כלומר 64 מילים של 32 סיביות). ערכים חוקיים הם כדלקמן: 0x00h - 256 בתים 0x02h - 768 בתים 0x01h - 512 בתים 0x03h - 1024 בתים 0x04h - 1280 בתים 0x05h - 1536 בתים 0x06h - 1792 בתים 0x07h - 2048 בתים 0x08h - 2304 בתים 0x09h - 2560 בתים 0x0Ah - 2816 בתים 0x0Bh - 3072 בתים 0x0Ch - 3328 בתים 0x0Dh - 3584 בתים 0x0Eh - 3840 בתים 0x0Fh - 4096 בתים 0x10h - 4352 בתים 0x11h - 4608 בתים 0x12h - 4864 בתים 0x13h - 5120 בתים 0x14h - 5376 בתים 0x15h - 5632 בתים 0x16h - 5888 בתים 0x17h - 6144 בתים 0x18h - 6400 בתים 0x19h - 6656 בתים 0x1Ah - 6912 בתים 0x1Bh - 7168 בתים 0x1Ch - 7424 בתים 0x1Dh - 7680 בתים 0x1Eh - 7936 בתים 0x1Fh - 8192 בתים |
SAMPLE_CLK_DIV | 1 בייט | הערך העשרוני של שדה זה מציין את גורם חלוקת קצב השעון שישמש במהלך הרכישה. שעון CTS = 13.56 מגה-הרץ / 2SAMPLE_CLK_DIV |
00 - 13560 קילו-הרץ 01 - 6780 קילו-הרץ 02 - 3390 קילו-הרץ 03 - 1695 קילו-הרץ 04 - 847.5 קילו-הרץ 05 - 423.75 קילו-הרץ 06 - 211.875 קילו-הרץ 07 - 105.9375 קילו-הרץ 08 - 52.96875 קילו-הרץ 09 - 26.484375 קילו-הרץ 10 - 13.2421875 קילו-הרץ 11 - 6.62109375 קילו-הרץ 12 - 3.310546875 קילו-הרץ 13 - 1.6552734375 קילו-הרץ 14 - 0.82763671875 קילו-הרץ 15 - 0.413818359375 קילו-הרץ |
||
SAMPLE_BYTE_SEL | 1 בייט | ביטים אלו משמשים כדי לציין אילו בתים של שני אפיקי הקלט של 16 סיביות תורמים למנגנון השזירה שיוצר נתונים שיועברו לזיכרון שבשבב. המשמעות והשימוש בהם תלויים ב-SAMPערכי LE_MODE_SEL.
הערה: הערך הנתון תמיד מוסווה עם 0x0F ואז הערך האפקטיבי נחשב. |
SAMPLE_MODE_SEL | 1 בייט | בוחר את ה-sampמצב השזירה של ling כמתואר על ידי מפרט העיצוב של CTS. ערך עשרוני 3 שמור ויטופל כ-0. הערה: הערך הנתון תמיד מוסווה עם 0x03, ולאחר מכן נחשב ערך אפקטיבי. |
TB0 | 1 בייט | בוחר איזה אפיק בדיקה יחובר ל-TB0. מתייחס סעיף 7 (ערך TB_ Signal_Index) |
TB1 | 1 בייט | בוחר איזה אפיק בדיקה יחובר ל-TB1. מתייחס סעיף 7 (ערך TB_ Signal_Index) |
TB2 | 1 בייט | בוחר איזה אפיק בדיקה יחובר ל-TB2. מתייחס סעיף 7 (ערך TB_ Signal_Index) |
TB3 | 1 בייט | בוחר איזה אפיק בדיקה יחובר ל-TB3. מתייחס סעיף 7 (ערך TB_ Signal_Index) |
TTB_SELECT | 1 בייט | בוחר איזה TB להתחבר למקורות ההדק. מתייחס סעיף 7 (ערך TB_Signal_Index) |
RFU | 4 בתים | שלח תמיד 0x00000000 |
MISC_CONFIG | 24 בתים | מופעי טריגר, קוטביות וכו'. עיין ב [1] להבנת תצורת CTS לשימוש. |
4.5.10.2.2 תגובה
טבלה 88. ערך התגובה CTS_CONFIGURE
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR |
אירוע אחד
אין אירוע להוראה זו.
4.5.10.3 CTS_RETRIEVE_LOG
הוראה זו מאחזרת את יומן הנתונים של נתוני אפיק הבדיקה שנלכדוampקבצים המאוחסנים במאגר הזיכרון.
4.5.10.3.1 פיקוד
טבלה 89. ערך הפקודה CTS_RETRIEVE_LOG
שדה מטען | מֶשֶׁך | ערך/תיאור | |
ChunkSize | 1 בייט | 0x01-0xFF | מכיל את מספר הבתים של הנתונים הצפוי. |
4.5.10.3.2 תגובה
טבלה 90. ערך התגובה CTS_RETRIEVE_LOG
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) PN5190_STATUS_SUCCSES_CHAINING |
||
נתוני יומן [1…n] | CTRequest | נלכד שamples Data Chunk |
פֶּתֶק:
הגודל המרבי של 'Log Data' תלוי ב-'ChunkSize' שסופק כחלק מהפקודה.
גודל יומן כולל יהיה זמין בתגובת כותרת ה-TLV.
אירוע אחד
אין אירוע להוראה זו.
4.5.11 פקודות TEST_MODE
4.5.11.1 ANTENNA_SELF_TEST
הוראה זו משמשת כדי לוודא אם האנטנה מחוברת והרכיבים התואמים מאוכלסים/מורכבים.
פֶּתֶק:
פקודה זו עדיין לא זמינה. עיין בהערות הגרסה עבור הזמינות.
4.5.11.2 PRBS_TEST
הוראה זו משמשת ליצירת רצף PRBS עבור התצורות השונות של פרוטוקולי מצב הקורא וקצבי הסיביות. לאחר ביצוע ההוראה, רצף הבדיקות של PRBS יהיה זמין ב-RF.
פֶּתֶק:
המארח צריך לוודא שתצורת טכנולוגיית RF המתאימה נטענת באמצעות סעיף 4.5.7.1 ו-RF מופעל באמצעות פקודת סעיף 4.5.8.1 לפני שליחת פקודה זו.
4.5.11.2.1 פיקוד
טבלה 91. ערך הפקודה PRBS_TEST
שדה מטען | מֶשֶׁך | ערך/תיאור | |
prbs_type | 1 בייט | 00 | PRBS9 (ברירת מחדל) |
01 | PRBS15 | ||
02-FF | RFU |
4.5.11.2.2 תגובה
טבלה 92. ערך תגובה PRBS_TEST
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD |
אירוע אחד
אין אירוע להוראה זו.
4.5.12 פקודות מידע על שבב
4.5.12.1 GET_DIEID
הוראה זו משמשת לקריאת מזהה הקובייה של שבב PN5190.
4.5.12.1.1 פיקוד
טבלה 93. ערך פקודה GET_DIEID
שדה מטען | מֶשֶׁך | ערך/תיאור |
– | – | אין נתונים במטען |
4.5.12.1.2 תגובה
טבלה 94. ערך תגובה GET_DIEID
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
||
ערכים | 16 בתים | מזהה קובייה של 16 בתים. |
אירוע אחד
אין אירועים עבור פקודה זו.
4.5.12.2 GET_VERSION
הוראה זו משמשת לקריאת גרסת HW, גרסת ROM וגרסת FW של שבב PN5190.
4.5.12.2.1 פיקוד
טבלה 95. ערך הפקודה GET_VERSION
שדה מטען | מֶשֶׁך | ערך/תיאור |
– | – | אין נתונים במטען |
קיימת פקודה DL_GET_VERSION (סעיף 3.4.4) זמינה במצב הורדה שניתן להשתמש בה כדי לקרוא את גרסת HW, גרסת ROM וגרסת FW.
4.5.12.2.2 תגובה
טבלה 96. ערך תגובה של GET_VERSION
שדה מטען | מֶשֶׁך | ערך/תיאור |
סטָטוּס | 1 בייט | מצב הפעולה [טבלה 9]. הערכים הצפויים הם כדלקמן: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (אין נתונים נוספים) |
||
HW_V | 1 בייט | גרסת חומרה |
RO_V | 1 בייט | קוד ROM |
FW_V | 2 בתים | גרסת קושחה (משמשת להורדה) |
RFU1-RFU2 | 1-2 בתים | – |
התגובה הצפויה עבור גרסה שונה של PN5190 IC מוזכרת ב (סעיף 3.4.4)
אירוע אחד
אין אירועים עבור פקודה זו.
נספח (לדוגמהamples)
נספח זה מורכב מהאקסamples עבור הפקודות שהוזכרו לעיל. האקסamples הם רק למטרת המחשה כדי להראות את תוכן הפקודה.
5.1 דוגמאותample עבור WRITE_REGISTER
בעקבות רצף הנתונים שנשלחו מהמארח כדי לכתוב ערך 0x12345678 לתוך האוגר 0x1F.
מסגרת פקודה נשלחה אל PN5190: 0000051F78563412
מארח לחכות להפרעה.
כאשר המארח קורא את מסגרת התגובה שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 00000100 5.2 Example עבור WRITE_REGISTER_OR_MASK
עוקב אחר רצף הנתונים שנשלחו מהמארח לביצוע פעולת OR לוגית באוגר 0x1F עם מסיכה כ-0x12345678
מסגרת פקודה נשלחה אל PN5190: 0100051F78563412
מארח לחכות להפרעה.
כאשר המארח קורא את מסגרת התגובה שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 01000100
5.3 דוגמאותample עבור WRITE_REGISTER_AND_MASK
עוקב אחר רצף הנתונים שנשלחו מהמארח לביצוע פעולת AND לוגית באוגר 0x1F עם מסיכה כ-0x12345678
מסגרת פקודה נשלחה אל PN5190: 0200051F78563412
מארח לחכות להפרעה.
כאשר המארח קורא את מסגרת התגובה שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 02000100
5.4 דוגמאותample עבור WRITE_REGISTER_MULTIPLE
בעקבות רצף של נתונים שנשלחו מהמארח לביצוע פעולת AND לוגית על אוגר 0x1F עם מסיכה כ-0x12345678, ועל פעולת OR לוגית על אוגר 0x20 עם מסיכה כ-0x11223344, וכתיבה לרישום 0x21 עם ערך כ-0xAABBCCDD.
מסגרת פקודה נשלחה ל-PN5190: 0300121F03785634122002443322112101DDCCBBAA
מארח לחכות להפרעה.
כאשר המארח קורא את מסגרת התגובה שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 03000100
5.5 דוגמאותample עבור READ_REGISTER
עוקב אחר רצף הנתונים שנשלחו מהמארח כדי לקרוא את תוכן האוגר 0x1F ובהנחה שלאוגר יש את הערך 0x12345678
מסגרת פקודה נשלחה אל PN5190: 0400011F
מארח לחכות להפרעה.
כאשר המארח קורא את מסגרת התגובה שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 0400050078563412
5.6 דוגמאותample עבור READ_REGISTER_MULTIPLE
בעקבות רצף הנתונים שנשלחו מהמארח כדי לקרוא את התוכן של אוגרים 0x1F המכילים את הערך של 0x12345678, והאוגר 0x25 המכילים את הערך של 0x11223344
מסגרת פקודה נשלחה אל PN5190: 0500021F25
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת התקבלה מ-PN5190 (מציין פעולה מוצלחת): 050009007856341244332211
5.7 דוגמאותample עבור WRITE_E2PROM
בעקבות רצף הנתונים שנשלחו מהמארח לכתיבה למיקומי E2PROM 0x0130 עד 0x0134 עם התוכן כמו 0x11, 0x22, 0x33, 0x44, 0x55
מסגרת פקודה נשלחה אל PN5190: 06000730011122334455
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 06000100
5.8 דוגמאותample עבור READ_E2PROM
רצף הנתונים שנשלח מהמארח לקריאה ממיקומי E2PROM 0x0130 עד 0x0134 כאשר התוכן המאוחסן הוא: 0x11, 0x22, 0x33, 0x44, 0x55
מסגרת פקודה נשלחה אל PN5190: 07000430010500
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת התקבלה מ-PN5190 (מציין פעולה מוצלחת): 070006001122334455
5.9 דוגמאותample עבור TRANSMIT_RF_DATA
בעקבות רצף הנתונים שנשלחו מהמארח לשליחת פקודת REQA (0x26), עם מספר הסיביות שישודרו כ-'0x07', בהנחה שהאוגרים הנדרשים מוגדרים לפני ו-RF מופעל.
מסגרת פקודה נשלחה אל PN5190: 0800020726
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 08000100
5.10 דוגמאותample עבור RETREIVE_RF_DATA
בעקבות רצף הנתונים שנשלחו מהמארח כדי לקבל את הנתונים שהתקבלו/מאוחסנים במאגר ה-CLIF הפנימי (בהנחה שהתקבל 0x05), בהנחה ש-TRANSMIT_RF_DATA כבר נשלח לאחר הפעלת RF.
מסגרת פקודה נשלחה אל PN5190: 090000
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 090003000400
5.11 דוגמאותample עבור EXCHANGE_RF_DATA
בעקבות רצף הנתונים שנשלחו מהמארח להעברת REQA (0x26), כאשר מספר הסיביות בבייט האחרון לשליחה מוגדר כ-0x07, כאשר כל המצב יתקבל יחד עם הנתונים. ההנחה היא שאוגרי RF נדרשים כבר מוגדרים וה-RF מופעל.
מסגרת פקודה נשלחה ל-PN5190: 0A0003070F26
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת התקבלה מ-PN5190 (מציין פעולה מוצלחת): 0A000 F000200000000000200000000004400
5.12 דוגמאותample עבור LOAD_RF_CONFIGURATION
בעקבות רצף הנתונים שנשלחו מהמארח כדי להגדיר את תצורת ה-RF. עבור TX, 0x00 ועבור RX, 0x80
מסגרת פקודה נשלחה אל PN5190: 0D00020080
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 0D000100
5.13 דוגמאותample עבור UPDATE_RF_CONFIGURATION
מעקב אחר רצף הנתונים שנשלח מהמארח כדי לעדכן את תצורת ה-RF. עבור TX, 0x00, עם כתובת רישום עבור CLIF_CRC_TX_CONFIG והערך כ-0x00000001
מסגרת פקודה נשלחה אל PN5190: 0E0006001201000000
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת התקבלה מ-PN5190 (מציין פעולה מוצלחת): 0E000100
5.14 דוגמאותample עבור RF_ON
בעקבות רצף הנתונים שנשלחו מהמארח כדי להפעיל את שדה ה-RF תוך שימוש בהימנעות מהתנגשות וללא P2P פעיל. ההנחה היא שתצורת RF TX ו-RX המתאימה כבר מוגדרת ב-PN5190.
מסגרת פקודה נשלחה אל PN5190: 10000100
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 10000100
5.15 דוגמאותample עבור RF_OFF
בעקבות רצף הנתונים שנשלחו מהמארח כדי לכבות את שדה ה-RF.
מסגרת פקודה נשלחה אל PN5190: 110000
מארח לחכות להפרעה.
כאשר המארח קורא את התגובה, המסגרת שהתקבלה מ-PN5190 (מציין פעולה מוצלחת): 11000100
נספח (אינדקסים של תצורת פרוטוקול RF)
נספח זה מורכב מאינדקסי תצורת פרוטוקול ה-RF הנתמכים על ידי ה-PN5190.
יש להשתמש בהגדרות התצורה של TX ו-RX בפקודות סעיף 4.5.7.1, סעיף 4.5.7.2, סעיף 4.5.7.3.
נספח (אותות CTS ו-TESTBUS)
הטבלה למטה מציינת את האותות השונים הזמינים מ-PN5190 ללכידה באמצעות הוראות CTS (סעיף 4.5.10) והוראות TESTBUS.
יש להשתמש בהם עבור פקודות סעיף 4.5.9.1, סעיף 4.5.9.2, סעיף 4.5.10.2.
סִימָנֵי קִצוּר
טבלה 97. קיצורים
אבר. | מַשְׁמָעוּת |
CLK | שָׁעוֹן |
DWL_REQ | סיכת בקשת הורדה (נקראת גם DL_REQ) |
EEPROM | זיכרון לקריאה בלבד הניתן למחיקה חשמלית |
FW | קושחה |
GND | טָחוּן |
GPIO | פלט קלט למטרות כלליות |
HW | חוּמרָה |
I²C | מעגל משולב (אוטובוס נתונים טורי) |
IRQ | בקשת הפסקה |
ISO / IEC | ארגון התקנים הבינלאומי / הקהילה האלקטרוטכנית הבינלאומית |
NFC | תקשורת שדה קרוב |
OS | מַעֲרֶכֶת הַפעָלָה |
PCD | מכשיר צימוד קרבה (קורא ללא מגע) |
PICC | כרטיס מעגל משולב קרבה (כרטיס ללא מגע) |
PMU | יחידת ניהול חשמל |
POR | איפוס הפעלה |
RF | תדר רדיו |
RST | אִתחוּל |
SFWU | מצב הורדת קושחה מאובטח |
SPI | ממשק היקפי סידורי |
VEN | V הפעל סיכה |
הפניות
[1] חלק תצורת CTS ב-NFC Cockpit, https://www.nxp.com/products/:NFC-COCKPIT[2] גיליון נתונים PN5190 IC, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf
מידע משפטי
10.1 הגדרות
טְיוּטָה - סטטוס טיוטה במסמך מציין שהתוכן עדיין תחת בדיקה פנימיתview ובכפוף לאישור רשמי, שעלול לגרום לשינויים או תוספות. NXP Semiconductors אינה נותנת כל מצג או התחייבות באשר לדיוק או שלמות המידע הכלול בטיוטה של גרסה של מסמך ולא תישא באחריות להשלכות של שימוש במידע זה.
10.2 הצהרות אחריות
אחריות מוגבלת ואחריות - המידע במסמך זה נחשב מדויק ואמין. עם זאת, NXP Semiconductors אינה נותנת כל מצג או התחייבות, מפורשת או משתמעת, באשר לדיוק או שלמותו של מידע זה ולא תישא באחריות להשלכות השימוש במידע זה. NXP Semiconductors אינה לוקחת אחריות על התוכן במסמך זה אם הוא מסופק על ידי מקור מידע מחוץ ל-NXP Semiconductors.
בשום מקרה NXP Semiconductors לא תישא באחריות לכל נזק עקיף, מקרי, עונשי, מיוחד או תוצאתי (כולל - ללא הגבלה רווחים אובדים, אובדן חסכונות, הפרעה עסקית, עלויות הקשורות להסרה או החלפה של כל מוצר או חיובי עבודה מחדש) בין אם או נזקים כאלה אינם מבוססים על עוולה (כולל רשלנות), אחריות, הפרת חוזה או כל תיאוריה משפטית אחרת.
על אף הנזקים שייגרמו ללקוח מכל סיבה שהיא, האחריות המצטברת והמצטברת של NXP Semiconductors כלפי הלקוח עבור המוצרים המתוארים כאן תהיה מוגבלת בהתאם ל-
תנאים והגבלות של מכירה מסחרית של NXP Semiconductors.
הזכות לבצע שינויים - NXP Semiconductors שומרת לעצמה את הזכות לבצע שינויים במידע המתפרסם במסמך זה, לרבות ללא הגבלה מפרטים ותיאורי מוצרים, בכל עת וללא הודעה מוקדמת. מסמך זה מחליף ומחליף את כל המידע שסופק לפני פרסום זה.
התאמה לשימוש - מוצרי NXP Semiconductors אינם מתוכננים, מורשים או מתחייבים להיות מתאימים לשימוש במערכות או ציוד קריטי חיים או בטיחות, וגם לא ביישומים שבהם ניתן לצפות לכשל או תקלה במוצר NXP Semiconductors באופן סביר. כדי לגרום לפציעה אישית, מוות או נזק חמור לרכוש או לסביבה. NXP Semiconductors וספקיה אינם נושאים באחריות להכללה ו/או שימוש במוצרי NXP Semiconductors בציוד או ביישומים כאמור ולפיכך הכללה ו/או שימוש כאמור היא באחריות הלקוח.
יישומים - יישומים המתוארים כאן עבור כל אחד מהמוצרים הללו הם למטרות המחשה בלבד. NXP Semiconductors אינה מציגה או מתחייבת שיישומים כאלה יתאימו לשימוש שצוין ללא בדיקות או שינויים נוספים.
לקוחות אחראים לתכנון ולתפעול היישומים והמוצרים שלהם תוך שימוש במוצרי NXP Semiconductors, ו-NXP Semiconductors אינה נושאת באחריות לכל סיוע עם יישומים או עיצוב מוצרי הלקוח. באחריותו הבלעדית של הלקוח לקבוע האם מוצר NXP Semiconductors מתאים ומתאים ליישומים ולמוצרים המתוכננים של הלקוח, כמו גם ליישום והשימוש המתוכנן של לקוחות צד שלישי של הלקוח. לקוחות צריכים לספק אמצעי הגנה מתאימים לתכנון ולהפעלה כדי למזער את הסיכונים הקשורים ליישומים ולמוצרים שלהם.
NXP Semiconductors אינה מקבלת כל אחריות הקשורה לכל ברירת מחדל, נזק, עלויות או בעיה אשר מבוססת על כל חולשה או ברירת מחדל ביישומים או במוצרים של הלקוח, או באפליקציה או בשימוש על ידי לקוחות צד שלישי של הלקוח. הלקוח אחראי לבצע את כל הבדיקות הנדרשות עבור האפליקציות והמוצרים של הלקוח באמצעות מוצרי NXP Semiconductors על מנת למנוע ברירת מחדל של האפליקציות והמוצרים או של האפליקציה או השימוש על ידי לקוחות צד שלישי של הלקוח. NXP אינה מקבלת כל אחריות בהקשר זה.
NXP BV – NXP BV אינה חברה תפעולית והיא אינה מפיצה או מוכרת מוצרים.
10.3 רישיונות
רכישה של NXP ICs עם טכנולוגיית NFC — רכישת NXP Semiconductors IC התואם לאחד מתקני Near Field Communication (NFC) ISO/IEC 18092 ו-ISO/IEC 21481 אינה מעבירה רישיון משתמע תחת כל זכות פטנט שהופרה על ידי יישום של כל אחד מהסטנדרטים האלה. רכישה של NXP Semiconductors IC אינה כוללת רישיון לפטנט כלשהו של NXP (או זכות IP אחרת) המכסה שילובים של אותם מוצרים עם מוצרים אחרים, בין אם חומרה או תוכנה.
10.4 סימני מסחר
הודעה: כל המותגים, שמות המוצרים, שמות השירותים והסימנים המסחריים המוזכרים הם רכושם של בעליהם בהתאמה.
NXP - סימן מילים ולוגו הם סימנים מסחריים של NXP BV
EdgeVerse - הוא סימן מסחרי של NXP BV
FeliCa - הוא סימן מסחרי של Sony Corporation.
MIFARE - הוא סימן מסחרי של NXP BV
MIFARE Classic - הוא סימן מסחרי של NXP BV
אנא שים לב שהודעות חשובות הנוגעות למסמך זה ולמוצרים המתוארים כאן, נכללו בסעיף 'מידע משפטי'.
© 2023 NXP BV
למידע נוסף, בקר בכתובת: http://www.nxp.com
כֹּל הַזְכוּיוֹת שְׁמוּרוֹת.
תאריך פרסום: 25 במאי 2023
מזהה מסמך: UM11942
מסמכים / משאבים
![]() |
בקר חזיתי NXP PN5190 NFC [pdfמדריך למשתמש PN5190, PN5190 NFC Frontend Controller, NFC Frontend Controller, Controller, UM11942 |