Un மல்டிபிளெக்சர் பல உள்ளீடுகள் மற்றும் ஒற்றை தரவு வெளியீட்டைக் கொண்ட ஒரு கூட்டு சுற்று ஆகும். இதன் மூலம், அதன் நுழைவாயில்களில் ஒன்றின் பத்தியைத் தேர்ந்தெடுத்து அதன் வெளியேற்றத்திற்குச் செல்ல முடியும். அதாவது, உள்ளீட்டில் உள்ள தரவு அல்லது பிட்டை எந்த உள்ளீட்டில் இருந்து எடுக்கலாம் என்பதைத் தேர்வுசெய்து மீதமுள்ள உள்ளீடுகளை புறக்கணிக்கலாம். பல இணைப்புகள் ஒரு வரி அல்லது பஸ்ஸைப் பகிர்ந்து கொள்ள வேண்டியிருக்கும் போது இது மின்னணுவியல் மிகவும் பொதுவானது.
அதாவது, உங்களால் முடிந்த மல்டிபிளெக்சரைக் கட்டுப்படுத்துவதன் மூலம் எல்லா நேரங்களிலும் பொருத்தமான உள்ளீட்டைத் தேர்ந்தெடுக்கவும். ஒரே ஒரு இணைப்பு இருந்தபோதிலும், ஒரே நேரத்தில் பல உள்ளீட்டு சாதனங்களுடன் ஒருவருக்கொருவர் தலையிடாமல் நீங்கள் வேலை செய்ய முடியும். மேலும், பல திட்டங்களில் மல்டிபிளெக்சருடன் இணைந்து ஒரு டெமால்டிபிளெக்சர் பொதுவாக பயன்படுத்தப்படுகிறது என்பதை நீங்கள் அறிந்து கொள்ள வேண்டும் ...
மல்டிபிளெக்சர் என்றால் என்ன?
இந்த கூட்டு சேவைகள் என்று அழைக்கப்படுகின்றன மல்டிபிளெக்சர்கள் அவை பொதுவாக சிக்கலானவை அல்ல. அவை தரவு உள்ளீடுகளின் அளவைப் பொறுத்து ஒரு சில தர்க்க வாயில்களால் ஆனவை மற்றும் கட்டுப்பாடு சிக்கலை அதிகரிக்கும். அவை பொதுவாக அடங்கும் 2n உள்ளீடுகள் மற்றும் ஒற்றை வெளியீடு, அத்துடன் கட்டுப்பாட்டு கோடுகள். கிடைக்கக்கூடிய டிக்கெட்டுகளின் எண்ணிக்கையை அதிகரிக்க அவற்றில் பலவற்றை இணைந்து பயன்படுத்தலாம்.
என புரிந்து கொள்ளலாம் ஒரு தேர்வாளர். எடுத்துக்காட்டாக, நீங்கள் இரண்டு உள்ளீடுகளைக் கொண்ட மிக எளிமையான ஒன்றைக் கற்பனை செய்து பாருங்கள், இது எளிமையானது. அந்த சுற்றுக்கு ஒற்றை கட்டுப்பாட்டு உள்ளீடு மற்றும் வெளியீடு இருக்கும். உள்ளீடுகள் A மற்றும் B ஆக இருந்தால், கட்டுப்பாட்டு உள்ளீட்டைக் கொண்டு அதன் மதிப்பை வெளியீட்டு S க்கு அனுப்பும் A அல்லது அதை B செய்தால் அதைக் கட்டுப்படுத்த முடியும். இதைச் செய்ய, நீங்கள் கட்டுப்பாட்டுக் கோட்டின் மதிப்பை மட்டுமே மாற்ற வேண்டும். எடுத்துக்காட்டாக, C = 0 என்றால் அது A ஆகவும், C = 1 என்றால் அது B ஆகவும் இருக்கும்.
நீங்கள் புரிந்துகொள்வீர்கள், அதிக உள்ளீடுகள் இருந்தால், மேலும் தேவைப்படும் கட்டுப்பாட்டு உள்ளீடுகள் தேர்வுக்கு. உண்மையில், மல்டிபிளெக்சர் ஒரு சிறப்பு வகை டிகோடராகும், இதில் ஒவ்வொரு AND வாயிலுக்கும் ஒரு சமிக்ஞை சேர்க்கப்பட்டுள்ளது மற்றும் வெளியீடு மற்றும் AND வாயில்களுக்கு இடையில் ஒரு OR வாயில் உள்ளது. அந்த வழியில் எளிதாக தேர்ந்தெடுக்க முடியும்.
அதன் பயன்பாடுகளைப் பொறுத்தவரை, நீங்கள் அதைப் பயன்படுத்தலாம் ஏராளமான விஷயங்களுக்கு:
- உங்களிடம் பல உள்ளீடுகள் இருக்கும்போது ஒற்றை பஸ் அல்லது வரியைப் பகிர உள்ளீட்டு தேர்வாளர்.
- சீரியலைசர் அதனால் அதன் ஒவ்வொரு உள்ளீடுகளின் மதிப்பையும் வரிசையில் எடுக்கும்.
- மாறுபட்ட சாதனங்களிலிருந்து பல்வேறு தரவுகளுக்கு ஒரே இணைப்பு வரிகளைப் பயன்படுத்தி மல்டிபிளெக்ஸ் பரிமாற்றத்திற்கு. எடுத்துக்காட்டாக, பல சாதன வெளியீடுகளை இணைக்க மைக்ரோகண்ட்ரோலரின் அதே தரவு முள் பயன்படுத்த விரும்புகிறீர்கள் என்று கற்பனை செய்து பாருங்கள், ஆனால் அது ஒரு நேரத்தில் ஒரு தகவலை மட்டுமே அனுப்ப முடியும் ...
- தருக்க செயல்பாடுகளை செய்யவும்.
மல்டிபிளெக்சர் வகைகள்
பரிமாற்றம் பிரிக்கப்பட்டுள்ள முறையைப் பொறுத்து, உள்ளன பல்வேறு வகைகள் மல்டிபிளெக்சர்கள் அல்லது மல்டிபிளெக்சிங்:
- அதிர்வெண் பிரிவு மூலம்
- நேரப் பிரிவால்
- குறியீடு பிரிவு மூலம்
- பிரிப்பதன் மூலம் அலைநீளம்
நீங்கள் நினைத்துப் பார்க்கிறபடி, அவை அதிர்வெண், நேரம் ஒரு கடிகாரம், பைனரி குறியீடு மற்றும் அலைநீளம் ஆகியவற்றால் கட்டுப்படுத்தப்படுகின்றன. ஆனால் இங்கே நான் வழக்கமான விஷயத்தில் மட்டுமே ஆர்வமாக உள்ளேன் ...
வகைகளுக்கு மேலதிகமாக, டெமால்டிபிளெக்சரைப் போலவே, நீங்கள் அதைக் காணலாம் அதிகமாகவோ அல்லது குறைவாகவோ சேனல்கள் உங்கள் DIY திட்டங்களுக்கு உங்களுக்குத் தேவையானதைப் பொறுத்து 2, 4, 8, 16 போன்றவை.
டெமால்டிபிளெக்சருடன் வேறுபாடுகள்
டிஜிட்டல் எலக்ட்ரானிக்ஸ் உள்ளது demultiplexer, மல்டிபிளெக்சரின் எதிரியான ஒரு கூட்டு சுற்று. இந்த வழக்கில் ஒரே ஒரு தகவல் உள்ளீடு மட்டுமே இருக்கும், ஆனால் அதன் பல்வேறு வெளியீடுகள் மூலம் அதை அனுப்ப முடியும். வேறு வார்த்தைகளில் கூறுவதானால், இந்த விஷயத்தில், உள்ளீட்டுத் தரவு எந்த வெளியீட்டிற்கு மாற்றப்படும் கட்டுப்பாட்டு சமிக்ஞைகள் மூலம் தீர்மானிக்கப்படும்.
Si நீங்கள் ஒரு மல்டிபிளெக்சரின் வெளியீட்டில் டெமால்டிபிளெக்சரை இணைக்கிறீர்கள், இரண்டு சாதனங்களும் எவ்வாறு செயல்படுகின்றன என்பதை அறிய நீங்கள் மிகவும் பயனுள்ள அமைப்பைக் கொண்டிருக்கலாம்.
எங்கே வாங்க வேண்டும்?
இந்த சாதனங்கள் பொதுவாக செயல்படுத்தப்படுகின்றன டிப் சில்லுகள் மிக எளிய. டெமால்டிபிளெக்சராக இருந்தால் அவற்றை நீங்கள் பலவகையான பிராண்டுகளிலும், பல உள்ளீடுகள் அல்லது வெளியீடுகளிலும் காணலாம். கூடுதலாக, அவை பல்வேறு சிறப்பு ஊடகங்கள் அல்லது ஆன்லைன் கடைகளில் எளிதாகக் காணப்படுகின்றன. ஒன்றை நல்ல விலையில் வாங்க நீங்கள் ஆர்வமாக இருந்தால், உங்கள் திட்டங்களுடன் தொடங்க இவை நல்ல எடுத்துக்காட்டுகளாக இருக்கலாம்:
- ஐடி 8-சேனல் மல்டிபிளெக்சர்
- 8-சேனல் மல்டிபிளெக்சர் பெரல்
- தயாரிப்புகள் எதுவும் கிடைக்கவில்லை.
- CD74HC4067 16-சேனல் மல்டிபிளெக்சர் / டெமால்டிபிளெக்சர்
நான் உங்களுக்கு படிக்க அறிவுறுத்துகிறேன் தரவுத்தாள்கள் அவர்களின் உற்பத்தியாளர்களிடமிருந்து ஒரு தெளிவான யோசனையைப் பெற பின்அவுட், நீங்கள் வாங்கிய உற்பத்தியாளர் அல்லது வகையைப் பொறுத்து அவை மாறுபடலாம்.
cd74hc4067
கூடுதலாக, நீங்கள் பார்க்க முடியும் என, இரண்டு சாதனங்களையும் ஒன்றில் வைத்திருக்க அனுமதிக்கும் மிகச் சிறந்த தொகுதிகள் உள்ளன. இது வழக்கு அறியப்பட்ட CD74HC4067, TTL தொழில்நுட்பத்துடன் கூடிய ஒரு சிறிய தொகுதி, MUX / DEMUX ஐ வைத்திருப்பதன் மூலம், அதன் 16 பேனல்களை இருதரப்பு வழியில் வேலை செய்ய உதவும். அதாவது, நீங்கள் அதை ஒரு வகையான ஸ்மார்ட் சுவிட்சாகப் பயன்படுத்தலாம்.
இதனால், உங்கள் Arduino 1 வரை படிக்கலாம் மற்றும் எழுதலாம்6 வெவ்வேறு சாதனங்கள் 5 ஊசிகளுடன் மட்டுமே, அவற்றில் 4 கட்டுப்பாட்டுக்கு பயன்படுத்தப்படுகின்றன மற்றும் தேர்ந்தெடுக்கப்பட்ட சேனலின் படி படிக்க அல்லது எழுத விரும்பும் சிக்னலை சேகரிக்க கூடுதல் ஒன்று.
இந்த சிப்பைப் பற்றிய நல்ல விஷயம் என்னவென்றால் டிஜிட்டல் மற்றும் அனலாக் சிக்னல்களுடன் வேலை செய்கிறது, எனவே இது அனலாக் மற்றும் பிற டிஜிட்டல் சில்லுகளில் வேலை செய்யும் பல சென்சார்களுடன் இணக்கமானது, அத்துடன் பல்வேறு மின்னணு கூறுகளின் பெருக்கமும் உள்ளது. இது சிறந்த பன்முகத்தன்மையை அளிக்கிறது. அதனால்தான் அவை I / O விரிவாக்கிகள் அல்லது உள்ளீடு மற்றும் வெளியீட்டு பெருக்கிகள் என்றும் அழைக்கப்படுகின்றன ...
நீங்கள் இதைப் பயன்படுத்தலாம் சீரியல் போர்ட் வழியாக தகவல் தொடர்பு, I2C பஸ் அல்லது பிற சந்தர்ப்பங்களில் நாங்கள் ஏற்கனவே பேசிய SPI.
நிச்சயமாக, அவருடன் பணிபுரியும் முன், நீங்கள் அதை உறுதிப்படுத்த வேண்டும் மின்னழுத்தங்கள் மற்றும் நீரோட்டங்களை சந்திக்கவும் இந்த சுற்று சேதமடையாமல் இருக்க ஒப்புக்கொள்கிறது. எடுத்துக்காட்டாக, இந்த வழக்கில் இது 20 mA வரை, அதே போல் 2 முதல் 6v வரை மின்னழுத்தத்தையும் வழங்க முடியும். இருப்பினும், நீங்கள் அதிக நீரோட்டங்களுடன் வேலை செய்ய விரும்பினால் நீங்கள் ஒரு ரிலே பயன்படுத்தலாம் அல்லது ஒரு டிரான்சிஸ்டர் மூலம்.
Arduino உடன் ஒருங்கிணைப்பு
ஒரு வடிவம் உங்கள் Arduino போர்டில் அதிக உள்ளீடுகள் அல்லது அதிக வெளியீடுகளைக் கொண்டிருங்கள், இந்த மல்டிபிளெக்சர்கள் மற்றும் டெமால்டிபிளெக்சர்களைப் பயன்படுத்துவது. அவர்களுடன் நீங்கள் அதிக ஊசிகளைக் கொண்ட அதிக விலை கொண்ட பலகையை வாங்குவதைத் தவிர்ப்பீர்கள், அல்லது உங்களுக்குத் தேவையான அனைத்தையும் இணைக்க பிற தந்திரங்களைப் பயன்படுத்துவதைத் தவிர்ப்பீர்கள்.
உதாரணமாக, நீங்கள் ஒரு பயன்படுத்தலாம் MUX மற்றும் DEMUX தொகுதி இரண்டையும் ஒரே உறுப்பில் வைத்திருக்க முடியும், பின்னர் அதை உங்கள் திட்டத்திற்கு அர்டுயினோவுடன் எளிமையான முறையில் ஒருங்கிணைக்க வேண்டும். CD74HC4067 மூலம் நீங்கள் அதை மிக எளிதாக இணைக்க முடியும், எனவே நீங்கள் இந்த விதிகளை பின்பற்ற வேண்டும்:
- MUX / DEMUX சிப்பின் Vcc நீங்கள் அதை Vcc of Arduino அல்லது 5V உடன் இணைக்க வேண்டும்.
- GND, தரை, நீங்கள் அதை Arduino இன் GND உடன் இணைக்க வேண்டும்.
- S0, S1, S2, S3 எனக் குறிக்கப்பட்ட ஊசிகளே செயலில் உள்ள சேனலைக் கட்டுப்படுத்துகின்றன, இதில் D8, D9, D10 மற்றும் D11 போன்ற நான்கு Arduino டிஜிட்டல் I / O உள்ளது.
- EN ஐ இயக்குகிறது, இதனால் இது ஒரு மல்டிபிளெக்சராக செயல்படுகிறது, அதை நீங்கள் Arduino இன் GND உடன் இணைக்க முடியும்.
- SIG என்பது தேர்ந்தெடுக்கப்பட்ட சேனலை தீர்மானிக்கும் வெளியீட்டு சமிக்ஞையாகும். இது Arduino அல்லது வெளியீட்டைப் படிக்க வேண்டிய எந்த சாதனத்துடனும் இணைக்கப்படலாம். இந்த வழக்கில் Arduino இலிருந்து மதிப்புகளைப் பெற அதை A0 உடன் இணைத்துள்ளேன்.
- தொகுதியின் மறுமுனையில் இந்த விஷயத்தில் உள்ளீடுகள் இருக்கும், அவை உங்கள் சாதனங்களுடன் இணைக்கக்கூடிய C0-C10 ஆகும்.
இணைக்கப்பட்டவுடன், Arduino குறியீடு எளிமையானதாக இருக்கும். தி மல்டிபிளெக்சராக Arduino IDE ஸ்கெட்ச் இது பின்வருவனவாக இருக்கலாம் (இந்த குறியீடு முறையே அணைக்கப்படும் மற்றும் அவற்றின் சேனல்களில் மட்டுமே இருக்கும், ஆனால் நீங்கள் விரும்பும் திட்டத்தை உருவாக்க இதை மாற்றலாம்):
const int muxSIG = A0; const int muxS0 = 8; const int muxS1 = 9; const int muxS2 = 10; const int muxS3 = 11; int SetMuxChannel(byte channel) { digitalWrite(muxS0, bitRead(channel, 0)); digitalWrite(muxS1, bitRead(channel, 1)); digitalWrite(muxS2, bitRead(channel, 2)); digitalWrite(muxS3, bitRead(channel, 3)); } void setup() { pinMode(muxSIG, OUTPUT); pinMode(muxS0, OUTPUT); pinMode(muxS1, OUTPUT); pinMode(muxS2, OUTPUT); pinMode(muxS3, OUTPUT); } void loop() { for (byte i = 0; i < 16; i++) { SetMuxChannel(i); digitalWrite(muxSIG, HIGH); delay(200); digitalWrite(muxSIG, LOW); delay(200); } }
நீங்கள் இதை DEMUX ஆகப் பயன்படுத்த விரும்பினால், C0-C10 வெளியீடுகளாகவும் SIG உள்ளீடாகவும் இருக்கும் என்பதை மட்டுமே நீங்கள் கருத்தில் கொள்ள வேண்டும். நீங்கள் விரும்பினால் இதை டெமால்டிபிளெக்சராகப் பயன்படுத்தவும், குறியீடு இப்படி மாறும்:
onst int muxSIG = A0; const int muxS0 = 8; const int muxS1 = 9; const int muxS2 = 10; const int muxS3 = 11; int SetMuxChannel(byte channel) { digitalWrite(muxS0, bitRead(channel, 0)); digitalWrite(muxS1, bitRead(channel, 1)); digitalWrite(muxS2, bitRead(channel, 2)); digitalWrite(muxS3, bitRead(channel, 3)); } void setup() { Serial.begin(9600); pinMode(muxS0, OUTPUT); pinMode(muxS1, OUTPUT); pinMode(muxS2, OUTPUT); pinMode(muxS3, OUTPUT); } void loop() { for (byte i = 0; i < 16; i++) { SetMuxChannel(i); byte muxValue = analogRead(muxSIG); Serial.print(muxValue); Serial.print("\t"); } Serial.println(); delay(1000); }
எங்கள் உதவியுடன் நீங்கள் கூடுதல் தகவல்களைப் பெறலாம் என்பதை நினைவில் கொள்ளுங்கள் இலவச Arduino நிரலாக்க பாடநெறி.
வணக்கம், நான் ஒரு திட்டத்தைச் செய்கிறேன், 74 அகச்சிவப்பு தடையின் சென்சார்களின் உள்ளீடுகளுக்கு 4067hc16 ஐப் பயன்படுத்துவது போலவும், ஒவ்வொரு சென்சாரும் என்னை வேறு வெளியீட்டில் திருப்புகிறது. சரி, நான் அதை அர்டுயினோ மெகாவுடன் செய்ய முடியும், ஆனால் நான் 50 அகச்சிவப்பு சென்சார்களைப் பயன்படுத்த வேண்டும், ஒவ்வொன்றும் ஒரு வெளியீட்டை இயக்குகிறது, அதாவது 50 வெளியீடுகள், சென்சார் உள்ளீடுகளுக்கு பல 744067 மற்றும் வெளியீடுகளுக்கு tlc5940 ஆகியவற்றைப் பயன்படுத்த நான் நினைக்கிறேன், ஆனால் நிரலாக்க குறியீடு என்ன என்பதில் நான் கொஞ்சம் இழந்துவிட்டேன், உங்கள் உதவிக்கு முன்கூட்டியே நன்றி.