480 likes | 790 Views
KONSEP KOMUNIKASI SERIAL. Pengantarmukaan Periferal Komputer. Antarmuka Kanal serial lebih kompleks/sulit dibandingkan dengan antarmuka melalui kanal, karcna :
E N D
KONSEP KOMUNIKASI SERIAL Pengantarmukaan PeriferalKomputer
Antarmuka Kanal serial lebih kompleks/sulit dibandingkan dengan antarmuka melalui kanal, karcna: • Dari Segiperangkatkeras: adanyaproseskonversi data pararelmenjadiserial atau sebaliknya menggunakan piranti tambahan yang disebut UART (Universal Asynchronous Receiver/Transmitter); 2. Dari Segiperangkatlunak: lebihbanyak register yang digunakanatauterlibat;
Kelebihan serial vs Paralel • Kabeluntukkomunikasi serial bisalebihpanjangdibandingkandenganparalel; data-data dalamkomunikasi serial dikirim-kanuntuklogika '1' sebagaitegangan -3 s/d -25 volt danuntuklogika '0' sebagaitegangan +3 s/d +25 volt, Dengandemikiantegangandalamkomunikasi serial memilikiayunanteganganmaksimum 50 volt, sedangkanpadakomunikasiparalelhanya 5 volt. Hal inimenyebabkangangguanpadakabel-kabelpanjanglebihmudahdiatasidibandingkanpadaparalel; 2. Jumlahkabel serial lebihsedikit; hanya 3 kabeluntukkonfigurasinull modem, yaitu TXD (salurankirim), RXD(saluranterima) dan Ground, jikadigunakanteknikparalelakanterdapat 20 – 25 kabel! Namunpadamasing-masingkomputerdengankomunikasi serial harusdibayar "biaya" antarmuka serial yang agaklebihmahal;
3. Banyaknyapirantisaatinimenggunakanteknologi infra merahuntukkomunikasi data; dalamhalinipengirimandatanyadilakukansecara serial. IrDA-1 (spesifikasi infra merahpertama) mampumengirimkan data denganlaju 115,2 kbps dandibantudenganpiranti UART, hanyapanjangpulsaberkurangmenjadi 3/16 daristandar RS-232 untukmenghematdaya; 4. Untukteknologiembedded system, banyakmikrokontroler yang dilengkapidengankomunikasi serial (baikseri RISC maupun CISC) atauSerial Communication Interface (SCI); denganadanya SCI yang terpadupada IC mikrokontrolerakanmengurangijumlah pin keluaran, sehinggahanyadibutuhkan 2 pin utamaTxDdanRxD (diluaracuanground).
TINJAUAN PERANGKAT KERAS Spesifikasi Perangkat Keras Piranti-piranti yang menggunakan komunikasi serial meliputi: • DTE = Data Terminal Equipment, yaitu komputer itu sendiri; • DCE = Data Communication Equipment, misalnya modem, plotter dan lain-lain;
parameter yang ditetapkan EIA (Electronics Industry Association) antara lain: • Sebuah 'spasi' (logika 0) antarategangan +3 s/d +25 volt; • Sebuah 'tanda' (logika 1) antarategangan -3 s/d -25 volt; • Daerah teganganantara +3 s/d -3 volt tidakdidefinisikan(undefined); • Teganganrangkaianterbukatidakbolehlebihdari 25 volt (denganacuanground)', • Arushubung-singkatrangkaiantidakbolehlebihdari 500 mA. Sebuahpenggerak(driver) harusmampumenanganiarusinitanpamengalamikerusakan.
PORT SERIAL • PORT Port adalah konektor, biasanya terdapat pada bagian belakang chasing komputer yang menghubungkan sistem komputer dengan device eksternal (contoh : printer, modem, joystick dan sebagainya) • PORT SERIAL Terdiri dari 9 atau 25 pin Biasanya digunakan untuk koneksi mouse atau modem. Port ini diberi nama COM1, COM2, dan seterusnya.port serial hanya dapat menerima atau membaca data satu persatu dalam ukuran 1 bit melalui satu kabel tunggal. Port serial lebih cocok untuk peralatan yang tidak banyak melakukan perpindahan data. Port serial popular digunakan oleh mouse dan keyboard.
Konfigurasi Null Modem • Konfigurasi Null Modem digunakanuntukmenghubungkandua DTE. • Dalamhalinihanyadibutuhkantigakabelantar DTE, yaituTxD, RxDdan Gnd. • Cara kerjanyacukupmudah: yaitubagaimanamembuatkomputer agar mengiradiaberkomunikasidengan modem (DCE) bukandengankomputerLainnya.
pengujian port serial bisadigunakankonfigurasiLoopback Plug • Jikaandamemasang plug inipadakomputerdenganperangkatlunak terminal (misalnyaHyperterminalpadaSistemOperasi Windows), makaapa yang Andaketikkan akan dimunculkan lagi (echoing).
LajuKecepatan DTE/DCE Lajukecepatanpengiriman data yang seringdibicarakanadalah • Iajukecepatan DTE ke DCE (antara PC dan modem ataudisebutjugasebagaiIajukecepatan terminal (terminal speed)) • Iajukecepatan DCE ke DCE (antar modem yang berkomunikasi atau disebut juga sebagai Iaju kecepatan jalur (line speed)). Jika menggunakan modem 28,8K atau 36,6K, maka artinya kecepatan ini mengacupadaIajukecepatan DCE ke DCE. Jikadigunakan UART 16550a, makaIajukecepatanmaksimumnyaadalah 115.200 bps, sedangkankebanyakanperangkatlunak yang digunakansaatinidigunakanuntukmengaturIajukecepatan DTE kc DCE.
Banyak modem saatiniberedardipasarandilengkapidenganfasilitaskompresi-dekompresi data. Biasanyarasionyasekitar 1:4 (untukberkasteks), dengandemikianjikadilakukan transfer data denganIaju 28,8K (DCE ke DCE), makaartinya modem tersebutmengirimkan data denganIaju 115,2Kbps (DTE ke DCE). Hal ini yang menyebabkanIaju DTE ke DCE bisa lebihbesardari DCE ke DCE.
Namun ada juga modem yang bisa melakukan kompresi hingga rasionya mencapai 1:8, sehingga kecepatan Iaju DTE ke DCE bisa mencapai 168.800 bps (modem <--> UART). Jika digunakan 16550a, yang kecepatannya maksimum hanya 115.200 bps, akan sia-sia saja, sehingga sebaiknya digunakan UART 16550c yang kecepatan pengiriman datanya bisa mencapai 230.400 bps.
KontrolAliran(Flow Control) JikaIajukecepatan DTE ke DCE lebihcepatdibandingkandengan DCE ke DCE, lambat-launakanmenyebabkankehilangan data (terjadibuffer overflow), dengandemikiandibutuhkankontrolaliranbaiksecaraperangkat lunak maupun perangkat keras. Kontrolaliranmelaluiperangkatlunak yang biasadigunakanadalah Xon/Xoff, yaitudengancaramengirimkankarakterXon (ascii 17) danXoff (ascii19) yang masing-masingmembutuhkanpanjang data terkirim total 10 bit, sehinggaakibatnyaakanmemperlambatlajukecepatan, namundarisisiperangkatkerastidakmenambahjumlahkabel serial. KarakterXondigunakansebagaitandabahwa modem siapuntukmenerima data berikutnya, KarakterXoffdigunakansebagaisinyaluntukmenghentikanpengiriman data darikomputer.
Lanjutan Flow Control Sedangkan kontrol aliran melalui perangkat keras menggunakan sinyal RTS (Request To Send)danCTS (Clear To Send), sehinggadalamhaliniperluditambahkandua kabel lagi namun dari sisi perangkat lunak tidak dibutuhkan tambahan bit, sehinggatidakakanmenurunkanlajukecepatan. Padasaatkomputeringinmengirimkan data makaakandiaktifkansinyal RTS, jika modem masihmemilikiruangpenyimpansementara(buffer), maka modem akanmengirimkanjawabanberupasinyal CTS.
Teknik Komunikasi Serial • Komunikasi data serial secarasinkronadalahmerupakanbentukkomunikasi data serial yang memerlukansinyal clock untuksinkronisasidimanasinyal clock tersebutakantersulutpadasetiap bit pengiriman data. 2. Komunikasiasinkrontidakmemerlukansinyal clock sebagaisinkronisasi. Pengiriman data padakomunikasi serial dilakukanmulaidari start bit yaitu bit yang paling rendah (LSB) hingga stop bit yaitu bit yang paling tinggi (MSB).
secara umum bentuk gelombang informasi untuk komunukasi serial terlihat seperti gambar diatas format 8N1, yaitu 8-bit data, tanpa parity, 1 stop bit. Pada keadaan idle atau menganggur, jalur RS-232 ditandai dengan mark state atau Logika HIGH. Pengiriman data diawali dengan start bit yang berlogika 0 atau LOW, berikutnya data dikirimkan bit demi bit mulai dari LSB (Least Significant Bit) atau bit ke-0. Pengiriman setiap byte diakhiri dengan stop bit yang berlogika HIGH.
Gambar diatas memperlihatkan kondisi LOW setelah stop bit, ini adalah start bit yang menandakan data berikutnya akan dikirimkan. Jika tidak ada lagi data yang ingin dikirim, maka jalur transmisi ini akan dibiarkan dalam keadaan HIGH. ‘Break Signal’, yaitu keadaan LOW yang lamanya cukup untuk mengirimkan 8-bit data. Data yang dikirimkan dengan cara seperti pada gambar dia atas ini disebut data yang terbingkai (to be framed) oleh start dan stop bit. Jika stop bit dalam keadaan LOW, berarti telah terjadi framing error. Biasanya hal ini terjadi karena perbedaan kecepatan komunikasi antara pengirim dengan penerima.
UART (8250 dan Kompatibelnya)
UART adalah kependekan dari Universal Asynchronous Receiver/Transmitter yaitu sebuah chip dalam port serial yang berfungsi untuk mengubah data paralel dari PC menjadi data serial untuk pengiriman dan sebaliknya juga untuk penerimaan data. UART memiliki beberapa tipe di antaranya: UART Tipe 8250, UART Tipe 16450, UART Tipe 16550, dll.
Tipe UART 8250 atau 16450 tak dapat menghandle modem berkecepatan tinggi dan berkinerja rendah serta sering error dikarenakan data yang overwrite. Sedangkan UART 16550 baru akan bekerja pada kecepatan 57,6 Kbps atau lebih tinggi dan memiliki sebuah buffer sebesar 16 byte.
IC Keping 16550 merupakan kompatibelnya 8250 dan 16450, perbedaannya terletak pada pin 24 dan 29:
Pada 16550 terdapat sinyalTXRDY (Transmit Ready) dan RXRDY (Receive Ready) yang dapat digunakan untuk implementasi DMA (Direct Memory Access) dengan dua mode kerja (operasional): 1. Mode 0 - Single Transfer DMA: lebih dikenal juga dengan mode 16450, mode ini diaktifkan dengan cara menon-aktifkan FIFO (bit-0 FCR = 0) atau dengan mengaktifkan FIFO dan pemilih mode DMA (bit-3 FCR = 1). Sinyal RXRDY akan aktif (rendah) jika ada (minimal) sebuah karakter pada penyangga penerima dan akan kembali non-aktif (tinggi) jika tidak ada satupun karakter pada penyangga penerima, sedangkan sinyal TXRDY akan aktif jika penyangga pengirim kosong sama sekali dan akan kembali non-aktif (tinggi) setelah karakter 1 byte pertamadiisikan ke penyangga pengirim.
2. Mode 1 - Multi Transfer DMA: dipilih dengan syarat FCR bit-0 = 1 dan FCR bit-3 - 1. Pada mode ini, sinyal RXRDY akan aktif (rendah) jika telah tercapai tingkat picuan (trigger level} atau saat munculnya time-out 16550 dan akan kembali non-aktif jika sudah tidak ada satupun karakter yang tersimpan dalam FIFO. Sinyal TXRDY akan aktif (rendah) jika tidak ada karakterpun pada penyangga pengirim dan akan non-aktif jika penyangga pengirim FIFO sudah betul-betul penuh.
Semua chip UART kompatibel dengan TTL (termasuk sinyal TxD, RxD, RI, DCD, DTS, CTS, DTR dan RTS), yang bertegangan dari 0 s/d 5 Volt. dengan demikian diperlukan konverter tingkat RS232 (RS232 level converter) yang berfungsi untuk mengkonversi sinyal TTL menjadi logika tingkat RS232. UART juga membutuhkan clock untuk operasionalnya, biasanya dibutuhkan kristal eksternal dengan frekuensi 1,8432 MHz. UART menyediakan pencacah pembagi 16 (divide by 16) yang akan membagi frekuensi masukan dengan 16. Dengan demikian, jika frekuensi kristalnya 1,8432 MHz, maka frekuensi kerjanya adalah 115.200 Hz (mampu mengirim dan menerima engan laju kecepatan 115.200 bps). Laju kecepatan ini tidak cocok untuk berbagai macam alat, dengan demikian digunakan Pembangkit Baud Rate terprogram (terdiri dari 2 register).
Misalnya diinginkan kecepatan 2.400 bps maka 115.200 harus dibagi 48 supaya menghasilkan nilai 2.400 Hz. • Angka 48d ~~ 30h dianggap sebagai "Pembagi" atau "Divisor“ dan disimpan dalam dua register yaitu • Register DLL (Divisor Latch Low Byte) dan • Register DLH (Divisor Latch High Byte). Untuk angka pembagi yg lain dapat dilihat tabel berikut ini.
REGISTER-REGISTER UART • Interupsi RDA terjadi jika register penerima (FIFO) berisi data yang akan dibaca CPU. • Interupsi THRE terjadi saat penyangga pengirim kosong, • interupsi RLS terjadi jika ada perubahan pada status jalur penerimaan (receiver line status), • interupsi MS akan diaktifkan jika ada perubahan pada status modem.
Register IIR merupakan register hanya-baca(read only). • Bit 6 dan 7 untukmenentukanpakai/tidaknya FIFO. • Bit-0 digunakanuntukmemberitahukanadaatautidaknyainterupsi, • Bit 1 dan 2 untuk status Interupsisesuaitabel IER
Register LSR bersifat hanya-baca. • Jika bit-6=l, baik register Transmitter Holding (THR) dan register geser kosong, berarti tidak ada proses serial, artinya tidak ada aktivitas sama sekali pada jalur pengiriman data. • Sedangkan jika bit-5=l, hanya THR saja yang kosong, jadi data byte berikutnya dapat dikirim ke kanal data dan register geser masih tetap bekerja. • Interupsi break (bit-4) muncul saat jalur penerimaan data ditahan pada kondisi logika '0’.
Beberapa kesalahan lain bisa muncul sesuai kondisi berikut: • Framing error (bit-3) terjadi jika saat bit terakhir yang terkirim bukan suatu bit stop hal ini bisa disebabkan karena kesalahan pewaktuan (timing error}; • Overrun error (bit-1) terjadi saat program Anda (komputer) tidak cukup cepat untuk membaca dari kanal serial; • Sedangkan Data ready (bit-0) akan sama dengan 1 jika ada sebuah byte yang diterima oleh UART dan penyangga penerima siap untuk dibaca.