- எங்களுக்கு ஏன் குறுக்கீடு தேவை?
- MSP430 இல் குறுக்கீடு வகைகள்
- MSP430 இல் நிரல் கட்டுப்பாட்டு குறுக்கீடு
- GPIO குறுக்கீட்டை சோதிக்க MSP430 சுற்று
- குறுக்கீடுகளுக்கான MSP430 ஐ நிரலாக்குகிறது
- CCS இலிருந்து MSP430 க்கு நிரலைப் பதிவேற்றுகிறது
- MSP430 இல் குறுக்கீடு திட்டம்
உங்களுக்கு நேரத்தைக் காண்பிப்பதற்காக திட்டமிடப்பட்ட ஒரு எளிய டிஜிட்டல் கடிகாரத்தைக் கவனியுங்கள், இப்போது நீங்கள் அதன் நேர மண்டலத்தை மாற்ற விரும்புகிறீர்கள் என்று கற்பனை செய்து பாருங்கள். நீங்கள் என்ன செய்வீர்கள்? நேர மண்டலத்தை மாற்ற உதவும் மெனுவில் மாறும் ஒரு பொத்தானை அழுத்தவும். இங்கே, கணினி உங்கள் வெளிப்புற குறுக்கீட்டை அதன் நேரத்தை வைத்திருக்கும் செயல்முறைகளுக்கு கணிக்க முடியாது, மேலும் உங்கள் கடிகாரத்தில் விநாடிகளின் மதிப்பை அதிகரிப்பதில் பிஸியாக இருப்பதால் காத்திருக்கும்படி கேட்க முடியாது. இங்குதான் குறுக்கீடுகள் கைகொடுக்கும்.
குறுக்கீடுகள் எப்போதும் வெளிப்புறமாக இருக்க வேண்டியதில்லை; அது அகமாகவும் இருக்கலாம். உட்பொதிக்கப்பட்ட குறுக்கீட்டில் பெரும்பாலான நேரங்களில் CPU இன் இரண்டு சாதனங்களுக்கு இடையில் தொடர்பு கொள்ள உதவுகிறது. முன்பே அமைக்கப்பட்ட டைமர் மீட்டமைக்கப்படுவதைக் கருத்தில் கொண்டு, டைமர் பதிவேட்டில் நேரம் மதிப்பை அடையும் போது குறுக்கீடு தூண்டப்படுகிறது. குறுக்கீடு கையாளுபவர் டி.எம்.ஏ போன்ற பிற சாதனங்களைத் தொடங்க பயன்படுத்தலாம்.
இந்த டுடோரியலில், வெவ்வேறு எல்.ஈ.டிகளை மாற்ற எம்.எஸ்.பி 430 இல் வெளிப்புற குறுக்கீடுகளைப் பயன்படுத்தினோம். புஷ்-பொத்தானைப் பயன்படுத்தி மாநிலத்தை மாற்றுவதன் மூலம் வெளிப்புற குறுக்கீடு வழங்கப்படும் போது, கட்டுப்பாடு ஐ.எஸ்.ஆருக்கு மாற்றப்படும் (முன்-காலியாக) மற்றும் அது தேவையானதைச் செய்கிறது. MSP430G2 லான்ஸ்பேடிற்கான CCS சூழல் அமைப்பு போன்ற அடிப்படைகளை அறிய, CCS ஐப் பயன்படுத்தி MSP430 உடன் தொடங்குவதற்கான இந்த இணைப்பைப் பின்தொடரவும், ஏனெனில் இந்த டுடோரியலில் அதன் விவரங்களை நாங்கள் பெற மாட்டோம். இணைப்பைப் பின்தொடர்வதன் மூலம் எனர்ஜியா ஐடிஇ மற்றும் சிசிஎஸ் ஆகியவற்றைப் பயன்படுத்தி பிற எம்எஸ்பி 430 அடிப்படையிலான பயிற்சிகளையும் சரிபார்க்கவும்.
எங்களுக்கு ஏன் குறுக்கீடு தேவை?
உட்பொதிக்கப்பட்ட அமைப்பில் வாக்குப்பதிவை மேல்நிலை சேமிக்க குறுக்கீடுகள் தேவை. தற்போதைய இயங்கும் பணியை முன்கூட்டியே காலி செய்வதன் மூலம் செயல்படுத்த அதிக முன்னுரிமை கொண்ட பணிகள் தேவைப்படும்போது அவை அழைக்கப்படுகின்றன. குறைந்த சக்தி முறைகளிலிருந்தும் CPU ஐ எழுப்பவும் இது பயன்படுத்தப்படலாம். ஒரு GPIO போர்ட் மூலம் வெளிப்புற சமிக்ஞையின் விளிம்பு மாற்றத்தால் அது விழித்தெழும்போது, ஐ.எஸ்.ஆர் செயல்படுத்தப்படுகிறது, மேலும் CPU மீண்டும் குறைந்த சக்தி பயன்முறைக்குத் திரும்புகிறது.
MSP430 இல் குறுக்கீடு வகைகள்
MSP430 இல் உள்ள குறுக்கீடுகள் பின்வரும் வகைகளின் கீழ் வருகின்றன-
- கணினி மீட்டமை
- மறைக்க முடியாத குறுக்கீடு
- மறைக்கக்கூடிய குறுக்கீடு
- திசையன் மற்றும் வெக்டார் அல்லாத குறுக்கீடுகள்
கணினி மீட்டமை:
இது சப்ளை மின்னழுத்தம் (வி.சி.சி) காரணமாகவும், மீட்டமைக்கப்பட்ட பயன்முறையுடன் ஆர்.எஸ்.டி / என்.எம்.ஐ முள் குறைந்த சமிக்ஞை காரணமாகவும் ஏற்படலாம், மேலும் இது கண்காணிப்பு டைமர் வழிதல் மற்றும் பாதுகாப்பு விசை மீறல் போன்ற காரணங்களால் ஏற்படலாம்.
மறைக்க முடியாத குறுக்கீடு:
இந்த குறுக்கீடுகளை CPU அறிவுறுத்தல்களால் மறைக்க முடியாது. பொது குறுக்கீடு இயக்கப்பட்டதும், மறைக்க முடியாத குறுக்கீட்டை செயலாக்கத்திலிருந்து திசை திருப்ப முடியாது. இது ஆஸிலேட்டர் பிழைகள் மற்றும் ஆர்எஸ்டி / என்எம்ஐக்கு (என்எம்ஐ பயன்முறையில்) கைமுறையாக வழங்கப்பட்ட விளிம்பு போன்ற மூலங்களால் உருவாக்கப்படுகிறது.
மறைக்கக்கூடிய குறுக்கீடு:
ஒரு குறுக்கீடு ஏற்படும் போது, அதை ஒரு CPU அறிவுறுத்தலால் மறைக்க முடியும் என்றால், அது மாஸ்கபிள் குறுக்கீடு ஆகும். அவை எப்போதும் வெளிப்புறமாக இருக்க தேவையில்லை. அவை சாதனங்கள் மற்றும் அவற்றின் செயல்பாடுகளையும் சார்ந்துள்ளது. இங்கே பயன்படுத்தப்படும் வெளிப்புற துறைமுக குறுக்கீடுகள் இந்த வகையின் கீழ் வருகின்றன.
திசையன் குறுக்கீடுகள் மற்றும் திசையன் அல்லாத குறுக்கீடுகள்:
திசையன்: இந்த விஷயத்தில், குறுக்கிடும் சாதனங்கள் குறுக்கீடு திசையன் முகவரியைக் கடந்து குறுக்கீட்டின் மூலத்தை எங்களுக்கு வழங்குகின்றன. இங்கே ஐ.எஸ்.ஆரின் முகவரி சரி செய்யப்பட்டு, அந்த முகவரிக்கு கட்டுப்பாடு மாற்றப்பட்டு, மீதமுள்ளவற்றை ஐ.எஸ்.ஆர் கவனித்துக்கொள்கிறார்.
அல்லாத திசையன்: இங்கே அனைத்து குறுக்கீடுகளும் பொதுவான ஐ.எஸ்.ஆர். திசையன் அல்லாத மூலத்திலிருந்து குறுக்கீடு ஏற்படும் போது, கட்டுப்பாடு பொதுவான முகவரிக்கு மாற்றப்படும், இது அனைத்து திசையன் அல்லாத குறுக்கீடுகளும் பகிர்ந்து கொள்கின்றன.
MSP430 இல் நிரல் கட்டுப்பாட்டு குறுக்கீடு
குறுக்கீடு ஏற்படும் போது, MCLK இயக்கப்பட்டது மற்றும் CPU OFF நிலையிலிருந்து திரும்ப அழைக்கப்படுகிறது. குறுக்கீடு ஏற்பட்ட பின்னர் நிரலின் கட்டுப்பாடு ஐ.எஸ்.ஆர் முகவரிக்கு மாற்றப்படுவதால், நிரல் கவுண்டரில் உள்ள மதிப்புகள் மற்றும் நிலை பதிவேட்டில் அடுக்கிற்கு நகர்த்தப்படும்.

தொடர்ச்சியாக, நிலை பதிவு அழிக்கப்படுகிறது, இதன் மூலம் GIE ஐ அழித்து குறைந்த சக்தி பயன்முறையை நிறுத்துகிறது. நிரல் கவுண்டரில் குறுக்கீடு திசையன் முகவரியை வைப்பதன் மூலம் அதிக முன்னுரிமையுடன் குறுக்கீடு தேர்ந்தெடுக்கப்பட்டு செயல்படுத்தப்படுகிறது. எங்கள் MSP430 GPIO குறுக்கீடு எடுத்துக்காட்டு குறியீட்டைப் பெறுவதற்கு முன்பு , அதில் ஈடுபட்டுள்ள துறைமுக பதிவேடுகளின் செயல்பாட்டைப் புரிந்துகொள்வது அவசியம்.
MSP430 இல் GPIO கட்டுப்பாட்டுக்கான துறைமுக பதிவேடுகள்:
PxDIR: இது ஒரு துறைமுக திசை கட்டுப்பாட்டு பதிவு. இது 0 அல்லது 1 ஐ எழுதுவதன் மூலம் புரோகிராமரை அதன் செயல்பாட்டை குறிப்பாக தேர்ந்தெடுக்க அனுமதிக்கிறது. ஒரு முள் 1 ஆக தேர்ந்தெடுக்கப்பட்டால், அது ஒரு வெளியீடாக செயல்படுகிறது. போர்ட் 1 ஐ 8-பிட் போர்ட்டாகக் கருதுங்கள், மற்றும் பின்ஸ் 2 மற்றும் 3 வெளியீட்டு துறைமுகங்களாக ஒதுக்கப்பட வேண்டுமானால், பி 1 டிஐஆர் பதிவேட்டை 0x0C மதிப்புடன் அமைக்க வேண்டும்.
PxIN: இது படிக்க மட்டும் பதிவு மற்றும் துறைமுகத்தில் உள்ள தற்போதைய மதிப்புகளை இந்த பதிவேட்டைப் பயன்படுத்தி படிக்க முடியும்.
PxOUT: இந்த குறிப்பிட்ட பதிவேட்டை துறைமுகங்களுக்கு நேரடியாக மதிப்புகளை எழுத பயன்படுத்தலாம். இழுத்தல் / புல்டவுன் பதிவு முடக்கப்பட்டால் மட்டுமே இது சாத்தியமாகும்.
PxREN: இது இழுப்பு / புல்டவுன் பதிவேட்டை இயக்க அல்லது முடக்க 8 பிட் பதிவேடு ஆகும். PxREN மற்றும் PxOUT இரண்டிலும் ஒரு முள் 1 ஆக அமைக்கப்பட்டால், குறிப்பிட்ட முள் மேலே இழுக்கப்படுகிறது.
|
PxDIR |
PxREN |
PxOUT |
I / O கட்டமைப்பு |
|
0 |
0 |
எக்ஸ் |
மின்தடையங்களுடன் உள்ளீடு முடக்கப்பட்டுள்ளது |
|
0 |
1 |
0 |
உள் புல்டவுன் உள்ளீடு இயக்கப்பட்டது |
|
0 |
1 |
1 |
உள்ளக இழுப்புடன் உள்ளீடு இயக்கப்பட்டது |
|
1 |
எக்ஸ் |
எக்ஸ் |
வெளியீடு - PxREN க்கு எந்த விளைவும் இல்லை |
PxSEL மற்றும் PxSEL2: MSP430 இல் உள்ள அனைத்து ஊசிகளும் மல்டிபிளெக்ஸ் செய்யப்பட்டுள்ளதால், குறிப்பிட்ட செயல்பாட்டைப் பயன்படுத்துவதற்கு முன்பு அதைத் தேர்ந்தெடுக்க வேண்டும். PxSEL மற்றும் PxSEL2 பதிவேடுகள் இரண்டும் ஒரு குறிப்பிட்ட முள் 0 ஆக அமைக்கப்பட்டால், பொது நோக்கம் I / O தேர்ந்தெடுக்கப்படுகிறது. PxSEL 1 ஆக அமைக்கப்பட்டால், முதன்மை புற செயல்பாடு தேர்ந்தெடுக்கப்படுகிறது, மற்றும் பல.
PxIE: இது ஒரு துறைமுக x இல் ஒரு குறிப்பிட்ட முள் குறுக்கீடுகளை இயக்குகிறது அல்லது முடக்குகிறது.
PxIES: இது ஒரு குறுக்கீடு உருவாக்கப்படும் விளிம்பைத் தேர்ந்தெடுக்கிறது. 0 க்கு, உயரும் விளிம்பு தேர்ந்தெடுக்கப்பட்டது மற்றும் 1 க்கு, வீழ்ச்சி விளிம்பு தேர்ந்தெடுக்கப்படுகிறது.
GPIO குறுக்கீட்டை சோதிக்க MSP430 சுற்று
எங்கள் MSP430 குறுக்கீடு எடுத்துக்காட்டு குறியீட்டை சோதிக்க பயன்படுத்தப்படும் MSP430 சுற்று கீழே காட்டப்பட்டுள்ளது.

எல்.ஈ.டி மற்றும் பொத்தான் இரண்டையும் தரையிறக்க போர்டின் மைதானம் பயன்படுத்தப்படுகிறது. புஷ் பொத்தானின் குறுக்காக எதிர் பக்கங்கள் பொதுவாக திறந்த முனையங்கள் மற்றும் புஷ் பொத்தானை அழுத்தும் போது இணைக்கப்படும். எல்.ஈ.டி அதிக மின்னோட்ட நுகர்வு தவிர்க்க எல்.ஈ.டி முன் ஒரு மின்தடை இணைக்கப்பட்டுள்ளது. வழக்கமாக, 100ohm - 220ohm வரம்பில் குறைந்த மின்தடையங்கள் பயன்படுத்தப்படுகின்றன.
துறைமுக குறுக்கீடுகள் பற்றி நன்கு புரிந்துகொள்ள 3 வெவ்வேறு குறியீடுகளைப் பயன்படுத்துகிறோம். முதல் இரண்டு குறியீடுகளும் சர்க்யூட் வரைபடம் 1 இல் உள்ள அதே சுற்றுகளைப் பயன்படுத்துகின்றன. குறியீட்டிற்குள் நுழைவோம். இணைப்புகள் செய்யப்பட்ட பிறகு, எனது அமைவு இதுபோல் தெரிகிறது.

குறுக்கீடுகளுக்கான MSP430 ஐ நிரலாக்குகிறது
முழுமையான MSP430 குறுக்கீடு நிரலை இந்த பக்கத்தின் கீழே காணலாம், குறியீட்டின் விளக்கம் பின்வருமாறு.
கீழேயுள்ள வரி கண்காணிப்பு நேரத்தை செயல்படுவதை நிறுத்துகிறது. வாட்ச் டாக் டைமர் வழக்கமாக இரண்டு செயல்பாடுகளை செய்கிறது. ஒன்று கட்டுப்படுத்தியை மீட்டமைப்பதன் மூலம் கட்டுப்பாட்டாளரை எல்லையற்ற சுழல்களில் இருந்து தடுப்பது, மற்றொன்று அது உள்ளடிக்கிய டைமரைப் பயன்படுத்தி அவ்வப்போது நிகழ்வுகளைத் தூண்டுகிறது. மைக்ரோகண்ட்ரோலர் மீட்டமைக்கப்படும் போது (அல்லது இயங்கும்), அது டைமர் பயன்முறையில் உள்ளது மற்றும் 32 மில்லி விநாடிகளுக்குப் பிறகு MCU ஐ மீட்டமைக்க முனைகிறது. இந்த வரி கட்டுப்படுத்தியைச் செய்வதிலிருந்து தடுக்கிறது.
WDTCTL = WDTPW + WDTHOLD;
அமைத்தல் P1DIR மதிப்பு 0x07 பெட்டிகள் வெளியீடாக pin0, pin1, மற்றும் PIN2 திசையில் பதிவு. P1OUT ஐ 0x30 ஆக அமைப்பது பின் 4 மற்றும் பின் 5 இல் இயக்கப்பட்ட உள் இழுக்கும் மின்தடையங்களுடன் உள்ளீட்டை உள்ளமைக்கிறது. P1REN ஐ 0x30 ஆக அமைப்பது இந்த ஊசிகளின் உள் இழுப்பை செயல்படுத்துகிறது. P1IE குறுக்கீட்டை செயல்படுத்துகிறது, அங்கு P1IES இந்த ஊசிகளின் குறுக்கீடு விளிம்பாக உயர் முதல் குறைந்த மாற்றத்தைத் தேர்ந்தெடுக்கிறது.
பி 1 டிஐஆர் - = 0x07; P1OUT = 0x30; P1REN - = 0x30; பி 1IE - = 0x30; பி 1 ஐஇஎஸ் - = 0 எக்ஸ் 30; P1IFG & = x 0x30;
அடுத்த வரி குறைந்த சக்தி பயன்முறையை செயல்படுத்துகிறது மற்றும் நிலை பதிவேட்டில் GIE ஐ செயல்படுத்துகிறது, இதனால் குறுக்கீடுகளைப் பெற முடியும்.
__bis_SR_register (LPM4bits + GIE)
மேக்ரோவைப் பயன்படுத்தி போர்ட் 1 திசையனின் முகவரியுடன் நிரல் கவுண்டர் அமைக்கப்பட்டுள்ளது.
PORT1_VECTOR . #pragma vector = PORT1_VECTOR __ இடைவிடாத வெற்றிட போர்ட்_1 (வெற்றிடத்தை)
கீழேயுள்ள குறியீடு பின் 0, பின் 1, பின் 2 ஆகியவற்றுடன் இணைக்கப்பட்டுள்ள ஒவ்வொரு எல்.ஈ.டிகளையும் ஒவ்வொன்றாக மாற்றுகிறது.
if (எண்ணிக்கை 3 3 == 0) { P1OUT ^ = BIT1; P1IFG & = ~ 0x30; எண்ணிக்கை ++; } else என்றால் (எண்ணிக்கை 3 3 == 1) { P1OUT ^ = BIT1; P1IFG & = x 0x30; எண்ணிக்கை ++; } else { P1OUT ^ = BIT2; P1IFG & = x 0x30; எண்ணிக்கை ++; }
சுற்று வரைபடம் 2:
இதேபோல், கருத்தை மிகவும் சிறப்பாக புரிந்துகொள்ள வேறு முள் முயற்சிப்போம். எனவே இங்கே புஷ் பொத்தான் பின் 1.5 க்கு பதிலாக பின் 2.0 உடன் இணைக்கப்பட்டுள்ளது. மாற்றியமைக்கப்பட்ட சுற்று பின்வருமாறு. மீண்டும் இந்த சுற்று MSP430 பொத்தான் குறுக்கீடு நிரலை சோதிக்க பயன்படுகிறது.

இங்கே போர்ட் 2 உள்ளீட்டிற்கு பயன்படுத்தப்படுகிறது. எனவே வெவ்வேறு குறுக்கீடு திசையன் பயன்படுத்தப்பட வேண்டும். P1.4 மற்றும் P2.0 உள்ளீடுகளை எடுத்துக்கொள்கின்றன.
போர்ட் 2 உள்ளீட்டிற்கு மட்டுமே பயன்படுத்தப்படுவதால், P2DIR 0 ஆக அமைக்கப்பட்டுள்ளது. உள் இழுப்பு மின்தடையங்கள் இயக்கப்பட்டிருக்கும் போர்ட் 2 இன் பின் 0 ஐ உள்ளீடாக அமைக்க, P2OUT மற்றும் P2REN பதிவேடுகள் 1 மதிப்புடன் அமைக்கப்பட வேண்டும். போர்ட் 2 இன் pin0 இல் குறுக்கீடு மற்றும் குறுக்கீட்டின் விளிம்பைத் தேர்ந்தெடுக்க, P2IE மற்றும் P2IES ஆகியவை 1 மதிப்புடன் அமைக்கப்பட்டுள்ளன. போர்ட் 2 இல் கொடியை மீட்டமைக்க, P2IFG அழிக்கப்படுகிறது, இதனால் கொடியை மீண்டும் அமைக்க முடியும் குறுக்கீடு நிகழ்வு.
பி 2 டிஐஆர் - = 0x00; P2OUT = 0x01; P2REN - = 0x01; பி 2IE - = 0x01; P2IES - = 0x01; P2IFG & = x 0x01;
குறுக்கீடு மூலமானது போர்ட் 1 இலிருந்து இருக்கும்போது, போர்ட் 1 இன் பின் 1 உடன் எல்.ஈ.டி இணைக்கப்பட்டுள்ளது. குறுக்கீடு மூலமானது போர்ட் 2 க்கு சொந்தமானதாக இருக்கும்போது, போர்ட் 1 ஒளிரும் பின் 2 உடன் எல்.ஈ.டி இணைக்கப்பட்டுள்ளது.
#pragma vector = PORT1_VECTOR __ இடைவிடாத வெற்றிட போர்ட்_1 (வெற்றிடத்தை) { P1OUT ^ = BIT1; P1IFG & = x 0x10; (i = 0; i <20000; i ++) { } P1OUT ^ = BIT1; } # ப்ராக்மா திசையன் = PORT2_VECTOR __ இடைவிடாத வெற்றிட போர்ட்_2 (வெற்றிடத்தை) { P1OUT ^ = BIT2; P2IFG & = x 0x01; (j = 0; j <20000; j ++) { } P1OUT ^ = BIT2; }
CCS இலிருந்து MSP430 க்கு நிரலைப் பதிவேற்றுகிறது
திட்டத்தை துவக்கப்பக்கத்தில் ஏற்ற மற்றும் அதை பிழைத்திருத்த, திட்டத்தைத் தேர்ந்தெடுத்து, கருவிப்பட்டியில் உள்ள பிழைத்திருத்த ஐகானைக் கிளிக் செய்க. மாற்றாக, பிழைத்திருத்த பயன்முறையில் நுழைய F11 ஐ அழுத்தவும் அல்லது RunàDebug ஐக் கிளிக் செய்யவும்.

பிழைத்திருத்த பயன்முறையை உள்ளிட்டதும், MCU இல் ஏற்றப்பட்ட குறியீட்டை சுதந்திரமாக இயக்க பச்சை வண்ண ரன் பொத்தானை அழுத்தவும். இப்போது, புஷ் பொத்தானை அழுத்தும்போது, விளிம்பில் ஏற்படும் மாற்றத்தால் குறுக்கீடு தூண்டப்படுகிறது, இதனால் எல்.ஈ.டி நிலையில் மாற்றத்தைத் தூண்டுகிறது.

MSP430 இல் குறுக்கீடு திட்டம்
குறியீடு வெற்றிகரமாக பதிவேற்றப்பட்ட பிறகு, மிகுதி பொத்தானைப் பயன்படுத்தி அதைச் சோதிக்கலாம். புஷ் பொத்தானைப் பயன்படுத்தி குறுக்கீடு வழங்கப்படும் போதெல்லாம் எல்.ஈ.டி முறை எங்கள் நிரலின் படி மாறும்.

முழுமையான வேலைகளை கீழே இணைக்கப்பட்ட வீடியோவில் காணலாம். நீங்கள் டுடோரியலை ரசித்தீர்கள், பயனுள்ள ஒன்றைக் கற்றுக்கொண்டீர்கள் என்று நம்புகிறேன். உங்களிடம் ஏதேனும் கேள்விகள் இருந்தால், அவற்றை கருத்துப் பிரிவில் விடுங்கள் அல்லது பிற தொழில்நுட்ப கேள்விகளுக்கு எங்கள் மன்றங்களைப் பயன்படுத்தவும்.
