- Jenis Protokol Komunikasi
- Mod Penghantaran dalam Komunikasi Bersiri
- Penyegerakan Jam
- Syarat lain yang berkaitan dengan Komunikasi Bersiri
- Protokol Bersiri segerak
- Protokol Bersiri Asinkron
- Kesimpulannya
Sebelum memulakan dengan Protokol Komunikasi Bersiri, Mari kita memecahkan terminologi dalam tiga bahagian. The komunikasi sangat terkenal istilah yang melibatkan pertukaran maklumat antara dua atau lebih media. Dalam sistem tertanam, komunikasi bermaksud pertukaran data antara dua mikrokontroler dalam bentuk bit. Pertukaran bit data dalam mikrokontroler ini dilakukan oleh beberapa set peraturan yang ditentukan yang dikenali sebagai protokol komunikasi. Sekarang jika data dihantar secara bersiri iaitu satu demi satu maka protokol komunikasi dikenali sebagai Protokol Komunikasi Bersiri. Lebih khusus lagi, bit data dikirim satu demi satu secara berurutan melalui saluran data atau saluran komunikasi dalam Komunikasi Bersiri.
Jenis Protokol Komunikasi
Terdapat pelbagai jenis pemindahan data yang terdapat dalam elektronik digital seperti komunikasi bersiri dan komunikasi selari. Begitu juga protokol yang terbahagi kepada dua jenis seperti Protokol Komunikasi Bersiri dan Protokol Komunikasi Selari. Contoh Protokol Komunikasi Selari adalah ISA, ATA, SCSI, PCI dan IEEE-488. Begitu juga terdapat beberapa contoh Protokol Komunikasi Bersiri seperti CAN, ETHERNET, I2C, SPI, RS232, USB, 1-Wire, dan SATA dll.
Dalam artikel ini, pelbagai jenis Protokol Komunikasi Bersiri akan dibincangkan. Komunikasi bersiri adalah pendekatan yang paling banyak digunakan untuk memindahkan maklumat antara periferal pemprosesan data. Setiap peranti elektronik sama ada Komputer Peribadi (PC) atau Mudah Alih menggunakan komunikasi bersiri. Protokol adalah bentuk komunikasi yang aman dan boleh dipercayai yang mempunyai sekumpulan peraturan yang ditangani oleh host sumber (pengirim) dan host tujuan (penerima) yang serupa dengan komunikasi selari.
Mod Penghantaran dalam Komunikasi Bersiri
Seperti yang telah disebutkan di atas bahawa dalam data komunikasi bersiri dihantar dalam bentuk bit iaitu denyut binari dan sudah diketahui bahawa, binari satu mewakili logik TINGGI dan sifar mewakili logik RENDAH. Terdapat beberapa jenis komunikasi bersiri bergantung pada jenis mod penghantaran dan pemindahan data. Mod penghantaran diklasifikasikan sebagai Simplex, Half Duplex dan Full Duplex.
Kaedah Simplex:
Dalam kaedah simplex salah satu medium iaitu pengirim atau penerima boleh aktif dalam satu masa. Jadi jika pengirim menghantar data maka penerima hanya dapat menerima dan sebaliknya. Jadi kaedah simplex adalah teknik komunikasi sehala. Contoh kaedah simplex yang terkenal ialah Televisyen dan Radio.
Kaedah Separuh Dupleks:
Dalam kaedah half duplex, pengirim dan penerima boleh aktif tetapi tidak pada masa yang sama. Oleh itu, jika pengirim menghantar, penerima boleh menerima tetapi tidak dapat menghantar dan sebaliknya. Contoh-contoh separuh dupleks yang terkenal ialah internet di mana pengguna menghantar permintaan untuk data dan mendapatkannya dari pelayan.
Kaedah Dupleks Penuh:
Dalam kaedah dupleks penuh, kedua-dua penerima dan pemancar dapat menghantar data satu sama lain pada masa yang sama. Contoh yang terkenal ialah telefon bimbit.
Selain itu, untuk penghantaran data yang sesuai, jam memainkan peranan penting dan ia adalah salah satu sumber utama. Kerosakan jam mengakibatkan penghantaran data yang tidak dijangka malah kadangkala kehilangan data. Jadi, penyegerakan jam menjadi sangat penting ketika menggunakan komunikasi bersiri.
Penyegerakan Jam
Jam berbeza untuk peranti bersiri dan dikelaskan dalam dua jenis iaitu. Antara Muka Bersiri Segerak dan Antara Muka Bersiri Asinkron.
Antara Muka Serial segerak:
Ini adalah sambungan dari titik ke titik dari tuan ke hamba. Dalam jenis antara muka ini, semua peranti menggunakan bus CPU tunggal untuk berkongsi data dan jam. Penghantaran data menjadi lebih pantas dengan bas yang sama untuk berkongsi jam dan data. Juga tidak terdapat ketidakcocokan dalam kadar baud di antara muka ini. Di sisi pemancar, terdapat pergeseran data ke garis bersiri yang menyediakan jam sebagai isyarat yang terpisah kerana tidak ada bit permulaan, berhenti dan paritas ditambahkan ke data. Di sisi penerima, data sedang diekstrak menggunakan jam yang disediakan oleh pemancar dan mengubah data bersiri kembali ke bentuk selari. Contoh yang terkenal ialah I2C dan SPI.
Antara muka bersiri tak segerak:
Dalam antara muka bersiri tak segerak, isyarat jam luaran tidak ada. Antaramuka Serial Asinkron dapat dilihat pada kebanyakan aplikasi jarak jauh dan sesuai untuk komunikasi yang stabil. Dalam Antarmuka Bersiri tak segerak, ketiadaan Sumber Jam luaran menjadikannya bergantung pada beberapa parameter seperti Data Flow Control, Error Control, Baud Rate Control, Transmission Control dan Reception Control. Di sisi pemancar, terdapat peralihan data selari ke saluran bersiri menggunakan jamnya sendiri. Ia juga menambah bit permulaan, berhenti dan pariti. Di sisi penerima, penerima mengekstrak data menggunakan jam sendiri dan menukar data bersiri kembali ke bentuk selari setelah melepaskan bit permulaan, berhenti, dan pariti. Contoh yang terkenal ialah RS-232, RS-422 dan RS-485.
Syarat lain yang berkaitan dengan Komunikasi Bersiri
Selain daripada Jam Sinkronisasi ada perkara-perkara tertentu yang perlu diingat ketika memindahkan data secara bersiri seperti Baud Rate, pemilihan bit data (Framing), Synchronization dan error check. Mari kita bincangkan syarat-syarat ini secara ringkas.
Baud Rate: Baud rate adalah kadar di mana data dipindahkan antara pemancar dan penerima dalam bentuk bit per saat (bps). Kadar baud yang paling biasa digunakan adalah 9600. Tetapi ada pilihan lain dari kadar baud seperti 1200, 2400, 4800, 57600, 115200. Semakin tinggi kadar baud data akan dipindahkan pada satu masa. Juga untuk komunikasi data, kadar baud harus sama untuk pemancar dan penerima.
Pembingkaian: Pembingkaian merujuk kepada jumlah bit data yang akan dikirim dari pemancar ke penerima. Jumlah bit data berbeza sekiranya berlaku. Sebilangan besar aplikasi menggunakan 8 bit sebagai bit data standard tetapi ia juga boleh dipilih sebagai 5, 6 atau 7 bit.
Penyegerakan: Bit Penyegerakan penting untuk memilih sebahagian data. Ia memberitahu permulaan dan akhir bit data. Pemancar akan menetapkan bit permulaan dan berhenti ke kerangka data dan penerima akan mengenalinya dengan sewajarnya dan melakukan pemprosesan selanjutnya.
Ralat Ralat: Ralat kawalan memainkan peranan penting semasa komunikasi bersiri kerana terdapat banyak faktor yang mempengaruhi dan menambahkan kebisingan dalam komunikasi bersiri. Untuk menghilangkan ralat ini, bit parity digunakan di mana parity akan memeriksa parity genap dan ganjil. Oleh itu, jika kerangka data mengandungi bilangan genap 1, maka ia dikenali sebagai pariti genap dan bit paritas dalam daftar ditetapkan ke 1. Begitu juga jika bingkai data mengandungi bilangan ganjil 1, maka ia dikenali sebagai pariti ganjil dan membersihkan bit pariti ganjil dalam daftar.
Protokol sama seperti bahasa umum yang digunakan sistem untuk memahami data. Seperti yang dijelaskan di atas, protokol komunikasi bersiri dibahagikan kepada jenis iaitu Synchronous dan Asynchronous. Sekarang kedua-duanya akan dibincangkan secara terperinci.
Protokol Bersiri segerak
Yang jenis segerak protokol bersiri seperti SPI, I2C, boleh dan LIN digunakan dalam projek-projek yang berbeza kerana ia adalah salah satu sumber yang terbaik untuk peralatan di atas kapal. Juga ini adalah protokol yang banyak digunakan dalam aplikasi utama.
Protokol SPI
Serial Peripheral Interface (SPI) adalah antara muka segerak yang membolehkan beberapa mikrokontroler SPI saling berkaitan. Di SPI, kabel berasingan diperlukan untuk data dan garis jam. Jam juga tidak termasuk dalam aliran data dan mesti dilengkapi sebagai isyarat yang berasingan. SPI boleh dikonfigurasi sama ada sebagai tuan atau sebagai hamba. Empat isyarat SPI asas (MISO, MOSI, SCK dan SS), Vcc dan Ground adalah bahagian komunikasi data. Oleh itu, ia memerlukan 6 wayar untuk menghantar dan menerima data dari hamba atau tuan. Secara teorinya, SPI boleh mempunyai bilangan hamba yang tidak terhad. Komunikasi data dikonfigurasi dalam daftar SPI. SPI dapat memberikan kelajuan hingga 10Mbps dan sangat sesuai untuk komunikasi data berkelajuan tinggi.
Sebilangan besar pengawal mikro mempunyai sokongan dalaman untuk SPI dan boleh disambungkan secara langsung peranti yang disokong SPI:
- Komunikasi SPI dengan PIC Microcontroller PIC16F877A
- Cara Menggunakan Komunikasi SPI dalam Mikrokontroler STM32
- Cara menggunakan SPI di Arduino: Komunikasi antara dua Papan Arduino
Komunikasi Bersiri I2C
Komunikasi dua baris litar bersepadu (I2C) antara IC atau modul yang berlainan di mana dua baris adalah SDA (Serial Data Line) dan SCL (Serial Clock Line). Kedua-dua saluran mesti disambungkan ke bekalan positif menggunakan resistor penarik. I2C dapat memberikan kelajuan hingga 400Kbps dan ia menggunakan sistem pengalamatan 10 bit atau 7 bit untuk menargetkan peranti tertentu pada bus i2c sehingga dapat menghubungkan hingga 1024 perangkat. Ia mempunyai komunikasi panjang yang terhad dan sangat sesuai untuk komunikasi di atas kapal. Rangkaian I2C mudah disiapkan kerana hanya menggunakan dua wayar dan peranti baru hanya dapat dihubungkan ke dua jalur bas I2C biasa. Sama seperti SPI, mikrokontroler umumnya mempunyai pin I2C untuk menyambungkan sebarang peranti I2C:
- Cara menggunakan Komunikasi I2C dalam Mikrokontroler STM32
- Komunikasi I2C dengan PIC Microcontroller PIC16F877
- Cara menggunakan I2C di Arduino: Komunikasi antara dua Papan Arduino
USB
USB (Universal Serial Bus) adalah protokol secara meluas dengan versi dan kelajuan yang berbeza. Maksimum 127 periferal boleh disambungkan ke pengawal hos USB tunggal. USB bertindak sebagai peranti "pasang dan mainkan". USB digunakan di hampir semua peranti seperti papan kekunci, pencetak, peranti media, kamera, pengimbas dan tetikus. Ia direka untuk pemasangan yang mudah, nilai data lebih cepat, kurang pemasangan kabel dan pertukaran panas. Ia telah menggantikan port bersiri dan selari yang lebih besar dan perlahan. USB menggunakan isyarat pembezaan untuk mengurangkan gangguan dan membenarkan penghantaran berkelajuan tinggi dalam jarak jauh.
Bas pembeza dibina dengan dua wayar, salah satunya mewakili data yang dihantar dan yang lain sebagai pelengkap. Ideanya adalah bahawa voltan 'rata-rata' pada wayar tidak membawa sebarang maklumat, menyebabkan gangguan kurang. Dalam USB, peranti dibenarkan untuk menarik sejumlah daya tanpa meminta tuan rumah. USB hanya menggunakan dua wayar untuk pemindahan data dan lebih pantas daripada antara muka bersiri dan selari. Versi USB menyokong kelajuan yang berbeza seperti 1.5Mbps (USB v1.0), 480 Mbps (USB2.0), 5Gbps (USB v3.0). Panjang kabel USB individu boleh mencapai hingga 5 meter tanpa hub dan 40 meter dengan hub.
BOLEH
Rangkaian Kawasan Pengawal (CAN) digunakan dalam automotif untuk membolehkan komunikasi antara ECU (Unit Kawalan Mesin) dan sensor. Protokol CAN kuat, murah dan berdasarkan mesej dan merangkumi banyak aplikasi - contohnya kereta, trak, traktor, robot industri. Sistem bas CAN membolehkan diagnosis dan konfigurasi ralat pusat di semua ECU. Mesej CAN diutamakan melalui ID sehingga ID keutamaan tertinggi tidak terganggu. Setiap ECU mengandungi cip untuk menerima semua mesej yang dihantar, memutuskan kesesuaian dan bertindak dengan sewajarnya - ini memungkinkan pengubahsuaian dan penyertaan simpul tambahan yang mudah (contohnya penanda data bas CAN). Aplikasi tersebut merangkumi permulaan / berhenti kenderaan, sistem penghindaran perlanggaran. Sistem bas CAN dapat memberikan kelajuan hingga 1Mbps.
Kawat Mikro
MICROWIRE adalah antara muka wayar 3Mbps bersiri 3Mbps pada dasarnya merupakan subset antara muka SPI. Microwire adalah port I / O bersiri pada mikrokontroler, jadi bas Microwire juga akan dijumpai di EEPROM dan cip Periferal lain. 3 baris tersebut ialah SI (Serial Input), SO (SerialOutput) dan SK (Serial Clock). Garis Serial Input (SI) ke mikrokontroler, SO adalah garis output bersiri, dan SK adalah garis jam bersiri. Data dialihkan ke pinggir SK yang jatuh, dan dinilai di tepi yang naik. SI dialihkan ke tepi SK yang naik. Peningkatan bas tambahan untuk MICROWIRE disebut MICROWIRE / Plus. Perbezaan utama antara kedua-dua bas nampaknya seni bina MICROWIRE / Plus dalam mikrokontroler lebih kompleks. Ia menyokong kelajuan hingga 3Mbps.
Protokol Bersiri Asinkron
Jenis protokol bersiri tidak segerak sangat penting untuk pemindahan data yang boleh dipercayai jarak jauh. Komunikasi tak segerak tidak memerlukan jam masa yang biasa untuk kedua-dua peranti. Setiap peranti secara bebas mendengar dan menghantar denyutan digital yang mewakili bit data pada kadar yang dipersetujui. Komunikasi bersiri tak segerak kadang-kadang disebut sebagai siri Transistor-Transistor Logic (TTL), di mana tahap voltan tinggi adalah logik 1, dan voltan rendah menyamai logik 0. Hampir setiap pengawal mikro di pasaran hari ini mempunyai sekurang-kurangnya satu Penerima Asinkron Sejagat- Pemancar (UART) untuk komunikasi bersiri. Contohnya ialah RS232, RS422, RS485 dll.
RS232
RS232 (Standard 232 yang Disarankan) adalah protokol yang sangat biasa digunakan untuk menyambungkan periferal yang berbeza seperti Monitor, CNC dll. RS232 terdapat dalam penyambung lelaki dan wanita. RS232 adalah topologi titik-ke-titik dengan maksimum satu peranti disambungkan dan meliputi jarak hingga 15 meter pada 9600 bps. Maklumat mengenai antara muka RS-232 dihantar secara digital dengan logik 0 dan 1. Logik "1" (MARK) sepadan dengan voltan dalam julat dari -3 hingga -15 V. Logik "0" (RUANG) sesuai dengan voltan dalam julat dari +3 hingga +15 V. Ia datang dalam penyambung DB9 yang mempunyai 9 pinout seperti TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND.
RS422
RS422 serupa dengan RS232 yang memungkinkan untuk menghantar dan menerima mesej secara serentak pada baris yang terpisah tetapi menggunakan isyarat pembezaan untuk ini. Di rangkaian RS-422, hanya ada satu perangkat pemancar dan hingga 10 perangkat penerima. Kecepatan pemindahan data dalam RS-422 bergantung pada jarak dan dapat bervariasi dari 10 kbps (1200 meter) hingga 10 Mbps (10 meter). Jalur RS-422 adalah 4 wayar untuk penghantaran data (2 wayar terpelintir untuk penghantaran dan 2 wayar terpelintir untuk menerima) dan satu wayar ground GND biasa. Voltan pada garis data boleh berada dalam julat dari -6 V hingga +6 V. Perbezaan logik antara A dan B lebih besar daripada +0.2 V. Logik 1 sepadan dengan perbezaan antara A dan B kurang dari -0.2 V. Piawai RS-422 tidak menentukan jenis penyambung tertentu, biasanya ia boleh menjadi blok terminal atau penyambung DB9.
RS485
Oleh kerana RS485 menggunakan topologi pelbagai titik, ia paling banyak digunakan dalam industri dan merupakan protokol pilihan industri. RS422 dapat menghubungkan pemacu 32 baris dan 32 penerima dalam konfigurasi yang berbeza tetapi dengan bantuan pengulang tambahan dan penguat isyarat sehingga 256 peranti. RS-485 tidak menentukan jenis penyambung tertentu, tetapi selalunya blok terminal atau penyambung DB9. Kelajuan operasi juga bergantung pada panjang garisan dan boleh mencapai 10 Mbit / s pada 10 meter. Voltan pada talian berkisar antara -7 V hingga +12 V. Terdapat dua jenis RS-485 seperti mod dupleks separuh RS-485 dengan 2 kenalan dan mod dupleks penuh RS-485 dengan 4 kenalan. Untuk mengetahui lebih lanjut mengenai penggunaan RS485 dengan pengawal mikro lain, periksa pautan:
- Komunikasi Bersiri MODBUS RS-485 menggunakan Arduino UNO sebagai Slave
- Komunikasi Bersiri RS-485 antara Raspberry Pi dan Arduino Uno
- Komunikasi Bersiri RS485 antara Arduino Uno dan Arduino Nano
- Komunikasi Bersiri antara STM32F103C8 dan Arduino UNO menggunakan RS-485
Kesimpulannya
Serial Communication adalah salah satu sistem antara muka komunikasi yang banyak digunakan dalam elektronik dan sistem embedded. Kadar data boleh berbeza untuk aplikasi yang berbeza. Protokol Komunikasi Bersiri dapat memainkan peranan penting ketika berurusan dalam aplikasi seperti ini. Oleh itu, memilih protokol Serial yang betul menjadi sangat penting.