הבית > חֲדָשׁוֹת > תוכן

Bridgetek BT81X (815/6) מתקדם EVE מסך מגע מנוע

May 09, 2019

מסך המגע של BT815 / 6 תומך בשני לוחות מגע התנגדותיים וקיבוליים. תומך BT816
מגע התנגדות, בעוד BT815 תומך מגע קיבולי.

4.8.1 בקרת מגע התנגדותית

מסך מגע התנגדות מורכב מנוע מסך מגע, ADC, ציר בוררים, קלט ADC
מרבב. מנוע מסך המגע קורא פקודות מתוך רשומת מפת הזיכרון ומייצר את
נדרש אותות בקרה על בוררי הצירים ותשומות mux ו- ADC. נתוני ADC נרכשים,
מעובד ומעודכן לרשום בהתאמה עבור MPU / MCU לקרוא.

image

המארח שולט במצב הפעולה TOUCH SCREEN ENGINE על-ידי כתיבת REG_TOUCH_MODE.

image

ה- Touch Screen Engine לוכד את קואורדינטות הגלם X ו- Y וכותב כדי לרשום את REG_TOUCH_RAW
XY. טווח הערכים האלה הוא 0-1023. אם מסך המגע אינו נלחץ, שתי הרשומות נקראות
65535 (FFFFh).
ערכי מגע אלה הופכים לקואורדינטות מסך באמצעות המטריצה ברישומים
REG_TOUCH_TRANSFORM_A-F. הקואורדינטות שלאחר ההמרה זמינות ברישום
REG_TOUCH_SCREEN_XY. אם מסך המגע אינו נלחץ, שתי הרשומות נקראות -32768 (8000h).
הערכים עבור REG TOUCH TRANSFORM AF עשויים לחשב באמצעות תהליך כיול על המסך.
אם המסך נגע, קואורדינטות המסך נראות במאגר התגים של המסך, ומספקות
ערך תג אחרון של 8 סיביות, ב- REG TOUCH TAG. בגלל בדיקת תג לוקח מסגרת מלאה, וגע
הקואורדינטות משתנות ברציפות, המקורי (x, y) המשמש לבדיקת התג זמין גם ב
REG_TOUCH_TAG_XY.
לחץ על מגע במסך זמין ב- REG_TOUCH_RZ. הערך הוא יחסית ההתנגדות של המגע
מגע, ערך נמוך יותר מציין לחץ נוסף. ברירת המחדל היא 32767 כאשר המגע אינו
זוהה. ניתן להגדיר את REG_TOUCH_THRESHOLD כדי לקבל מגע רק כאשר סף הכוח
חריגה.

4.8.2 בקרת מגע קיבולי

מסך מגע קיבולי (CTSE) של BT815 מתקשר עם קיבולי חיצוני
(CTPM) באמצעות ממשק I 2 C. ה- CTPM יכריז על קו ההפרעה שלו כשיש
זוהה מגע. עם גילוי קו CTP_INT_N פעיל, ה- BT815 / 6 יקרא את נתוני המגע
2 ג. עד 5 נגיעות ניתן לדווח ומאוחסנים BT815 רושמים.
ה- BT815 CTSE תומך בפוקלטק ובבקרי מגע של Goodix, כמו גם במצב המארח של מגע (עיין ב
סעיף 4.8.7). לקבלת רשימה נתמכת של CTPM, עיין ב - AN_336 FT8xx - בחירת תצוגת LCD .
ה- BT815 משתמש בערך ה- I2C של הכתובת במרשם REG_TOUCH_CONFIG כדי להבדיל בין Focaltech או
בקרי מגע של Goodix. עבור Focaltech IC כתובת ה- I2C חייבת להיות מוגדרת כ- 0x38-0x3F (לדוגמה:
REG_TOUCH_CONFIG = 0x0380), ואילו ל- Goodix IC, יש להגדיר את כתובת I2C כ- 0x5D (לדוגמה:
REG_TOUCH_CONFIG = 0x05D0).

image

המארח שולט במצב הפעולה CTSE על ידי כתיבת REG_CTOUCH_MODE.

image

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

4.8.3 מצב תאימות

ה- CTSE קורא את הקואורדינטות X ו- Y מ- CTPM וכותב לרשום את REG_CTOUCH_RAW_XY. אם
מסך המגע אינו נלחץ, שתי הרשומות נקראות 65535 (FFFFh).

ערכי מגע אלה הופכים לקואורדינטות מסך באמצעות המטריצה ברישומים
REG_CTOUCH_TRANSFORM_A-F. הקואורדינטות שלאחר ההמרה זמינות ברישום
REG_CTOUCH_SCREEN_XY. אם מסך המגע אינו נלחץ, שתי הרשומות נקראות -32768 (8000h).
הערכים עבור REG_CTOUCH_TRANSFORM_A-F עשויים להיות מחושבים באמצעות תהליך כיול על המסך.
אם המסך נגע, קואורדינטות המסך נראות במאגר התגים של המסך, ומספקות
ערך תג סופי של 8 סיביות, ב- REG_TOUCH_TAG. בגלל בדיקת תג לוקח מסגרת מלאה, וגע
הקואורדינטות משתנות ברציפות, המקורי (x, y) המשמש לבדיקת התג זמין גם ב
REG_TOUCH_TAG_XY.

4.8.4 מצב מורחב

הגדרת REG_CTOUCH_EXTENDED ל- 1b'0 מאפשרת מצב מורחב. במצב מורחב קבוצה חדשה של
רשומות readout זמינים, המאפשר מחוות ועד חמש נגיעות כדי לקרוא. יש שני
סוגי רושמים: רישומי בקרה ורשומות סטטוס. רישומי בקרה נכתבים על ידי MCU.
ניתן לקרוא את רישומי הסטטוס על-ידי מערכת MCU ו- BT815 / 6.
חמש הקואורדינטות של מגע נארזות ב- REG_CTOUCH_TOUCH0_XY, REG_CTOUCH_TOUCH1_XY,
REG_CTOUCH_TOUCH2_XY, REG_CTOUCH_TOUCH3_XY, REG_CTOUCH4_X ו- REG_CTOUCH4_Y.
קואורדינטות המאוחסנות ברישומים אלה חתומות על ערכים של 16 סיביות, ולכן יש טווח של -32768 עד 32767
מצב ללא מגע מסומן על ידי x = y = -32768. קואורדינטות אלה כבר הופכות למסך
קואורדינטות המבוססות על הנתונים הגולמיים שנקראו מתוך CTPM, תוך שימוש במטריצה ברישומים
REG_CTOUCH_TRANSFORM_A-F. כדי להשיג גלם (x, y) קואורדינטות לקרוא CTPM, המשתמש קובע את
REG_CTOUCH_TRANSFORM_A-F נרשם למטריצת הזהות.
מנגנון תג BT815 / 6 מיושם על ידי חומרה, שם ניתן לתייג עד 5 תגים.


4.8.5 הגנת מעגלים קצרים

עבור מגע resistive זה שימושי כדי להגן על השבב מפני נזק קבוע בשל פוטנציאל קצר מעגלים
על 4 XY שורות. כאשר קצר על מסך המגע קורה, BT816 יכול לזהות אותו ולעצור את
מגע גילוי פעולה, עוזב את 4 סיכות XY במצב עכבה גבוהה.
ניתן להפעיל את ההגנה על המעגל / מושבתת על ידי REG_TOUCH_CONFIG.


4.8.6 תצורת מגע קיבולי

על מערכת מגע קיבולי ייתכן שמשתמשים יצטרכו לשנות את ערכי ברירת המחדל של CTPM, כגון
רושמים המשפיעים על רגישות למגע. כדי לעשות זאת רצף הבא יבוצע פעם אחת לאחר שבב
איפוס:
- החזק את מנוע המגע באיפוס (Set REG_CPURESET = 2)
- כתוב את כתובת ה - CTPM להגדרת תצורה וערך למיקום הזיכרון המיועד ל- BT815
- ניתן להוסיף עד 10 כתובת / ערך הרשמה
- שחרר את איפוס מנוע המגע (הגדר REG_CPURESET = 0)
CTPM יכול להיות מופעל במצב צריכת חשמל נמוכה כאשר פונקציית המגע אינה נדרשת על ידי היישום.
הגדרת מעט הספק נמוך ב- REG_TOUCH_CONFIG תאפשר את מצב צריכת החשמל הנמוך של CTPM. מתי
את מעט כוח מעט מסומנת, את מנוע מגע BT815 ישלח איפוס CTPM, ובכך מחדש את
פונקציית גילוי מגע.


4.8.7 מארח מונע Multi-Touch

אם MCU המארח יכול לספק תשומות מגע, הוא יכול לספק אותם ישירות BT815 באמצעות המארח לגעת
מצב. באמצעות מצב מגע המארח, יישום יכול לבחור לבחור בקר מגע שאינו נמצא
BT815 רשימת תמיכה ישירה. לדוגמה, מצב 'מארח מגע' יאפשר שימוש בבקרים ממקור אחר
יצרנים מעבר פוקלטק וגודיקס.
כדי להשתמש במצב המארח של המגע, ה- MCU המארח יהיה מחובר ישירות ללוח המגע. ארבעת המגע
סיכות הקשורות של BT815 ניתן להשאיר מחובר על PCB. המארח MCU אחראי על תקשורת עם בקר המגע, הבאת נתוני המגע בעת הדיווח, וכתיבת נתוני המגע ל- BT815 עבור בדיקת TAG ודיווח.

ניתן להזין את מצב המארח של המגע על-ידי הגדרת סיבית 14 ב- REG_TOUCH_CONFIG ולבצע איפוס
מנוע מגע:
- החזק את מנוע המגע באיפוס (Set REG_CPURESET = 2)
- כתוב 1 עד 14 ב- REG_TOUCH_CONFIG (הגדר את REG_TOUCH_CONFIG = 0x4000)
- שחרר את איפוס מנוע המגע (הגדר REG_CPURESET = 0)

image

במצב מארח המארח, המארחת מספקת מידע לגעת באמצעות ארבעה רושמים:

image

המארח כותב קואורדינטות גולמיות (x, y) ומזהים לרשימות הנ"ל. ניתן להגדיר עד 5 נגיעות, באמצעות
ID ID 0-4. המארח מציין שום מגע על ידי אספקת קואורדינטות (0x8000; 0x8000). כאשר המארח
כותב 0xf כדי לרשום את מזהה, BT815 קובע את ACK לרשום ל 0, הופך את כל קואורדינטות גלם, ו
כותב את התוצאות לרשומות המגע הרגילות.
Pseudocode:

המתן עד ש REG_EHOST_TOUCH_ACK הוא 1

עבור כל מגע:

לכתוב x קואורדינטה ל- REG_EHOST_TOUCH_X

לכתוב y לקואורדינטות REG_EHOST_TOUCH_Y

כתוב מזהה ל- REG_EHOST_TOUCH_ID

כתוב 0xf ל- REG_EHOST_TOUCH_ID

ברגע BT815 יש להמיר את הקואורדינטות, זה כותב 1 לרשום ACK ומגדיר את INT_CONV
_COMPLETE דגל פסיקה.


מזהה צריך להיות במצב תאימות אפס. המארח צריך לציין שום מגע בכלל על ידי כתיבה
(0x8000; 0x8000) עם מזהה 0.
במצב מורחב, הנגיעות המרובות עשויות להישלח בכל סדר. כל המזהים שלא הוקצו מניחים
לא לחוץ. שוב, המארח צריך לציין שום מגע בכלל על ידי כתיבה (0x8000, 0x8000) עם מזהה 0.
המארח יכול להשתמש בשלוש שיטות כדי לוודא כי BT815 מוכן לקבל קלט מגע:

1. סקר את ACK לרשום עד 1

2. השתמש בדגל הפסיקה INT_CONV_COMPLETE

3. אספקת נוגע לאט יותר מ 1000 הרץ, מאז BT815 ערבויות לעבד את נגיעות תחת 1 ms. שים לב ששיעורי הדיווח מלוח המגע הקיבולי הם כ -100 הרץ


כמו הנהג הקיבול הישיר, מצב המארח הזה פועל כאשר REG_CTOUCH_EXTENDED הוא שניהם
CTOUCH_MODE_EXTENDED ו- CTOUCH_MODE_COMPATIBILITY. CTOUCH_MODE_COMPATIBILITY
יש להשתמש עבור הליך הכיול, בדיוק כמו בעת שימוש בתמיכה קיבולי יליד. לאחר שינוי
מצב, את מנוע מגע BT815 יש לאפס.


4.8.8 גע בזיהוי במצב none-ACTIVE

כאשר BT815 / 6 הוא במצב לא פעיל, אירוע מגע עדיין יכול להיות מזוהה ודיווח למארח
באמצעות סיכת INT_N. במילים אחרות, אירוע מגע יכול להעיר את המארח במידת הצורך.
עבור מגע התנגדות, ה- PIN_ INT_N יידרש נמוך כאשר המסך נגע, ללא קשר
הגדרת רושמי הפסיקה. זה יקרה כאשר BT816 נמצא במצב STANDBY או SLEEP, אך לא
במצב POWERDOWN.
עבור מגע קיבולי, הסיכה INT_N תעקוב אחר סיכת CTP_INT_N כאשר ה- BT815 נמצא במצב STANDBY, SLEEP או
מצב POWERDOWN.