2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic...

31
7 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic Controller ( PLC ) Kemajuan teknologi yang berkembang pesat dewasa ini mengakibatkan industri sebagai produsen/penghasil barang menggunakan cara-cara otomasi untuk meningkatkan jumlah barang yang diproduksinya secara efektif dan efisien. Dan sebagai peralatan kontrol otomatis adalah PLC yang sekarang banyak digunakan. Nama PLC diberikan oleh sebuah asosiasi yang bernama National Electrical Manufacture Association (NEMA) pada tahun 1978. PLC adalah sebuah relay elektronik yang dioperasikan secara digital menggunakan memory yang dapat diprogram sebagai tempat penyimpanan instruksi-instruksi untuk mengimplementasikan fungsi-fungsi seperti operasi logika, operasi sekuensial, pewaktuan (timing), pencacah (counter) sampai pengendali aritmatika. (Willhelm, 1992, p.7-8). PLC pertama kali digunakan sekitar tahun 1960-an untuk menggantikan peralatan konvensional yang begitu banyak. Perkembangan PLC saat ini sangat pesat sehingga bentuk dan ukurannya semakin kecil.

Transcript of 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic...

Page 1: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

7

2 BAB 2

LANDASAN TEORI

2.1 Programmable Logic Controller ( PLC )

Kemajuan teknologi yang berkembang pesat dewasa ini mengakibatkan

industri sebagai produsen/penghasil barang menggunakan cara-cara otomasi untuk

meningkatkan jumlah barang yang diproduksinya secara efektif dan efisien. Dan

sebagai peralatan kontrol otomatis adalah PLC yang sekarang banyak digunakan.

Nama PLC diberikan oleh sebuah asosiasi yang bernama National Electrical

Manufacture Association (NEMA) pada tahun 1978. PLC adalah sebuah relay

elektronik yang dioperasikan secara digital menggunakan memory yang dapat

diprogram sebagai tempat penyimpanan instruksi-instruksi untuk

mengimplementasikan fungsi-fungsi seperti operasi logika, operasi sekuensial,

pewaktuan (timing), pencacah (counter) sampai pengendali aritmatika. (Willhelm,

1992, p.7-8).

PLC pertama kali digunakan sekitar tahun 1960-an untuk menggantikan

peralatan konvensional yang begitu banyak. Perkembangan PLC saat ini sangat

pesat sehingga bentuk dan ukurannya semakin kecil.

Page 2: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

8

2.1.1 Arsitektur PLC

PLC biasanya terdiri dari 4 bagian utama yaitu pusat pemrosesan data (data

process center), modul masukan/keluaran (input/output module), pemrograman

(programmer), dan catu daya (power supply), seperti yang ditunjukkan pada

Gambar 2.1.

Gambar 2.1 Elemen-elemen dasar PLC

2.1.2 Komponen Internal PLC

PLC biasanya terdiri dari sebuah CPU, area memori, dan rangkaian untuk

menerima data masukan/keluaran (input/output). Gambar 2.2 menggambarkan PLC

sebagai sebuah kotak, yang terdiri dari ratusan atau ribuan relay yang terpisah ,

pencacah (counter), timer dan tempat penyimpanan data. Relay-relay ini

disimulasikan melalui lokasi bit dalam register.

Page 3: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

9

Gambar 2.2 Komponen PLC

Fungsi masing-masing bagian tersebut adalah :

1. Relay Masukan (Input Relay)

Bagian ini terhubung langsung dengan dunia luar. Relay masukan ada

secara fisik dan menerima sinyal dari saklar ( switch ), sensor, dan lain-lain.

Sebenarnya relay masukkan bukanlah relay dalam arti sebenarnya, melainkan

transistor yang difungsikan sebagai relay.

2. Internal Utility Relay

Bagian ini secara fisik tidak ada dan tidak menerima sinyal dari dunia luar.

Bagian ini merupakan simulasi dari fungsi sebuah relay dengan tujuan untuk

mengurangi relay eksternal.

Page 4: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

10

3. Pencacah (Counter)

Bagian ini tidak memiliki bentuk fisik karena merupakan sebuah simulasi.

Pencacah diprogram untuk menghitung pulsa (clock) yang masuk . Dikarenakan

bagian ini hanya sebuah simulasi, kecepatan berhitungnya terbatas.

4. Timer

Bagian ini tidak memiliki bentuk fisik karena merupakan sebuah simulasi.

Timer memiliki banyak jenis dan increment. Jenis timer yang paling sering

dijumpai adalah jenis ON-delay, selain itu jenis lainnya adalah OFF-delay. Jenis

increment-nya bervariasi dari 1 milidetik sampai 1 detik.

5. Relay Keluaran (Output Relay)

Bagian ini memiliki bentuk fisik dan terhubung dengan dunia luar relay

keluaran mengirim sinyal aktif/non-aktif (ON/OFF) ke beban seperti lampu,

solenoid, dan lain-lain. Relay keluaran dapat berupa transistor, relay, ataupun triac,

tergantung dari model yang dipilih.

6. Penyimpan Data

Bagian ini mempunyai register yang berfungsi untuk mempermudah

penyimpan data. Penyimpan data digunakan sebagai tempat penyimpanan

sementara dari hasil perhitungan atau manipulasi data. Selain itu, juga dapat

digunakan untuk menyimpan data ketika cattu daya (power) PLC dimatikan.

Page 5: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

11

2.1.3 Operasi PLC

PLC bekerja dengan cara menelusuri (scanning) program yang sudah

dimasukkan sebelumnya. Siklus penelusuran biasanya lebih dari 3 tahap, tetapi

difokuskan pada bagian yang penting saja. Bagian-bagian lainnya hanya memeriksa

sistem dan memperbaharui pencacah internal (updating internal counter) dan nilai

timer. Berikut adalah 3 tahap penting dari siklus penelusuran PLC seperti yang

dapat dilihat pada gambar 2.3.

Gambar 2.3 Siklus penelusuran PLC

Proses operasi PLC adalah sebagai berikut:

1. Periksa status masukan (Check Input Status)

Pada langkah ini, PLC melihat keadaan setiap masukan yang ada untuk

menentukan kondisi setiap masukan tersebut apakah pada keadaan aktif atau non-

aktif. Dengan kata lain, apakah sensor yang terhubung dengan masukan pertama

Page 6: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

12

aktif/tidak aktif, masukan kedua aktif/tidak aktif, dan seterusnya. PLC akan

menyimpan data masukan tersebut ke memori untuk dapat digunakan pada

langkah berikutnya.

2. Eksekusi program (Execute Program)

Pada langkah kedua, PLC akan mengeksekusi program yang tersimpan di

dalam memori per instruksi. Misalkan program menginginkan jika masukan

pertama aktif, maka program tersebut harus mengaktifkan keluaran pertama.

Dikarenakan program yang ada telah mengetahui masukan-masukan mana saja

yang aktif/tidak aktif dari langkah sebelumnya, maka program tersebut akan

menentukan apakah keluaran pertama harus diaktifkan atau dinon-aktifkan

berdasarkan kondisi dari masukan pertama yang diterimanya. Setelah itu, program

akan menyimpan hasil eksekusi tersebut dengan tujuan untuk dapat digunakan

pada langkah selanjutnya.

3. Pembaharuan status keluaran (Update Output Status)

Pada langkah terakhir ini, PLC memperbaharui kondisi keluaran

berdasarkan masukan mana yang aktif pada langkah pertama dan hasil eksekusi

program yang dimasukkan pada langkah kedua. Berdasarkan contoh pada langkah

kedua, PLC akan mengaktifkan keluaran pertama karena masukan pertama sudah

aktif dan program menginstruksikan agar keluaran pertama diaktifkan pada saat

kondisi ini benar. Setelah langkah ini dilalui, PLC akan kembali ke langkah

pertama dan menelusuri ulang langkah-langkah tersebut secara terus menerus.

Page 7: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

13

Satu kali penelusuran dapat diartikan sebagai waktu yang diperlukan untuk

mengeksekusi 3 langkah diatas.

2.1.4 Pemanfaatan PLC

Dari analisis yang dilakukan diperoleh bahwa berdasarkan survey terhadap

1500 responden yang dilakukan oleh majalah Control Engineering pada gambar

2.4 diketahui bahwa mayoritas reponden dari pemakaian dari PLC dikhususkan

untuk pengontrolan mesin kemudian untuk pengontrolan proses.

Gambar 2.4 Hasil survey mengenai penggunaan PLC saat ini

Kemudian berdasarkan hasil survey yang lain terhadap 1500 responden

yang juga dilakukan oleh majalah Control Engineering yang pada gambar 2.5

diketahui bahwa mayoritas responden meramalkan untuk di masa depan PLC

akan lebih condong untuk dapat memberikan pengaturan I/O secara jarak jauh dan

Page 8: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

14

dapat diberikan I/O dari luar PLC. secara umum terkait dengan perkembangan

PLC untuk jaringan.

(McBride, 2001. http://www.manufacturing.net/ctl/article/CA190203)

Gambar 2.5 Hasil survey mengenai masa depan PLC

2.1.5 Perkembangan PLC

Berdasarkan artikel “PLC’s Alive, Healthy, Competing” dan artikel

lainnya perkembangan-perkembangan PLC yang telah dilakukan sampai saat ini

antara lain:

Mosaic Industries telah mengeluarkan PLC dengan GUI menggunakan touch-

screen dengan resolusi 320 x 240 pixel electroluminescent graphic display.

(Fusaro, 2003. http://www.controldesign.com/articles/2003/139.html)

Modul komunikasi ethernet H0-ECOM dari AutomationDirect memberikan

10 Mbit Ethernet link untuk sistem-sistem PLC. Dapat digunakan untuk

Page 9: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

15

komunikasi peer-to-peer antara dua atau lebih PLC DirectLogic DL05/DL06

PLCs dengan komputer.

(Fusaro, 2003. http://www.controldesign.com/articles/2003/139.html)

Sixnet mengeluarkan SixTrax IPm Open DCS Controller yang dibuat

menggunakan platform linux dan memiliki server web yang dibuat oleh

perangkat pengembangan HTML standar.

(Fusaro, 2003. http://www.controldesign.com/articles/2003/139.html)

Rockwell Automation ControlLogix 1756-L61 dan L62 memiliki

kemampuan memori dan prosesor yang cepat untuk aplikasi drive-system,

kemudian juga memiliki co-prosesor matematis floating-point sehingga

kemampuan eksekusi logika diskrit-nya menjadi dua kali lebih cepat dari seri

1756-L55.

(Kuehn,2003. http://www.controldesign.com/articles/2003/293.html)

OpenNet Controller dari IDEC mengeluarkan modul CPU yang memiliki slot

untuk memori flash eksternal.

(Kuehn, 2003. http://www.controldesign.com/articles/2003/293.html)

Omege Engineering memperkenalkan OM-LMPLC sebagai PLC yang

digunakan untuk uji coba laboratorium, dimana desainnya ditujukan untuk

percobaan uji durabilitas atau ketahanan.

(McBride, 2001. http://www.manufacturing.net/ctl/article/CA190203)

Page 10: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

16

2.2 FPGA ( Field Programmable Gate Array)

Arsitektur FPGA spartan 3 family terdiri dari 5 “fundamental programmable

functional elements” yaitu :

Configurable Logic Block (CLB) mengandung suatu look-up table yang

berbasiskan RAM untuk mengimplementasikan logika dan penyimpanan (flip-

flop atau latch) yang bisa diprogram.

Input Output Block (IOB) mengatur aliran data antara pin I/O dan alat yang

digunakan. Setiap IOB mendukung aliran data dua arah dan 3-state operation.

Block Ram menyediakan tempat penyimpanan data dalam bentuk 18-Kbit dual-

port block.

Multiplier block dapat menerima dua data 18-bit biner sebagai input dan

menghitung hasil perkaliannya.

Digital Clock Manager block (DCM) berfungsi untuk mengatur distribusi,

delay, perkalian, pembagian, dan penggeseran fase dari sinyal clock.

Gambar 2.6 Arsitektur keluarga Spartan-3 FPGA

Page 11: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

17

2.2.1 IOB

IOB menyediakan antar-muka dua arah yang dapat di program antara pin-

pin I/O dengan internal logic FPGA. Pada IOB terdapat tiga path sinyal utama

yakni output path, input path, dan three-state path. Setiap path memiliki pasangan

elemen penyimpannya sendiri yang dapat diatur sebagai register atau latch. Semua

path memiliki inverter yang bisa dipakai kalau dibutuhkan.

2.2.1.1 Input Path

Input path membawa data dari pad yang terikat pada pin paket, melalui

elemen pilihan delay yang dapat diprogram langsung menuju ke internal logic.

Setelah elemen delay, ada juga rute alternatif melalui pasangan elemen penyimpan

menuju ke internal logic FPGA.

2.2.1.2 Output Path

Output path membawa data dari internal logic FPGA melalui sebuah

multiplexer dan kemudian sebuah three-state driver ke pad IOB. Sebagai tambahan,

multiplexer juga menyediakan sepasang elemen penyimpan.

2.2.1.3 Three-State Path

Menentukan kapan output driver ber-impendansi tinggi. Three-state path

membawa data dari internal logic FPGA melalui sebuah multiplexer menuju ke

output driver. Sebagai tambahan, multiplexer juga menyediakan sepasang elemen

penyimpan.

Page 12: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

18

2.2.1.4 Fungsi Elemen Penyimpan (Storage Element)

Pada setiap IOB terdapat tiga pasang elemen penyimpan, masing-masing

sepasang untuk ketiga path yang ada. Setiap elemen penyimpan tersebut dapat

dikonfigurasi sebagai edge-trigered D flip-flop (FD) atau sebagai level-sensitive

latch (LD).

Pasangan elemen penyimpan baik pada output path (OFF1 dan OFF2)

ataupun three-state path (TFF1 dan TFF2) dapat dipakai secara bersamaan

menggunakan sebuah multiplexer khusus untuk menghasilkan Double-Data-Rate

(DDR) Transmission. Hal tersebut dilakukan dengan mengambil data yang sinkron

terhadap sinyal clock rising edge kemudian di konversi menjadi bit-bit yang sinkron

baik pada rising maupun falling edge. Kombinasi dari dua buah register dan sebuah

multiplexer biasa disebut juga sebagai Double-Data-Rate D flip-flop (FDDR),

disebut begitu dikarenakan kombinasi dari register dan multiplexer tersebut

digunakan untuk melakukan transmisi Double-Data-Rate.

Page 13: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

19

Gambar 2.7 Struktur IOB

Page 14: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

20

Tabel 2.1 Penjelasan Sinyal Pada IOB

Sinyal Elemen

Penyimpan

Deskripsi Fungsi

D Data Input Data pada input ini disimpan pada saat CK active edge

dan CE enable. Untuk operasi Latch ketika input enable,

data dipindah langsung ke output Q

Q Data

Output

Data pada output ini mencerminkan status keadaan

elemen penyimpan. Untuk operasi sebagai Latch dalam

mode transparan Q merupakan cerminan data D.

CK Clock Input Sebuah sinyal active edge dengan CE enable, memasukan

data ke dalam elemen penyimpan.

CE Clock

Enable

Input

Berfungsi membuat enable CK ketika di aktifkan.

SR Set/Reset Menjadikan elemen penyimpan pada kondisi yang

ditentukan oleh atribut SRHIGH/SRLOW. Atribut

SYNC/ASYNC menentukan input SR ter-sinkron

terhadap clock atau tidak.

REV Reverse Digunakan bersama dengan SR. Menjadikan elemen

penyimpan pada kondisi yang berlawanan dari yang

ditentukan SR.

Page 15: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

21

2.2.1.5 Transmisi Double Data Rate

Transmisi Double-Data-Rate dilakukan dengan menggunakan sebuah teknik

untuk mensinkronisasi sinyal untuk sinyal clock baik rising atau falling edge dan

menggunakan seluruh pasangan register yang ada pada IOB path. Pasangan elemen

penyimpan pada output path IOB (OFF1 dan OFF2) dan three-state path IOB (TFF1

dan TFF2) digunakan sebagai register digabungkan dengan multiplexer khusus akan

membentuk DDR D flip flop (FDDR).

Pasangan elemen penyimpan pada input path IOB (IFF1 dan IFF2)

digunakan oleh sebuah I/O untuk menerima sinyal DDR. Sebuah sinyal DDR yang

datang memicu satu register dan sinyal clock inverted memicu register yang

lainnya. Dengan cara ini register mengambil giliran dalam menangkap bit-bit dari

sinyal DDR yang datang.

Disamping dari tingginya bandwidth dalam transfer data, DDR juga dapat

digunakan untuk menghasilkan ulang sinyal clock pada output. Pendekatan

semacam ini digunakan untuk mengirim sinyal clock dan data secara bersamaan.

Pendekatan serupa juga digunakan untuk menghasilkan ulang sebuah sinyal clock

pada banyak output.

2.2.1.6 Resistor Pull-Up dan Pull-Down

Pull-up digunakan untuk menetapkan level high, dan pull-down untuk low

pada I/O. Resistor pull-up menghubungkan setiap pad IOB ke Vcco. Resistor pull-

down menghubungkan setiap pad IOB ke GND.

Page 16: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

22

2.2.1.7 Keeper Circuit

Setiap I/O memiliki sebuah sirkuit keeper yang dapat dipilih yang berfungsi

menjaga level logika terakhir pada sebuah jalur ketika semua driver telah mati. Hal

ini berguna untuk menjaga jalur bus agar tidak mengambang ketika semua driver

yang terhubung berada dalam keadaan impedansi tinggi. Resistor pull-up dan pull-

down yang mengendalikan sirkuit keeper.

2.2.1.8 Proteksi ESD

Setiap I/O memiliki dua buah diode clamp. Diode-diode clamp digunakan

untuk mencegah terjadinya kerusakan akibat electro static discharge. Namun

kerugiannya adalah terbatasnya kemampuan perangkat untuk mentoleransi sinyal

dengan tegangan lebih tinggi.

2.2.1.9 Kontrol Slew Rate

Ada dua buah pilihan untuk mengontrol keluaran slew rate yaitu FAST dan

SLOW. Pilihan FAST mendukung switching berkecepatan tinggi. Sementara

pilihan SLOW mengurangi transien bus

2.2.1.10 Digitaly Controlled Impedance (DCI)

Berfungsi sebagai pengganti resistor terminasi yang berfungsi untuk

menjaga agar round-trip delay pada sinyal output tidak melebihi waktu rise dan fall.

Pada DCI terdapat dua buah on-chip termination: terminasi paralel memanfaatkan

Page 17: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

23

jaringan resistor yang terintegrasi. Sementara pengontrolan impendansi dari driver

output menghasilkan terminasi seri. DCI secara aktif menyesuaikan baik terminasi

paralel maupun seri secara akurat menyamakan dengan karakteristik impedansi dari

jalur transmisi. Proses penyesuaian ini menggantikan perbedaan pada impednasi I/O

yang dapat dihasilkan dari variasi normal dari suhu lingkungan, supply tegangan,

dan proses manufaktur. Ketika driver output mati, terminasi seri mendekati

impedansi tinggi, sementara resistor-resistor terminasi paralel tetap pada nilai yang

ditentukan.

2.2.1.11 Organisasi IOB

IOB dialokasikan menjadi delapan bank. Masing-masing sisi dari chip

FPGA terdapat dua bank.

Gambar 2.8 Organisasi Bank IOB

Page 18: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

24

2.2.2 CLB

CLB mendasari logic resource utama untuk mengimplementasikan baik

logika sinkronus ataupun kombinasional. Setiap CLB terdiri atas slice-slice yang

saling terhubung. Slice-slice tersebut tergabung dalam pasang-pasangan. Setiap

pasangan terorganisasikan sebagai kolom dengan carry chain yang saling bebas.

Gambar 2.9 Pengaturan Slice-slice dalam CLB

Gambar diatas merupakan contoh CLB yang terletak pada bagian kiri bawah

sebuah chip. Ke-empat slice-nya pada umumnya memiliki elemen-elemen berikut:

dua buah logic function generator, dua buah elemen penyimpan, multiplexer

multifungsi, carry logic, dan gerbang aritmatika. Kedua pasangan slice pada kolom

kiri maupun kanan menggunakan elemen-elemen tersebut untuk memberikan fungsi

logika, aritmatika, dan ROM. Selain itu pasangan slice kolom kiri mendukung dua

buah fungsi tambahan yakni: penyimpanan data menggunakan RAM yang

terdistribusi serta shifting data dengan register 16-bit.

Page 19: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

25

Gambar 2.10 Skematik sebuah Slice

Gambar diatas merupakan skematik dari slice kolom kiri yang juga dapat

merepresentasikan seluruh elemen dan koneksi yang dijumpai pada seluruh slice.

Function Generator yang berbasiskan RAM atau dikenal sebagai look-up table

LUT, merupakan sumber utama dalam mengimplementasikan fungsi-fungsi logika.

Page 20: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

26

Lebih jauh lagi. LUT pada setiap pasangan slice kolom kiri dapat dikonfigurasikan

sebagai RAM yang terdistribusi atau shift register 16-bit.

Elemen penyimpanan, yang dapat di program baik sebagai D flip-flop atau

level-sensitive latch mampu mensinkronisasi data dengan sinyal clock. Multiplexer

multifungsi secara efektif menggabungkan LUT sehingga dapat melakukan operasi

logika yang lebih kompleks. Carry Chain, bersama-sama dengan berbagai macam

gerbang aritmatik, mendukung implementasi operasi matematis yang cepat dan

efisien.

2.2.2.1 Function Generator

Seperti pada gambar diatas setiap LUT (F dan G) memiliki empat buah logic

input (A1 sampai A4) dan sebuah output (D). Dengan demikian empat buah

variable operasi boolean logic dapat di program ke dalamnya. Lebih jauh lagi

multiplexer multifungsi digunakan untuk menggabungkan LUT yang terdapat

dalam CLB yang sama atau antar CLB yang berbeda. Selain itu LUT juga dapat di

fungsikan sebagai ROM yang di inisialisasi dengan data pada saat di konfigurasi.

Fungsi tambahan LUT kolom kiri seperti yang telah disebutkan sebelumnya

yakni dapat berfungsi sebagai RAM terdistribusi. Memori semacam ini dapat

berperan sebagai penyangga data sepanjang data-path. Setiap pasangan LUT kolom

kiri mampu menampung data 16-bit. Sebuah pilihan dual-port menggabungkan dua

buah LUT sehingga akses memori dari jalur data yang saling bebas dapat tersedia.

Fungsi lainnya adalah sebagai 16-bit Shift Register. Setiap LUT dapat

melakukan delay terhadap data serial dari satu sampai 16 siklus clock. Empat buah

Page 21: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

27

LUT kolom kiri dalam sebuah CLB dapaat dikombinasikan untuk menghasilkan

delay sampai dengan 64 siklus clock.

2.2.3 Block RAM

Block RAM terorganisasi kedalam 18 Kbit blok-blok sinkron yang dapat

dikonfigurasi. Apabila dibandingkan dengan RAM yang terdistribusi, Block RAM

dapat menyimpan data dengan jumlah yang lebih banyak dan lebih efisien. Selain

itu sejumlah Block RAM dapat di gandeng untuk membentuk sebuah memori yang

memiliki kemampuan lebih besar. Block RAM dan multipliers mempunyai

interkoneksi didalamnya sehingga dapat dilakukan operasi simultan antara

keduanya. Struktur internal Block RAM secara umum terdiri atas dua port; port A

dan port B. Dua buah data port yang identik tersebut mempunyai akses bebas ke

sebuah blok RAM dengan kapasitas maksimum18,432 bit atau 16,384 ketika baris

paritas tidak digunakan. Setiap port memiliki set jalur data, control, dan clock

masing-masing untuk operasi-operasi read dan write yang sinkron.

2.2.4 Dedicated Multipliers

Semua alat Spartan 3 menyediakan embedded multipliers yang menerima

dua word 18 bit sebagai input untuk mendapatkan hasil 36 bit. Bus input ke

multiplier menerima data dalam bentuk two’s complement (bisa signed 18 bit atau

unsigned 17 bit). Multiplier yang bersangkutan dicocokan ke tiap Block RAM.

Jarak fisik yang dekat antara kedua modul menjamin data handling yang efisien.

Meng-cascade multiplier memungkinkan pengalian lebih dari tiga angka dan lebih

besar dari 18 bit. Multiplier diletakkan dalam disain menggunakan salah satu dari

Page 22: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

28

dua primitive: sebuah versi asynchronous disebut MULT18X18 dan sebuah versi

dengan sebuah register pada output yang disebut MULT18X18S.

Sistem CORE generator menghasilkan multiplier berdasarkan primitive ini

yang dapat dikonfigurasi untuk memenuhi berbagai macam syarat.

2.2.5 Digital Clock Manager (DCM)

Spartan-3 menyediakan control penuh dan fleksibel terhadap frekuensi

clock, phase shift dan skew menggunakan fitur Digital Clock Manager (DCM).

Untuk melakukan ini, DCM menggunakan Delay Lock Loop (DLL), sebuah system

kontrol digital yang menggunakan feedback untuk mempertahankan karakteristik

sinyal clock dengan presisi tinggi walaupun dengan variasi temperature dan voltase

pada saat operasi.

Tiap jenis dari Spartan-3 memiliki empat DCM, kecuali yang terkecil, yaitu

XC3S50, yang memiliki dua DCM. DCM terletak di ujung dari kolom Block RAM

terluar. Digital Clock Manager diletakkan dalam disain sebagai primitive DCM.

DCM bisa melakukan tiga fungsi utama:

Clock-skew Elimination: Clock-skew adalah lamanya signal clock, pada

keadaan normal, berdeviasi dari batas zero-phase.Hal ini terjadi pada saat

perbedaan kecil dalam path delay menyebabkan sinyal clock tiba pada point

berbeda dan pada waktu berbeda. Clock skew ini bisa menaikkan waktu set-up

dan hold begitu juga waktu clock-to-out, yang mungkin tidak diinginkan dalam

aplikasi yang bekerja pada frekuensi tinggi, dimana timing adalah penting.

DCM menghilangkan clock skew dengan cara menjajarkan sinyal clock output

yang dihasilkan dengan versi lain dari sinyal clock yang di feed back. Sebagai

Page 23: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

29

hasilnya, kedua sinyal clock membentuk hubungan zero-phase. Hal ini secara

efektif menghilangkan delay distribusi clock yang mungkin terdapat pada jalur

sinyal yang menuju dari output clock DCM ke feedback inputnya.

Frequency Synthesis : Bila diberikan sinyal clock input, DCM dapat

membangkitkan frekuensi clock output yang beragam. Hal ini dicapai dengan

cara mengalikan dan atau membagi frekuensi dari sinyal clock input dengan

beberapa macam factor.

Phase Shifting : DCM memberikan kemampuan untuk men-shift fase dari

semua sinyal clock outputnya berdasarkan sinyal clock inputnya.

DCM memiliki empat komponen fungsional: Delay-Locked Loop (DLL),

Digital Frequency Synthesizer (DFS), Phase Shifter (PS), dan Status Logic.

Gambar 2.11 Blok fungsi DCM

Page 24: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

30

2.2.5.1 Delay-Locked Loop (DLL)

Fungsi paling sederhana dari DLL adalah untuk menghilangkan clock skew.

Path sinyal utama dari DLL terdiri dari tahap input, diikuti serangkaian elemen

delay diskrit atau taps, yang akan menuju ke tahap output.

DLL memiliki dua input clock, CLKIN dan CLKFB, begitu juga dengan

tujuh clock output, CLK0, CLK90, CLK180, CLK270, CLK2X, CLK2x180, dan

CLKDV.

Sinyal clock yang diberikan pada input CLKIN berfungsi sebagai waveform

acuan, yang digunakan DLL untuk mensejajarkan sinyal feedback pada input

CLKFB. Pada saat menghilangkan clock skew, pendekatan umum untuk

menggunakan DLL adalah sebagai berikut, sinyal CLK0 dikirim melalui jaringan

distribusi clock ke semua register yang disinkronisasi. Register ini bisa internal atau

eksternal pada FPGA. Setelah melalui jaringan distribusi clock, sinyal clock

kembali ke DLL melalui line feedback CLKFB. Control block yang terdapat di

dalam DLL mengukur error fase antara CLKFB dan CLKIN. Error fase adalah

ukuran clock skew yang dihasilkan jaringan distribusi clock. Control block

mengaktifkan elemen delay yang dibutuhkan untuk menghilangkan clock skew.

Setelah DLL membuat sinyal CLK0 sefase dengan sinyal CLKIN, DLL

memasukkan ouput LOCKED, menandakan penguncian pada sinyal CLKIN.

Page 25: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

31

Gambar 2.12 Diagram fungsional DLL

Tabel 2.2 Penjelasan Sinyal Pada DLL

Signal Deskripsi

CLKIN Menerima sinyal clock asli

CLKFB Menerima CLK0 atau CLK2X sebagai sinyal feedback

CLK0 Membangkitkan sinyal clock dengan frekuensi dan fase seperti

CLKIN

CLK90 Membangkitkan sinyal clock dengan frekuensi seperti CLKIN tapi

fasenya digeser 90o

CLK180 Membangkitkan sinyal clock dengan frekuensi seperti CLKIN tapi

fasenya digeser 180 o

CLK270 Membangkitkan sinyal clock dengan frekuensi seperti CLKIN tapi

fasenya digeser 270 o

Page 26: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

32

Tabel 2.2 Penjelasan Sinyal Pada DLL (Lanjutan)

Signal Deskripsi

CLK2X Membangkitkan sinyal clock dengan fase seperti CLKIN, tapi

frekuensi lebih besar dua kalinya.

CLK2X180 Membangkitkan sinyal clock dengan frekuensi dua kali CLKIN dan

fasenya digeser 180 o

CLKDV Membagi frekuensi CLKIN dengan nilai CLKDV_DIVIDE untuk

menghasilkan sinyal clock dengan frekuensi lebih rendah dan sefase

dengan CLKIN

2.2.5.2 Digital Frequncy Synthesizer (DFS)

DFS menghasilkan signal clock dengan frekuensi yang berupa hasil dari

frekuensi clock pada input CLKIN dan rasio dari dua integer yang dimasukkan user.

Output dari DFS adalah CLKFX dan CLKFX180.

Sinyal yang ada pada output CLKFX180 adalah invers dari sinyal CLKFX.

Kedua output DFS ini di-drive bersamaan sama seperti output clock DLL.

Pengali dari rasio adalah nilai yang dimasukkan dalam atribut

CLKFX_MULTIPLY dan pembagi dari rasio adalah nilai yang dimasukkan dalam

atribut CLKFX_DIVIDE.

Hubungan antara frekuensi output (fCLKFX) dan frekuensi input (fCLKIN)

adalah sebagai berikut:

fCLKFX = fCLKIN*(CLKFX_MULTIPLY/CLKFX_DIVIDE)

Page 27: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

33

Bila nilai CLKFX_MULTIPLY = 5 dan nilai CLKFX_DIVIDE = 3, maka

frekuensi outputnya adalah 5/3 frekuensi input.

2.2.5.3 Phase Shifter (PS)

DCM menyediakan dua metode untuk mengontrol fase dari sinyal clock

output DCM berdasarkan sinyal CLKIN:

Pertama, ada sembilan clock output yang membuat DLL memiliki hubungan

fase yang diinginkan: CLK0, CLK90, CLK180, CLK270, CLK2X, CLK2X180,

CLKDV, CLKFX, dan CLKFX180.

Kedua, menggunakan komponen PS yang memungkinkan kontrol yang

lebih baik. PS melakukan ini dengan cara memberi “fine phase shift” (TPS) antara

sinyal CLKFB dan CLKIN dalam DLL. Saat digunakan, PS menggeser fase dari

kesembilan sinyal clock output DCM secara bersamaan.

2.2.5.4 PS Component Enabling and Mode Selection

Atribut CLKOUT_PHASE_SHIFT mengaktifkan komponen PS dan juga

untuk memilih mode operasi. Atribut ini memiliki tiga nilai: NONE, FIXED,

VARIABLE. Bila diset ke NONE maka PS tidak digunakan dan inputnya harus

dihubungkan ke GND. Bila diset ke FIXED atau VARIABLE, maka PS diaktifkan.

User mengontrol pergeseran fase dengan cara memasukkan nilai pada

persamaan berikut:

TPS = (PHASE_SHIFT/256)*TCLKIN

Nilai PHASE_SHIFT berkisar dari -255 - +255.

Page 28: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

34

2.2.5.5 Fixed Phase Mode

Mode ini menghasilkan nilai TPS sesuai dengan persamaan diatas, dimana

user memasukkan nilai PHASE_SHIFT. Dalam Fixed Phase Mode, input PSEN,

PSCLK, dan PSINCDEC tidak digunakan dan harus dihubungkan ke GND.

2.2.5.6 Variable Phase Mode

Mode ini secara dinamis menyesuaikan nilai TPS menggunakan tiga input:

PSEN, PSCLK, dan PSINCDEC. PSINCDEC disinkronisasi dengan sinyal clock

PSCLK. Penyesuaian fase terjadi pada saat sebagai berikut: Pada setiap siklus

PSCLK dimana nilai PSINCDEC high, maka PS menambahkan 1/256 ke nilai

PHASE_SHIFT. Pada setiap siklus PSCLK dimana nilai PSINCDEC low, maka PS

mengurangkan 1/256 dari nilai PHASE_SHIFT.

2.2.5.7 Status Logic Component

Komponen Status Logic tidak hanya melaporkan keadaan dari DCM tapi

juga menyediakan cara untuk mereset DCM ke keadaan awal ketika pertama kali

dinyalakan.

2.3 Serial Port

Serial port adalah salah satu bentuk alat koneksi ke komputer yang paling

dasar, serial port telah menjadi bagian penting dari komputer selama lebih dari 20

tahun. Disebut serial karena serial port men-serial-kan data. Jadi serial port

mengambil data sebesar 1 byte lalu mengirim 8 bit yang ada didalamnya satu per

satu, bit demi bit. Keuntungan dari serial port adalah hanya memerlukan satu kabel

Page 29: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

35

untuk mengirim 8 bit sehingga menurunkan biaya kabel dan membuat kabel lebih

kecil. Kerugiannya adalah waktu yang diperlukan untuk mengirim 8 bit lebih lama

daripada menggunakan parallel karena bit dikirim satu per satu. Serial port bekerja

secara bi-directional berarti serial port dapat mengirim dan juga menerima data.

Serial port dapat mengirim dan menerima data secara bersamaan (full duplex)

karena serial port menggunakan pin yang berbeda untuk mengirim dan menerima.

Bila menggunakan pin yang sama maka komunikasi terbatas menjadi half duplex

yaitu harus bergantian antara mengirim dan menerima. Serial port pada komputer

lama memiliki 25 pin, tapi karena yang terpakai hanya 9 pin maka serial port

sekarang hanya memiliki 9 pin.

Gambar 2.13 Pin pada serial port

Page 30: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

36

Sebenarnya fungsi utama serial port adalah untuk menghubungkan modem

dengan komputer sehingga fungsi dari masing-masing pin disesuaikan dengan

modem, tetapi pada dasarnya sama bila digunakan untuk komunikasi lainnya.

Fungsi dari masing-masing pin adalah (9pin) :

Carrier Detect memberitahukan apakah modem tersambung dengan saluran

telpon yang bekerja.

Receive Data komputer menerima data dari modem.

Transmit data komputer mengirim data ke modem.

Data Terminal Ready komputer memberitahu telah siap menerima data.

Signal Ground pin di-ground-kan.

Data Set Ready modem memberitahu telah siap menerima data.

Request To Send komputer meminta modem untik mengirim data.

Clear To Send modem memberitahu komputer bahwa komputer boleh

mengirim data.

Ring Indicator Setelah konenksi telpon telah terjadi, komputer menerima

sinyal dari modem dering telah terdeteksi.

Serial port bergantung pada chip controller khusus yaitu UART (Universal

Asynchronous Receiver/Transmitter) untuk dapat bekerja dengan benar. Fungsi

utama dari UART adalah mengubah byte dari bus parallel PC ke bentuk serial yang

nantinya akan dikirim dari serial port. Begitu juga dengan data serial yang diterima

dari luar akan diubah ke bentuk parallel yang dapat dimengerti oleh komputer.

Selain itu UART juga berfungsi untuk menambahkan start bit dan stop bit pada

setiap byte sebelum dikirim. Terdapat dua jenis UART yaitu dumb UART dan

Page 31: 2 BAB 2 LANDASAN TEORI 2.1 Programmable Logic …library.binus.ac.id/eColls/eThesisdoc/Bab2/LBM2006-335-Bab 2.pdf · 14 dapat diberikan I/O dari luar PLC. secara umum terkait dengan

37

FIFO UART. Untuk mengetahui perbedaan antara dumb UART dan FIFO UART

kita lihat dulu apa yang terjadi pada saat UART telah menerima atau mengirim

byte. UART sendiri tidak melakukan apa-apa terhadap data yang lewat, UART

hanya menerima dan mengirimnya. Pada dumb UART, CPU menerima interrupt

dari UART setiap kali sebuah byte telah diterima atau dikirim. CPU akan

memindahkan byte yang diterima dari buffer UART dan menaruhnya ke memori

atau memberi UART sebuah byte lagi untuk dikirim. Pada UART lama biasanya

hanya memiliki buffer sebesar 1 byte yang berarti setiap kali UART menerima atau

mengirim 1 byte maka CPU akan mendapat interrupt. Bila transfer ratenya lambat

maka hal ini tidak menjadi masalah. Tapi bila transfer ratenya cepat maka CPU

akan terlalu sibuk menangani interrupt dari UART sehingga tidak sempat untuk

melakukan tugas lain. Dalam beberapa kasus, CPU tidak sempat untuk menangani

interrupt dari UART sehingga ada byte yang di-overwritten. Hal ini disebut

“overrun” atau “overflow”. Untuk mengatasi hal ini maka dibuatlah FIFO UART.

Pada FIFO UART terdapat buffer sebesar 16 byte atau lebih. Dengan begitu maka

UART dapat mengirim dan menerima byte lebih banyak sebelum melakukan

interrupt ke CPU. Hal ini akan mengurangi kerja CPU sehingga CPU bisa

melakukan tugas lain.