ניו-טק מגזין | דצמבר 2023
בחירת אות על-ההתקן דוגמה אפשרית אחת לשימוש בנקודת היא להשתמש CLC וב- SR חיבור ה- internal signal במרבב בחירת אות פנימי ( ). ניתן להשתמש בזה select multiplexer לבדיקה-עצמית פנימית או לבחירת אחד לצורך עיבוד. כדי ליישם N מאותות ה- ליצירת מרבב CLC זאת, משתמשים ב- , אך 4:1 . אפשר גם להשתמש במרבב 2:1 ובשני ביטים CLC הוא משתמש בשלושה . כדי ליצור את המרבב, SR מיציאת select כ- SR משתמשים בביט מיציאת ה- . היישום הלוגי מוצג להלן. line PPS יתרון אחד שיש ליישום הזה על פני הוא מהירות וגמישות. ניתן לנעול את כדי למנוע שינויים לא זהירים PPS ה- config . בנוסף, ניתן להגדיר ביט runtime ב- רק פעם PPS כדי לוודא שניתן לנעול את ה- CLC אחת. במקום זאת, הגדרת מרבב מאפשרת לתוכנית לשנות אותות קלט בלי שיהיה צריך לבצע רצף ביטול נעילות בכל פעם מחדש. דוגמת השימוש הזו Morse Code נמצאת בהדגמת קוד מורס ( של PIC 18 F 56 Q 71 ) עבור משפחת demo . ההדגמה יוצרת משדר ומקלט Microchip פשוטים של קוד מורס – המרבב משמש לבחירה בין פלט המשדר לבין אות קלט חיצוני לצורך הקליטה. ביט 1 בתוך התוכנית, מגדירים מאקרו של עבור הפינים של set / clear / toggle מסוג , זאת לצורך קריאות SR נקודת חיבור ה- .) readability ) //// Select input to decoder # define SELECT _ TX _ DECODE )( do { RW 0_ SetLow )(; } while )0( # define SELECT _ USER _ DECODE )( do { RW 0_ SetHigh )(; } while )0( # define SWITCH _ DECODE _ SOURCE )( do { RW 0_ Toggle )(; } while )0( פיסת הקוד להלן אחראית על ניקוי המיתוג בין מקורות הקלט. כאשר המשדר והמקלט הם במצב סרק, והמשתמש שלח '#' למסוף, הוא יבצע מיתוג בין מקורות הקלט. if ) morseTx _ isSwitchRequested )( && morseRx _ isIdle )( && morseTx _ isIdle )(( { // Request to switch input sources SWITCH _ DECODE _ SOURCE )(; morseTx _ clearSwitchRequest )(;
דיאגרמת בלוקים של הדגמת קוד מורס :4 איור
«
Microchip קרדיט:
uint 8_ t temp ; // Byte Scan for ) uint 8_ t byIndex = 0; byIndex < DATA _ SCAN _ LENGTH ; byIndex ++) { // Bit Scan temp = data [ byIndex ]; for ) uint 8_ t biIndex = 0; biIndex != 8; biIndex ++) { if ) temp & 0 b 1) { // Count isOdd = ! isOdd ; } // Shift bits temp >>= 1; } } return ) isOdd (; } כדי להאיץ את החישוב, ניתן להשתמש לבניית CLC עם SPI בהתקן היקפי מסוג מחשבון זוגיות מבוסס-חומרה. חומרת serial מכילה אוגר הסטה טורית ( SPI ה- ) לשידור ולקליטה של shift register (אוגר SPI נתונים. אות הפלט של חומרת ה- לצורך CLC ההסטה) ניתן להזנה לתוך
if ) IS _ USER _ INPUT _ ACTIVE )(( { // User Input printf )" User input is now
active .\ r \ n "(; } else {
// TX Input printf )" Transmitter input is now
active .\ r \ n "(; } } . GitHub קוד המקור של תוכנית זו זמין ב- ) מואץ parity חישוב זוגיות ( ע"י חומרה במקרים מסוימים יש צורך להפיק ספרת זוגיות לצורך שידור או תקשורת נתונים. חישוב הזוגיות בתוכנה הוא טריוויאלי, אך איטי יותר לביצוע מאשר בחומרה. להלן מוצגת פונקציה פשוטה. הערה: דפוס הבדיקה שנבדק מאוחסן גלובלית עבור הדוגמאות הפשוטות האלה. bool isOdd _ SW ) void ) { bool isOdd = false ;
New-Tech Magazine l 40
Made with FlippingBook - professional solution for displaying marketing and sales documents online