USART, UART, RS232, USB, SPI, I2C, TTL, ආදිය. මේ සියල්ල කුමක්ද සහ ඒවා එකිනෙකට සම්බන්ධ වන්නේ කෙසේද?


173

නවක ඉලෙක්ට්‍රොනික් විනෝදාංශයක් ලෙස, මම මෙම නියමයන් අසා ඇති අතර තවත් සෑම තැනකම විසිරී ඇත. එහි මුලදී, ඒවා සියල්ලම උපාංග, පරිගණක, පර්යන්ත ආදිය අතර සන්නිවේදනය මත පදනම් වූ බව මට වැටහේ.

ඒවා සියල්ලම ක්‍රියාත්මක වන ආකාරය පිළිබඳ මට මූලික අවබෝධයක් ඇත, නමුත් ඒවායින් බොහොමයක් දුටු විට මම ව්‍යාකූල වී ඒවා එකිනෙකා සමඟ සම්බන්ධ වන්නේ කෙසේද යන්න තේරුම් ගැනීමට අපහසු වේ. උදාහරණයක් ලෙස, UART USART හි උප කුලකයක්ද? RS232 සහ Serial අතර වෙනස කුමක්ද? මෙම සියලු සන්නිවේදන ක්‍රම අතර ඇති මූලික වෙනස්කම් මොනවාද: විශ්වසනීයත්වය, පිරිවැය, යෙදුම, වේගය, දෘඩාංග අවශ්‍යතා?

ඔබට සිතාගත හැකි නම්, මෙම වචන සියල්ලම කාඩ්පත්වල ලියා ඇති අතර කෝපි මේසය මත විසිරී ඇති අතර මගේ අවබෝධය සංවිධානය කිරීමට මට උදව් කිරීමට කෙනෙකු අවශ්‍යය. මෙම ප්‍රශ්නය ටිකක් අපැහැදිලි නම් මට සමාව දෙන්න, නමුත් මට සැබවින්ම දැනෙන්නේ එය මේ ප්‍රශ්නයේ ස්වභාවය බවයි.


Answers:


263

අනුක්‍රමය යනු මිල අධික යෙදුමක් භාවිතා කිරීම සඳහා “කාල අංශය බහුකාර්ය” යන සියල්ලටම කුඩ වචනයකි. එහි අර්ථය වන්නේ දත්ත කාලයාගේ ඇවෑමෙන් යවනු ලබන බවයි. ඔබ නම් කරන සියලුම ප්‍රොටෝකෝල අනුක්‍රමික ප්‍රොටෝකෝල වේ.

UART, විශ්ව අසමමුහුර්ත ග්‍රාහක සම්ප්‍රේෂකය සඳහා, වැඩිපුරම භාවිතා වන අනුක්‍රමික ප්‍රොටෝකෝලයකි. එය මා තරම්ම පැරණි, ඉතා සරල ය. බොහෝ පාලකයන්ට දෘඩාංග UART යානයක් ඇත. එය සම්ප්‍රේෂණය සඳහා තනි දත්ත රේඛාවක් සහ දත්ත ලැබීම සඳහා එකක් භාවිතා කරයි. බොහෝ විට 8-බිට් දත්ත පහත පරිදි මාරු කරනු ලැබේ: 1 ආරම්භක බිට් (පහත් මට්ටම), දත්ත බිටු 8 සහ නැවතුම් බිට් 1 (ඉහළ මට්ටම). පහත් මට්ටමේ ආරම්භක බිට් සහ ඉහළ මට්ටමේ නැවතුම් බිට් යන්නෙන් අදහස් කරන්නේ සන්නිවේදනය ආරම්භ කිරීම සඳහා සෑම විටම ඉහළ සිට පහත් සංක්‍රාන්තියක් ඇති බවයි. UART විස්තර කරන්නේ එයයි. වෝල්ටීයතා මට්ටමක් නොමැත, එබැවින් ඔබේ මයික්‍රොකොන්ට්රෝලර් භාවිතා කරන ඕනෑම දෙයක් 3.3 V හෝ 5 V දී තිබිය හැකිය. UART හරහා සන්නිවේදනය කිරීමට අවශ්‍ය ක්ෂුද්‍ර පාලකයන්ට සම්ප්‍රේෂණ වේගය, බිට්-අනුපාතය සමඟ එකඟ විය යුතු බව සලකන්න, මන්ද ඔවුන්ට සමමුහුර්ත කිරීම සඳහා ආරම්භක බිටු පමණක් වැටේ. එය අසමමුහුර්ත සන්නිවේදනය ලෙස හැඳින්වේ.

දුරස්ථ සන්නිවේදනය සඳහා (එය මීටර් සිය ගණනක් විය යුතු නැත) 5 V UART ඉතා විශ්වාසදායක නොවේ, ඒ නිසා එය ඉහළ වෝල්ටීයතාවයක් බවට පරිවර්තනය වේ, සාමාන්‍යයෙන් +12 V "0" සඳහා සහ -12 V සඳහා " 1 ". දත්ත ආකෘතිය එලෙසම පවතී. එවිට ඔබට RS-232 ඇත (ඔබ ඇත්ත වශයෙන්ම EIA-232 ලෙස හැඳින්විය යුතුය, නමුත් කිසිවෙකු එසේ නොකරයි.)

කාල පරායත්තතාවය UART හි විශාල අඩුපාඩුවක් වන අතර විසඳුම USART , විශ්ව සමමුහුර්ත / අසමමුහුර්ත ග්‍රාහක සම්ප්‍රේෂකය සඳහා ය. මෙය UART පමණක් නොව සමමුහුර්ත ප්‍රොටෝකෝලයක් ද කළ හැකිය. සමමුහුර්තව දත්ත පමණක් නොව, සම්ප්‍රේෂණය කරන ඔරලෝසුවක් ද ඇත. සෑම බිට් එකකින්ම ඔරලෝසු ස්පන්දනයක් ග්‍රාහකයාට පවසන්නේ එය එම බිට් එක ඇලවිය යුතු බවයි. සමමුහුර්ත ප්‍රොටෝකෝලයන්ට මැන්චෙස්ටර් කේතීකරණයේදී මෙන් ඉහළ කලාප පළලක් අවශ්‍ය වේ, නැතහොත් එස්පීඅයි සහ අයි 2 සී වැනි ඔරලෝසුව සඳහා අමතර වයරයක් අවශ්‍ය වේ.

SPI (Serial Peripheral Interface) යනු තවත් ඉතා සරල අනුක්‍රමික ප්‍රොටෝකෝලයකි. ස්වාමියා ඔරලෝසු සං signal ාවක් යවන අතර, සෑම ඔරලෝසු ස්පන්දනයකදීම එය එක් දාසයෙකු දාසයාට මාරු කරයි. එබැවින් සං al ා නම් ඔරලෝසුව සඳහා SCK, මාස්ටර් අවුට් ස්ලේව් ඉන් සඳහා MOSI සහ මාස්ටර් ඉන් ස්ලේව් අවුට් සඳහා MISO වේ. SS (Slave Select) සං als ා භාවිතා කිරීමෙන් ස්වාමියාට බස් රථයේ එක් වහලෙකුට වඩා පාලනය කළ හැකිය. එක් ස්වාමියා සමඟ බහු වහල් උපාංග සම්බන්ධ කිරීමට ක්‍රම දෙකක් තිබේ, එකක් ඉහත සඳහන් කර ඇත, එනම් වහල් තේරීම භාවිතා කිරීම, සහ අනෙක ඩේසි දම්වැල, එය දෘඩාංග අල්මාරියක් (රේඛා තෝරන්න) භාවිතා කරයි, නමුත් මෘදුකාංග සංකීර්ණ වේ.

I2C(අන්තර්-ඒකාබද්ධ පරිපථය, "මම වර්ග සී" ලෙස උච්චාරණය කරනු ලැබේ) ද සමමුහුර්ත ප්‍රොටෝකෝලයක් වන අතර, එහි යම් "බුද්ධියක්" ඇති බව අප දකින පළමු අවස්ථාව මෙයයි; අනෙක් අය නිහතමානීව බිටු ඇතුළට සහ පිටතට මාරු කළ අතර එය එයයි. I2C භාවිතා කරන්නේ වයර් 2 ක් පමණි, එකක් ඔරලෝසුව සඳහා (SCL) සහ දත්ත සඳහා (SDA). ඒ කියන්නේ ස්වාමියා සහ දාසයා එකම වයරය හරහා දත්ත යවන අතර ඔරලෝසු සං .ාව නිර්මාණය කරන ස්වාමියා විසින් නැවත පාලනය කරයි. විශේෂිත උපාංගයක් තෝරා ගැනීම සඳහා I2C වෙනම වහල් තේරීම් භාවිතා නොකරයි, නමුත් ආමන්ත්‍රණය කරයි. ස්වාමියා විසින් එවන ලද පළමු බයිට් එකෙහි බිට් 7 ලිපිනයක් (ඔබට බස් රථයේ උපාංග 127 ක් භාවිතා කළ හැකිය) සහ කියවීමේ / ලිවීමේ බිට් එකක් ඇත, ඊළඟ බයිට් (ය) ද ස්වාමියාගෙන් පැමිණේද යන්න හෝ එයින් පැමිණිය යුතුද යන්න දක්වයි. දාසයා. එක් එක් බයිට් පසු, ලබන්නා විසින් බයිට් පිළිගැනීම පිළිගැනීමට "0" යැවිය යුතුය, ස්වාමියා 9 වන ඔරලෝසු ස්පන්දනය සමඟ සම්බන්ධ කරයි. ස්වාමියාට බයිට් එකක් ලිවීමට අවශ්‍ය නම්, එම ක්‍රියාවලියම පුනරාවර්තනය වේ: ස්වාමියා බස් රථයෙන් බිට් පසු ටිකක් තබන අතර දත්ත කියවීමට සුදානම් බවට සං signal ා කිරීම සඳහා සෑම අවස්ථාවකදීම ඔරලෝසු ස්පන්දනයක් ලබා දේ. ස්වාමියාට දත්ත ලැබීමට අවශ්‍ය නම් එය ජනනය කරන්නේ ඔරලෝසු ස්පන්දනය පමණි. ඔරලෝසු ස්පන්දනය ලබා දෙන විට ඊළඟ බිට් සූදානම් බව දාසයා සැලකිලිමත් විය යුතුය. මෙම ප්‍රොටෝකෝලය පේටන්ට් බලපත්ර ලබාගෙන ඇත්තේ බලපත්ර පිරිවැය ඉතිරි කර ගැනීම සඳහා, ඇට්මෙල් TWI (2-වයර් අතුරුමුහුණත) යන වචනය භාවිතා කරන අතර එය හරියටම I2C හා සමාන වේ, එබැවින් ඕනෑම AVR උපාංගයකට I2C නොමැති නමුත් එයට TWI ඇත. ස්වාමියාට දත්ත ලැබීමට අවශ්‍ය නම් එය ජනනය කරන්නේ ඔරලෝසු ස්පන්දනය පමණි. ඔරලෝසු ස්පන්දනය ලබා දෙන විට ඊළඟ බිට් සූදානම් බව දාසයා සැලකිලිමත් විය යුතුය. මෙම ප්‍රොටෝකෝලය පේටන්ට් බලපත්ර ලබාගෙන ඇත්තේ බලපත්ර පිරිවැය ඉතිරි කර ගැනීම සඳහා, ඇට්මෙල් TWI (2-වයර් අතුරුමුහුණත) යන වචනය භාවිතා කරන අතර එය හරියටම I2C හා සමාන වේ, එබැවින් ඕනෑම AVR උපාංගයකට I2C නොමැති නමුත් එයට TWI ඇත. ස්වාමියාට දත්ත ලැබීමට අවශ්‍ය නම් එය ජනනය කරන්නේ ඔරලෝසු ස්පන්දනය පමණි. ඔරලෝසු ස්පන්දනය ලබා දෙන විට ඊළඟ බිට් සූදානම් බව දාසයා සැලකිලිමත් විය යුතුය. මෙම ප්‍රොටෝකෝලය පේටන්ට් බලපත්ර ලබාගෙන ඇත්තේ බලපත්ර පිරිවැය ඉතිරි කර ගැනීම සඳහා, ඇට්මෙල් TWI (2-වයර් අතුරුමුහුණත) යන වචනය භාවිතා කරන අතර එය හරියටම I2C හා සමාන වේ, එබැවින් ඕනෑම AVR උපාංගයකට I2C නොමැති නමුත් එයට TWI ඇත.

එකම වයරය මත සං als ා දෙකක් හෝ වැඩි ගණනක් ගැටුම් ඇති කළ හැකි අතර, එක් උපාංගයක් "1" යවන අතර අනෙක් උපාංගය "0" යවන්නේ නම් ඔබට ගැටළුවක් ඇති වේ. එබැවින් බස් රථය වයර්-ඕර්ඩ්: ප්‍රතිරෝධක දෙකක් බස් රථය ඉහළ මට්ටමකට ඇද ගන්නා අතර උපාංග යවන්නේ අඩු මට්ටම් පමණි. ඔවුන්ට ඉහළ මට්ටමක් යැවීමට අවශ්‍ය නම් ඔවුන් සරලවම බස් රථය නිදහස් කරයි.

ටීටීඑල් (ට්‍රාන්සිස්ටර් ට්‍රාන්සිස්ටර් ලොජික්) ප්‍රොටෝකෝලයක් නොවේ. එය ඩිජිටල් තර්කනය සඳහා පැරණි තාක්‍ෂණයකි, නමුත් නම බොහෝ විට 5 V සැපයුම් වෝල්ටීයතාවයට යොමු කිරීම සඳහා භාවිතා කරයි, බොහෝ විට වැරදියට UART ලෙස හැඳින්විය යුතු දේ සඳහන් කරයි.


මේ සෑම එකක් ගැනම ඔබට පොතක් ලිවිය හැකි අතර, මම හොඳින් යන බව පෙනේ. මෙය ඉතා කෙටි දළ විශ්ලේෂණයක් පමණි, සමහර කරුණු පැහැදිලි කිරීමක් අවශ්‍ය දැයි අපට දන්වන්න.


+1 ටීටීඑල් මත පමණක්, මම අනුමාන කරන්නේ ඕපී යන්නෙන් අදහස් කරන්නේ අනුක්‍රමික ටීටීඑල් වන අතර මගේ අත්දැකීම් අනුව ආර්එස් 232 සම්ප්‍රේෂක / බස් ධාවකයට පෙර යූආර්ටී සං sign ා විස්තර කරයි.
කෙනී

4
En කෙනී - නමුත් "අනුක්‍රමික ටීටීඑල්" වැනි දෙයක් නොමැත. ඒ UART ය. වෝල්ටීයතාව 3.3 V නම් කුමක් කළ යුතුද? ටීටීඑල් හි සඳහන් වන්නේ 5 වී.
ස්ටීවන්ව්

මා කතා කරන්නේ එයයි, UART හි I / O බොහෝ විට මගේ අත්දැකීම් TTL Serial ලෙස හැඳින්වේ.
කෙනී

විස්මිත ප්‍රතිචාරය! මම එය තවත් කිහිප වතාවක් කියවා, මට ප්‍රශ්න ඇත්නම් ඔබට දන්වන්නෙමි. ස්තූතියි, ස්ටීවන්.
කැප්කොම්

8
වඩා හොඳ ඔට්ටු පසුව Uart වයස අවුරුදු සඳහා මාළු වනු :-)
Vaibhav Garg

11

අභිරුචි ප්‍රතිචාර සඳහා ප්‍රශ්න ඇසීමට වඩා ඔබ ලිපි කියවීමට වඩා හොඳ තැනක මෙය ඉතා ආසන්නය, නමුත් නිෂ්පාදකයා සමහර විට බොඳ කරන එක් ප්‍රධාන කරුණක් ආමන්ත්‍රණය කිරීම:

අනුක්‍රමික අතුරුමුහුණත් වල මූලික වර්ග දෙකක් තිබේ: සමමුහුර්ත සහ අසමමුහුර්ත.

සමමුහුර්ත අතුරුමුහුණත් වල පැහැදිලි වේලාවකට සාපේක්ෂව එහි වේලාව සමඟ දත්ත සම්ප්‍රේෂණය වන අතර එය ද සපයනු ලැබේ. මේ සඳහා හොඳම උදාහරණය SPI ය, නමුත් ශ්‍රව්‍ය පරිවර්තකයන් සඳහා I2S, JTAG, FPGA වින්‍යාස කිරීමේ අතුරුමුහුණත් වැනි විශේෂ ආකෘති ද ඇත. බොහෝ සමාන්තර සන්නිවේදන නාලිකා මෙම අදහස පමණක් වැඩි බිටු එකවර චලනය කිරීම දක්වා විහිදේ. බොහෝ විට නමුත් සෑම විටම මේවා වඩාත්ම වැදගත් බිට් පළමුව යවයි.

අසමමුහුර්ත අතුරුමුහුණත් වල දත්ත ප්‍රවාහයේම වේලාව කේතනය කර ඇත. "අනුක්‍රමික වරායන්" සහ RS232 වැනි ආශ්‍රිත ප්‍රමිතීන් සඳහා, වචනයේ වේලාව ආරම්භක බිටුවට සාපේක්ෂව වන අතර, ලබන්නා හුදෙක් නිවැරදි කාල පරතරයන්හි රේඛාව සාම්පල ලබා ගනී. වෙනත් අතුරුමුහුණත් ටිකක් සංකීර්ණ විය හැකි අතර අදියර අගුළු ලූප සහ ඇල්ගොරිතම භාවිතා කරමින් රසික ඔරලෝසු ප්‍රතිසාධනය අවශ්‍ය වේ. UART යනු “විශ්ව අසමමුහුර්ත ග්‍රාහක සම්ප්‍රේෂකය” - වචනවල දිග, අනුපාතය සහ ආරම්භක / අවසන් කොන්දේසි වලට යම් නම්‍යතාවයක් ඇති “අනුක්‍රමික වරායක්” ක්‍රියාත්මක කිරීම සඳහා බොහෝ විට භාවිතා වන ක්‍රියාකාරී කොටසක නමයි. RS232, RS422, වැනි දේ මේවායින් ඔබට ලැබෙන දත්තවල නොබැඳි විදුලි සං sign ා සඳහා වන ප්‍රමිති වේ - වෝල්ටීයතාව, තනි අන්තය හෝ අවකලනය, 1 ඉහළ හෝ අඩු නම් ආදිය.

"USART" යනු නීත්‍යානුකූල ව්‍යාකූලත්වයේ මූලාශ්‍රයක් විය හැකිය, එය එක්තරා ආකාරයක දෙමුහුන් උපාංගයක් වන අතර, "අන්වර්සල් සමමුහුර්ත / අසමමුහුර්ත ග්‍රාහක සම්ප්‍රේෂකය" අත්‍යවශ්‍යයෙන්ම, මෙය UART ලෙස බහුලව භාවිතා වන නමුත් එය වින්‍යාසගත කළ හැකිය දත්ත සමඟ සමමුහුර්ත කරන ලද වෙනම ඔරලෝසුවක් ජනනය කරන්න (හෝ සලකා බලන්න), සහ බිට් අනුපිළිවෙල ආපසු හැරවීමට හැකි වනු ඇත. එය සාමාන්‍යයෙන් එස්පීඅයි සමඟ අන්තර් ක්‍රියා කිරීමට වින්‍යාසගත කළ හැකි නමුත් බිටු ආරම්භ කිරීමට / නැවැත්වීමට වෙන් කළ කාලය ඉවත් කිරීමට එයට නොහැකි විය හැකි බැවින් වචන අතර හිඩැස් නොමැතිව දත්ත අඛණ්ඩව ගලා එනු ඇතැයි අපේක්ෂා කළ හැකි අයි 2 එස් වැනි දෙයක් සමඟ ක්‍රියා කිරීමට නොහැකි විය හැකිය.


ඉතා හොඳ පැහැදිලි කිරීමක් (Y) සාරාංශයට ආදරය කළා. Thankyou @chris
Avi Mehenwal

8

ආර්එස් -232 යනු මොඩම සහ ටෙලි ටයිප් සඳහා මුලින් භාවිතා කරන ලද ඉතා සරල අනුක්‍රමික ප්‍රොටෝකෝලයකි. එය සාමාන්‍යයෙන් අනුක්‍රමික වරායක් ලෙස හැඳින්වේ (හෝ MS-Windows හි COM port). රේඛාවේදී එය නාමිකව V 12V මට්ටම් භාවිතා කරයි, නමුත් අනාවරණය කිරීම V 3V හි නිශ්චිතව දක්වා ඇති බැවින් ඒවා පුළුල් ලෙස වෙනස් විය හැකිය. සෑම විටම රේඛීය ධාවකයක් ඇත (වර්තමානයේ සාමාන්‍යයෙන් MAX232 පවුලෙන්) මෙම මට්ටම් පරිගණකයක හෝ මයික්‍රොකොන්ට්‍රොලර්හි අභ්‍යන්තර ඩිජිටල් සං signal ා මට්ටම් වලට සහ ඉන් පිටතට පරිවර්තනය කරයි.

ටීටීඑල් යන්නෙන් අදහස් කරන්නේ ට්‍රාන්සිස්ටර්-ට්‍රාන්සිස්ටර්-ලොජික් වන අතර එහි තාර්කික ශුන්‍යය 0V ට ආසන්න වන අතර තාර්කික එකක් 5V ට ආසන්න වේ. වර්තමානයේ බොහෝ පරිපථ CMOS ලෙස ගොඩනගා ඇතත් බොහෝ විට ඕනෑම 5V තර්කනයක් TTL ලෙස හැඳින්වේ. අද වන විට 3.3V දී ක්‍රියා කරන බොහෝ පරිපථ ඇත, එය තවදුරටත් ටීටීඑල් නොවේ.

අභ්‍යන්තර මට්ටම් සම්බන්ධයෙන් ගත් කල, ආර්එස් -232 රේඛාවේ මට්ටම් ප්‍රතිලෝමව පවතී, + 12 වී තාර්කික අඩු අගයට අනුරූප වන අතර -12 වී තාර්කික ඉහළ අගයට අනුරූප වන අතර එය ව්‍යාකූල විය හැකිය.

දත්ත ආකෘතිය විස්තර කිරීම සඳහා සාමාන්‍යයෙන් තාර්කික සං .ාව පෙන්වයි. රේඛාව අක්‍රිය වූ විට එය ඉහළයි. සම්ප්‍රේෂණය ආරම්භ වන්නේ අඩු ආරම්භක බිට් එකකිනි, අවම වශයෙන් සැලකිය යුතු බිට් එකක් සහිත දත්ත බිටු, විකල්ප සමානාත්මතා බිට් සහ නැවතුම් බිටු 1 සිට 2 දක්වා (තාර්කික 1). ආරම්භක සහ නැවතුම් බිටු එක් එක් බයිටයේ දත්ත වෙන වෙනම සමමුහුර්ත කරන බැවින් මෙය අසමමුහුර්ත සම්ප්‍රේෂණය ලෙස හැඳින්වේ.

UART (Universal Asynchronous Receiver Transmitter) යනු පරිගණකයක හෝ ක්ෂුද්‍ර පාලකයේ ඇති උපාංගයක් වන අතර එය මේ ආකාරයේ අසමමුහුර්ත සන්නිවේදනයක් සිදු කරයි.

USART (Universal Asynchronous Synchronous Receiver Transmitter) යනු මීට අමතරව යම් ආකාරයක සමමුහුර්ත සම්ප්‍රේෂණයක් කළ හැකි උපකරණයකි, එබැවින් අතිරේක S. කුමන ආකාරයේ වෙනස් වේ ද යන්න ඔබ දත්ත පත්‍රිකාවේ සොයා බැලිය යුතුය.

SPI, I²C, සහ USB එකිනෙකට වෙනස් (සහ USB සම්බන්ධයෙන් ඉතා දිගු) කථා.


2

SPI සහ CAN ප්‍රොටෝකෝල ගැන සඳහන් කර ඇති දේ සමඟ මම එකඟ වෙමි. වඩා හොඳ කාර්ය සාධනය වැඩි දියුණු කිරීම සඳහා, CAN ප්රොටෝකෝලය නිර්මාණය කර ඇත. මෙම බේරුම්කරණ සංකල්පය තුළ උපාංග දෙකක් සන්නිවේදනය කිරීමට සුදානම් වන අතර ඒවායේ ප්‍රමුඛතාවය අනුව සම්ප්‍රේෂණය හෝ පිළිගැනීම සිදු වේ. බොහෝ කර්මාන්ත වල CAN බහුලව භාවිතා වේ.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.