- பிட் பேங்கிங் என்றால் என்ன?
- பிட் பேங்கிங் எப்போது பயன்படுத்த வேண்டும்
- பிட் பேங்கிங் வழியாக சீரியல் தகவல்தொடர்புக்கான வழிமுறை
- எஸ்பிஐ மீது பிட் பேங்கிங்
- பிட் பேங்கிங்கின் எடுத்துக்காட்டு: அர்டுயினோவில் SPI தொடர்பு
- பிட் பேங்கிங்கின் தீமைகள்
- Arduino இல் பிட் இடிக்கும் வழியாக UART
ஒரு திட்டத்திற்கு பயன்படுத்த மைக்ரோகண்ட்ரோலரைத் தேர்ந்தெடுக்கும்போது கருதப்படும் காரணிகளில் ஒன்று தொடர்பு இடைமுகங்கள். தேர்ந்தெடுக்கப்பட்ட மைக்ரோகண்ட்ரோலருக்கு தயாரிப்புக்கு பயன்படுத்தப்பட வேண்டிய மற்ற அனைத்து கூறுகளுடன் தொடர்பு கொள்ள தேவையான அனைத்து இடைமுகங்களும் இருப்பதை வடிவமைப்பாளர் உறுதிசெய்கிறார். மைக்ரோகண்ட்ரோலரில் SPI மற்றும் I2C போன்ற சில இடைமுகங்களின் இருப்பு தொடர்ந்து இத்தகைய மைக்ரோகண்ட்ரோலர்களின் விலையை அதிகரிக்கிறது, மேலும் BOM பட்ஜெட்டைப் பொறுத்து இது விரும்பிய மைக்ரோகண்ட்ரோலரை மலிவு விலையில் பெறக்கூடும். இது போன்ற சூழ்நிலைகளில் பிட் பேங்கிங் போன்ற நுட்பங்கள் விளையாட வருகின்றன.
பிட் பேங்கிங் என்றால் என்ன?
பிட் பேங்கிங் என்பது தொடர் தகவல்தொடர்புக்கான ஒரு நுட்பமாகும், இதில் முழு தகவல்தொடர்பு செயல்முறையும் அர்ப்பணிப்பு வன்பொருளுக்கு பதிலாக மென்பொருள் வழியாக கையாளப்படுகிறது. தரவைப் பரப்புவதற்கு, நுட்பத்தை தரவுகளை சமிக்ஞைகள் மற்றும் பருப்புகளாக குறியாக்க மென்பொருளைப் பயன்படுத்துவது உள்ளடக்கியது, அவை மைக்ரோகண்ட்ரோலரின் I / O முள் நிலையைக் கையாள பயன்படுகிறது, இது இலக்கு சாதனத்திற்கு தரவை அனுப்ப Tx முள் போல செயல்படுகிறது. தரவைப் பெறுவதற்கு, நுட்பம் குறிப்பிட்ட இடைவெளிகளுக்குப் பிறகு Rx முள் நிலையை மாதிரியாக்குவதை உள்ளடக்குகிறது, இது தகவல்தொடர்பு பாட் வீதத்தால் தீர்மானிக்கப்படுகிறது. ஒத்திசைவு, நேரம், நிலைகள் போன்றவற்றை உள்ளடக்கிய இந்த தகவல்தொடர்பு அடைய தேவையான அனைத்து அளவுருக்களையும் மென்பொருள் அமைக்கிறது, அவை பொதுவாக பிட் பேங்கிங் பயன்படுத்தப்படாதபோது அர்ப்பணிப்பு வன்பொருளால் தீர்மானிக்கப்படுகின்றன.

பிட் பேங்கிங் எப்போது பயன்படுத்த வேண்டும்
பிட்-பேங்கிங் வழக்கமாக தேவையான இடைமுகத்துடன் ஒரு மைக்ரோகண்ட்ரோலர் கிடைக்காத சூழ்நிலைகளில் பயன்படுத்தப்படுகிறது அல்லது தேவையான இடைமுகத்துடன் மைக்ரோகண்ட்ரோலருக்கு மாறும்போது மிகவும் விலை உயர்ந்ததாக இருக்கும். பல நெறிமுறைகளைப் பயன்படுத்தி ஒரே சாதனத்தை தொடர்பு கொள்ள இது ஒரு மலிவான வழியை வழங்குகிறது. முன்னர் UART தகவல்தொடர்புக்கு மட்டுமே இயக்கப்பட்ட ஒரு மைக்ரோகண்ட்ரோலர், பிட் பேங்கிங் வழியாக SPI மற்றும் 12C ஐப் பயன்படுத்தி தொடர்புகொள்வதற்கு பொருத்தப்பட்டிருக்கும்.
பிட் பேங்கிங் வழியாக சீரியல் தகவல்தொடர்புக்கான வழிமுறை
பிட் இடிப்பதை செயல்படுத்துவதற்கான குறியீடு மாறுபட்ட மைக்ரோகண்ட்ரோலர்களில் வேறுபடலாம் மற்றும் வெவ்வேறு வரிசை நெறிமுறைகளுக்கும் மாறுபடலாம், ஆனால் பிட் இடிப்பதை செயல்படுத்துவதற்கான செயல்முறை / வழிமுறை எல்லா தளங்களிலும் ஒரே மாதிரியாக இருக்கும்.
உதாரணமாக தரவை அனுப்ப கீழேயுள்ள போலி குறியீடு பயன்படுத்தப்படுகிறது;
- தொடங்கு
- தொடக்க பிட் அனுப்பவும்
- பெறுநரின் பாட் வீதத்துடன் ஒத்த நேரம் காத்திருக்கவும்
- தரவு பிட் அனுப்பவும்
- ரிசீவரின் பாட் வீதத்துடன் மீண்டும் ஒத்திருக்கும் காலத்திற்கு காத்திருக்கவும்
- எல்லா தரவு பிட்களும் அனுப்பப்பட்டுள்ளதா என சரிபார்க்கவும். இல்லை என்றால், 4 க்குச் செல்லவும். ஆம் என்றால், கோட்டோ 7
- நிறுத்த பிட் அனுப்பவும்
- நிறுத்து
தரவைப் பெறுவது சற்று சிக்கலானதாக இருக்கும், வழக்கமாக ரிசீவர் முள் தரவு கிடைக்கும்போது தீர்மானிக்க குறுக்கீடு பயன்படுத்தப்படுகிறது. மைக்ரோகண்ட்ரோலர் அதிக செயலாக்க சக்தியை வீணாக்காது என்பதை உறுதிப்படுத்த இது உதவுகிறது. சில செயலாக்கங்கள் எந்த மைக்ரோகண்ட்ரோலர்கள் I / O ஊசிகளையும் பயன்படுத்தினாலும், சத்தம் மற்றும் பிழைகள், ஒருவேளை கையாளப்படாவிட்டால், வாய்ப்புகள் அதிகம். குறுக்கீடுகளைப் பயன்படுத்தி தரவைப் பெறுவதற்கான வழிமுறை கீழே விளக்கப்பட்டுள்ளது.
- தொடங்கு
- Rx முள் குறுக்கீட்டை இயக்கவும்
- குறுக்கீடு தூண்டப்படும்போது, தொடக்க பிட்டைப் பெறுங்கள்
- பாட் வீதத்திற்கு ஏற்ப நேரத்திற்காக காத்திருங்கள்
- Rx முள் படிக்கவும்
- எல்லா தரவும் பெறப்படும் வரை 4 முதல் மீண்டும் செய்யவும்
- பாட் வீதத்திற்கு ஏற்ப நேரத்திற்காக காத்திருங்கள்
- ஸ்டாப் பிட் சரிபார்க்கவும்
- நிறுத்து
எஸ்பிஐ மீது பிட் பேங்கிங்
மேலே குறிப்பிட்டுள்ளபடி, வெவ்வேறு நெறிமுறைகளுக்கான பிட் இடிப்பது வித்தியாசமாக இயங்குகிறது, எனவே ஒவ்வொரு நெறிமுறையைப் பற்றியும் படிப்பது, செயல்படுத்த முயற்சிக்கும் முன் தரவு வடிவமைத்தல் மற்றும் கடிகாரம் ஆகியவற்றைப் புரிந்துகொள்வது முக்கியம். எஸ்பிஐ பயன்முறை 1 ஐ எடுத்துக்காட்டுகிறது, கடிகாரத்தின் அடிப்படை மதிப்பு எப்போதும் 0 மற்றும் தரவு எப்போதும் கடிகாரத்தின் உயரும் விளிம்பில் அனுப்பப்படும் அல்லது பெறப்படும். SPI பயன்முறை 1 தொடர்பு நெறிமுறைக்கான நேர வரைபடம் கீழே காட்டப்பட்டுள்ளது.

இதை செயல்படுத்த, பின்வரும் வழிமுறையைப் பயன்படுத்தலாம்;
- தொடங்கு
- தகவல்தொடர்பு தொடங்க SS முள் குறைவாக அமைக்கவும்
- அனுப்ப வேண்டிய தரவின் முதல் பிட்டுக்கு மாஸ்டர் அவுட் ஸ்லேவ் இன் (மோசி) க்கான முள் அமைக்கவும்
- கடிகார முள் (எஸ்.சி.கே) உயர்வை அமைக்கவும், எனவே தரவு மாஸ்டரால் கடத்தப்பட்டு அடிமையால் பெறப்படுகிறது
- அடிமையிலிருந்து முதல் பிட் தரவைப் பெற மாஸ்டர் இன் ஸ்லேவ் அவுட் (MISO) நிலையைப் படியுங்கள்
- SCK ஐ குறைவாக அமைக்கவும், எனவே அடுத்த உயரும் விளிம்பில் தரவை அனுப்ப முடியும்
- அனைத்து தரவு பிட்களும் கடத்தப்படும் வரை 2 க்குச் செல்லவும்.
- பரிமாற்றத்தை நிறுத்த SS முள் உயர்வை அமைக்கவும்.
- நிறுத்து
பிட் பேங்கிங்கின் எடுத்துக்காட்டு: அர்டுயினோவில் SPI தொடர்பு
எடுத்துக்காட்டாக, கீழேயுள்ள குறியீட்டைப் பயன்படுத்தி எஸ்பிஐ மீது தரவை எவ்வாறு பிட்-பேங் செய்யலாம் என்பதைக் காண்பிப்பதற்காக ஆர்டுயினோவில் பிட் பேங்கிங் வழியாக எஸ்பிஐ தகவல்தொடர்புக்கான வழிமுறையை செயல்படுத்துவோம்.
Arduino இன் ஊசிகளைப் பயன்படுத்த வேண்டும் என்று அறிவிப்பதன் மூலம் தொடங்குவோம்.
const int SSPin = 11; const int SCKPin = 10; const int MISOPin = 9; const int MOSIPin = 8; byte sendData = 64; // அனுப்ப வேண்டிய மதிப்பு பைட் ஸ்லேவ் டேட்டா = 0; // அடிமை அனுப்பிய மதிப்பை சேமிப்பதற்காக
அடுத்து, ஊசிகளின் நிலை அறிவிக்கப்படும் வெற்றிட அமைவு () செயல்பாட்டிற்கு செல்கிறோம். தரவைப் பெறும் ஒரே முள் என்பதால் மாஸ்டர் இன் ஸ்லேவ் அவுட் (MISO) முள் மட்டுமே உள்ளீடாக அறிவிக்கப்படுகிறது. மற்ற அனைத்து ஊசிகளும் வெளியீடாக அறிவிக்கப்படுகின்றன. முள் முறைகளை அறிவித்த பிறகு, SS முள் HIGH ஆக அமைக்கப்படுகிறது. இதற்குக் காரணம், செயல்முறை பிழையில்லாமல் இருப்பதை உறுதி செய்வதோடு, தகவல்தொடர்பு குறைவாக அமைக்கப்பட்டால் மட்டுமே தொடங்குகிறது.
void setup () { pinMode (MISOPin, INPUT); pinMode (SSPin, OUTPUT); pinMode (SCKPin, OUTPUT); pinMode (MOSIPin, OUTPUT); டிஜிட்டல்ரைட் (SSPin, HIGH); }
அடுத்து, தரவை அனுப்ப லூப்பைத் தொடங்குவோம் . இந்த வளையமானது தரவை மீண்டும் மீண்டும் அனுப்பும் என்பதை நினைவில் கொள்க.
நாம் தொடங்க லூப் தகவல்தொடர்புக்காகப் தொடக்கத்தில், மற்றும் அழைப்பு தொடங்க SS முள் குறைந்த எழுதி bitbangdata பிட்கள், அனுப்பு ஒரு முன் தரவு உடைக்கிறது எந்த செயல்பாடு. இது முடிந்தவுடன், தரவு பரிமாற்றத்தின் முடிவைக் குறிக்க SS முள் HIGH ஐ எழுதுகிறோம்.
void loop () { DigitalWrite (SSPin, LOW); // எஸ்எஸ் குறைந்த ஸ்லேவ் டேட்டா = பிட் பேங்டேட்டா (சென்ட் டேட்டா); // தரவு பரிமாற்ற டிஜிட்டல்ரைட் (SSPin, HIGH); // மீண்டும் எஸ்.எஸ் உயர் }
Bitbangdata () செயல்பாடு கீழே எழுதப்படுகிறது. செயல்பாடு அனுப்பப்பட வேண்டிய தரவை எடுத்து அதை பிட்டுகளாக உடைத்து, வழிமுறையின் 7 வது கட்டத்தில் சுட்டிக்காட்டப்பட்டுள்ளபடி பரிமாற்றத்திற்கான குறியீட்டை சுழற்றுவதன் மூலம் அதை அனுப்புகிறது.
byte bitBangData (byte _send) // இந்த செயல்பாடு பிட் பேங்கிங் வழியாக தரவை கடத்துகிறது { byte _receive = 0; for (int i = 0; i <8; i ++) // ஒரு பைட்டில் 8 பிட்கள் { DigitalWrite (MOSIPin, bitRead (_send, i)); // அமை MOSI DigitalWrite (SCKPin, HIGH); // SCK உயர் பிட்விரைட் (_receive, i, DigitalRead (MISOPin)); // பிடிப்பு MISO டிஜிட்டல்ரைட் (SCKPin, LOW); // SCK குறைந்த } return _receive; // பெறப்பட்ட தரவைத் திருப்புக}
பிட் பேங்கிங்கின் தீமைகள்
பிட் இடிப்பதை ஏற்றுக்கொள்வது நன்கு சிந்திக்கப்பட்ட முடிவாக இருக்க வேண்டும், ஏனெனில் பிட் இடிப்பதில் பல குறைபாடுகள் இருப்பதால் அவை சில தீர்வுகளில் செயல்படுத்த நம்பகத்தன்மையற்றவை. பிட் பேங்கிங் மைக்ரோகண்ட்ரோலரால் நுகரப்படும் சக்தியை அதிகரிக்கும். அர்ப்பணிப்பு வன்பொருளுடன் ஒப்பிடும்போது, பிட் பேங்கிங் பயன்படுத்தப்படும்போது குறைபாடுகள் மற்றும் நடுக்கங்கள் போன்ற அதிக தகவல்தொடர்பு பிழைகள் ஏற்படுகின்றன, குறிப்பாக தரவு பரிமாற்றம் மைக்ரோகண்ட்ரோலரால் மற்ற பணிகளைப் போலவே செய்யப்படும்போது. பிரத்யேக வன்பொருள் பயன்படுத்தப்படும்போது ஏற்படும் வேகத்தின் ஒரு பகுதியிலேயே பிட் பேங்கிங் வழியாக தொடர்பு கொள்ளப்படுகிறது. சில பயன்பாடுகளில் இது முக்கியமானதாக இருக்கலாம் மற்றும் பிட் இடிப்பது “அவ்வளவு நல்லதல்ல” தேர்வாக இருக்கலாம்.
பிட் பேங்கிங் உள்ளிட்ட அனைத்து வகையான தொடர் தகவல்தொடர்புகளுக்கும் பயன்படுத்தப்படுகிறது; RS-232, ஒத்திசைவற்ற தொடர் தொடர்பு, UART, SPI மற்றும் I2C.
Arduino இல் பிட் இடிக்கும் வழியாக UART
பிட் பேங்கிங்கின் பிரபலமான செயலாக்கங்களில் ஒன்று அர்டுயினோ மென்பொருள் சீரியல் நூலகம் ஆகும், இது அர்ப்பணிப்பு வன்பொருள் UART ஊசிகளை (D0 மற்றும் D1) பயன்படுத்தாமல் ArARTino UART வழியாக தொடர்பு கொள்ள உதவுகிறது. Arduino போர்டில் உள்ள ஊசிகளின் எண்ணிக்கையை ஆதரிக்கக்கூடிய அளவுக்கு சீரியல் சாதனங்களை பயனர்கள் இணைக்க முடியும் என்பதால் இது நிறைய நெகிழ்வுத்தன்மையை அளிக்கிறது.
