elektrokardiograf berbasis pc (pc based ecg) · sistem instrumentasi ekg berbasis pc. sistem...

184
1 TUGAS AKHIR ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Disusun oleh: Johan Arief NIM: 015114047 Program Studi Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Yogyakarta 2007

Upload: trinhhanh

Post on 05-Jun-2019

255 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

1

TUGAS AKHIR

ELEKTROKARDIOGRAF BERBASIS PC

(PC BASED ECG)

Diajukan untuk memenuhi salah satu syarat memperoleh gelar

Sarjana Teknik pada Program Studi Teknik Elektro

Fakultas Teknik Universitas Sanata Dharma

Disusun oleh:

Johan Arief

NIM: 015114047

Program Studi Teknik Elektro

Fakultas Teknik

Universitas Sanata Dharma

Yogyakarta

2007

id5907390 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

Page 2: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

2

Page 3: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

3

Page 4: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

4

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini

tidak memuat karya atau bagian karya orang lain, kecuali yang

telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana

layaknya karya ilmiah

Yogyakarta, 7 Agustus 2007

Johan Arief

Page 5: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

5

MOTTO HIDUP

"Cogito ergo sum"

HALAMAN PERSEMBAHAN

Karya ini kupersembahkan untuk

Ayah dan Ibu

Saudara-Saudariku

Kemajuan Bidang Elektromedis

Page 6: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

6

Judul: Elektrokardiograf Berbasis PC

Nama Mahasiswa: Johan Arief

No. Mahasiswa: 015114047

INTISARI

Electrocardiograph merupakan instrumen elektromedis yang berfungsi memberikan data grafis potensial listrik yang ditimbulkan jantung saat berkontraksi. Sinyal elektrokardiograf memiliki amplitudo ± 1mV dan terdiri dari beberapa sinyal tunggal dengan rentang frekuensi 0.05Hz sampai dengan 150Hz dan sangat retan terhadap noise. Agar dapat diinterpretasikan maka sinyal ini perlu dikondisikan dan di-filter agar dapat terbaca oleh instrumen pengukur. Pada tugas akhir ini, dibahas mengenai sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari simulator EKG. Instrumentasi EKG ini terdiri dari: selektor analog yang di dalamnya terdapat rangkaian Wilson, pengendali selektor, penguat instrumentasi, filter-filter analog yang terdiri dari HPF 0.5Hz, LPF 150Hz, dan filter notch 50Hz, konverter analog ke digital, modul USB, dan program aplikasi yang dapat memplot masukan ADC. Sinyal-sinyal pada pengukuran berasal dari Simulator EKG. Setelah melewati rangkaian Wilson, sinyal akan diproses secara analog untuk dikuatkan dan ditapis pada penguat instrumentasi dan sejumlah filter analog. Pengkondisi sinyal akan mengubah agar sinyal yang dihasilkan dapat berada pada range yang dapat diakuisisi oleh ADC. Sinyal digital yang diperoleh ditransfer ke PC melalui interface USB. Suatu program aplikasi Delphi kemudian akan menampilkan bentuk gelombang yang diperoleh secara kontinu. Dalam implementasi tugas akhir ini, terdapat kendala berupa perangkat keras yang belum beroperasi dengan baik. Instrumen ini belum mampu menghasilkan 12 lead sinyal EKG standar. Dengan pengujian menggunakan simulator EKG, instrumen yang dibangun baru dapat menampilkan satu sinyal EKG. Kata kunci: EKG, penguat instrumentasi, instrumentasi biomedis, filter analog.

Page 7: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

7

Title: PC Based ECG

Student Name: Johan Arief

Student ID Number: 015114047

ABSTRACT

Electrocardiograph is a medical instrument which can give graphical data of electrical potentials from heart. ECG signals have ±1mV amplitude and consist of some signals which have frequency range 0.05Hz to 150Hz. This attribute is very closely to property of noise. To capture right ECG pattern, is needed to build signals conditioner to transform it into range of measure instrument. This final paper cover about PC based Electrocardiograph. This instrument is designed to capture signal from ECG Simulator and plot ECG signal continuously on PC using an application program. This instrument consist of analog selector which has Wilson circuit, control multiplex, instrumentation amplifier, analog filter using HPF 0.5Hz, LPF 150Hz, and notch filter 50Hz, analog to digital converter, USB module, and an application program to plot digitalized data from ADC. For measurement purposes, signal comes from ECG Simulator. After pass Wilson circuit, signal will be processed on analog block and a signal conditioner will convert it to ADC input range. PC continuously plot data from USB to form this ECG signal. In implementation of this final paper, some parts of hardware didnt work properly. This instrument cant produce 12-leads standard ECG signals yet. Using ECG Simulator, this student project can produce only one pattern of ECG signal. Keywords: ECG, instrumentation amplifier, biomedical instrumentation, analog filter.

Page 8: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

8

KATA PENGANTAR

Puji syukur kepada Tuhan atas segala karunia-Nya sehingga penulis dapat

menyelesaikan penulisan skripsi ini. Skripsi ini berjudul: Elektrokardiograf berbasis

PC. Melalui karya tulis ini, penulis mencoba memberikan gambaran tentang penerapan

elektronika pada bidang medis, yaitu berupa perancangan instrumen elektrokardiograf.

Skripsi ini ditulis untuk memenuhi salah satu syarat dalam memperoleh

gelar sarjana teknik pada program studi Teknik Elektro Universitas Sanata Dharma.

Penulisan skripsi ini didasarkan pada hasil-hasil yang penulis peroleh pada saat

perancangan alat, pembuatan alat, pengujian alat, dan pengembangan berdasarkan hasil

pengujian.

Penulisan skripsi ini dapat terselesaikan berkat bimbingan, bantuan, dan

dorongan dari berbagai pihak. Pada kesempatan ini penulis ingin mengucapkan terima

kasih kepada :

1. Bapak B. Djoko Untoro Suwarno, S.Si., MT. selaku dosen pembimbing yang

telah bersedia membimbing, memberikan saran, ide, dan waktu dengan penuh

kesabaran dalam menyelesaikan tugas akhir ini.

2. Bapak dan Ibu dosen jurusan Teknik Elektro yang telah mengajar dan

memberikan pengetahuan kepada penulis selama kuliah.

3. Bapak Djito dan seluruh karyawan Sekretariat Teknik Universitas Sanata Dharma.

4. Karyawan Laboratorium Teknik Elektro Universitas Sanata Dharma.

5. Ayah dan Ibu penulis yang selalu mendukung pentingnya suatu idealisme.

6. Saudara-saudariku dan seluruh keluargaku.

7. Teman-teman Teknik Elektro Sanata Dharma.

8. Semua pihak yang tidak dapat penulis sebutkan satu per satu disini, terima kasih

atas segala ide yang telah diberikan kepada penulis.

Page 9: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

9

Penulis menyadari bahwa penulisan skripsi ini masih banyak terdapat

kekurangan. Segala kritik dan saran dari berbagai pihak penulis terima untuk

perkembangan selanjutnya. Semoga karya tulis ini dapat bermanfaat bagi pembaca.

Terima kasih.

Yogyakarta, 7 Agustus 2007

Penulis

Johan Arief

Page 10: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

10

DAFTAR ISI

Halaman judul ........................................................................................................... i

Halaman Pengesahan oleh Pembimbing ................................................................... ii

Halaman Pengesahan oleh Penguji ........................................................................... iii

Lembar Pernyataan Keaslian Karya ........................................................................ iv

Halaman Persembahan dan moto hidup .................................................................... v

Intisari ....................................................................................................................... vi

Abstract ..................................................................................................................... vii

Kata Pengantar .......................................................................................................... viii

Daftar Isi ................................................................................................................... x

Daftar Gambar .......................................................................................................... xiv

Daftar Tabel ............................................................................................................. xviii

Bab I Pendahuluan ..................................................................................... 1

1.1. Latar Belakang .......................................................................... 1

1.2. Perumusan Masalah .................................................................. 1

1.3. Tujuan dan Manfaat .................................................................. 2

1.4. Batasan Masalah ....................................................................... 3

1.5. Metodologi Penelitian ............................................................... 3

1.6. Sistematika Penulisan ................................................................ 4

Bab II Dasar Teori ....................................................................................... 7

2.1. Sinyal Biopotensial Jantung dan Pengukurannya ..................... 7

2.1.1. Sistem Konduksi Elektrik Pada Jantung ........................ 8

2.1.2. Sinyal Elektrokardiogram ............................................... 9

2.1.3. Penempatan Elektroda .................................................... 11

Page 11: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

11

2.2. Elektrokardiograf ...................................................................... 13

2.2.1. Elektroda ......................................................................... 14

2.2.2. Rangkaian Wilson dan Einthoven ................................... 16

2.2.3. Penguat Instrumentasi ..................................................... 18

2.2.4. Filter ................................................................................ 20

2.2.4.1. Metode Sallen-Key ............................................. 21

2.2.4.2. Metode State Variable ........................................ 23

2.2.4.3. Uniform Capacitor .............................................. 25

2.2.4.4. Metode Active Twin-T ....................................... 26

2.2.5. Pengolah Data ................................................................. 27

2.2.5.1. Fitur-Fitur AT90S2313 ...................................... 27

2.2.5.2. Hardware ........................................................... 28

2.2.5.3. Arsitektur AT90S2313 ...................................... 28

2.2.5.4. Universal Serial Bus .......................................... 31

Bab III Perancangan Instrumentasi EKG ...................................................... 34

3.1. Spesifikasi ................................................................................. 34

3.2. Diagram Blok ............................................................................ 34

3.3. Perancangan ............................................................................... 36

3.3.1. Selektor Analog ................................................................ 36

3.3.2. Pengendali Selektor .......................................................... 38

3.3.3. Modul Penguat dan Filter ................................................. 39

3.3.3.1. Penguat Instrumentasi .......................................... 40

3.3.3.2. Filter ..................................................................... 41

3.3.3.2.1. High Pass Filter .................................... 42

3.3.3.2.2. Low Pass Filter ..................................... 46

3.3.3.2.3. Notch Filter .......................................... 54

3.3.3.3. Penguat Akhir dan Offset .................................... 59

3.3.4. Catu Daya ......................................................................... 61

3.3.5. Konverter Analog ke Digital ............................................ 62

3.3.6. Modul Akuisisi USB ........................................................ 63

3.3.7. Program Pengendali Selektor ........................................... 65

Page 12: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

12

3.3.8. Program Konversi Analog ke Digital ............................... 65

3.3.9. Program Akuisisi USB ..................................................... 66

3.3.10. Program Aplikasi Delphi ................................................ 66

Bab IV Hasil dan Pembahasan ........................................................................ 72

4.1. Pengujian Sistem ....................................................................... 72

4.2. Selektor Analog dan Pengendali ................................................. 77

4.3. Penguat Instrumentasi ................................................................. 79

4.4. High Pass Filter .......................................................................... 81

4.5. Low Pass Filter ........................................................................... 83

4.6. Filter Notch ................................................................................. 85

4.7. Penguat Akhir dan Offset ........................................................... 86

4.8. Catu Daya ................................................................................... 89

4.9. Modul Konversi ......................................................................... 90

Bab V Kesimpulan dan Saran ....................................................................... 91

5.1. Kesimpulan ................................................................................ 91

5.2. Saran ........................................................................................... 91

Daftar Pustaka ............................................................................................................ 93

Lampiran .................................................................................................................... 94

Page 13: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

13

DAFTAR GAMBAR

Gambar 2-1. Struktur sistem konduksi elektrik jantung

Gambar 2-2. Sinyal EKG standar

Gambar 2-3. Perjalanan terbentuknya sinyal EKG

Gambar 2-4. Penempatan elektroda pada tubuh

Gambar 2-5. Sistem instrumentasi EKG

Gambar 2-6. Suction cup electrode

Gambar 2-7. Body surface electrode

Gambar 2-8. Arus dari kopling kapasitans yang menyebabkan common voltage

Gambar 2-9. Rangkaian 3 OpAmp pembentuk penguat instrumentasi

Gambar 2-10. Skema INA114 yang terdiri dari 3 OpAmp

Gambar 2-11. Rangkaian dasar konfigurasi LPF Metode Unity Gain

Gambar 2-12. Rangkaian normalisasi HPF Metode Unity Gain

Gambar 2-13. Rangkaian normalisasi Filter State Variable

Gambar 2-14. Op-amp tambahan untuk Filter Notch

Gambar 2-15. Topologi UAF42

Gambar 2-16. Rangkaian dasar LPF Uniform Capacitor

Gambar 2-17. Topologi Active Twin-T

Gambar 2-18. Konfigurasi pin AT90S2313

Gambar 2-19. Blok diagram AT90S2313

Gambar 2-20. Arsitektur AT90S2313

Gambar 2-21. Konektor USB tipe-A dan B

Gambar 2-22. Topologi sistem USB

Gambar 3-1. Diagram blok perancangan perangkat keras sistem instrumentasi EKG

Gambar 3-2. Diagram blok Selektor

Gambar 3-3. Rangkaian selektor analog

Gambar 3-4. Rangkaian pengendali selector

Gambar 3-5. Diagran blok Modul Penguat dan Filter

Gambar 3-6. Rangkaian Right Leg Driven (RLD)

Gambar 3-7. Rangkaian dasar konfigurasi Low Pass Filter

Page 14: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

14

Gambar 3-8. Normalisasi ke bentuk High Pass Filter

Gambar 3-9. Rangkaian implementasi HPF menggunakan metoda Unity Gain

Gambar 3-10. Simulasi metode Unity Gain untuk HPF menggunakan EWB

Gambar 3-11. Rangkaian implementasi HPF menggunakan metoda Multi-Purpose State

Variable

Gambar 3-12. Simulasi metode Multi-Purpose State Variable untuk HPF menggunakan

EWB

Gambar 3-13. Rangkaian dasar konfigurasi LPF

Gambar 3-14. Rangkaian implementasi LPF menggunakan metoda Sallen-key

Gambar 3-15. Simulasi metode Sallen-key untuk LPF menggunakan EWB

Gambar 3-16. Rangkaian implementasi LPF menggunakan metoda Uniform Capacitor

Gambar 3-17. Simulasi metode Uniform Capacitor untuk LPF menggunakan EWB

Gambar 3-18. Rangkaian implementasi LPF menggunakan metoda Multi-Purpose State

Variable

Gambar 3-19. Simulasi metode Multi-Purpose State Variable untuk LPF menggunakan

EWB

Gambar 3-20. Rangkaian implementasi Notch Filter menggunakan metoda Twin-T

Gambar 3-21. Simulasi metode Twin-T untuk Notch Filter menggunakan EWB

Gambar 3-22. Rangkaian implementasi Notch Filter menggunakan metoda State Variable

Gambar 3-23. Simulasi metode State Variable untuk Notch Filter menggunakan EWB

Gambar 3-24. Skematik inverting summing amplifier

Gambar 3-25. Rangkaian implementasi penguat akhir & offset

Gambar 3-26. Simulasi penguat akhir & offset menggunakan EWB

Gambar 3-27. Rangkaian catu daya positif

Gambar 3-28. Rangkaian catu daya negatif

Gambar 3-29. Rangkaian konversi analog ke digital

Gambar 3-30. Fase transaksi USB

Gambar 3-31. Rangkaian Modul USB

Gambar 3-32. Flowchart program pengendali selektor

Gambar 3-33. Flowchart program konversi analog ke digital

Gambar 3-34. Flowchart program akuisisi USB

Page 15: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

15

Gambar 3-35. Flowchart program plot-waveform Delphi

Gambar 3-36. Layout tampilan saat ECG belum terpasang

Gambar 3-37. Layout tampilan program plot-waveform setelah ECG beroperasi

Gambar 4-1. PC mendeteksi adanya devais berbasis USB

Gambar 4-2. PC menentukan protokol komunikasi yang digunakan

Gambar 4-3. Pemilihan lokasi driver oleh user

Gambar 4-4. Proses pencarian driver ECG USB

Gambar 4-5. Instalasi driver ECG USB

Gambar 4-6. Proses instalasi driver berlangsung dengan sukses

Gambar 4-7. ECG USB telah dapat digunakan

Gambar 4-8. Simulator ECG

Gambar 4-9. Sinyal EKG standar

Gambar 4-10. Pengujian satu sinyal EKG standar

Gambar 4-11. Grafik CMRR INA114 terhadap frekuensi

Gambar 4-12. Grafik Atenuasi HPF Unity Gain terhadap frekuensi

Gambar 4-13. Grafik Atenuasi LPF metode State Variable dengan UAF42

Gambar 4-14. Grafik Atenuasi Filter Notch menggunakan UAF42

Gambar 4-15. Grafik penguat sinyal dengan OPA2227

Gambar 4-16. Respon Modul Koversi saat nilai potensio tidah berubah

Gambar 4-17. Respon Modul Koversi terhadap perubahan masukan

Page 16: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

16

DAFTAR TABEL

Tabel 1-1. Metode Pengujian

Tabel 2-1. Interval EKG

Tabel 2-2. Tabel kebenaran multiplexer CD4052

Tabel 2-3. Karakteristik high (H) dan low (L) multiplexer CD4052

Tabel 2-4. Deskripsi pin AT90S2313

Tabel 2-5. Fungsi pin-pin pada konektor USB

Tabel 3-1. Spesifikasi perancangan bagian perangkat keras sistem instrumen EKG

Tabel 3-2. Bit-bit Kontrol Rangkaian Selektor Analog

Tabel 4-1. Hasil Pengujian AT90S2313 sebagai control multiplex

Tabel 4-2. Data Pengujian Selektor Analog

Tabel 4-3. Perbandingan perancangan dan hasil pengujian selektor analog

Tabel 4-4. Data Pengukuran CMRR INA114

Tabel 4-5. Pengujian HPF dengan Metode Unity Gain

Tabel 4-6. Pengujian LPF dengan UAF42

Tabel 4-7. Data pengujian filter notch metode State Variable

Tabel 4-8. Pengukuran penguat akhir sinyal dengan OPA2227

Tabel 4-9. Pengukuran offset dengan OPA2227

Tabel 4-10. Pengukuran inverter OPA2227

Tabel 4-11. Pengukuran keluaran catu daya

Tabel 4-12. Pengukuran kestabilan arus

Page 17: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

17

BAB I

PENDAHULUAN

1.1. Latar Belakang

Electrocardiograph merupakan instrumen elektromedis yang berfungsi

memberikan data grafis potensial listrik yang ditimbulkan jantung saat berkontraksi.

Pengukuran sinyal jantung menggunakan Electrocardiograph merupakan salah satu

pemeriksaan diagnostik yang penting. Beberapa kelainan jantung sering dapat diketahui

melalui data EKG.

Seperti instrumen pengukuran biomedis lainnya, EKG harus mampu

memberikan hasil yang merepresentasikan kondisi jantung pasien. Saat ini yang

digunakan sebagai standar pengukuran kondisi jantung adalah 12-lead EKG, yang

mampu memonitor sinyal EKG pasien secara kontinu. Karena pentingnya instrumen ini,

penulis tertarik untuk merancang suatu sistem instrumentasi EKG.

1.2. Perumusan Masalah

Instrumen EKG berfungsi untuk menampilkan data grafis dari potensial

listrik yang dihasilkan jantung. Dua belas sinyal EKG standar diperoleh dengan cara

menempatkan 10 elektroda pada 10 titik tertentu pada tubuh. Keduabelas sinyal EKG

tersebut terdiri dari: 3 sinyal unipolar, 3 sinyal bipolar, dan 6 sinyal sagital. Untuk dapat

memperoleh 12 sinyal EKG tersebut, maka diperlukan adanya rangkaian switching yang

dapat memenuhi:

1. Kaidah Wilson

2. Kaidah segitiga Einthoven (Einthovens Triangle Theorem).

Data grafis yang dibutuhkan berupa sinyal mixed hasil penggabungan

besar tegangan (V) yang dihasilkan oleh sejumlah titik pengukuran pada tubuh yang

berubah terhadap waktu (t). Oleh karena itu ada beberapa parameter listrik yang perlu

Page 18: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

18

diperhatikan pada sumber sinyal analog (dalam hal ini adalah jantung) agar dapat

diperoleh sinyal EKG standar, yaitu:

1. Besar tegangan yang dihasilkan saat jantung berkontraksi (V) berkisar antara

0.2mV 1mV.

2. Rentang frekuensi (f) sinyal EKG, yaitu antara 0.05Hz 100Hz.

3. Noise (N) dari jala-jala listrik yang besarnya dapat mencapai 10mV.

4. Resistansi kulit yang tinggi (R), sehingga membutuhkan teknik penyadapan yang

baik.

Berdasarkan spesifikasi sinyal sumber, terlihat bahwa diperlukan adanya

pengkondisi sinyal agar berada pada rentang yang dapat diukur. Instrumen EKG yang

dirancang akan berbasis PC. Pemilihan PC sebagai unit penampil sinyal EKG adalah

karena penggunaan PC yang sudah universal dan fleksibilitas untuk pengembangan,

misalnya untuk pengolahan dan analisis lebih lanjut secara digital (digital signal

processing). Untuk dapat diterima oleh PC, maka sinyal EKG analog perlu diakuisisi

menjadi sinyal digital.

Selanjutnya agar dapat memberikan data grafis sinyal EKG, maka

instrument EKG berbasis PC ini harus memiliki program aplikasi yang mampu

mengambil data tegangan sinyal EKG analog yang telah di-digitalisasi dan menampilkan

bentuk sinyal EKG yang berhasil diambil dari elektroda penyadap.

1.3. Tujuan dan Manfaat

Tujuan dari penelitian ini adalah membuat suatu sistem instrumentasi

EKG berbasis PC dengan interface USB. Perancangan instrumen EKG ini diharapkan

dapat memberikan beberapa manfaat sebagai berikut:

1. Bagi civitas akademika Teknik Elektro Sanata Dharma:

a. Menambah wawasan mengenai penerapan elektronika pada bidang

kedokteran.

b. Dapat menjadi bahan pembelajaran di laboratorium dan bagi perancangan alat

elektromedis lainnya.

2. Bagi kalangan akademisi dan praktisi elektronika:

Page 19: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

19

c. Sebagai literatur referensi tentang peralatan elektromedis.

d. Memberikan pengenalan mengenai biopotensial dan teknik akuisisinya.

3. Bagi perkembangan ilmu pengetahuan dan teknologi:

e. Sumber bagi pengembangan peralatan medis lainnya berbasis PC.

1.4. Batasan Masalah

Perancangan instrumen EKG ini dibatasi pada hal-hal sebagai berikut:

1. Sumber sinyal masukan berasal dari Simulator-EKG.

2. Probe pasien menggunakan 10-electrode patient cable dari ECG Cardisuny

keluaran Fukuda.

3. Rancangan EKG adalah 12-lead EKG.

4. Perancangan multiplexer untuk memenuhi Kaidah Wilson dan Kaidah Segitiga

Einthoven menggunakan multiplexer analog terkendali digital.

5. Pengendali digital untuk multiplexer dengan mikrokontroler.

6. Unit pengkondisi sinyal berupa:

a. Penguat Instrumentasi INA114 dan rangkaian Right Leg Driven (RLD).

b. Filter analog: HPF, LPF, dan Filter Notch.

c. Penguat akhir dan rangkaian Offset untuk menyesuaikan ke level tegangan

ADC.

7. Pengolah sinyal adalah mikrokontroler AVR AT90S2313.

8. Cara pengiriman data ke PC dengan protocol USB

9. Program aplikasi menggunakan Delphi terbatas pada menampilkan plot-waveform

dari sinyal EKG (bukan bersifat recording/tidak dapat disimpan).

10. Sinyal yang ditampilkan/ di-plot dipilih secara otomatis oleh perangkat keras dan

bukan bersifat software selectable.

1.5. Metodologi Penelitian

Penelitian ini dilakukan dengan langkah-langkah sebagai berikut:

1. Pengumpulan literatur pendukung.

Page 20: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

20

2. Perancangan perangkat keras terdiri:

a. Perhitungan komponen menggunakan rumus-rumus pada dasar teori dan

program Filter42.

b. Simulasi hasil perhitungan dengan program EWB.

c. Perancangan skematik dan layout PCB dengan ORCAD 9.2.

d. Pembuatam masing-masing modul perangkat keras.

3. Perancangan perangkat lunak untuk pengendali selektor, ADC, dan modul USB

menggunakan STK500 dan AVR Studio 4.

4. Pembuatan program aplikasi Delphi yang dapat menerima data melalui interface

USB.

5. Pengujian masing-masing bagian (lihat Tabel 1-1).

6. Pengujian keseluruhan.

7. Pembuatan laporan

Metode pengujian masing-masing bagian beserta parameter yang diukur diperlihatkan

pada Tabel 1-1.

1.6. Sistematika Penulisan

Tugas akhir ini terdiri dari lima bab. Sistematika penulisan tugas akhir ini

adalah sebagai berikut:

BAB I PENDAHULUAN

Memuat latar belakang, perumusan masalah, tujuan dan manfaat, metodologi

penelitian, dan sistematika penulisan.

BAB II DASAR TEORI

Berisi dasar-dasar Elektrokardiograf, bioampifier, pengkondisi sinyal,

mikrokontroler, dan teori-teori lainnya yang diperlukan untuk merancang suatu

instrumen EKG.

BAB III PERANCANGAN INSTRUMENTASI EKG

Membahas perancangan instrumen EKG meliputi perancangan perangkat keras

dan perangkat lunak. Perangkat keras terdiri dari: selektor analog dan

Page 21: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

21

pengendalinya, penguat dan filter, catu daya, konverter analog ke digital, dan

modul USB. Perangkat lunak terdiri dari program assembler untuk pengendali

selektor, konverter analog ke digital, dan akuisisi USB serta program aplikasi

waveform plotter berbasis Delphi.

BAB IV HASIL DAN PEMBAHASAN

Berisi hasil pengukuran dan pembahasan pada implementasi rancangan

instrumen EKG.

BAB V KESIMPULAN DAN SARAN

Berisi kesimpulan dan saran.

Page 22: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

22

Tabel 1-1. Metode Pengujian

No

Nama modul

Keterangan

Parameter

yang diuji

1. Pengendali

Selektor

Modul ini berfungsi mengeluarkan 6 bit secara

bersamaan (paralel) sesuai dengan konfigurasi

selektor yang dibutuhkan. Pengujian dilakukan

dengan cara mengukur level tegangan pada

masing-masing port (L/H) dan pengujian simultan

menggunakan 6 LED

Level tegangan

untuk high dan

low (V), waktu

perubahan

konfigurasi

LED (t)

2. Selektor

Analog

Modul ini diuji dengan masukan 6 bit dari

Pengendali Selektor.

Selektor yang

terpilih.

3. Penguat

Instrumentasi

Pengujian dilakukan dengan cara mengukur

kestabilan CMRR pada rentang frekuensi EKG

CMRR (dB)

4. HPF Rangkaian filter pelewat rendah ini dirancang

dengan menggunakan beberapa metode dan setiap

metode diuji atenuasi-nya pada fc = 0.5Hz

Atenuasi (dB)

5. LPF Filter pelewat rendah dirancang dengan beberapa

metode dan diuji atenuasi-nya pada fc = 150Hz

Atenuasi (dB)

6. Filter Notch Filter Notch ini diuji dengan cara mengukur

atenuasi pada fc = 50Hz

Atenuasi (dB)

7. Penguat akhir

dan offset

Pengujian dilakukan pada rangkaian dengan cara

mengukur penguatan sinyal, offset, dan inverter.

Asinyal, Aoffset,

Ainverter.

8. Catu daya Pengujian kestabilan catu daya Vout

9. Modul

Konversi

(ADC, USB,

dan program)

Modul-modul ini diuji secara bersamaan karena

hasil akuisisi sinyal analog ke PC tidak dapat

dilihat tanpa program aplikasi dan sebaliknya.

Dapat mem-

plot grafis

perubahan

sinyal analog

0 5V, waktu

perekaman 1

siklus (t).

Page 23: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

23

BAB II

DASAR TEORI

Pengukuran sinyal jantung dengan menggunakan elektrokardiograf

merupakan salah satu pemeriksaan diagnostik yang penting. Beberapa kelainan jantung

sering dapat diketahui berdasarkan data elektrokardiograf (EKG), walau tetap harus

memperhatikan faktor lainnya. Sinyal-sinyal EKG merupakan hasil rekaman grafis

potensial listrik yang ditimbulkan jantung saat berkontraksi.

Elektrokardiograf merupakan alat elektronika kedokteran untuk mengukur

potensial biolistrik yang disebabkan oleh aktifitas listrik otot jantung. Arus elektrik

timbul pada saat otot jantung melakukan kontraksi dan menghasilkan suatu medan listrik

yang berubah terhadap waktu. Hal ini mengakibatkan munculnya potensial biolistrik di

kulit manusia. Elektroda-elektroda yang ditempelkan pada kulit mengambil potensial

listrik ini sebagai masukan bagi instrumen EKG. Sinyal yang ditangkap elektroda itulah

yang dinamakan sinyal bioelektrik jantung.

Penjelasan mengenai potensial biolistrik tubuh, sinyal EKG yang

ditimbulkan, cara pendeteksian sinyal EKG, serta apa dan bagaimana prinsip dan cara

kerja elektrokardiograf , akan dijelaskan pada bab ini.

2.1. Sinyal Biopotensial Jantung dan Pengukurannya

Pembahasan sinyal biopotensial jantung ini dibagi menjadi beberapa hal

utama, yaitu penjelasan mengenai bagaimana sistem konduksi elektrik pada jantung,

apakah yang disebut sebagai sinyal elektrokardiograf, dan bagaimana sistem penempatan

elektroda pada tubuh untuk mendapatkan data-data yang diperlukan dokter untuk

melakukan diagnosa.

Page 24: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

24

2.1.1. Sistem Konduksi Elektrik pada Jantung

Ada sebuah titik pada jantung yang bertugas untuk membangkitkan

potensial aksi. Titik tersebut disebut titik SA (Sino-Atrial), berada di serambi kanan

jantung. Apabila potensial aksi terjadi, tejadi propagasi menyebar ke seluruh bagian

jantung dan mengakibatkan kontraksi dan aksi systole-diastole. Untuk lebih jelasnya akan

dijelaskan berikut ini.

Ada dua jenis otot halus yang membentuk 4 ruang di dalam jantung, yaitu

serambi kanan (right atrium), serambi kiri (left atrium), bilik kanan (right ventricle), dan

bilik kiri (left ventricle). Darah dari jaringan tubuh masuk ke serambi kanan, mengalir ke

bilik kanan untuk kemudian dipompa ke paru-paru. Sedangkan darah yang berasal dari

paru-paru memasuki jantung melalui serambi kiri, bergerak ke bilik kiri, dan akhirnya

dipompa ke sistem sirkulasi tubuh.

Jantung merupakan sumber potensial biolistrik. Hal ini disebabkan oleh

aktifitas listrik otot jantung yang merupakan suatu sistem konduksi elektrik. Sistem

konduksi elektrik jantung terdiri dari Sinoatrial (SA) node, Bundle of His,

Atrioventricular (AV) node, suatu jaringan yang disebut Bundle Branches, dan Purkinje

Fibers. Struktur sistem konduksi elektrik jantung ditunjukkan pada Gambar 2-1.

Gambar 2-1. Struktur sistem konduksi elektrik jantung

Page 25: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

25

SA-node berfungsi sebagai pacemaker yang menentukan frekuensi denyut

jantung. Hal ini disebabkan oleh kemampuanya menghasilkan depolarisasi yang akan

merambat ke sel-sel lain dalam jantung. Potensial aksi yang dihasilkan SA-node

dikendalikan oleh sistem saraf pusat sehingga laju deyut jantung dapat diatur secara

otomatis.

Depolarisasi yang dihasilkan SA-node merambat ke seluruh serambi,

menyebabkan serambi berkontraksi, dan darah mengalir ke bilik jantung melalui katub

jantung . sinyal depolarisasi ini mencapai AV-node dalam waktu 40 ms. Rendahnya

kecepatan konduksi pada jaringan AV-node menyebabkan proses depolarisasi tiba di

purkinje sistem setelah 110 ms, yang diikuti oleh kontraksi bilik jantung. Darah yang

terdapat di bilik kanan dipompa ke paru-paru sementara bilik kiri memompa darah ke

sistem sirkulasi tubuh. Periode kontraksi ini disebut systole.

Potensial aksi berada di bilik jantung selama 200 250 ms. Selang waktu

ini memungkinkan bilik jantung memompa seluruh darah yang ada di dalamnya ke

pembuluh nadi. Jantung kemudian mengalami repolarisasi selama periode istirahat, yang

disebut sebagai diastole. Periode diastole bertahan sekitar 550 ms dan siklus di dalam

jantung berulang.

2.1.2. Sinyal Elektrokardiogram

Sinyal EKG yang ditunjukkan pada Gambar 2-2 diberi label P, Q, R, S, T,

yang mengindikasikan kodisi-kondisi tertentu pada jantung.

Tabel 2-1. Interval EKG

Interval Waktu (s) Kejadian

Interval PR 0.12 0.20 Depolarisasi atrium dan hantaran melalui simpul AV.

Kompleks QRS

0.08 0.10 Depolarisasi ventrikel dan repolarisasi atrium.

Interval QT 0.40 0.43 Depolarisasi ventrikel + repolarisasi ventrikel.

Interval ST 0.31 -0.33 Repolarisasi ventrikel.

Interval RR 0.60 1.00 Satu siklus

Page 26: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

26

Gambar 2-2. Sinyal EKG standar

Gelombang P timbul pada saat terjadinya depolarisasi pada serambi

(atrium), sementara kompleks QRS timbul pada saat proses depolarisasi terjadi di bilik

jantung (ventricle). Amplitudo gelombang R pada kompleks QRS berkisar antara 1 mV.

Gelombang T terbentuk dari proses repolarisasi otot-otot bilik jantung. Waktu yang

dibutuhkan untuk setiap interval beserta penyebabnya dapat dilihat pada Tabel 2-1

Page 27: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

27

berikut. Gambar 2-3 memperlihatkan perjalanan terbentuknya sinyal elektrokardiograf

berserta gambar vektornya.

Gambar 2-3. Perjalanan terbentuknya sinyal EKG

2.1.3. Penempatan Elektroda

Pengukuran sinyal bioelektrik jantung dilakukan dengan menempatkan

elektroda-elektroda di sekeliling jantung. Kaidah umum yang dipakai sekarang adalah

kaidah Wilson dan segitiga Einthoven. Gambar 2-4 adalah penempatan elektroda EKG

pada tubuh dengan kedua metode tersebut diatas, ditambah 6 lead sagital.

Page 28: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

28

Gambar 2-4. Penempatan elektroda pada tubuh

Kaidah segitiga Einthoven dinyatakan dalam tiga lead badan bipolar yaitu

lead I, II, dan III dengan ketentuan sebagai berikut:

1. Lead I : elektroda pada tangan tangan kiri terhubung dengan masukan non-

inverting dari penguat dan elektroda tangan kanan terhubung pada masukan

inverting.

2. Lead II : elektroda pada kaki kiri terhubung dengan masukan non-inverting dari

penguat dan elektroda tangan kanan terhubung pada masukan inverting (elektroda

tangan kiri terhubung singkat dengan kaki kanan).

Page 29: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

29

3. Lead III : elektroda pada kaki kiri terhubung dengan masukan non-inverting dari

penguat dan elektroda tangan kiri terhubung pada masukan inverting (elektroda

tangan kanan terhubung singkat dengan kaki kanan).

Sementara kaidah Wilson dinyatakan dalam tiga lead badan unipolar,

yaitu lead aVL, aVR, dan aVF dengan ketentuan sebagai berikut:

1. Lead aVR : elektroda tangan kanan ke masukan non-inverting, masukan dari

tangan dan kaki kiri dijumlahkan dan masuk ke masukan inverting.

2. Lead aVL : elektroda tangan kiri ke masukan non inverting, masukan dari tangan

kanan dan kaki kiri dijumlahkan dan masuk ke masukan inverting.

3. Lead aVF : elektroda kaki kiri ke masukan non inverting, masukan dari tangan

kanan dan kaki kiri dijumlahkan dan masuk ke masukan inverting.

Untuk lead V1 V6 diletakkan mengitari tulang rusuk dada sebelah kiri ,

ditunjukan untuk mendapatkan informasi sagital jantung.

Sinyal dari jantung tersebut masih lemah, berkisar 500 ìV 4 mV

sehingga harus diperkuat dulu sebelum dapat diolah, selain itu perlu juga

dipertimbangkan hal-hal lain dalam pengolahan sinyal, seperti derau dari otot dan derau

dari jala-jala yang semuanya masuk dalam suatu sistem EKG.

2.2. Elektrokardiograf

Pada dasarnya, elektrokardiogram mengambil potensial biolistrik tubuh

sebagai masukan dan meneruskan sinyal EKG pada media penampil. Namun proses yang

terjadi di dalam instrumen EKG tidak sesederhana itu. Potensial bio listrik jantung yang

direkam sangat kecil (berkisar 1 mV) sehingga sangat terpengaruh oleh sinyal-sinyal

elektrik yang ada di sekitarnya. Untuk mendapatkan sinyal EKG yang dapat memberikan

informasi optimal mengenai kondisi jantung pasien, instrumen EKG harus mengolah

potensial biolistrik jantung terlebih dahulu sebelum meneruskannya ke media penampil.

Page 30: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

30

Elektroda digunakan sebagai alat perekam sinyal EKG. Untuk

mendapatkan potensial biolistrik jantung, elektroda harus dipasang pada bagian-bagian

tubuh tertentu. Rendahnya nilai potensial biolistrik jantung menyebabkan ECG-amplifier

merupakan sub-sistem terpenting dalam instrumen EKG. Beberapa sub-sistem penting

dari EKG adalah sebagai berikut:

a. Elektroda

b. Rangkaian Wilson dan Einthoven

c. Penguat instrumentasi

d. Filter

e. Pengolah data

Diagram blok suatu sistem instrumentasi EKG diperlihatkan pada Gambar 2-5 berikut.

Gambar 2-5. Sistem instrumentasi EKG

2.2.1. Elektroda

Untuk mendapatkan potensial biolistrik tubuh, elektroda harus mengubah

arus ionik yang mengalir di dalam tubuh menjadi arus elektron yang dapat mengalir

melalui kabel pengantar.

Page 31: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

31

Salah satu jenis elektroda yang biasanya digunakan untuk proses

perekaman jangka pendek adalah suction cup electrode, yang ditunjukkan pada Gambar

2-6. Sementara untuk proses perekaman jangka panjang, seperti yang biasa digunakan

bagi pasien dalam perawatan intensif pada bagian ICU (Intensive Care Unit), digunakan

body-surface electrode. Jenis body-surface electrode yang biasa digunakan ditunjukkan

pada Gambar 2-7.

Gambar 2-6. Suction cup electrode

Gambar 2-7. Body surface electrode (a) tipe topi (b) penampang lintang (c) tipe disposable

Elektroda ini terdiri dari plat logam Ag-AgCl yang terletak di bagian atas

kolom berisi gel konduktif. Kolom berisi gel konduktif ini digunakan untuk menjaga agar

Page 32: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

32

plat logam Ag-AgCl tidak bergeser pada saat pasien bergerak. Struktur kolom ini

dikelilingi oleh karet yang salah satu permukaannya berlapis bahan perekat.

2.2.2. Rangkaian Wilson dan Einthoven

Perekaman sinyal EKG harus memenuhi Kaidah Wilson dan Kaidah

Segitiga Einthoven. Agar dapat memenuhi hal tersebut, maka diperlukan suatu rangkaian

yang bersifat sebagai switching yang dapat menyalurkan lead-lead yang diiginkan.

Secara elektronis, Kaidah Wilson dan Einthoven dapat diterapkan sebagai berikut.

Page 33: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

33

Keterangan: RA = right arm RL = right leg

LA = left arm LL = left leg

Untuk menyalurkan lead-lead seperti kofigurasi diatas maka diperlukan multiplexer

analog dual-channel. Sebagai multiplexer analog, CD4052 memiliki delapan masukan

(X0X4 dan Y0Y4) yang dapat dikendalikan secara digital melalui pin A, B, dan INH.

Table kebenaran dan karakteristik multiplexer CD4052 diperlihatkan pada Tabel 2-2 dan

Tabel 2-3.

Tabel 2-2. Tabel kebenaran multiplexer CD4052

State input

Output Inhibit B A

0 0 0 0X,0Y

0 0 1 1X,1Y

0 1 0 2X,2Y

0 1 1 3X,3Y

1 * * Tidak aktif

Tabel 2-3. Karakteristik high (H) dan low (L) multiplexer CD4052

Page 34: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

34

2.2.3. Penguat Instrumentasi

Semua instrumentasi yang dioperasikan di dalam suatu ruangan yang

terkoneksi dengan jala-jala listrik, akan mendapatkan derau yang diperoleh dari adanya

kopling kapasitansi antara rangkaian dengan jala-jala. Arus dari kopling kapasitans yang

menyebabkan common voltage ditunjukkan pada Gambar 2-8.

Gambar 2-8. Arus dari kopling kapasitans yang menyebabkan

common voltage (VC)

Salah satu cara untuk mengurangi hal tersebut adalah dengan

menggunakan penguat instrumentasi. Penguat instrumentasi mempunyai karakteristik:

a. Kemampuan untuk mencapai penguatan tinggi dengan nilai resistor yang rendah

b. Impedansi masukan yang sangat tinggi

c. CMRR tinggi

Penguatan tinggi diperlukan untuk memperkuat sinyal EKG, yang berkisar

1 mV, ke sinyal yang dapat dibaca oleh ADC (Analog to Digital Converter) yang berkisar

0 5 V. Sedangkan impedansi masukan yang tinggi akan membuat arus yang terjadi

akibat kopling kapasitansi lebih banyak mengalir ke ground daripada ke instrumen.

Sedangkan CMRR (Common Mode Rejection Ratio) tinggi diperlukan untuk

menghilangkan sisa-sisa erau yang masih ada. CMRR adalah perbandingan antara

penguatan diferensial dengan penguatan sinyal common. Penguat instrumentasi

sebenarnya adalah pengembangan dari penguat diferensial yang memperkuat beda

Page 35: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

35

tegangan antara dua terminal masukan OpAmp. Sedangkan penguatan sinyal common

adalah penguatan yang dilakukan apabila kedua terminal masukan OpAmp diberi sinyal

yang sama besar dan fasanya. Semakin besar CMRR, berarti semakin besar pula derau

yang dihilangkan karena pada dasarnya sinyal common adalah sinyal derau dari jala-jala.

Penguat instrumentasi merupakan pengembangan dari penguat diferensial

untuk memenuhi tuntutan impedansi masukan yang tinggi, penguatan yang dapat diubah-

ubah, serta CMRR yang tinggi. Jika dilihat pada Gambar 2-9, penguat insturmentasi

merupakan gabungan dari dua buah penguat diferensial dimana penguat pertama

merupakan kombinasi penguat diferensial standar yang mempunyai masukan dan output

diferensial dengan penguatan sesuai persamaan (2.1) berikut.

1

2

21

0 21

R

R

VV

V

211

20

21 VV

R

RV

(2.1)

Gambar 2-9. Rangkaian 3 OpAmp pembentuk penguat instrumentasi

Penguat kedua merupakan penguat diferensial standar yang dapat berperan

sebagai buffer ataupun penguat tambahan dengan penguatan sebesar 3

4

R

R. Sehingga

penguatan total adalah seperti diperlihatkan pada persamaan (2.2).

Page 36: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

36

213

4

1

20

21 VV

R

R

R

RV

(2.2)

Kita dapat mengubah besar penguatan secara mudah dengan mengubah nilai R1 dengan

asumsi R2, R3, R4 tetap.

Penguat terisolasi (Isolation Amplifier) secara umum mempunyai

kelebihan pada rasio sinyal terhadap derau yang lebih tinggi serta berfungsi juga sebagai

pengaman arus balik ke pasien. Namun harganya mahal dan sulit diperoleh. Untuk itu

digunakan penguat instrumentasi yang terdiri dari tiga buah OpAmp dengan rangkaian

pada Gambar 2-10. Penguatan total pada penguat instrumentasi ini dapat diatur dengan

mengubah nilai GR sesuai persamaan (2.3).

Gtotal R

kG

501 (2.3)

Gambar 2-10. Skema INA114 yang terdiri dari 3 OpAmp

2.2.4. Filter

Filter yang dipakai pada instrumentasi ini adalah High Pass Filter 0.5Hz,

Low Pass Filter 150Hz, serta Notch Filter 50Hz. High Pass Filter bertugas melewatkan

sinyal di atas 0.05 Hz sebagai drift compensation. Low Pass Filter bertugas sebagai anti

Page 37: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

37

aliasing karena sinyal nantinya akan diubah ke bentuk digital. Kedua bentuk filter

tersebut berfungsi sebagai Band Pass Filter dengan memperhatikan bahwa range sinyal

EKG berkisar antara 0. 5 150 Hz. Notch Filter disini berfungsi sebagai penghilang

derau yang diakibatkan oleh tegangan jala-jala 50 Hz. Filter aktif menggunakan op-amp

dapat dirancang dengan beberapa metode.

2.2.4.1. Metode Sallen-key (Unity Gain)

Metode Unity Gain merupakan metode untuk merancang filter dengan dua

variable yang ditentukan, yaitu R dan C. Metode ini dapat digunakan untuk merancang

baik LPF maupun HPF. Perancangan HPF dapat dilakukan dengan menggunakan

konfigurasi LPF yang dinormalisasi. Rangkaian dasar LPF menggunakan Metode Unity

Gain diperlihatkan pada Gambar 2-11.

Gambar 2-11. Rangkaian dasar konfigurasi LPF Metode Unity Gain

Rangkaian dasar diatas merupakan filter orde 2. Untuk pengembangan

menjadi orde 4, 6, 8, dan seterusnya, dapat dilakukan dengan penambahan stage

berikutnya. Perancangan suatu tapis pelewat rendah dapat dilakukan dengan cara

menentukan orde filter yang dibutuhkan. Nilai-nilai Cij pada rangkaian dasar dapat

ditentukan dengan melihat Table Butterworth (lihat Lampiran A) sesuai orde yang

bersangkutan. Dengan memilih suatu nilai R tertentu (misal: 10kΩ), maka nilai-nilai C

Page 38: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

38

pada rangkaian implementasi dapat ditentukan dengan menggunakan pesamaan (2.4)

berikut.

'

'

2 ijC

ijij

Rf

CC

(2.4)

dimana: ijC = nilai normal kapasitor dari Tabel Butterworth (lihat Lampiran A)

'ijC = nilai kapasitor pada rangkaian implementasi

Rij = nilai normal resistor pada rangkaian dasar (1Ω)

Rij = nilai resistor yang ditentukan pada rangkaian implementasi

fc = frekuendi cutoff filter yang dirancang

Metode Unity Gain untuk merancang suatu tapis pelewat tinggi dilakukan dengan cara

menormalisasi rangkaian dasar LPF ke bentuk HPF. Rangkaian normalisasi HPF dapat

dilihat pada Gambar 2-12.

Gambar 2-12. Rangkaian normalisasi HPF Metode Unity Gain

Untuk menentukan nilai-nilai variabel R dan C yang dibutuhkan dapat

dilakukan dengan cara mengambil suatu nilai fixed untuk C (misal: 470nF) dan

mementukan R yang dibutuhkan dengan persamaan (2.5).

'

'

2

/1

ijC

ijij

Cf

CR

(2.5)

dengan: ijC = nilai normal LPF kapasitor dari Tabel Butterworth.

Page 39: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

39

'ijC = nilai fixed kapasitor yang dipilih untuk rangkaian implementasi

Rij = nilai normal resistor pada rangkaian dasar (1Ω)

Rij = nilai resistor yang ditentukan pada rangkaian implementasi

fc = frekuendi cutoff filter yang dirancang

2.2.4.2. Metode Multi-purpose State Variable

Filter State Variable merupakan filter aktif yang dapat secara simultan

menghasilkan keluaran lowpass, highpass, maupun bandpass dari sebuah masukan.

Rangkaian normalisasi filter State Variable dapat dilihat pada Gambar 2-13.

Gambar 2-13. Rangkaian normalisasi Filter State Variable

Untuk merancang suatu tapis pelewat tinggi maupun tapis pelewat rendah, dapat dibuat

pada filter State Variable yang sama. Setelah menentukan frekuensi cutoff (fC) dan

faktor kualitas (Q) dari Tabel Butterworth, maka dapat ditentukan nilai QR , dengan

pesamaan (2.6).

13 QRQ (2.6)

Selanjutnya dilakukan prosedur penskalaan frekuensi dan penskalaan impedansi dengan

persamaan (2.6) dan (2.7) berikut.

Page 40: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

40

r

r

r

rf

fK

2

(2.7)

(2.8)

Pada perancangan filter Bandpass dan filter Notch, faktor kualitas (Q) ditentukan

berdasarkan frekuensi cutoff (fC) dan bandwith yang diinginkan sesuai persamaan (2.9).

BW

fQ 0 (2.9)

Filter Notch diperoleh dengan menjumlahkan output dari bagian lowpass dan highpass

dengan menggunakan op-amp tambahan, seperti yang diperlihatkan pada Gambar 2-14.

Gambar 2-14. Op-amp tambahan untuk Filter Notch

Filter State Variable juga dapat dirancang menggunakan program Filter42.

Filter42 merupakan program DOS yang dibuat oleh Texas Instrument untuk merancang

filter aktif menggunakan IC filter aktif universal UAF42 keluaran Burr-Brown.

Perancangan suatu filter untuk IC UAF42 menggunakan program Filter42 dapat

dilakukan dengan langkah-langkah sebagai berikut:

1. Step1: Pemilihan respon filter, yaitu: lowpass, highpass, bandpass, atau notch.

2. Step2: Pemilihan tipe filter, yaitu: Butterworth, Bessel, Chebyshev, atau Inverse

Chebyshev.

3. Step3: Pemilihan orde filter (n = 210).

4. Step4a: Penentuan frekuensi filter, yaitu:

a. Untuk filter lowpass/highpass: menentukan dBf 3 atau frekuensi cutoff

Page 41: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

41

b. Untuk filter bandpass: menentukan frekuensi tengah, TENGAHf

c. Untuk filter notch: menentukan frekuensi notch, NOTCHf

Bila filter yang dirancang adalah highpass/lowpass maka langsung ke Step5.

5. Step4b: bila filter yang dirancang merupakan bandpass/notch maka perlu

menentukan Bandwidth (BW) atau Lf dan Hf .

6. Step5: nilai-nilai komponen dan blok diagram filter dapat dilihat dengan

menggunakan F3, sedangkan plot dapat dilihat dengan menggunakan F2.

Topologi UAF42 dapat dilihat pada Gambar 2-15.

Gambar 2-15. Topologi UAF42

2.2.4.3. Metode Uniform Capacitor

Metode Uniform Capacitor dapat diterapkan untuk merancang suatu tapis

pelewat rendah. Rangkaian dasar (orde 2) dari LPF Uniform Capacitor diperlihatkan

pada Gambar 2-16.

Page 42: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

42

Gambar 2-16. Rangkaian dasar LPF Uniform Capacitor

Dengan metode ini, suatu tapis pelewat rendah dapat dengan mudah dirancang karena

menggunakan nilai kapasitor (C) yang tetap (fixed). Perancangan diawali dengan

menetukan orde filter sesuai Table Butterworth (lihat lampiran A). Jika dibutuhkan orde

lebih dari 2 (n = 4, 8, ) maka dapat dilakukan dengan penambahan stage berikutnya

dari rangkaian dasar diatas. Untuk menetukan nilai resistor Ri untuk setiap stage maka

digunakan persamaan (2.10) dan (2.11) berikut.

CfR

iCi ..4

1

, untuk i ganjil (i = 1, 3, 5, ) (2.10)

).(.

122

iiC

iCf

R

, untuk i genap (i = 2, 4, 6, ) (2.11)

dengan: Ri = nilai Ri pada setiap stage (ganjil dan genap)

C = kapasitor yang digunakan pada rangkaian implementasi

ái = lokasi real pole Ri dari Tabel Butterworth (lihat Lampiran A)

âi = lokasi imaginary pole Ri dari Tabel Butterworth (lihat Lampiran A)

fC = frekuensi cutoff

2.2.4.4. Metode Active Twin-T

Metode Twin-T merupakan metode yang sangat berguna untuk merancang

suatu filter notch karena karakteristiknya yaitu semakin meningkatnya atenuasi untuk

sinyal-sinyal yang frekuensinya semakin mendekati frekuensi notch.

Page 43: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

43

Gambar 2-17. Topologi Active Twin-T

Topologi Active Twin-T diperlihatkan pada Gambar 2-17. Perancangan suatu filter notch

dengan metode Twin-T diawali dengan menentukan faktor kualitas (Q) sesuai frekuensi

notch dan bandwidth yang diinginkan. Penetuan Q adalah seperti persamaan (2.9).

Selanjutnya dipilih nilai dua variabel bebas, yaitu R dan C yang mudah diperoleh. Nilai

komponen lainnya dapat ditentukan dengan persamaan (2.12) dan (2.13) berikut.

Qk

4

11 (2.12)

CfR

Notch21

1 (2.13)

2.2.5. Pengolah Data

Pengolah data berupa sistem mikroprosesor yaitu mikrokontroler AVR

(Alf and Vegards Risc processor) seri AT90S2313 dari ATMEL. Keluaran dari sub

sistem ini adalah ke PC.

2.2.5.1. Fitur-Fitur AT90S2313

Mikrokontroler AT90S2313 memiliki fitur-fitur utama sebagai berikut:

1. 118 macam instruksi

2. 32 x 8 bit General Purpose Register

Page 44: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

44

3. Memori program Flash pada ROM 2K word (1K x 16)

4. Memori EEPROM 128 byte

5. Memori data SRAM 128 byte

6. Jalur I/O 15 pin

7. Timer/counter 2 buah

8. Output PWM 1 channel

9. Serial I/O menggunakan USART

10. Komparator analog

2.2.5.2. Hardware

Konfigurasi pin AT90S2313 terlihat pada Gambar 2-18. Deskipsi masing-

masing pin dapat dilihat pada Tabel 2-4.

Gambar 2-18. Konfigurasi pin AT90S2313

2.2.5.3. Arsitektur AT90S2313

Mikrokotroler AT90S2313 merupakan mikrokontroler CMOS dengan

daya rendah yang memiliki arsitektur AVR RISC 8-bit. Arsitektur ini mendukung

kemampuan untuk melaksanakan eksekusi instruksi hanya dalam satu silkus clock

osilator. AVR ini memiliki fitur untuk menghemat konsumsi daya, yaitu dengan

menggunakan mode sleep. Mode sleep pada mikrokontroler AVR ada dua macam, yaitu

mode idle dan mode power down. Blok diagram mikrokontroler AT90S2313 dapat dilihat

pada Gambar 2-19.

Page 45: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

45

Tabel 2-4. Deskripsi pin AT90S2313

VCC Power supply

GND Ground

Port B (PB7..PB0) Port B merupakan port I/O 8-bit bi-directional. Pin-pin pada

port ini dapat diberi resistor pull-up internal secara individual.

PB0 dan PB1 juga dapat digunakan untuk input sebagai

komparator analog. Buffer port B dapat mencatu arus hingga

20mA dan dapat secara langsung men-drive LED.

Port D (PD6..PD0) Port D memiliki tujuh buah pin I/O bi-directional, yakni

PD6..PD0. Seperti halnya port B, pin-pin pada port ini juga

mampu men-drive LED karena dapat mencatu arus hingga

20mA.

RESET

Reset input. Kondisi logika rendah 0 lebih dari 50 ns pada pin

ini akan membuat mikrokontroler masuk ke dalam kondisi reset.

XTAL1

Input bagi inverting oscillator amplifier dan input bagi clock

internal.

XTAL2 Output inverting oscillator amplifier.

Mikrokontroler AVR ini memiliki model arsitektur Harvard, dimana

memori dan bus untuk program dan data dipisahkan. Dalam arsitektur AVR , seluruh 32

register umum yang ada terhubung langsung ke ALU prosesor. Dari 32 register yang ada,

terdapat 6 buah register yang dapat digunakan untuk pengalamatan tidak lansung 16-bit

sebagai register pointer. Register tersebut memiliki nama khusus, yaitu X, Y, dan Z.

masing-masing terdiri dari sepasang register. Register-register khusus tersebut adalah

R26:R27 (register X), R28:R29 (register Y), R30:R31 (register Z).

Page 46: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

46

Gambar 2-19. Blok diagram AT90S2313

Selain ketiga pasangan register tersebut, terdapat satu pasang register lagi

yang dapat digunakan bersama untuk pengolahan data 16-bit, yaitu R24:R25. Pasangan

register ini tidak memiliki nama khusus sebagaimana ketiga pasangan sebelumnya.

Arsitektur AVR AT90S2313 ditunjukkan pada Gambar 2-20.

Page 47: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

47

Gambar 2-20. Arsitektur AT90S2313

2.2.5.4. Universal Serial Bus

Gambar 2-21. Konektor USB

tipe-A dan B

Tabel 2-5. Fungsi pin-pin pada

konektor USB

Pin Fungsi

Merah 1 VBus (4.75-5.25 volt)

Putih 2 Data-

Hijau 3 Data+

Hitam 4 GND

Page 48: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

48

USB merupakan interface standar menggunakan serial bus. Sistem USB

terdiri dari host controller dan USB devices. Standarisasi USB berdasarkan USB

Implementers Forum adalah seperti Gambar 2-21 dan Tabel 2-5 berikut.

Fitur-fitur Universal Serial Bus:

1. PC bertindak sebagai host.

2. Sebanyak 127 usb devices dapat dihubungkan pada host, baik langsung maupun

menggunakan usb hub.

3. Panjang kabel USB adalah maksimal 5 meter dari host, dengan menggunakan usb

hub panjang kabel dapat mencapai 30 meter.

4. Maksimum data rate 480MB/detik (USB 2.0).

5. Kabel USB terdiri dari dua kabel power (+5V dan ground) dan kabel twisted pair

untuk data (D+ dan D-).

6. Pada kabel power, PC dapat mensuplai sampai 500mA pada tegangan 5V.

7. Devais berdaya rendah (seperti: mouse) dapat menggunakan power langsung dari

bus sedangkan untuk devais yang membutuhkan daya besar (seperti: printer)

harus menggunakan catu daya eksternal.

8. Umumnya devais USB dapat di-set pada mode sleep oleh PC host saat PC berada

pada mode power-saving.

Perangkat keras dan perangkat lunak yang terlibat pada sebuah system USB meliputi:

1. Perangkat keras:

a. USB Host Controller

b. USB Hub

c. Devais USB

2. Perangkat lunak:

a. USB Devais Driver

b. USB Driver

c. Host Controller Driver

Topologi suatu sistem USB adalah seperti Gambar 2-22 berikut.

Page 49: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

49

Client SW

USB HostController

USB LogicalDevice

Function

Host Physical DeviceInterconnect

USB BusInterface

USB System SW

Actual communications flow

Logical communications flow

Implementation Focus Area

Function Layer

USB DeviceLayer

USB BusInterface Layer

Gambar 2-22. Topologi sistem USB

Page 50: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

50

BAB III

PERANCANGAN INSTRUMENTASI EKG

PERANCANGAN PERANGKAT KERAS

Perancangan bagian perangkat keras dari sistem instrumen EKG akan

dibahas pada bagian ini. Bagian perangkat keras ini meliputi:

1. Selektor analog

2. Pengendali selektor

3. Penguat instrumentasi

4. Filter analog

5. Konverter analog ke digital

6. Modul USB

7. serta blok self-powered

3.1. Spesifikasi

Spesifikasi yang akan dijadikan acuan dalam perancangan bagian

perangkat keras sistem instrumen EKG adalah yang tertera pada Tabel 3-1 berikut.

Spesifikasi tersebut mengacu pada standar dari AAMI (Association of the Advancement of

Medical Instrumentation).

3.2. Diagram Blok

Gambar 3-1 memperlihatkan blok diagram dari perangkat keras sistem

instrumen EKG. Perangkat keras sistem instrumen EKG akan terdiri dari enam modul

PCB, yaitu: selektor, penguat dan tapis, ADC, modul USB, pengendali selektor, dan blok

self-powered.

Page 51: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

51

Tabel 3-1. Spesifikasi perancangan bagian perangkat keras sistem instrumen EKG

Sistem EKG Standar 12-leads

Sinyal masukan Simulator-EKG

Penguatan 1000 kali

CMRR ≥ 100 dB

Lebar sinyal 0.5 150 Hz

Hardware filter:

LPF 150 Hz

HPF 0.5 Hz

Notch 50 Hz

Resolusi min 8 bit

PC interface USB- port

Sistem operasi Microsoft Windows

Spesifikasi software Menampilkan sinyal pada suatu program

plot waveform Delphi

Tampilan Lead EKG secara otomatis oleh

pengendali selektor

5DQJNDLDQ:LOVRQ6HOHNWRU$QDORJ

(OHFWURGH(&*3DWLHQW&DEOH

3HQJXDW$ZDO5LJKWOHJGULYHQ5/'

)LOWHUDQDORJ3HQJXDWDNKLU

3&

3RZHUVXSSO\9GF

*URXQG

.RQYHUWHU$QDORJNH

'LJLWDO

0RGXO$NXLVLVL86%

3&86%SRUW

0RGXO3HQJHQGDOL6HOHNWRU

Gambar 3-1. Diagram blok perancangan perangkat keras

sistem instrumentasi EKG

Page 52: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

52

3.3. Perancangan

Pada perancangan perangkat keras terdapat beberapa hal yang perlu

diperhatikan dalam merancang sistem instrumentasi biomedika, antara lain:

1. Fungsi dasar dan spesifikasi yang disyaratkan

2. Penggunaan komponen yang tepat dengan nilai toleransi terkecil

3. Desain sesederhana mungkin untuk mengurangi kesalahan

4. Teknik grounding yang benar yang memperhatikan teknik peredaman derau.

3.3.1. Selektor Analog

Selektor analog merupakan modul yang langsung berhubungan dengan

kabel EKG. Modul ini terdiri dari rangkaian Wilson dan saklar analog. Modul ini

membutuhkan menggunakan catu daya +5V dan -5V untuk mengaktifkan komponen-

komponennya. Diagram blok modul ini terlihat pada Gambar 3-2.

Gambar 3-2. Diagram blok Selektor

Sinyal jantung yang akan direkam, disadap dari beberapa titik pengukuran.

Penyadapan dilakukan oleh beberapa buah elektroda yang diletakkan pada permukaan

kulit. Salah satu masalah yang timbul berkaitan dengan hal tersebut adalah impedansinya

yang tinggi yaitu sekitar 1 KÙ 10 KÙ bahkan dapat sampai 500 KÙ untuk kulit yang

Page 53: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

53

kering. Oleh karena itu agar tidak terjadi distorsi sinyal yang dihasilkan, maka digunakan

ECG-gel.

Selektor analog mengadopsi rangkaian dari Cardiofax ECG-6501/6511.

Rangkaian ini difungsikan untuk menentukan lead yang akan direkam. Ada 12 lead yang

dihasilkan dari 10 buah elektroda yang dipasang secara simultan.

Perencanaan rangkaian selektor analog ini dapat dilihat pada Gambar 3-3.

Terlihat juga adanya rangkaian Wilson yang menghasilkan tiga lead augmentasi, yaitu

aVL, aVR, dan aVF.

Gambar 3-3. Rangkaian selektor analog [Cardiofax: Service Manual, Nihon Kohden]

Proses perekaman dilakukan secara bergantian. Sistem pemilihannya

dilakukan oleh empat buah IC multiplexer analog 4052. IC ini merupakan saklar analog

yang dikendalikan oleh kendali digital, berisi 4 kanal dengan masing-masing kanal berisi

2 input data (X0 .. X3, Y0 .. Y3). Keluaran dikontrol oleh pin A, B, serta INH untuk

Page 54: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

54

mengontrol pemilihan IC. Pengoperasian multiplexer 4052 ini terlihat dari tabel

kebenaran pada Tabel 2-2.

3.3.2. Pengendali Selektor

Agar dapat menyalurkan lead yang akan direkam (lead I lead V6),

rangkaian selektor analog memerlukan bit-bit kontrol seperti Tabel 3-2, oleh karena itu

diperlukan suatu rangkaian yang dapat menghasilkan bit-bit kontrol tersebut.

Rangkaian pengendali selektor dapat dilihat pada Gambar 3-4. Rangkaian

ini mengunakan AT90S2313 untuk menghasilkan bit-bit seperti pada Tabel 3-2. Pada

rangkaian ini, port yang digunakan untuk mengeluarkan bit-bit kendali adalah port B.

Gambar 3-4. Rangkaian pengendali selektor [http://www.beyondlogic.org]

Dalam pengoperasian rangkaian ini, ada beberapa hal yang perlu diperhatikan, yaitu:

a. IC 4052 dapat beroperasi sebagai saklar analog, dengan baik pada perubahan bit

kendali 0.5 s.

b. Durasi 1 siklus sinyal ECG adalah ± 1.5 detik.

c. Rangkaian ini menggunakan Xtal 12MHz. Agar perekaman sinyal EKG dapat

dilakukan, pada implementasi diperlukan adanya delay pada algoritma

AT90S2313. Algoritma pengendali selektor ini akan dibahas lebih lanjut pada

bagian perancangan perangkat lunak

Page 55: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

55

Tabel 3-2. Bit-bit Kontrol Rangkaian Selektor Analog

B A INH (U11) INH (U12) INH (U13) INH (U14)

0 0 0 1 1 1

0 1 0 1 1 1

1 0 0 1 1 1

1 1 0 1 1 1

0 0 1 0 1 1

0 1 1 0 1 1

1 0 1 0 1 1

1 1 1 0 1 1

0 0 1 1 0 1

0 1 1 1 0 1

1 0 1 1 0 1

1 1 1 1 0 1

0 0 1 1 1 0

3.3.3. Modul Penguat dan Filter

Modul ini terdiri dari pre-amp/penguat awal, right leg driven (RLD),

filter, dan penguat akhir. Pada filter, sebelum dituangkan dalam bentuk modul, dilakukan

perancangan dan simulasi menggunakan beberapa metode perancangan. Diagram blok

modul penguat diperlihatkan pada Gambar 3-5.

Page 56: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

56

Gambar 3-5. Diagran blok Modul Penguat dan Filter

3.3.3.1. Penguat Instrumentasi

Seperti yang telah digambarkan sebelumnya, bagian penguat instrumentasi

(Instrumentation Amplifier/ IA) merupakan bagian terpenting dari instrumen EKG.

Bagian ini, selain memperkuat sinyal EKG ke level yang dapat dibaca/diolah lebih

lanjut, memegang peranan penting dalam mengurangi derau terutama derau dari jala-jala.

Pada perancangan ini, yang diperhatikan adalah sinyal EKG yang

diperkuat dan derau jala-jala. Sinyal kalibrasi EKG standar adalah 1 mV, sedangkan

apabila kita mengukur derau jala-jala pada osiloskop (dilakukan dengan tidak

menghubungkan probe pengukur pada apapun) didapatkan nilai 10 mV. Hal ini

menimbulkan masalah tersendiri, karena ternyata derau sepuluh kali lebih besar dari

sinyal EKG. Karenanya penguatan common dari penguat instrumentasi yang dipakai

harus mampu memperkecil/ memperlemahnya sehingga ketika diperkuat pada penguatan

diferensial, derau tersebut tidak meredam sinyal EKG.

Perancangan ini menggunakan IC INA114, yang mempunyai penguat

instrumentasi terintegrasi di dalamnya. IC ini mempunyai CMRR yang sangat tinggi,

mencapai 115 dB, sehingga cocok untuk digunakan dalam instrumen EKG. Perancangan

memakai penguatan bertingkat dengan INA144 berperan sebagai penguat awal dan

penguat akhir sekaligus sebagai rangkaian offset adalah OPA2227. Penguat awal

mempunyai penguatan yang lebih kecil, hanya 10 kali. Hal ini dikarenakan potensial

offset dari elektroda pasien yang dapat mencapai 300 mV, apabila penguatannya langsung

1000 kali, maka sinyal EKG akan teredam. Oleh karenanya, penguatan dibuat bertingkat

Page 57: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

57

dengan penambahan rangkaian Right Leg Driven (RLD) untuk mengurangi potensial

offset tersebut. Rangkaian RLD diterangkan oleh Gambar 3-6.

Gambar 3-6. Rangkaian Right Leg Driven [datasheet INA114]

Pilihan untuk menggunakan IC khusus penguat instrumentasi di atas

dikarenakan sulitnya membangun penguat instrumentasi dari tiga buah OpAmp, yang

dapat mencukupi kebutuhan sistem instrumentasi biomedik, khususnya EKG yaitu

memiliki CMRR ≈ 100 dB.

Pada perancangan ini digunakan kRG 8.22

sehingga penguatan yang dicapai pada

penguat instrumentasi ini (penguatan awal) adalah:

92.9)8.2)(2(

501

k

kGawal

3.3.3.2. Filter

Filter adalah suatu rangkaian yang berfungsi menghalangi rentang

frekuensi tertentu. Pada instrumen EKG ini, digunakan tiga macam filter: filter frekuensi

rendah ( LPF ), filter frekuensi tinggi ( HPF ), dan Notch Filter. Pemilihan tersebut

memperhatikan bahwa sinyal EKG berkisar pada 0.05 100 Hz saja.

Page 58: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

58

3.3.3.2.1. High Pass Filter

High Pass Filter (HPF) adalah suatu rangkaian khusus yang bertugas

menghalangi frekuensi rendah dan melewatkan frekuensi lebih tinggi. Dalam

perancangan ini HPF berfungsi sebagai drift compensation dengan fC = 0.5 Hz karena

keterbatasan kemampuan operasi perangkat keras yang bisa diperoleh. Perancangan yang

dilakukan adalah dengan menggunakan metode Unity Gain dan Multi-Purpose State

Variable sebagai pembanding.

Sallen- key (Unity Gain)

Spesifikasi awal dari filter ini adalah sebagai berikut:

fC = 0.5 Hz redaman -3dB

fS = 0.05 Hz redaman -80dB

AS = fC/ fS = 10 rad/s

Setelah dilihat pada grafik Butterworth pada lampiran, ternyata yang

memenuhi kriteria tersebut adalah orde 4 dengan nilai-nilai C sebagai berikut:

C11 = 1.082F C21 = 2.613F

C12 = 0.9241F C22 = 0.3825F

Rangkaian dasar konfigurasi LPF orde 4 diperlihatkan pada Gambar 3-7.

Gambar 3-7. Rangkaian dasar konfigurasi LPF

Page 59: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

59

Rangkaian dinormalisasi ke dalam bentuk HPF seperti pada Gambar 3-8.

Gambar 3-8. Normalisasi ke bentuk HPF

Setelah dinormalisasi dengan menggunakan persamaan (2.5), dengan

mengambil Cij = 470 nF maka diperoleh:

kCf

CR

C

9.625)10.470)(5.0(2

082.1/1

2

/19'

11

11'11

kCf

CR

C

88.732)10.470)(5.0(2

9241.0/1

2

/19'

12

12'12

kCf

CR

C

186.259)10.470)(5.0(2

613.2/1

2

/19'

21

21'21

MCf

CR

C

77.1)10.470)(5.0(2

3825.0/1

2

/19'

22

22'22

Maka diperoleh rangkaian pada Gambar 3-9

.

Gambar 3-9. Rangkaian implementasi tapis pelewat tinggi menggunakan

metoda Sallen-key

Page 60: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

60

Setelah itu rangkaian tersebut disimulasikan pada program Electronics

WorkBench (EWB). Ada dua titik yang diuji, yaitu titik pertama pada orde 2 (output

OpAmp 1) dan titik kedua pada orde 4 (output OpAmp 2) seperti yang tertera pada

Gambar 3-9. Tampak dari Gambar 3-10, semakin tinggi orde, semakin curam respon

amplitudonya sehingga semakin ideal dalam penggunaannya sebagai filter.

Gambar 3-10. Simulasi metode Sallen-key untuk HPF

menggunakan EWB

Karena keterbatasan komponen, dalam implenentasi perangkat keras digunakan

komponen-komponen berikut:

1. C = 470nF

2. R11 = 56kΩ + 560kΩ

3. R12 = 47kΩ + 680kΩ

4. R21 = 260kΩ

5. R22 = 1.7MΩ

Page 61: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

61

Multi-Purpose State Variable

Metode ini memanfaatkan UAF-42 dengan program Filter42 dengan

spesifikasi sebagai berikut:

f0 = 0.5 Hz

Q = 0.707

tipe = Butterworth

orde = 2

Fungsi transfer HPF adalah:

22

2.

/ nn

HP

IN

HP

Qss

sA

V

V

Dengan menggunakan program Filter42, diperoleh nilai-nilai:

1. C 1,2 = 100nF

2. RF 1,2 = 3,160 MÙ

3. RG = 50 KÙ dan RQ = 44,20 KÙ

Sehingga terbentuk rangkaian pada Gambar 3-11.

Gambar 3-11. Rangkaian implementasi HPF menggunakan

metoda Multi-Purpose State Variable

Page 62: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

62

Setelah disimulasikan, diperoleh Gambar 3-12.

Gambar 3-12. Simulasi metode Multi-Purpose State Variable untuk HPF

menggunakan EWB

3.3.3.2.2. Low Pass Filter

Low Pass Filter (LPF) adalah suatu rangkaian khusus yang bertugas

menghalangi frekuensi tinggi dan melewatkan frekuensi rendah. LPF disini selain

sebagai anti aliasing, berfungsi juga sebagai peredam derau frekuensi tinggi. Pada

perancangan ini dipilih frekuensi cutoff (fC) = 150 Hz. Nilai ini dipilih karena pada kasus

khusus (misalnya saat berolah raga) pada individu tertentu dapat muncul komponen-

komponen sinyal EKG yang beroperasi diatas 100 Hz.

Perancangan kali ini memakai beberapa metode, yaitu Unity Gain, Sallen-

Key, Uniform Capacitor, dan Multi-Purpose State Variable sebagai pembanding.

Page 63: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

63

Sallen-key (Unity Gain)

Spesifikasi awal LPF dengan memperhatikan karakteristik sinyal EKG

adalah sebagai berikut:

fC = 150 Hz redaman -3dB

fS = 450 Hz redaman -77dB

AS = fS/ fC = 3 rad/s

Setelah dilihat pada grafik Butterworth pada lampiran, ternyata yang

memenuhi kriteria tersebut adalah orde 8 dengan nilai-nilai C pada tabel Butterworth

adalah sebagai berikut:

C11 = 1.02F C21 = 1.202F C31 = 1.8F C41 = 5.125F

C12 = 0.9808F C22 = 0.8313F C32 = 0.5557F C42 = 0.195F

Kofigurasi OpAmp-nya terlihat pada Gambar 3-13.

Gambar 3-13. Rangkaian dasar konfigurasi LPF

Setelah dinormalisasi dengan menggunakan persamaan (2.4), dengan

mengambil 'ijR = 10 KÙ maka diperoleh:

nFRf

CC

C

225.108)10.10)(150(2

02.1

2 3'11

11'11

nFRf

CC

C

066.104)10.10)(150(2

9808.0

2 3'12

12'12

Page 64: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

64

nFRf

CC

C

536.127)10.10)(150(2

202.1

2 3'21

21'21

nFRf

CC

C

024.88)10.10)(150(2

8313.0

2 3'22

22'22

nFRf

CC

C

966.190)10.10)(150(2

8.1

2 3'31

31'31

nFRf

CC

C

526.58)10.10)(150(2

5557.0

2 3'32

32'32

nFRf

CC

C

779.543)10.10)(150(2

125.5

2 3'41

41'41

nFRf

CC

C

69.20)10.10)(150(2

195.0

2 3'42

42'42

Maka diperoleh rangkaian pada Gambar 3-14.

Gambar 3-14. Rangkaian implementasi LPF menggunakan

metoda Sallen-key

Gambar 3.15 adalah simulasi EWB untuk LPF dengan metode Unity Gain diukur pada

tiap-tiap keluaran OpAmp, yang berarti pada orde 2, 4, 6, dan 8. Dengan mengacu pada

Gambar 3.15, orde 2 adalah kurva yang berwarna biru, sedangkan orde 8 adalah kurva

yang berwarna ungu .

Page 65: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

65

Gambar 3-15. Simulasi metode Sallen-key untuk LPF

menggunakan EWB

Hal ini memperlihatkan, semakin tinggi orde, kualitas filter semakin baik, karena yang

diharapkan adalah LPF dengan frekuensi cut-off pada 150 Hz.

Uniform Capacitor

Dengan spesifikasi sama seperti di atas, dengan memperhatikan Tabel

lokasi pole pada Butterworth orde 8 (lihat lampiran), didapat nilai-nilai sebagai berikut:

á1 = 0.9808 á2 = 0.8315 á3 = 0.5557 á4 = 0.1951

â1 = 0.1951 â2 = 0.5557 â3 = 0.8315 â4 = 0.9808

Page 66: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

66

Rangkaian dasar LPF menggunakan metoda Uniform Capacitor dapat dilihat pada

Gambar 2-16. Dengan menerapkan persamaan (2.10) dan (2.11) pada rangkaian dasar

tersebut dan mengambil C = 0.01uF, diperoleh:

kR 09.54)10.10)(9808.0)(150(4

191

kR 2.212)1951.09808.0)(10.10)(150(

12292

kR 8.63)10.10)(8315.0)(150(4

193

kR 2.212)5557.08315.0)(10.10)(150(

12294

kR 486.95)10.10)(5557.0)(150(4

195

kR 2.212)8315.05557.0)(10.10)(150(

12296

kR 92.271)10.10)(1951.0)(150(4

197

kR 2.212)9808.01951.0)(10.10)(150(

12298

Maka diperoleh rangkaian pada Gambar 3-16.

Page 67: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

67

Gambar 3-16. Rangkaian implementasi LPF menggunakan

metoda Uniform Capacitor

Gambar 3-17. Simulasi metode Uniform Capacitor untuk LPF

menggunakan EWB

Page 68: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

68

Gambar 3-17 menunjukkan simulasi EWB dari perancangan LPF metode

Uniform Capacitor dari orde 2, 4, 6, dan 8. Orde 2 ditunjukkan pada kurva amplituda

paling bawah (kurva ungu) sedangkan orde 8 pada kurva teratas (kurva hijau). Sebaliknya

pada kurva fasa di bawahnya, terlihat pada keluaran orde 8 terdapat penguatan yang lebih

besar daripada orde-orde lain yang lebih kecil. Namun ternyata metode ini tidak mampu

mencapai frekuensi cut-off 150 Hz seperti yang diharapkan.

Multi-Purpose State Variable

Metoda ini menggunakan UAF-42 dengan spesifikasi sebagai berikut:

f0 = 150 Hz

Q = 0.707

tipe = Butterworth

orde = 2

Fungsi transfer LPF adalah:

22

2

/

.)(

nn

nLP

IN

LP

Qss

A

V

sV

Dengan menggunakan program Filter42, diperoleh nilai-nilai:

1. RF 1,2 = 1.070 MÙ

2. RG = 50 KÙ dan RQ = 44.20 KÙ

Sehingga terbentuk rangkaian pada Gambar 3-18. Rangkaian tersebut menghasilkan

UAF42 dengan karakteristik seperti pada Gambar 3.19. Tampak bahwa metode yang

dipakai mampu mencapai frekuensi cut-off seperti yang disyaratkan dengan kecuraman

yang cukup baik.

Page 69: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

69

Gambar 3-18. Rangkaian implementasi LPF menggunakan

metoda Multi-Purpose State Variable

Gambar 3-19. Simulasi metode Multi-Purpose State Variable untuk LPF

menggunakan EWB

Page 70: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

70

3.3.3.2.3. Notch Filter

Notch Filter atau dikenal juga sebagai Band Reject Filter adalah suatu

rangkaian khusus yang bertugas menghalangi rentang frekuensi diantara rentang

frekuensi rendah dan tinggi. Dalam kasus ini, frekuensi yang dihalangi adalah frekuensi

50 Hz yang merupakan frekuensi jala-jala yang dipakai di Indonesia.

Salah satu cara menghilangkan sinyal ini adalah dengan penambahan

Notch Filter pada frekuensi sinyal tersebut. Hanya saja spesifikasi notch haruslah ketat,

hanya meredam frekuensi 50 Hz saja dikarenakan sinyal EKG berada pada rentang 0.05

100 Hz. Notch sebenarnya juga merusak kualitas keluaran karena sinyal EKG juga

mempunyai nilai pada 50 Hz tersebut.

Ada dua metode yang diambil dalam perancangan kali ini, yaitu

perancangan berbasis Twin-T Network dan perancangan dengan menggunakan metode

Multi-Purpose State Variable.

Twin-T Network

Metode ini dipilih karena kesederhanaan rangkaian dan kemudahan

komponen. Rangkaian dasar Active Twin-T orde 2 dapat dilihat pada Gambar 2-17.

Spesifikasi awal yang diharapkan :

f0 = 50 Hz

BW = 4 Hz

Q = f0/ BW = 12.5

Dari spesifikasi awal tersebut, digunakan persamaan (2.12) dan (2.13). Dan dengan

mengambil R = 1MΩ, C = 10nF diperoleh nilai:

98.0)5.12(4

11

4

11

Qk

kCf

R 3.318)10.10)(50(2

1

2

19

01

nFnFC 20)10(22

Page 71: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

71

kkR

15.1592

3.318

21

kMkR 980)1)(98.0(

kMRk 20)1)(98.01()1(

Dari nilai-nilai yang telah diperoleh di atas, didapat rangkaian Notch Filter seperti pada

Gambar 3-20.

Gambar 3-20. Rangkaian implementasi Notch Filter menggunakan

metoda Twin-T

Gambar 3-21 adalah hasil simulasi EWB untuk Notch Filter dengan metode Twin-T

Network.

Page 72: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

72

Gambar 3-21. Simulasi metode Twin-T untuk Notch Filter

menggunakan EWB

Multi-Purpose State Variable

Pada perancangan ini digunakan metode yang mampu diimplementasikan

pada semua jenis filter dengan hanya mengubah nilai resistor dan kapasitornya. Untuk

itu, digunakan suatu IC khusus UAF-42 (Universal Active Filter) yang berisi 4 OpAmp.

Fungsi transfer yang dipakai adalah:

22

22

/

)(

)(

)(

nn

nBR

IN

BR

Qss

sA

sV

sV

Dengan spesifikasi:

f0 = 50 Hz

BW = 4 Hz

Q = f0/ BW = 12.5

Page 73: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

73

Dengan menggunakan program Filter42, diperoleh nilai-nilai:

1. RF 1,2 = 3.16 MÙ

2. RG = 50 KÙ dan RQ = 2.15 KÙ

Setelah melalui program Filter42 didapatkan rangkaian pada Gambar 3-22.

Gambar 3-22. Rangkaian implementasi Notch Filter menggunakan

metoda Multi-Purpose State Variable

Simulasi yang dilakukan pada program EWB memperlihatkan grafik pada Gambar 3-23.

Page 74: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

74

Gambar 3-23. Simulasi metode Multi-Purpose State Variable untuk Notch Filter

menggunakan EWB

Dari sejumlah rancangan diatas, maka diperoleh blok perancangan filter

dengan spesifikasi berikut:

1. High Pass Filter (HPF) : implementasi menggunakan metode Unity Gain (dengan

TL084)

2. Low Pass Filter (LPF) : implementasi menggunakan metode Multi-Purpose State

Variable (dengan UAF-42)

3. Notch Filter : implementasi menggunakan metode Multi-Purpose State

Variable (dengan UAF-42)

Pemilihan diatas berdasarkan respon yang dihasilkan dan juga dengan

mempertimbangkan penggunaan komponen, terutama resistor, karena semakin banyak

resistor yang digunakan maka toleransi akan semakin besar pula yang mengakibatkan

implementasi akan menghasilkan respon yang berbeda dari hasil simulasi

Page 75: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

75

3.3.3.3. Penguat Akhir & Offset

Pada penguat instrumentasi, sinyal EKG awal hanya dikuatkan ± 10 kali

untuk menghindari terjadinya redaman oleh noise yang besarnya dapat mencapai 10mV.

Agar sinyal ini dapat dimanfaatkan pada post-processing maka perlu dikuatkan lagi agar

berada pada rentang 0V sampai 5V.

Pada perancangan ini, digunakan OPA2227 yang berfungsi sebagai

summing-amplifier. Skema summing-amplifier dapat dilihat pada Gambar 3-24.

Gambar 3-24. Skematik inverting summing amplifier

3

32

21

110 v

R

Rv

R

Rv

R

Rv

R

Rv fff

N

nn

n

f (3.1)

Keluaran dari filter yang berada pada rentang ± 10mV akan dikuatkan 200 kali.

Sedangkan untuk menaikkan sinyal ke level positif, maka keluaran filter tersebut akan

dijumlahkan dengan tegangan DC 2.5V yang didapat dengan membagi tegangan 12V dari

catu daya. Keluaran dari inverting summing ini kemudian akan dibalik kembali

menggunakan op-amp kedua pada OPA2227. Keluaran OPA2227 yang pertama dapat

ditentukan menggunakan persamaan (3.1) sebagai berikut.

Page 76: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

76

CC

ffilterOUT

f vR

Rv

R

Rv

2)(

10

=

)12(

7.1

390)92.9(

2.2

390DCV

M

kmV

k

k DCVV 75.2758.1

Sedangkan OPA2227 yang kedua berfungsi sebagai inverter untuk mengubah keluaran

menjadi:

DCDCinin

f VVVVk

kv

R

Rv 72.2578.175.2578.1

10

100

Rangkaian implementasi menggunakan OPA2227 untuk penguat akhir & offset

diperlihatkan pada Gambar 3-25.

Gambar 3-25. Rangkaian implementasi penguat akhir & offset

Setelah disimulasikan menggunakan Program EWB, dengan memberikan masukan

10mV, maka rentang output berada pada 0 5V seperti diperlihatkan Gambar 3-26.

Gambar 3-26. Simulasi penguat akhir & offset menggunakan EWB

Page 77: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

77

3.3.4. Catu Daya

Catu daya merupakan salah satu komponen penting dalam suatu sistem

instrumentasi karena merupakan sumber penyedia energi sehingga alat dapat bekerja.

Dalam instrumentasi kedokteran, catu daya diperhatikan dengan sangat serius karena dua

hal, keamanan pasien terhadap arus bocor dan pengelolaan derau. Pilihan terbaik adalah

menggunakan batere atau trafo isolasi.

Perancangan ini menggunakan catu daya dari USB-port yang mensuplai

tegangan sebesar +5V. Pemilihan perancangan catu daya menggunakan USB-port ini

dengan mempertimbangkan dua hal, yaitu:

1. Dengan menggunakan catu dari USB, maka devais ini dapat menjadi lebih praktis

karena bersifat self-powered.

2. ECG merupakan peralatan medis, oleh karena itu keamanan pasien terhadap arus

bocor sangat penting. Dengan menggunakan catu dari USB, problem adanya arus

bocor dapat teratasi, karena port USB dikendalikan oleh chip USB yang ada pada

motherboard dan device manager pada windows yang secara otomatis akan mem-

blok arus bocor yang dapat merusak peralatan-peralatan yang menggunakan USB

port sebagai I/O port-nya.

Rangkaian selektor membutuhkan catu daya + 5V dan -5V sedangkan modul penguat dan

filter menggunakan + 12V dan 12V. Sementara itu pengendali selektor dan converter

analog ke digital menggunakan + 5 V.

Perancangan catu daya ini menggunakan MC4063 yang berfungsi sebagai

DC-DC converter. Untuk memperoleh tegangan + 12V dan + 5V digunakan MC4063

yang berfungsi sebagai step-up converter. Rangkaian catu daya untuk step-up converter

dapat dilihat pada Gambar 3-27.

Page 78: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

78

Gambar 3-27. Rangkaian catu daya positif [http://www.beyondlogic.org]

Sedangkan untuk tegangan 12V dan 5V digunakan MC4063 yang berfungsi sebagai

voltage-inverting. Skema catu daya voltage-inverting terlihat pada Gambar 3-28.

Gambar 3-28. Rangkaian catu daya negatif [http://www.beyondlogic.org]

3.3.5. Konverter Analog ke Digital

Konversi Analog ke Digital ini menggunakan mikrokontroler dari

ATMEL yaitu AT90S2313. Penggunaan mikrokontroler tersebut adalah sesuai dengan

spesifikasi yang diharapkan, seperti:

Page 79: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

79

1. built-in ADC

2. mikrokontroler CMOS dengan daya rendah

3. Serial I/O menggunakan USART

4. in system programmable flash, memungkinkan penambahan program lewat

computer hanya dengan perubahan konfigurasi resistor

Sinyal keluaran dari penguat akhir yang berada pada range 0 5 Volt

masuk ke AIN0 pada AVR 2313. Keluaran dari AT90S2313 diteruskan ke modul akuisisi

USB. Rangkaian konversi diperlihatkan pada Gambar 3-29 berikut ini.

Gambar 3-29. Rangkaian konversi analog ke digital [http://www.usb.org]

3.3.6. Modul Akuisisi USB

Modul ini berfungsi untuk mengkonversi data dari modul ADC agar dapat

di akuisisi ke PC melalui interface USB-port. Pemilihan USB-port sebagai port untuk

antarmuka devais ECG ini adalah karena instalasi devais berbasis USB lebih fleksibel

(plug and play) dan tidak harus me-restart PC.

Pada perancangan ini digunakan konektor USB tipe-A. Bentuk fisik dan

spesifikasi konektor tipe-A dapat dilihat pada Gambar 2-21 dan Tabel 2-5.

Sinyal USB ditransmisikan melalui kabel data twisted-pair, dengan level sinyal 0-0.3 volt

untuk low (0) dan 2.8-3.6 volt untuk high (1).

Page 80: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

80

Pada setiap pengiriman data, terjadi transmisi 3 paket. Skema transaksi via

USB adalah seperti pada Gambar 3.30 berikut.

Gambar 3-30. Fase transaksi USB

Setiap pengiriman diawali dengan pengiriman sebuah paket Token oleh USB host

controller (dalam hal ini PC). Paket ini berisi tipe dan arah pengiriman serta alamat

devais USB (dalam hal ini ECG USB). Selanjutnya devais akan mengirim paket berisi

data atau paket yang menyatakan tidak ada data yang dikirim. PC kemudian akan

mengirim paket handshake yang menyatakan apakah transfer sukses.

Agar data dapat ditransfer melalui antarmuka USB, maka mikrokontroler

perlu diatur agar beroperasi pada level 0-3.6 volt. Hal ini dapat dilakukan dengan cara

mengambil supply dari line VBus (5V) dan menurunkannya menjadi 3.6V menggunakan

dua dioda. Devais ini dapat terdeteksi dengan cara memasang resistor pull-up 1k5Ω

antara D- dan Vcc. Skema modul USB ini diperlihatkan pada Gambar 3-31.

Gambar 3-31. Rangkaian Modul USB [http://www.usb.org]

Page 81: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

81

PERANCANGAN PERANGKAT LUNAK

Perancangan bagian perangkat lunak dari sistem instrumen EKG akan

dibahas pada bagian ini. Bagian perangkat lunak ini terdiri dari beberapa bagian:

1. Program pengendali selektor oleh AT90S2313

2. Program Konversi Analog ke Digital

3. Program akuisisi USB

4. Penampil sinyal EKG pada program plot-waveform Delphi

3.3.7. Program Pengendali Selektor

Program ini berfungsi mengontrol AT90S2313 agar mengeluarkan bit-bit

yang dibutuhkan sesuai Tabel 3.2. Port yang digunakan untuk mengeluarkan bit-bit

kendali adalah port B, yaitu:

1. Pengendali INH1 (PB4)

2. Pengendali INH2 (PB5)

3. Pengendali INH3 (PB6)

4. Pengendali INH4 (PB7)

5. Pengendali A (PB3)

6. dan Pengendali B (PB2)

Diagram alirnya seperti terlihat pada Gambar 3-32.

3.3.8. Program Konversi Analog ke Digital

Program assembler konversi analog ke digital ini berfungsi untuk:

1. Menghidupkan ADC

2. Memilih kanal ADC

3. Mengaktifkan UART

4. dan mengirim data

Diagram alir program ini terlihat pada Gambar 3-33.

Page 82: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

82

3.3.9. Program Akuisisi USB

Program ini berfungsi untuk melakukan sinkronisasi dengan host

controller, mengambil data dari konverter analog ke digital, mengubah menjadi paket

data USB, mengirim paket data, serta menerima paket handshake dari host controller

bahwa data diterima dengan sukses atau tidak dan untuk menentukan action berikutnya.

Diagram alir dari program ini diperlihatkan pada Gambar 3-34.

3.3.10. Program Plot-waveform Delphi untuk Menampilkan Sinyal EKG

Program ini berfungsi sebagai penampil sinyal EKG yang telah diperkuat

dan difilter oleh sistem perangkat keras EKG. Lead yang ditampilkan adalah secara

otomatis oleh pengendali selektor.

Inti dari program adalah menerima data dari usb-port. Data tersebut

diubah ke format desimal dan ditampilkan dalam bentuk grafik. Diagram alir dari

program plot-waveform ini diperlihatkan pada Gambar 3-35. Layout tampilan dapat

dilihat pada Gambar 3-36 dan Gambar 3-37.

Page 83: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

83

6WDUW

6HWPDFURWXQGD

$

$

,QLVLDOLVDVL7HVW

/HDGDYUDYODYI99

6HW3RUW%VHEDJDLNHOXDUDQ

.LULP7HVWNH3RUW%

3DQJJLOPDFURWXQGD

.LULP/HDGNH3RUW%

3DQJJLOPDFURWXQGD

.LULPDYUDYODYINH3RUW%

3DQJJLOPDFURWXQGD

.LULP99NH3RUW%

3DQJJLOPDFURWXQGD

Gambar 3-32. Flowchart program pengendali selektor

Page 84: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

84

6WDUW

,QLVLDOLVDVL3RUW6WDFN8$57$'&

)ODJ$'&"

$PELOGDWDGDULUHJLVWHU$'&

VLPSDQGLUHJLVWHUXPXP

1

<

$

$

.LULPGDWDNH5HJLWHU8$57

3HQJLULPDQVHOHVDL"

3URVHVNRQYHUVLVHOHVDL"

(QG

1

<

<

1

$

%

%

Gambar 3-33. Flowchart program konversi analog ke digital

Page 85: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

85

Gambar 3-34. Flowchart program akuisisi USB

Page 86: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

86

Gambar 3-35. Flowchart program plot-waveform Delphi

Page 87: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

87

Gambar 3-36. Layout tampilan saat ECG belum terpasang

Gambar 3-37. Layout tampilan program plot-waveform setelah

ECG beroperasi

Page 88: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

88

BAB IV

HASIL DAN PEMBAHASAN

Perancangan suatu sistem instrumentasi akan lebih sistematis jika

dilakukan pengujian untuk tiap bagian yang membangun sistem tersebut sebelum

dilakukan pengujian keseluruhan. Pada bab ini akan dibahas terlebih dahulu pengujian

sistem, dilanjutkan dengan data-data pendukung dari setiap bagian, yaitu:

1. Selektor Analog dan Pengendalinya

2. Penguat Instrumentasi

3. High Pass Filter

4. Low Pass Filter

5. Filter Notch

6. Penguat Akhir dan Offset

7. Catu Daya

8. Modul Konversi

4.1. Pengujian Sistem

Pengujian sistem instrumentasi ECG ini terdiri dari dua tahap, yaitu:

1. Pengujian apakah devais dikenali pada Windows.

2. Pengujian apakah devais dapat memberikan menghasilkan Sinyal ECG standar

seperti yang telah dibahas pada dasar teori.

Gambar 4-1 sampai Gambar 4-7 memperlihatkan hasil pengujian devais ECG USB ini.

Page 89: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

89

Gambar 4-1. PC mendeteksi adanya devais berbasis USB

Gambar 4-2. PC menentukan protokol komunikasi yang digunakan

Gambar 4-3. Pemilihan lokasi driver oleh user

Page 90: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

90

Gambar 4-4. Proses pencarian driver ECG USB

Gambar 4-5. Instalasi driver ECG USB

Gambar 4-6. Proses instalasi driver berlangsung dengan sukses

Page 91: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

91

Gambar 4-7. ECG USB telah dapat digunakan

Pengujian kedua dilakukan dengan menggunakan Simulator ECG pada Gambar 4-8.

Gambar 4-8. Simulator ECG

Pada pengujian sistem ini, sistem tidak dapat beroperasi karena devais ECG USB ini

tidak dikenali oleh PC (Windows cannot recognize this USB Devices). Oleh karena itu,

penulis berinisiatif untuk menguji apakah sistem dapat mengeluarkan satu sinyal ECG

saja terlebih dahulu. Seperti pada dasar teori, pengujian dilakukan terhadap sinyal standar

seperti Gambar 4-9.

Page 92: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

92

Gambar 4-9. Sinyal EKG standar

Pada pengujian menggunakan simulator, diperoleh keluaran seperti Gambar 4-10.

Gambar 4-10. Pengujian satu sinyal EKG standar

Page 93: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

93

Perbandingkan hasil yang diperoleh pada Gambar 4-10 dengan data standar pada Gambar

4-9, terlihat bahwa segmen QRS telah dapat diperoleh. Namun segmen sinyal EKG yang

lebih kecil, yaitu segmen P dan T tidak dapat diperoleh dengan baik. Hal ini dapat

disebabkan oleh noise yang masih besar karena grounding maupun shielding yang belum

sesuai dengan standar instrumentasi medis. Durasi setiap segmen dan besar amplitudo

sinyal yang diperoleh belum dapat ditentukan karena program yang dibuat baru terbatas

pada menampilkan bentuk gelombang.

4.2. Selektor Analog dan Pengendali

Selektor analog merupakan bagian yang berfungsi untuk memilih lead

yang akan ditampilkan. Untuk dapat menguji rangkaian selektor analog, terlebih dahulu

perlu dilakukan pengujian terhadap rangkaian pengendali selektor. Rangkaian pengendali

selektor yang dirancang adalah menggunakan AVR 2313, oleh karena itu pengujian yang

dilakukan bertujuan untuk memeriksa apakah mikrokontroler tersebut dapat

mengeluarkan level tegangan yang mampu men-drive selektor analog yang menggunakan

IC multiplexer CD4052. Spesifikasi yang diperlukan untuk men-drive CD4052 dapat

dilihat pada Tabel 2-3. Pengujian dilakukan pada PortB yang menjadi control multiplex.

Diperoleh data pada Tabel 4-1.

Tabel 4-1. Hasil Pengujian AT90S2313 sebagai control multiplex

Pengendali Level tinggi (Volt) Level rendah (Volt)

A (PB3) 4.64 0

B (PB2) 4.60 0

INH1 (PB4) 4.65 0

INH2 (PB5) 4.62 0

INH3 (PB6) 4.65 0

INH4 (PB7) 4.64 0

Page 94: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

94

Pada rancangan selektor analog, digunakan VDD = +5V, VEE = -5V dan VSS = 0V. Pada

Tabel 2-3 terlihat bahwa untuk VDD = +5V, level rendah adalah maksimal 1,5V dan level

tinggi minimal 3.5V. Terlihat bahwa rangkaian pengendali yang menggunakan AVR

2313 ini dapat digunakan untuk mengendalikan control multiplex dengan supply arus

pada setiap jalur ± 0.10mA. Untuk menguji selektor analog, digunakan masukan dari

pengendali selektor. Hasil pengujian selektor analog dapat dilihat pada Tabel 4-2 berikut.

Tabel 4-2. Data Pengujian Selektor Analog

Konfigurasi B A INH(U11) INH(U12) INH(U13) INH(U14)

Test 0 0 - 1 1 1

Lead I 0 1 0 1 - 1

Lead II 1 0 - 1 1 1

Lead III 1 - 0 1 1 1

avR - 0 1 0 1 1

avL 0 1 1 0 1 1

avF 1 0 1 0 1 -

V1 1 0 1 0 1 1

V2 0 0 1 1 0 1

V3 0 1 1 - 0 1

V4 1 0 1 - 0 1

V5 1 1 1 1 0 0

V6 0 0 - 1 1 0

Keterangan: 1 = hasil pengukuran berada pada rentang 3.5V 5V

0 = hasil pengukuran berada pada rentang 0V 1.5V

- = hasil pengukuran tidak berada pada rentang (H) maupun (L)

Dari Tabel 4-2 terlihat bahwa diperoleh data pengukuran yang berbeda dengan Tabel 3-2,

yang mengakibatkan terjadinya perubahan pola switching. Perbandingan hasil pengujian

Tabel 4-2 dengan perancangan pada Tabel 3-2 dapat dilihat pada Tabel 4-3.

Page 95: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

95

Tabel 4-3. Perbandingan Perancangan dan Hasil Pengujian Selektor Analog

Lead yang direkam Perancangan Hasil pengujian

Test 000111 00-111

Lead I 010111 0101-1

Lead II 100111 10-111

Lead III 110111 1-0111

avR 001011 -01011

avL 011011 011011

avF 101011 10101-

V1 111011 101011

V2 001101 001101

V3 011101 011-01

V4 101101 101-01

V5 111101 111100

V6 001110 00-110

Keterangan: urutan bit adalah B A INH1 INH2 INH3 INH4

Dari Tabel 4-3 terlihat bahwa pola switching yang sama hanya terjadi pada avL dan V2.

Sedangkan untuk perekaman lead lainnya, diperoleh konfigurasi bit yang berbeda dan

adanya kondisi idle. Oleh karena itu rangkaian ini belum dapat menyalurkan Lead-lead

sesuai Kaidah Wilson dan Einthoven, sehingga belum dapat digunakan sebagai rangkaian

selektor untuk instrumen EKG.

4.3. Penguat Instrumentasi

Pengujian Penguat Instrumentasi dilakukan dengan cara menguji

kestabilan CMRR pada rentang frekuensi sinyal ECG. Pengukuran CMRR dilakukan

dengan cara membandingkan penguatan common dengan penguatan maksimal.

Penguatan common adalah penguatan saat penguat instrumentasi diberi dua masukan

Page 96: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

96

yang sama besar dan fasanya sedangkan penguatan maksimal merupakan penguatan pada

masukan 1mV. Dengan menggunakan catu daya ±12V penguatan maksimal adalah

120001

12

mV

V kali, karena nilai keluaran tidak dapat melebihi nilai tegangan sumber.

Untuk menentukan CMRR digunakan persamaan (4.1) berikut.

c

d

A

AdBCMRR log20)( (4.1)

dengan: Ad = penguatan diferensial = d

ldiferensiao

V

V )(

Ac = penguatan common = c

commono

V

V )(

Dari pengukuran, didapat data Tabel 4-4 berikut.

Tabel 4-4. Data Pengukuran CMRR INA114

Frekuensi (Hz) Vc (V) Vo(common) (V) CMRR (dB)

10 1 0.220 94.735

20 1 0.130 99.305

30 1 0.125 99.645

40 1 0.110 100.755

50 1 0.106 101.078

60 1 0.092 102.307

70 1 0.086 102.894

80 1 0.078 103.742

90 1 0.070 104.681

100 1 0.064 105.460

110 1 0.055 106.776

120 1 0.052 107.264

130 1 0.044 108.714

140 1 0.036 110.458

150 1 0.033 111.213

Page 97: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

97

Dari Tabel 4-4, diperoleh grafik CMRR terhadap frekuensi pada Gambar 4-11.

101

102

0

20

40

60

80

100

120Grafik CMRR INA114 terhadap frekuensi

Frekuensi (Hz)

CM

RR

(dB

)

1020 30 40 50 60

150

Gambar 4-11. Grafik CMRR INA114 terhadap frekuensi

Dari grafik diatas, terlihat bahwa CMRR cukup stabil berada diatas

100dB, kecuali untuk frekuensi-frekuensi yang rendah, terutama pada 10Hz yang nilainya

hanya mencapai 94.735dB. Namun secara umum INA114 ini dapat mencapai nilai

CMRR yang dibutuhkan oleh instrumen standar ECG seperti spesifikasi pada Tabel 3-1,

yaitu ≥ 100dB.

4.4. High Pass Filter

Pengujian high pass filter dilakukan dengan menggunakan masukan dari

generator fungsi, osiloskop, dan sumber tegangan ±12V. Masukan berupa sinyal dengan

amplitude 1 Volt dan frekuensi pada range frekuensi sinyal ECG, khususnya di sekitar

frekuensi cutoff, fC = 0.5Hz. Hasil pengujian HPF dengan metode Unity Gain

diperlihatkan pada Tabel 4-5.

Page 98: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

98

Tabel 4-5. Pengujian HPF dengan Metode Unity Gain

Frekuensi (Hz) Vin Vout Atenuasi (dB)

0.3 1 0.30 -10.458

0.4 1 0.55 -5.193

0.5 1 0.67 -3.478

0.7 1 0.87 -1.209

0.9 1 0.98 -0.175

1 1 1 0

2 1 1 0

5 1 1 0

10 1 1 0

150 1 1 0

Dari Tabel 4-5 diperoleh grafik atenuasi terhadap frekuensi pada Gammbar 4-12.

100

101

102

-12

-10

-8

-6

-4

-2

0

2

4

Frekuensi (Hz)

Ate

nuas

i (dB

)

Grafik Atenuasi HPF Unity Gain terhadap frekuensi

Gambar 4-12. Grafik Atenuasi HPF Unity Gain terhadap frekuensi

Page 99: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

99

Terlihat dari grafik bahwa metode ini dapat mencapai frekuensi cutoff fC = 0.5Hz. Pada

frekuensi fC = 0.5Hz diperoleh redaman -3.4dB. Metode Unity Gain ini mampu mencapai

redaman yang baik karena HPF yang diterapkan dengan metode ini menggunakan orde-4.

HPF dengan metode Unity Gain orde-4 ini dapat digunakan untuk instrumen EKG.

4.5. Low Pass Filter

Pada tapis pelewat rendah ini, pengujian hanya akan dilakukan untuk

rancangan dengan metode Multi-purpose State Variable. Pengujian terhadap metode-

metode lainnya tidak dilakukan karena beberapa hal berikut:

1. Dari hasil simulasi, terlihat bahwa metode lain belum mampu memberikan hasil

yang baik, walaupun dengan menggunakan komponen bernilai ideal.

2. Kompleksitas rangkaian hasil metode lain akan menyebabkan komponen yang

digunakan semakin banyak dan % toleransi akan semakin besar. Hal ini akan

menyebabkan frekuensi cutoff akan semakin bergeser. Dengan State Variable,

rangkaian akan lebih sederhana dan dapat diatur bandwidth-nya.

Seperti pada high pass filter, pengujian dilakukan dengan menggunakan

masukan dari generator fungsi, osiloskop, dan sumber tegangan ±12V. Masukan berupa

sinyal dengan amplitude 1V dan frekuensi pada range frekuensi sinyal ECG, khususnya

di sekitar frekuensi cutoff, fC = 150Hz. Hasil pengujian LPF dengan metode Multi-

purpose State Variable diperlihatkan pada Tabel 4-6.

Page 100: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

100

Tabel 4-6. Pengujian LPF dengan UAF42

Frekuensi (Hz) Vin Vout Atenuasi (dB)

10 1 1 0

20 1 1 0

30 1 1 0

50 1 1 0

80 1 1 0

100 1 1 0

110 1 0.95 -0.445

120 1 0.90 -0.915

130 1 0.86 -1.310

140 1 0.78 -2.158

145 1 0.65 -3.741

150 1 0..58 -4.731

155 1 0.45 -6.934

160 1 0.33 -9.629

200 1 0.05 -26.020

Gambar 4-13 merupakan grafik redaman terhadap frekuensi dari hasil Tabel 4-6.

101

102

-30

-25

-20

-15

-10

-5

0

5

Frekuensi (Hz)

Ate

nuas

i (dB

)

Grafik Atenuasi LPF menggunakan UAF42

Gambar 4-13. Grafik Atenuasi LPF metode State Variable dengan UAF42

Page 101: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

101

Terlihat bahwa penggunaan UAF42 dengan metode State Variable ini dapat

menghasilkan redaman -4.7dB pada frekuensi cutoff 150Hz, sehingga dapat digunakan

pada instrumen EKG ini.

4.6. Filter Notch

Hasil pengukuran filter notch dengan metode Multi-purpose State

Variable diperlihatkan pada Tabel 4-7.

Tabel 4-7. Data pengujian filter notch metode State Variable

Frekuensi (Hz) Vin Vout Atenuasi (dB)

10 1 1 0

20 1 1 0

30 1 0.95 -0.445

40 1 0.80 -1.938

50 1 0.02 -33.979

55 1 0.64 -3.876

60 1 0.88 -1.110

70 1 0.95 -0.455

80 1 0.95 -0.455

90 1 0.99 -0.087

100 1 0.99 -0.087

1000 1 1 0

Page 102: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

102

101

102

103

-40

-35

-30

-25

-20

-15

-10

-5

0

5

Frekuensi (Hz)

Ate

nuas

i (dB

)

Grafik Atenuasi Filter Notch menggunakan UAF42

Gambar 4-14. Grafik Atenuasi Filter Notch menggunakan UAF42

Grafik atenuasi yang dihasilkan dari pengukuran metode State Variable adalah seperti

Gambar 4-14. Terlihat bahwa UAF42 mampu mencapai redaman -33dB pada frekuensi

50Hz. UAF42 juga mampu menghasilkan bandwidth yang diinginkan yaitu rentang -3dB

antara 44Hz sampai dengan 56Hz datar. Oleh karena itu filter notch dengan

menggunakan UAF42 ini dapat memenuhi kebutuhan instrumen ECG.

4.7. Penguat Akhir dan Offset

Pengujian rangkaian ini dilakukan dengan cara menguji besar penguatan

yang dicapai untuk keluaran bagian filter, offset, dan penguatan inverter. Sinyal keluaran

dari filter berada pada range 10mV. Agar dapat diakuisisi dengan baik, pengkondisi

sinyal ini akan mengubahnya dengan penguatan ± 200 kali. Hasil pengukuran penguat

sinyal pada range frekuensi ECG menggunakan OPA2227 diperlihatkan pada Tabel 4-8.

Page 103: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

103

Tabel 4-8. Pengukuran penguat akhir sinyal dengan OPA2227

Frekuensi (Hz) Vin (mV) Vout (V) Asinyal

10 50 8.5 170

30 50 8.5 170

40 50 8.4 168

60 50 8.6 172

90 50 8.9 178

100 50 8.8 176

120 50 8.6 172

130 50 8.8 176

150 50 8.7 174

Grafik penguatan yang dicapai penguat sinyal ini diperlihatkan pada Gambar 4-15.

. 10

110

20

20

40

60

80

100

120

140

160

180

Frekuensi (Hz)

Pen

guat

an

Grafik penguat akhir sinyal OPA2227

Gambar 4-15. Grafik penguat sinyal dengan OPA2227

Penguatan sinyal yang dicapai dengan OPA2227 ini mampu mengubah sinyal keluaran

filter dari 10mV agar berada pada range ±1.8V.

Page 104: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

104

Offset mengambil masukan dari catu daya +12V. Hasil pengukuran

keluaran rangkaian offset ini menggunakan OPA227 adalah seperti Tabel 4-9.

Tabel 4-9. Pengukuran offset dengan OPA2227

Vin (V) Vout (V) Asinyal

12 2.7 0.225

12 2.8 0.233

12 2.8 0.233

12 2.7 0.225

12 2.9 0.241

Nilai perancangan yaitu

M

k

7.1

390 = 0.229 kali tidak tepat dicapai, namun rangkaian ini

telah dapat menggeser offset dari 0V ke 2.7V.

Tabel 4-10 adalah hasil pengukuran op-amp kedua dari OPA2227 yang

menjadi penguat inverter.

Tabel 4-10. Pengukuran inverter OPA2227

Vin (V) Vout (V) Asinyal

5 -4.9 -0.98

5 -5 -1

5 -4.9 -0.98

5 -4.9 -0.98

5 -5.1 -1.02

Page 105: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

105

4.8. Catu Daya

Tabel 4-11 memperlihatkan hasil pengukuran keluaran catu daya.

Tabel 4-11. Pengukuran keluaran catu daya

Tegangan rancangan Tegangan keluaran +5V +5V -5V -5V

+12V +11.86V -12V -11.63V

Hasil keluaran catu daya -5V dan +5V ternyata dapat diperoleh dengan

tepat karena merupakan keluaran dari regulator LM7905 dan LM7805. Sedangkan untuk

-12V dan +12 V, keluaran diperoleh dari MC4063 yang merupakan konverter DC-DC

yang mengubah masukan +5V dari jalur power USB. Perubahan nilai ini dapat

disebabkan karena nilai resistor yang tidak tepat, karena pada implementasi tidak dapat

digunakan resistor bernilai 950Ω maupun 19.5kΩ.

Agar dapat men-supply instrumen ECG dengan baik, maka catu daya ini

harus stabil. Kestabilan catu daya ini dapat dilakukan dengan menguji kemampuan catu

daya ini untuk men-supply arus yang stabil. Hasil pengukuran arus diperlihatkan pada

Tabel 4-12 berikut.

Tabel 4-12. Pengukuran kestabilan arus

Tegangan rancangan Tegangan keluaran +5V 0.12mA -5V 0.10mA

+12V 0.11mA -12V 0.11mA

Catu daya ini dapat memberikan arus yang stabil karena bersumber dari line power USB

yang dikendalikan oleh chip USB pada motherboard. Pengendalian oleh chip USB dan

Windows Management ini sekaligus dapat mencegah terjadi kebocoran arus yang dapat

merusak alat.

Page 106: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

106

4.9. Modul Konversi

Pengujian modul konversi ini dilakukan dengan memberi masukan dari

potensio dan melihat keluaran pada program plotter di PC. Hal ini dikarenakan kita tidak

dapat menguji hardware konverter ini tanpa program di PC dan sebaliknya kita tidak

dapat menguji software tanpa masukan dari hardware ke port I/O dari PC. Pengujian

dilakukan dengan cara menghubungkan potensio ke power +5V, GND, dan pin input

ADC. Gambar 4-16 memperlihatkan respon modul konversi saat nilai potensio tidak

berubah. Dengan mengubah-ubah nilai potensio, diperoleh Gambar 4-17.

Gambar 4-16. Respon Modul Koversi saat nilai potensio tidah berubah

Gambar 4-17. Respon Modul Koversi terhadap perubahan masukan

Page 107: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

107

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Perancangan dan implementasi instrumen EKG selama pengerjaan tugas

akhir ini telah diuji menggunakan Simulator EKG. Selama proses pengerjaan tugas akhir

ini dan berdasarkan analisa hasil-hasil percobaan dari serangkaian pengujian, dapat

diambil kesimpulan-kesimpulan sebagai berikut:

1. Sistem instrumentasi EKG yang dibuat belum mampu menampilkan 12-lead EKG

standar. Hal ini disebabkan oleh rangkaian selektor yang belum berfungsi dengan

benar.

2. Instrumen EKG berbasis PC ini baru dapat menampilkan satu sinyal standar EKG.

3. Pada satu sinyal EKG yang diujikan, terlihat bahwa instrumen ini baru dapat

menangkap segmen QRS dari sinyal EKG, sedangkan untuk komponen sinyal

yang kecil, yaitu segmen P dan T, masih belum dapat ditangkap dengan baik.

4. Dari pengukuran satu sinyal, telah terlihat adanya sinyal periodik yang

menunjukkan adanya heart beat.

5.2. Saran

Berdasarkan hasil-hasil selama perancangan dan implementasi, untuk

dapat mengasilkan instrumen EKG yang lebih baik perlu diperhatikan hal-hal berikut:

1. Perancangan dan pembuatan instrumen EKG akan lebih baik jika menggunakan

sistem modul sehingga memudahkan untuk pencarian error dan fleksibilitas

pengembangan.

2. Sebagai suatu sistem instrumentasi, perancangan per blok harus memperhatikan

matching-impedance.

Page 108: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

108

3. Dalam perancangan instrumen EKG, faktor noise, grounding, dan shielding harus

diperhatikan dengan baik.

4. Untuk dapat menangkap sinyal EKG yang sangat kecil dengan baik, perlu suatu

rangkaian khusus yang bersifat sebagai buffer.

5. Pada penyempurnaan alat ini, perlu adanya penambahan rangkaian proteksi untuk

keamanan pasien.

6. Pengkondisi sinyal akan memberikan hasil yang lebih baik jika dirancang secara

bertingkat, baik pada penguat maupun filter.

7. Suatu filter digital dapat ditambahkan pada mikrokontroler maupun program

aplikasi di PC sehingga dapat memberikan hasil yang lebih baik.

8. Pada post processing, dapat dilakukan pengembangan dengan penambahan

program yang bersifat sebagai ECG Pattern Recognition serta pengembangan

suatu sistem Database untuk menyimpan dan mengolah data EKG dari pasien.

Page 109: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

109

DAFTAR PUSTAKA

1. - , Cardiofax: Service Manual, Nihon Kohden.

2. ANSI/ AAMI EC11-1991, Diagnostic Electrocardiograph Devices, Approved by

October 24th, 1991.

3. Aston, Richard, Principles of Biomedical Instrumentation and Measurement,

Maxwel McMillan Canada, Inc., 1990.

4. Ott, Hendry W., Noise Reduction Technique in Electronic System, 2nd edition,

John Willey & Sons, Inc., New York.

5. Webster, John G., Medical Instrumentation: Application and Design, Houghton

Mifflin Company, Boston, 1978.

6. AVR STK500 User Guide.

7. Kadir, Abdul, Dasar Pemograman Delphi 5.0, Andi, 2001.

8. Cameron, John and James G. Skofronick, Medical Physics, John Willey & Sons,

New York, 1978.

9. Peacock, Craig, Interfacing using Delphi; 2000.

10. http://www.usb.org dan http://www.beyondlogic.org

Page 110: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

110

LAMPIRAN

A. Grafik dan Tabel Butterworth

B. Skema Perangkat keras

C. Program Pengendali Selektor

D. Program Konversi Analog ke Digital

E. Program USB

F. Program Plotter Delphi

G. Datasheet INA114

H. Datasheet UAF42

I. Datasheet AT90S2313

J. Datasheet CD4052

K. Dokumentasi

Page 111: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

111

Page 112: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

112

; Program untuk pengendalian multiplexer 4052

; oleh: Johan Arief

.nolist ;list file untuk include file tidak perlu ditampilkan

.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\2313def.inc"

.list

.def keluaran=r16

.def test= r17

.def lead1= r18

.def lead2= r19

.def lead3= r20

.def avr= r21

.def avl= r22

.def avf= r23

.def v1= r24

.def v2= r25

.def v3= r26

.def v4= r27

.def v5= r28

.def v6= r29

.def ledon= r30

.def ledoff= r31

.macro tunda

count32:

inc r1

brne count32

Page 113: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

113

inc r2

brne count32

inc r3

brne count32

inc r4

.endmacro

.cseg

.org 0

ldi keluaran,0b11111111

out DDRB,keluaran

out DDRD,keluaran

mulai:

ldi test, 0b10001100

ldi lead1, 0b10011100

ldi lead2, 0b10101100

ldi lead3, 0b10111100

ldi avr, 0b01001100

ldi avl, 0b01011100

ldi avf, 0b01101100

ldi v1, 0b01111100

ldi v2, 0b11001000

ldi v3, 0b11011000

ldi v4, 0b11101000

ldi v5, 0b11111000

ldi v6, 0b11000100

Page 114: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

114

ldi ledon, 0b00001000

ldi ledoff,0b00000000

count:

out portb,test

out portd,ledon

tunda

tunda

tunda

out portb,lead1

out portd,ledoff

tunda

tunda

tunda

out portb,lead2

out portd,ledon

tunda

tunda

tunda

out portb,lead3

out portd,ledoff

tunda

tunda

tunda

out portb,avr

out portd,ledon

tunda

tunda

tunda

out portb,avl

Page 115: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

115

out portd,ledoff

tunda

tunda

tunda

out portb,avf

out portd,ledon

tunda

tunda

tunda

out portb,v1

out portd,ledoff

tunda

tunda

tunda

out portb,v2

out portd,ledon

tunda

tunda

tunda

out portb,v3

out portd,ledoff

tunda

tunda

tunda

out portb,v4

out portd,ledon

tunda

tunda

tunda

out portb,v5

out portd,ledoff

Page 116: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

116

tunda

tunda

tunda

out portb,v6

out portd,ledon

tunda

tunda

tunda

rjmp count

.exit

Page 117: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

117

; ; Program AVR2313 Analog Input ; oleh: Johan Arief ; rjmp Mulai reti reti reti reti reti rjmp Input reti reti reti reti Mulai: ldi r24,#31 out WDTCR,r24 ldi r24,#23 out WDTCR,r24 ldi r24,#223 out SPL,r24 ldi r28,#192 ldi r30,#184 mov r4,r30 clr r29 mov r5,r29 ldi r30,#126 ldi r31,#0 ldi r26,#96 ldi r27,#0 clr r24 Lop_1 : st x+,r24 sbiw r30,#1 brne Lop_1 ldi r24,#12 out UBRR,r24 ldi r24,#24 out UCR,r24 clr r6 ldi r24,#252 out DDRB,r24 cbi PORTB,0 cbi PORTB,1 ldi r24,#191

Page 118: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

118

out DDRD,r24 ser r24 out PORTD,r24 cbi ACSR,7 ldi r24,#4 out TCCR0,r24 ldi r24,#0 out TCCR1A,r24 ldi r24,#2 out TCCR1B,r24 ldi r24,#31 out WDTCR,r24 ldi r24,#23 out WDTCR,r24 sei in r24,TIMSK ori r24,#$2 out TIMSK,r24 in r24,TIMSK ori r24,#$80 out TIMSK,r24 ldi r24,#0 out TCNT0,r24 ldi r24,#0 ldi r25,#0 out TCNT1H,r25 out TCNT1L,r24 ldi r24,#4 out TCCR0,r24 ldi r24,#2 out TCCR1B,r24 Main: ldi r26,#168 ldi r27,#0 ldi r30,#100 ldi r31,#0 rcall Kirim_Data ldi r24,#10 ldi r25,#0 rcall Tunggums rjmp Main cli Selesai: rjmp Selesai Kirim_Data: rcall Kirim_1

Page 119: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

119

rcall Kirim_2 rcall Kirim_0D_0A Input: push r0 push r1 push r2 push r3 push r4 push r5 push r7 push r8 push r9 push r10 push r11 push r16 push r17 push r18 push r19 push r20 push r21 push r22 push r23 push r24 push r25 push r26 push r27 push r28 push r29 push r30 push r31 in r24,SREG push r24 in r24,UCR andi r24,#$1F out UCR,r24 ldi r24,#100 out TCNT0,r24 sbi DDRB,0 sbi PORTB,0 push r30 push r31 ldi r30,#84 ldi r31,#2 rcall Tunggu_us pop r31

Page 120: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

120

pop r30 cbi DDRB,0 cbi PORTB,0 ldi r24,#0 ldi r25,#0 out TCNT1H,r25 out TCNT1L,r24 TungguBit: ldi r26,#40 ld r24,x bst r24,5 brts TungguBit ldi r26,#76 ld r24,x+ ld r25,x ldi r26,#102 st x+,r24 st x,r25 ldi r26,#102 ld r16,x+ ld r17,x cpi r16,#52 ldi r21,#13 cpc r17,r21 brlo Input_satu breq Input_satu rjmp Input_dua Input_satu: rjmp Dc_tiga Input_dua: ldi r24,#52 ldi r25,#13 ldi r26,#102 st x+,r24 st x,r25 Input_tiga: ldi r16,#52 ldi r17,#13 ldi r26,#102 ld r20,x+ ld r21,x sub r16,r20 sbc r17,r21 ldi r26,#100 st x+,r16 st x,r17

Page 121: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

121

wdr in r24,UCR ori r24,#$E0 out UCR,r24 pop r24 out SREG,r24 pop r31 pop r30 pop r29 pop r28 pop r27 pop r26 pop r25 pop r24 pop r23 pop r22 pop r21 pop r20 pop r19 pop r18 pop r17 pop r16 pop r11 pop r10 pop r9 pop r8 pop r7 pop r5 pop r4 pop r3 pop r2 pop r1 pop r0 reti Kirim_2: ldi r26,#168 ldi r27,#0 Lop_Kirim1: ld r24,x+ tst r24 breq End_Kirim2 rcall RS232_Out rjmp Lop_Kirim1 End_Kirim2: ret Kirim_0D_0A: ldi r24,#13 rcall RS232_Out

Page 122: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

122

ldi r24,#10 RS232_Out: sbis USR,5 rjmp RS232_Out out UDR,r24 ret Tunggu_rs: sbiw r30,#1 brne Tunggu_rs ret set bld r6,2 ret clt bld r6,2 ret Tunggums: push r30 push r31 clr r30 or r30,r24 or r30,r25 breq Ulang_ms_3 Ulang_ms_1: ldi r30,#184 ldi r31,#11 Ulang_ms_2: sbiw r30,#1 brne Ulang_ms_2 sbiw r24,#1 brne Ulang_ms_1 Ulang_ms_3: pop r31 pop r30 ret Sub_2: lsl r16 rol r17 rol r18 rol r19 ret Kirim_Com: com r16 com r17 com r18 com r19

Page 123: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

123

subi r16,#255 sbci r17,#255 sbci r18,#255 sbci r19,#255 ret Kirim_1: ld r16,z+ ld r17,z rjmp Kirim1_1 ld r16,z+ ld r17,z+ ld r18,z+ ld r19,z rjmp Kirim1_2 ld r16,z+ ld r17,z sbrs r17,7 rjmp Kirim1_1 ser r19 ser r18 rjmp Kirim1_2 ld r16,z clr r17 Kirim1_1: clr r18 clr r19 Kirim1_2: sbrs r19,7 rjmp Kirim1_3 rcall Kirim_Com ldi r24,#45 st x+,r24 Kirim1_3: push r28 push r29 push r12 push r13 push r14 clr r10 clr r11 clr r12 clr r13 clr r14 ldi r20,#32 Kirim1_4: ldi r28,#10 clr r29 ldi r21,#5 Kirim1_5: ldi r25,#51 ld r24,y

Page 124: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

124

add r24,r25 sbrc r24,7 andi r25,#$F sbrc r24,3 andi r25,#$F0 sub r24,r25 st y+,r24 dec r21 brne Kirim1_5 rcall Sub_2 rol r10 rol r11 rol r12 rol r13 rol r14 dec r20 brne Kirim1_4 clt ldi r30,#15 clr r31 Kirim1_6: ld r24,-z rcall Sub_1 cpi r30,#11 brsh Kirim1_6 brts Kirim1_7 set mov r24,r10 rcall Sub_1_1 Kirim1_7: clr r24 st x+,r24 pop r14 pop r13 pop r12 pop r29 pop r28 ret Sub_1: mov r25,r24 swap r24 rcall Sub_1_1 mov r24,r25 Sub_1_1: andi r24,#$F subi r24,#208 brts Sub_1_3 cpi r24,#48 brne Sub_1_2

Page 125: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

125

ret Sub_1_2: set Sub_1_3: st x+,r24 ret

Page 126: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

126

;*************************************************************************** ;* Program Untuk USB ECG :"USBECG.asm" ;* Program ini berfungsi sebagai USB ECG protocol ;* Menggunakan :AT90S2313 ;* ;*************************************************************************** .include "2313.inc" .equ E2END =127 .equ inputport =PINB .equ USBdirection =DDRB .equ DATAplus =1 .equ DATAminus =0 .equ USBpinmask =0b11111100 .equ USBpinmaskDplus =~(1<<DATAplus) .equ USBpinmaskDminus =~(1<<DATAminus) .equ TSOPPort =PINB .equ TSOPpullupPort =PORTB .equ TSOPPin =2 .equ SOPbyte =0b10000000 .equ DATA0PID =0b11000011 .equ DATA1PID =0b01001011 .equ OUTPID =0b11100001 .equ INPID =0b01101001 .equ SOFPID =0b10100101 .equ SETUPPID =0b00101101 .equ ACKPID =0b11010010 .equ NAKPID =0b01011010 .equ STALLPID =0b00011110 .equ PREPID =0b00111100 .equ nSOPbyte =0b00000001 .equ nDATA0PID =0b11000011 .equ nDATA1PID =0b11010010 .equ nOUTPID =0b10000111 .equ nINPID =0b10010110 .equ nSOFPID =0b10100101 .equ nSETUPPID =0b10110100 .equ nACKPID =0b01001011 .equ nNAKPID =0b01011010 .equ nSTALLPID =0b01111000

Page 127: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

127

.equ nPREPID =0b00111100 .equ nNRZITokenPID =~0b10000000 .equ nNRZISOPbyte =~0b10101011 .equ nNRZIDATA0PID =~0b11010111 .equ nNRZIDATA1PID =~0b11001001 .equ nNRZIOUTPID =~0b10101111 .equ nNRZIINPID =~0b10110001 .equ nNRZISOFPID =~0b10010011 .equ nNRZISETUPPID =~0b10001101 .equ nNRZIACKPID =~0b00100111 .equ nNRZINAKPID =~0b00111001 .equ nNRZISTALLPID =~0b00000111 .equ nNRZIPREPID =~0b01111101 .equ nNRZIADDR0 =~0b01010101 .equ BaseState =0 ; .equ SetupState =1 ; .equ InState =2 ; .equ OutState =3 ; .equ SOFState =4 ; .equ DataState =5 ; .equ AddressChangeState =6 ; .equ DoNone =0 .equ DoReceiveOutData =1 .equ DoReceiveSetupData =2 .equ DoPrepareOutContinuousBuffer =3 .equ DoReadySendAnswer =4 .equ CRC5poly =0b00101 .equ CRC5zvysok =0b01100 .equ CRC16poly =0b1000000000000101 .equ CRC16zvysok =0b1000000000001101 .equ MAXUSBBYTES =14 .equ MAXRS232LENGTH =36 .equ NumberOfFirstBits =10 .equ NoFirstBitsTimerOffset =256-12800*12/1024 .equ InitBaudRate =12000000/16/57600-1 .equ InputBufferBegin =RAMEND-127 .equ InputShiftBufferBegin =InputBufferBegin+MAXUSBBYTES

Page 128: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

128

.equ RS232BufferBegin =InputShiftBufferBegin+MAXUSBBYTES .equ MyInAddressSRAM =RS232BufferBegin+MAXRS232LENGTH+1 .equ MyOutAddressSRAM =MyInAddressSRAM+1 .equ OutputBufferBegin =RAMEND-MAXUSBBYTES-2 .equ AckBufferBegin =OutputBufferBegin-3 .equ NakBufferBegin =AckBufferBegin-3 .equ StackBegin =NakBufferBegin-1 .def ConfigByte =R1 .def backupbitcount =R2 .def RAMread =R3 .def backupSREGTimer =R4 .def backupSREG =R5 .def ACC =R6 .def lastBitstufNumber =R7 .def OutBitStuffNumber =R8 .def BitStuffInOut =R9 .def TotalBytesToSend =R10 .def TransmitPart =R11 .def InputBufferLength =R12 .def OutputBufferLength =R13 .def MyOutAddress =R14 .def MyInAddress =R15 .def ActionFlag =R16 .def temp3 =R17 .def temp2 =R18 .def temp1 =R19 .def temp0 =R20 .def bitcount =R21 .def ByteCount =R22 .def inputbuf =R23 .def shiftbuf =R24 .def State =R25 .def RS232BufptrX =R26 .def RS232BufferFull =R27 .def USBBufptrY =R28 .def ROMBufptrZ =R30 .equ GET_STATUS =0 .equ CLEAR_FEATURE =1 .equ SET_FEATURE =3

Page 129: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

129

.equ SET_ADDRESS =5

.equ GET_DESCRIPTOR =6

.equ SET_DESCRIPTOR =7

.equ GET_CONFIGURATION =8

.equ SET_CONFIGURATION =9

.equ GET_INTERFACE =10

.equ SET_INTERFACE =11

.equ SYNCH_FRAME =12 .equ DEVICE =1 .equ CONFIGURATION =2 .equ STRING =3 .equ INTERFACE =4 .equ ENDPOINT =5 .equ USER_FNC_NUMBER =100 ;------------------------------------------------------------------------------------------ ;******************************************************************** ;* Interupsi ;******************************************************************** .cseg ;------------------------------------------------------------------------------------------ .org 0 rjmp reset ;------------------------------------------------------------------------------------------ .org INT0addr rjmp INT0handler ;------------------------------------------------------------------------------------------ .org URXCaddr push temp0 in temp0,UDR sei in backupSREGTimer,SREG cbi UCSRB,RXCIE cpi RS232BufferFull,MAXRS232LENGTH-4 brcc NoIncRS232BufferFull push RS232BufptrX lds RS232BufptrX,RS232BufferBegin+2 st X+,temp0 cpi RS232BufptrX,RS232BufferBegin+MAXRS232LENGTH+1 brne NoUARTBufferOverflow ldi RS232BufptrX,RS232BufferBegin+4 NoUARTBufferOverflow: sts RS232BufferBegin+2,RS232BufptrX

Page 130: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

130

inc RS232BufferFull pop RS232BufptrX NoIncRS232BufferFull: pop temp0 out SREG,backupSREGTimer cli sbi UCSRB,RXCIE reti ;------------------------------------------------------------------------------------------ ;******************************************************************** ;* Inisialisasi ;******************************************************************** ;------------------------------------------------------------------------------------------ reset: ldi temp0,StackBegin out SPL,temp0 clr XH clr YH clr ZH sts RS232BufferBegin+0,YH ldi temp0,RS232BufferBegin+4 sts RS232BufferBegin+1,temp0 sts RS232BufferBegin+2,temp0 clr RS232BufferFull rcall InitACKBufffer rcall InitNAKBufffer rcall USBReset sbi TSOPpullupPort,TSOPpin ldi temp0,(1<<LEDlsb0)+(1<<LEDlsb1)+(1<<LEDlsb2) out LEDPortLSB,temp0 ldi temp0,(1<<LEDmsb3)+(1<<LEDmsb4)+(1<<LEDmsb5)+(1<<LEDmsb6)+(1<<LEDmsb7) out LEDPortMSB,temp0 sbi PORTD,0 ldi temp0,InitBaudRate out UBRRL,temp0

Page 131: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

131

sbi UCSRB,TXEN sbi UCSRB,RXEN sbi UCSRB,RXCIE ldi temp0,0x0F out MCUCR,temp0 ldi temp0,1<<INT0 out GIMSK,temp0 ;------------------------------------------------------------------------------------------ ;******************************************************************** ;* Main ;******************************************************************** sei Main: sbis inputport,DATAminus rjmp CheckUSBReset cpi ActionFlag,DoReceiveSetupData breq ProcReceiveSetupData cpi ActionFlag,DoPrepareOutContinuousBuffer breq ProcPrepareOutContinuousBuffer rjmp Main CheckUSBReset: ldi temp0,255 WaitForUSBReset: sbic inputport,DATAminus rjmp Main dec temp0 brne WaitForUSBReset rcall USBReset rjmp Main ProcPrepareOutContinuousBuffer: rcall PrepareOutContinuousBuffer ldi ActionFlag,DoReadySendAnswer rjmp Main ProcReceiveSetupData: ldi USBBufptrY,InputBufferBegin mov ByteCount,InputBufferLength rcall DecodeNRZI rcall MirrorInBufferBytes rcall BitStuff ;rcall CheckCRCIn rcall PrepareUSBOutAnswer

Page 132: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

132

ldi ActionFlag,DoReadySendAnswer rjmp Main ;------------------------------------------------------------------------------------------ ;******************************************************************** ;* Interrupt handler ;******************************************************************** INT0Handler: in backupSREG,SREG push temp0 push temp1 ldi temp0,3 ldi temp1,2 ;waiting for begin packet CheckchangeMinus: sbis inputport,DATAminus rjmp CheckchangeMinus CheckchangePlus: sbis inputport,DATAplus rjmp CheckchangePlus DetectSOPEnd: sbis inputport,DATAplus rjmp Increment0 Increment1: ldi temp0,3 dec temp1 nop breq USBBeginPacket rjmp DetectSOPEnd Increment0: ldi temp1,2 dec temp0 nop brne DetectSOPEnd rjmp EndInt0HandlerPOP2 EndInt0Handler: pop ACC pop RS232BufptrX pop temp3 pop temp2 EndInt0HandlerPOP: pop USBBufptrY pop ByteCount mov bitcount,backupbitcount EndInt0HandlerPOP2:

Page 133: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

133

pop temp1 pop temp0 out SREG,backupSREG ldi shiftbuf,1<<INTF0 out GIFR,shiftbuf reti USBBeginPacket: mov backupbitcount,bitcount in shiftbuf,inputport USBloopBegin: push ByteCount push USBBufptrY ldi bitcount,6 ldi ByteCount,MAXUSBBYTES ldi USBBufptrY,InputShiftBufferBegin USBloop1_6: in inputbuf,inputport cbr inputbuf,USBpinmask breq USBloopEnd ror inputbuf rol shiftbuf dec bitcount brne USBloop1_6 nop USBloop7: in inputbuf,inputport cbr inputbuf,USBpinmask breq USBloopEnd ror inputbuf rol shiftbuf ldi bitcount,7 st Y+,shiftbuf USBloop0: in shiftbuf,inputport cbr shiftbuf,USBpinmask breq USBloopEnd dec bitcount nop dec ByteCount brne USBloop1_6 rjmp EndInt0HandlerPOP USBloopEnd: cpi USBBufptrY,InputShiftBufferBegin+3

Page 134: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

134

brcs EndInt0HandlerPOP ;then finish lds temp0,InputShiftBufferBegin+0 lds temp1,InputShiftBufferBegin+1 brne TestDataPacket TestIOPacket: ; cp temp1,MyAddress ; brne TestDataPacket TestSetupPacket:;test to SETUP packet cpi temp0,nNRZISETUPPID brne TestOutPacket cp temp1,MyInAddress brne TestDataPacket ldi State,SetupState rjmp EndInt0HandlerPOP TestOutPacket: ;test for OUT packet cpi temp0,nNRZIOUTPID brne TestInPacket cp temp1,MyOutAddress brne TestDataPacket ldi State,OutState rjmp EndInt0HandlerPOP TestInPacket: ;test on IN packet cpi temp0,nNRZIINPID brne TestDataPacket cp temp1,MyInAddress breq AnswerToInRequest TestDataPacket: cpi temp0,nNRZIDATA0PID breq Data0Packet cpi temp0,nNRZIDATA1PID brne NoMyPacked Data0Packet: cpi State,SetupState breq ReceiveSetupData cpi State,OutState breq ReceiveOutData NoMyPacked: ldi State,BaseState rjmp EndInt0HandlerPOP AnswerToInRequest: push temp2 push temp3 push RS232BufptrX push ACC cpi ActionFlag,DoReadySendAnswer

Page 135: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

135

brne NoReadySend rcall SendPreparedUSBAnswer cpi State,AddressChangeState breq SetMyNewUSBAddress ldi State,InState ldi ActionFlag,DoPrepareOutContinuousBuffer rjmp EndInt0Handler ReceiveSetupData: push temp2 push temp3 push RS232BufptrX push ACC rcall SendACK rcall FinishReceiving ldi ActionFlag,DoReceiveSetupData rjmp EndInt0Handler ReceiveOutData: push temp2 push temp3 push RS232BufptrX push ACC cpi ActionFlag,DoReceiveSetupData breq NoReadySend rcall SendACK clr ActionFlag rjmp EndInt0Handler NoReadySend: rcall SendNAK rjmp EndInt0Handler ;------------------------------------------------------------------------------------------ SetMyNewUSBAddress: lds MyInAddress,MyInAddressSRAM lds MyOutAddress,MyOutAddressSRAM rjmp EndInt0Handler ;------------------------------------------------------------------------------------------ FinishReceiving: cpi bitcount,7 breq NoRemainingBits inc bitcount ShiftRemainingBits: rol shiftbuf dec bitcount brne ShiftRemainingBits st Y+,shiftbuf NoRemainingBits: mov ByteCount,USBBufptrY

Page 136: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

136

subi ByteCount,InputShiftBufferBegin-1 mov InputBufferLength,ByteCount ldi USBBufptrY,InputShiftBufferBegin ldi RS232BufptrX,InputBufferBegin+1 MoveDataBuffer: ld temp0,Y+ st X+,temp0 dec ByteCount brne MoveDataBuffer ldi ByteCount,nNRZISOPbyte sts InputBufferBegin,ByteCount ret ;------------------------------------------------------------------------------------------ USBReset: ldi temp0,nNRZIADDR0 mov MyOutAddress,temp0 mov MyInAddress,temp0 clr State clr BitStuffInOut clr OutBitStuffNumber clr ActionFlag clr RAMread clr ConfigByte ret ;------------------------------------------------------------------------------------------ SendPreparedUSBAnswer: mov ByteCount,OutputBufferLength SendUSBAnswer: ldi USBBufptrY,OutputBufferBegin SendUSBBuffer: ldi temp1,0 mov temp3,ByteCount ldi temp2,0b00000011 ld inputbuf,Y+ cbi outputport,DATAplus sbi outputport,DATAminus sbi USBdirection,DATAplus sbi USBdirection,DATAminus in temp0,outputport SendUSBAnswerLoop: ldi bitcount,7 SendUSBAnswerByteLoop:

Page 137: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

137

nop ror inputbuf brcs NoXORSend eor temp0,temp2 NoXORSend: out outputport,temp0 dec bitcount brne SendUSBAnswerByteLoop sbrs inputbuf,0 eor temp0,temp2 NoXORSendLSB: dec temp3 ld inputbuf,Y+ out outputport,temp0 brne SendUSBAnswerLoop mov bitcount,OutBitStuffNumber cpi bitcount,0 breq ZeroBitStuf SendUSBAnswerBitstuffLoop: ror inputbuf brcs NoXORBitstuffSend eor temp0,temp2 NoXORBitstuffSend: out outputport,temp0 nop dec bitcount brne SendUSBAnswerBitstuffLoop ld inputbuf,Y ZeroBitStuf: nop cbr temp0,3 out outputport,temp0 ldi bitcount,5 SendUSBWaitEOP: dec bitcount brne SendUSBWaitEOP sbi outputport,DATAminus sbi outputport,DATAminus cbi USBdirection,DATAplus cbi USBdirection,DATAminus cbi outputport,DATAminus ret ;------------------------------------------------------------------------------------------

Page 138: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

138

ToggleDATAPID: lds temp0,OutputBufferBegin+1 cpi temp0,DATA1PID ldi temp0,DATA0PID breq SendData0PID ldi temp0,DATA1PID SendData0PID: sts OutputBufferBegin+1,temp0 ret ;------------------------------------------------------------------------------------------ ComposeZeroDATA1PIDAnswer: ldi temp0,DATA0PID sts OutputBufferBegin+1,temp0 ComposeZeroAnswer: ldi temp0,SOPbyte sts OutputBufferBegin+0,temp0 rcall ToggleDATAPID ldi temp0,0x00 sts OutputBufferBegin+2,temp0 sts OutputBufferBegin+3,temp0 ldi ByteCount,2+2 ret ;------------------------------------------------------------------------------------------ InitACKBufffer: ldi temp0,SOPbyte sts ACKBufferBegin+0,temp0 ldi temp0,ACKPID sts ACKBufferBegin+1,temp0 ret ;------------------------------------------------------------------------------------------ SendACK: push USBBufptrY push bitcount push OutBitStuffNumber ldi USBBufptrY,ACKBufferBegin ldi ByteCount,2 clr OutBitStuffNumber rcall SendUSBBuffer pop OutBitStuffNumber pop bitcount pop USBBufptrY ret ;------------------------------------------------------------------------------------------ InitNAKBufffer: ldi temp0,SOPbyte sts NAKBufferBegin+0,temp0

Page 139: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

139

ldi temp0,NAKPID sts NAKBufferBegin+1,temp0 ret ;------------------------------------------------------------------------------------------ SendNAK: push OutBitStuffNumber ldi USBBufptrY,NAKBufferBegin ldi ByteCount,2 clr OutBitStuffNumber rcall SendUSBBuffer pop OutBitStuffNumber ret ;------------------------------------------------------------------------------------------ ComposeSTALL: ldi temp0,SOPbyte sts OutputBufferBegin+0,temp0 ldi temp0,STALLPID sts OutputBufferBegin+1,temp0 ldi ByteCount,2 ret ;------------------------------------------------------------------------------------------ DecodeNRZI: push USBBufptrY push ByteCount add ByteCount,USBBufptrY ser temp0 NRZIloop: ror temp0 ld temp0,Y mov temp2,temp0 ror temp2 eor temp2,temp0 com temp2 st Y+,temp2 cp USBBufptrY,ByteCount brne NRZIloop pop ByteCount pop USBBufptrY ret ;------------------------------------------------------------------------------------------ BitStuff: clr temp3 clr lastBitstufNumber dec lastBitstufNumber BitStuffRepeat: push USBBufptrY

Page 140: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

140

push ByteCount mov temp1,temp3 ldi temp0,8 SumAllBits: add temp1,temp0 dec ByteCount brne SumAllBits ldi temp2,6 pop ByteCount push ByteCount add ByteCount,USBBufptrY inc ByteCount inc ByteCount BitStuffLoop: ld temp0,Y ldi bitcount,8 BitStuffByteLoop: ror temp0 brcs IncrementBitstuff ldi temp2,7 IncrementBitstuff: dec temp2 brne DontShiftBuffer cp temp1,lastBitstufNumber ldi temp2,6 brcc DontShiftBuffer dec temp1 ; mov lastBitstufNumber,temp1 cpi bitcount,1 brne NoBitcountCorrect ldi bitcount,9 ; inc USBBufptrY NoBitcountCorrect: dec bitcount bst BitStuffInOut,0 brts CorrectOutBuffer rcall ShiftDeleteBuffer dec temp3 rjmp CorrectBufferEnd CorrectOutBuffer: rcall ShiftInsertBuffer inc temp3 CorrectBufferEnd: pop ByteCount pop USBBufptrY

Page 141: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

141

rjmp BitStuffRepeat DontShiftBuffer: dec temp1 breq EndBitStuff dec bitcount brne BitStuffByteLoop inc USBBufptrY rjmp BitStuffLoop EndBitStuff: pop ByteCount pop USBBufptrY bst BitStuffInOut,0 brts IncrementLength DecrementLength: cpi temp3,0 breq NoChangeByteCount dec ByteCount subi temp3,256-8 brcc NoChangeByteCount dec ByteCount ret IncrementLength: mov OutBitStuffNumber,temp3 subi temp3,8 brcs NoChangeByteCount inc ByteCount mov OutBitStuffNumber,temp3 NoChangeByteCount: ret ;------------------------------------------------------------------------------------------ ShiftInsertBuffer: mov temp0,bitcount ldi bitcount,9 sub bitcount,temp0 ld temp1,Y rol temp1 ser temp2 HalfInsertPosuvMask: lsl temp2 dec bitcount brne HalfInsertPosuvMask and temp1,temp2 com temp2

Page 142: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

142

lsr temp2 ld temp0,Y and temp0,temp2 or temp1,temp0 ld temp0,Y rol temp0 st Y+,temp1 ShiftInsertBufferLoop: cpse USBBufptrY,ByteCount rjmp NoEndShiftInsertBuffer ret NoEndShiftInsertBuffer: ld temp1,Y rol temp1 st Y+,temp1 rjmp ShiftInsertBufferLoop ;------------------------------------------------------------------------------------------ ShiftDeleteBuffer: mov temp0,bitcount ldi bitcount,9 sub bitcount,temp0 mov temp0,USBBufptrY inc temp0 mov USBBufptrY,ByteCount ShiftDeleteBufferLoop: ld temp1,-Y ror temp1 st Y,temp1 cpse USBBufptrY,temp0 rjmp ShiftDeleteBufferLoop ld temp1,-Y ror temp1 ser temp2 HalfDeletePosuvMask: dec bitcount breq DoneMask lsl temp2 rjmp HalfDeletePosuvMask DoneMask: and temp1,temp2 com temp2 ld temp0,Y and temp0,temp2 or temp1,temp0

Page 143: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

143

st Y,temp1 ret ;------------------------------------------------------------------------------------------ MirrorInBufferBytes: push USBBufptrY push ByteCount ldi USBBufptrY,InputBufferBegin rcall MirrorBufferBytes pop ByteCount pop USBBufptrY ret ;------------------------------------------------------------------------------------------ MirrorBufferBytes: add ByteCount,USBBufptrY MirrorBufferloop: ld temp0,Y ldi temp1,8 MirrorBufferByteLoop: ror temp0 rol temp2 dec temp1 brne MirrorBufferByteLoop st Y+,temp2 cp USBBufptrY,ByteCount brne MirrorBufferloop ret ;------------------------------------------------------------------------------------------ ;CheckCRCIn: ; kiss USBBUFPTRY ; kiss ByteCount ; ldi USBBUFPTRY,InputBuffercompare ; rcall CheckCRC ; pope ByteCount ; pope USBBUFPTRY ; lip ;------------------------------------------------------------------------------------------ AddCRCOut: push USBBufptrY push ByteCount ldi USBBufptrY,OutputBufferBegin rcall CheckCRC com temp0 com temp1 st Y+,temp1 st Y,temp0 dec USBBufptrY

Page 144: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

144

ldi ByteCount,2 rcall MirrorBufferBytes pop ByteCount pop USBBufptrY ret ;------------------------------------------------------------------------------------------ CheckCRC: add ByteCount,USBBufptrY inc USBBufptrY ld temp0,Y+ cpi temp0,DATA0PID breq ComputeDATACRC cpi temp0,DATA1PID brne CRC16End ComputeDATACRC: ser temp0 ser temp1 CRC16Loop: ld temp2,Y+ ldi temp3,8 CRC16LoopByte: bst temp1,7 bld bitcount,0 eor bitcount,temp2 rol temp0 rol temp1 cbr temp0,1 lsr temp2 ror bitcount brcc CRC16NoXOR ldi bitcount,CRC16poly>>8 eor temp1,bitcount ldi bitcount,LOW(CRC16poly) eor temp0,bitcount CRC16NoXOR: dec temp3 brne CRC16LoopByte cp USBBufptrY,ByteCount brne CRC16Loop CRC16End: ret ;------------------------------------------------------------------------------------------ LoadDescriptorFromROM: lpm st Y+,R0

Page 145: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

145

adiw ZH:ZL,1 dec ByteCount brne LoadDescriptorFromROM rjmp EndFromRAMROM ;------------------------------------------------------------------------------------------ LoadDescriptorFromROMZeroInsert: lpm st Y+,R0 bst RAMread,3 brtc InsertingZero adiw ZH:ZL,1 lpm st Y+,R0 clt bld RAMread,3 rjmp InsertingZeroEnd InsertingZero: clr R0 st Y+,R0 InsertingZeroEnd: adiw ZH:ZL,1 subi ByteCount,2 brne LoadDescriptorFromROMZeroInsert rjmp EndFromRAMROM ;------------------------------------------------------------------------------------------ LoadDescriptorFromSRAM: ld R0,Z st Y+,R0 inc ZL dec ByteCount brne LoadDescriptorFromSRAM rjmp EndFromRAMROM ;------------------------------------------------------------------------------------------ LoadDescriptorFromEEPROM: out EEAR,ZL sbi EECR,EERE in R0,EEDR st Y+,R0 inc ZL dec ByteCount brne LoadDescriptorFromEEPROM rjmp EndFromRAMROM ;------------------------------------------------------------------------------------------ LoadXXXDescriptor: ldi temp0,SOPbyte

Page 146: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

146

sts OutputBufferBegin,temp0 ldi ByteCount,8 ldi USBBufptrY,OutputBufferBegin+2 and RAMread,RAMread brne FromRAMorEEPROM FromROM: rjmp LoadDescriptorFromROM FromRAMorEEPROM: sbrc RAMread,2 rjmp LoadDescriptorFromROMZeroInsert sbrc RAMread,0 rjmp LoadDescriptorFromSRAM rjmp LoadDescriptorFromEEPROM EndFromRAMROM: sbrc RAMread,7 clr RAMread rcall ToggleDATAPID ldi USBBufptrY,OutputBufferBegin+1 ret ;------------------------------------------------------------------------------------------ PrepareUSBOutAnswer: rcall PrepareUSBAnswer MakeOutBitStuff: inc BitStuffInOut ldi USBBufptrY,OutputBufferBegin rcall BitStuff mov OutputBufferLength,ByteCount clr BitStuffInOut ret ;------------------------------------------------------------------------------------------ PrepareUSBAnswer: clr RAMread lds temp0,InputBufferBegin+2 lds temp1,InputBufferBegin+3 cbr temp0,0b10011111 brne VendorRequest rjmp StandardRequest ;-------------------------- DoSetInfraBufferEmpty: rjmp OneZeroAnswer ;-------------------------- DoSetRS232Baud: lds temp0,InputBufferBegin+4 out UBRRL,temp0 rjmp OneZeroAnswer

Page 147: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

147

;-------------------------- DoGetRS232Baud: in R0,UBRRL rjmp DoGetIn ;-------------------------- DoRS232Send: lds temp0,InputBufferBegin+4 out UDR,temp0 WaitForRS232Send: sbis UCSRB,TXEN rjmp OneZeroAnswer sbis UCSRA,TXC rjmp WaitForRS232Send rjmp OneZeroAnswer ;-------------------------- DoRS232Read: rjmp TwoZeroAnswer ;-------------------------- VendorRequest: clr ZH cpi temp1,1 breq DoSetInfraBufferEmpty cpi temp1,2 breq DoGetInfraCode cpi temp1,3 breq DoSetDataPortDirection cpi temp1,4 breq DoGetDataPortDirection cpi temp1,5 breq DoSetOutDataPort cpi temp1,6 breq DoGetOutDataPort cpi temp1,7 breq DoGetInDataPort cpi temp1,8 breq DoEEPROMRead cpi temp1,9 breq DoEEPROMWrite cpi temp1,10

Page 148: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

148

breq DoRS232Send cpi temp1,11 breq DoRS232Read cpi temp1,12 breq DoSetRS232Baud cpi temp1,13 breq DoGetRS232Baud cpi temp1,14 breq DoGetRS232Buffer cpi temp1,USER_FNC_NUMBER+0 breq DoUserFunction0 cpi temp1,USER_FNC_NUMBER+1 breq DoUserFunction1 cpi temp1,USER_FNC_NUMBER+2 breq DoUserFunction2 rjmp ZeroDATA1Answer ;---------------------------------------------------------------------------------- DoUserFunctionX: DoUserFunction0: lds temp0,InputBufferBegin+4 ;lds temp1,InputBufferBegin+5 ;lds temp2,InputBufferBegin+6 ;lds temp3,InputBufferBegin+7 ;lds ACC,InputBufferBegin+8 ;----------------------------------------------------------------------------------- nop nop nop nop nop ;----------------------------------------------------------------------------------- mov ZL,temp0 inc RAMread ldi temp0,RAMEND+1 rjmp ComposeEndXXXDescriptor DoUserFunction1: rjmp OneZeroAnswer DoUserFunction2:

Page 149: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

149

rjmp TwoZeroAnswer ;-------------------------------------------------------------------------------------- DoGetInfraCode: rjmp OneZeroAnswer DoEEPROMRead: lds ZL,InputBufferBegin+4 ldi temp0,2 mov RAMread,temp0 ldi temp0,E2END+1 rjmp ComposeEndXXXDescriptor DoEEPROMWrite: lds ZL,InputBufferBegin+4 lds R0,InputBufferBegin+6 rjmp EEPROMWrite DoSetDataPortDirection: lds ACC,InputBufferBegin+4 rcall SetDataPortDirection rjmp OneZeroAnswer DoGetDataPortDirection: rcall GetDataPortDirection rjmp DoGetIn DoSetOutDataPort: lds ACC,InputBufferBegin+4 rcall SetOutDataPort rjmp OneZeroAnswer DoGetOutDataPort: rcall GetOutDataPort rjmp DoGetIn DoGetInDataPort: rcall GetInDataPort DoGetIn: ldi ZL,0 ldi temp0,0x81 mov RAMread,temp0 ldi temp0,1 rjmp ComposeEndXXXDescriptor DoGetRS232Buffer: mov temp0,RS232BufferFull cpi temp0,0 breq OneZeroAnswer

Page 150: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

150

lds ACC,InputBufferBegin+8 inc temp0 cp ACC,temp0 brcc NoShortGetRS232Buffer mov temp0,ACC NoShortGetRS232Buffer: dec temp0 lds temp1,RS232BufferBegin+1 add temp1,temp0 cpi temp1,RS232BufferBegin+MAXRS232LENGTH+1 brcs ReadNoOverflow subi temp1,RS232BufferBegin+MAXRS232LENGTH+1 sub temp0,temp1 ldi temp1,RS232BufferBegin+4 ReadNoOverflow: lds ZL,RS232BufferBegin+1 sts RS232BufferBegin+1,temp1 dec ZL sub RS232BufferFull,temp0 st Z,RS232BufferFull inc temp0 inc RAMread rjmp ComposeEndXXXDescriptor ;------------------------------------------------------------------------------------------ OneZeroAnswer: ldi temp0,1 rjmp ComposeGET_STATUS2 StandardRequest: cpi temp1,GET_STATUS breq ComposeGET_STATUS cpi temp1,CLEAR_FEATURE breq ComposeCLEAR_FEATURE cpi temp1,SET_FEATURE breq ComposeSET_FEATURE cpi temp1,SET_ADDRESS breq ComposeSET_ADDRESS cpi temp1,GET_DESCRIPTOR

Page 151: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

151

breq ComposeGET_DESCRIPTOR cpi temp1,SET_DESCRIPTOR breq ComposeSET_DESCRIPTOR cpi temp1,GET_CONFIGURATION breq ComposeGET_CONFIGURATION cpi temp1,SET_CONFIGURATION breq ComposeSET_CONFIGURATION cpi temp1,GET_INTERFACE breq ComposeGET_INTERFACE cpi temp1,SET_INTERFACE breq ComposeSET_INTERFACE cpi temp1,SYNCH_FRAME breq ComposeSYNCH_FRAME rjmp ZeroDATA1Answer ComposeSET_ADDRESS: lds temp1,InputBufferBegin+4 rcall SetMyNewUSBAddresses ldi State,AddressChangeState rjmp ZeroDATA1Answer ComposeSET_CONFIGURATION: lds ConfigByte,InputBufferBegin+4 ComposeCLEAR_FEATURE: ComposeSET_FEATURE: ComposeSET_INTERFACE: ZeroStringAnswer: rjmp ZeroDATA1Answer ComposeGET_STATUS: TwoZeroAnswer: ldi temp0,2 ComposeGET_STATUS2: ldi ZH, high(StatusAnswer<<1) ldi ZL, low(StatusAnswer<<1) rjmp ComposeEndXXXDescriptor ComposeGET_CONFIGURATION: and ConfigByte,ConfigByte breq OneZeroAnswer ldi temp0,1

Page 152: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

152

ldi ZH, high(ConfigAnswerMinus1<<1) ldi ZL, low(ConfigAnswerMinus1<<1)+1 rjmp ComposeEndXXXDescriptor ComposeGET_INTERFACE: ldi ZH, high(InterfaceAnswer<<1) ldi ZL, low(InterfaceAnswer<<1) ldi temp0,1 rjmp ComposeEndXXXDescriptor ComposeSYNCH_FRAME: ComposeSET_DESCRIPTOR: rcall ComposeSTALL ret ComposeGET_DESCRIPTOR: lds temp1,InputBufferBegin+5 cpi temp1,DEVICE breq ComposeDeviceDescriptor cpi temp1,CONFIGURATION breq ComposeConfigDescriptor cpi temp1,STRING breq ComposeStringDescriptor ret ComposeDeviceDescriptor: ldi ZH, high(DeviceDescriptor<<1) ldi ZL, low(DeviceDescriptor<<1) ldi temp0,0x12 rjmp ComposeEndXXXDescriptor ComposeConfigDescriptor: ldi ZH, high(ConfigDescriptor<<1) ldi ZL, low(ConfigDescriptor<<1) ldi temp0,9+9+7 ComposeEndXXXDescriptor: lds TotalBytesToSend,InputBufferBegin+8 cp TotalBytesToSend,temp0 brcs HostConfigLength mov TotalBytesToSend,temp0 HostConfigLength: mov temp0,TotalBytesToSend clr TransmitPart andi temp0,0b00000111 breq Length8Multiply inc TransmitPart Length8Multiply: mov temp0,TotalBytesToSend lsr temp0 lsr temp0 lsr temp0

Page 153: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

153

add TransmitPart,temp0 ldi temp0,DATA0PID sts OutputBufferBegin+1,temp0 rjmp ComposeNextAnswerPart ComposeStringDescriptor: ldi temp1,4+8 mov RAMread,temp1 lds temp1,InputBufferBegin+4 cpi temp1,0 breq ComposeLangIDString cpi temp1,2 breq ComposeDevNameString brcc ZeroStringAnswer ComposeVendorString: ldi ZH, high(VendorStringDescriptor<<1) ldi ZL, low(VendorStringDescriptor<<1) ldi temp0,(VendorStringDescriptorEnd-VendorStringDescriptor)*4-2 rjmp ComposeEndXXXDescriptor ComposeDevNameString: ldi ZH, high(DevNameStringDescriptor<<1) ldi ZL, low(DevNameStringDescriptor<<1) ldi temp0,(DevNameStringDescriptorEnd-DevNameStringDescriptor)*4-2 rjmp ComposeEndXXXDescriptor ComposeLangIDString: clr RAMread ldi ZH, high(LangIDStringDescriptor<<1) ldi ZL, low(LangIDStringDescriptor<<1) ldi temp0,(LangIDStringDescriptorEnd-LangIDStringDescriptor)*2 rjmp ComposeEndXXXDescriptor ;------------------------------------------------------------------------------------------ ZeroDATA1Answer: rcall ComposeZeroDATA1PIDAnswer ret ;------------------------------------------------------------------------------------------ SetMyNewUSBAddresses: mov temp2,temp1 mov temp3,temp1 cpi temp1,0b01111111 brne NewAddressNo6ones ldi temp1,0b10111111 NewAddressNo6ones: andi temp3,0b00000111 cpi temp3,0b00000111 brne NewAddressNo3ones

Page 154: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

154

sec rol temp2 andi temp2,0b11110111 NewAddressNo3ones: sts MyOutAddressSRAM,temp2 rcall NRZIforAddress sts MyInAddressSRAM,ACC lds temp1,MyOutAddressSRAM rcall NRZIforAddress sts MyOutAddressSRAM,ACC ret ;------------------------------------------------------------------------------------------ NRZIforAddress: clr ACC ldi temp2,0b00000001 ldi temp3,8 SetMyNewUSBAddressesLoop: mov temp0,ACC ror temp1 brcs NoXORBits eor temp0,temp2 NoXORBits: ror temp0 rol ACC dec temp3 brne SetMyNewUSBAddressesLoop ret ;------------------------------------------------------------------------------------------ ;------------------------------------------------------------------------------------------ PrepareOutContinuousBuffer: rcall PrepareContinuousBuffer rcall MakeOutBitStuff ret ;------------------------------------------------------------------------------------------ PrepareContinuousBuffer: mov temp0,TransmitPart cpi temp0,1 brne NextAnswerInBuffer rcall ComposeZeroAnswer ret NextAnswerInBuffer:

Page 155: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

155

dec TransmitPart ComposeNextAnswerPart: mov temp1,TotalBytesToSend subi temp1,8 ldi temp3,8 brcc Nad8Bytov mov temp3,TotalBytesToSend clr TransmitPart inc TransmitPart Nad8Bytov: mov TotalBytesToSend,temp1 rcall LoadXXXDescriptor ldi ByteCount,2 add ByteCount,temp3 rcall AddCRCOut inc ByteCount inc ByteCount ret ;------------------------------------------------------------------------------------------ .equ USBversion =0x0101 .equ VendorUSBID =0x03EB ; vendor identifier (Atmel=0x03EB) .equ DeviceUSBID =0x21FE .equ DeviceVersion =0x0002 .equ MaxUSBCurrent =46 ;------------------------------------------------------------------------------------------ DeviceDescriptor: .db 0x12,0x01 .dw USBversion .db 0x00,0x00 .db 0x00,0x08 .dw VendorUSBID .dw DeviceUSBID .dw DeviceVersion .db 0x01,0x02 .db 0x00,0x01 DeviceDescriptorEnd: ;------------------------------------------------------------------------------------------ ConfigDescriptor: .db 0x9,0x02 ConfigDescriptorLength:

Page 156: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

156

.dw 9+9+7 ConfigAnswerMinus1: .db 1,1 .db 0,0x80 .db MaxUSBCurrent/2,0x09 .db 0x04,0 InterfaceAnswer: .db 0,1 StatusAnswer: .db 0,0 .db 0,0 .db 0x07,0x5 .db 0x81,0 .dw 0x08 .db 10,0 ConfigDescriptorEnd: ;------------------------------------------------------------------------------------------ LangIDStringDescriptor: .db (LangIDStringDescriptorEnd-LangIDStringDescriptor)*2,3 .dw 0x0409 LangIDStringDescriptorEnd: ;------------------------------------------------------------------------------------------ VendorStringDescriptor: .db (VendorStringDescriptorEnd-VendorStringDescriptor)*4-2,3 VendorStringDescriptorEnd: ;------------------------------------------------------------------------------------------ DevNameStringDescriptor: .db (DevNameStringDescriptorEnd-DevNameStringDescriptor)*4-2,3 .db "ECG USB protocol" DevNameStringDescriptorEnd: ;------------------------------------------------------------------------------------------ MaskPortData: bst ACC,0 bld temp0,LEDlsb0 bst ACC,1 bld temp0,LEDlsb1 bst ACC,2 bld temp0,LEDlsb2 bst ACC,3 bld temp1,LEDmsb3 bst ACC,4 bld temp1,LEDmsb4 bst ACC,5 bld temp1,LEDmsb5 bst ACC,6 bld temp1,LEDmsb6

Page 157: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

157

bst ACC,7 bld temp1,LEDmsb7 ret ;------------------------------------------------------------------------------------------ SetDataPortDirection: in temp0,LEDdirectionLSB in temp1,LEDdirectionMSB rcall MaskPortData out LEDdirectionLSB,temp0 out LEDdirectionMSB,temp1 ret ;------------------------------------------------------------------------------------------ SetOutDataPort: in temp0,LEDPortLSB in temp1,LEDPortMSB rcall MaskPortData out LEDPortLSB,temp0 out LEDPortMSB,temp1 ret ;------------------------------------------------------------------------------------------ GetInDataPort: in temp0,LEDPinMSB in temp1,LEDPinLSB MoveLEDin: bst temp1,LEDlsb0 bld temp0,0 bst temp1,LEDlsb1 bld temp0,1 bst temp1,LEDlsb2 bld temp0,2 mov R0,temp0 ret ;------------------------------------------------------------------------------------------ GetOutDataPort: in temp0,LEDPortMSB in temp1,LEDPortLSB rjmp MoveLEDin ;------------------------------------------------------------------------------------------ GetDataPortDirection: in temp0,LEDdirectionMSB in temp1,LEDdirectionLSB rjmp MoveLEDin ;------------------------------------------------------------------------------------------ EEPROMWrite: out EEAR,ZL out EEDR,R0

Page 158: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

158

cli sbi EECR,EEMPE sei sbi EECR,EEPE WaitForEEPROMReady: sbic EECR,EEPE rjmp WaitForEEPROMReady rjmp OneZeroAnswer ;------------------------------------------------------------------------------------------ ;******************************************************************** ;* Selesai ;********************************************************************

Page 159: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

159

Program Plotter Delphi oleh: Johan Arief

unit MainFormUnit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls, ExtCtrls, Grids, mmsystem, shellapi, ComCtrls; const WM_USBTIMERMESSAGE = WM_USER + 401; NO_ERROR=0; DEVICE_NOT_PRESENT=1; NO_DATA_AVAILABLE=2; INVALID_BAUDRATE=3; OVERRUN_ERROR=4; INVALID_DATABITS=5; INVALID_PARITY=6; INVALID_STOPBITS=7; type TMainForm = class(TForm) DataInTimer: TTimer; InfraIntervalLabel: TLabel; RemoteCodeLabel: TLabel; DeviceNotPresentLabel: TLabel; RS232BufferTimer: TTimer; TerminalMemo: TMemo; RS232GroupBox: TGroupBox; RS232ReadTimer: TTimer; TransmittingLabel: TLabel; ReceivingLabel: TLabel; RS232SendButton: TButton; ParityComboBox: TComboBox; StopBitsComboBox: TComboBox; DataBitsComboBox: TComboBox; PortChoiceRadioGroup: TRadioGroup; DataInIntervalLabel: TLabel; RS232ReadIntervalLabel: TLabel; RS232ReadBaudLabel: TLabel; Image1: TImage; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction);

Page 160: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

160

procedure DataInTimerTimer(Sender: TObject); procedure EEPROMReadButtonClick(Sender: TObject); procedure EEPROMWriteButtonClick(Sender: TObject); procedure RS232SendButtonClick(Sender: TObject); procedure RS232ReadTimerTimer(Sender: TObject); procedure RS232BufferTimerTimer(Sender: TObject); procedure RS232SendEditKeyPress(Sender: TObject; var Key: Char); procedure DataBitsComboBoxChange(Sender: TObject); procedure ParityComboBoxChange(Sender: TObject); procedure StopBitsComboBoxChange(Sender: TObject); procedure FormResize(Sender: TObject); procedure PortChoiceRadioGroupClick(Sender: TObject); private Private declarations Bitmap:TBitmap; public Public declarations procedure DrawOsciloscope(var InputData:array of byte; InputLength:integer); protected procedure WMUSBMeasure(var Message: TMessage); message WM_USBTIMERMESSAGE; end; var MainForm: TMainForm; panjang:integer; implementation $R *.DFM $WARN UNSAFE_CODE OFF $WARN UNSAFE_TYPE OFF $WARN UNSAFE_CAST OFF const ClosedApp:boolean=false; PreciseTimer:integer=0; DLLPath='USBECG.dll'; Xsmin:real=1; Xsmax:real=100; Ysmin:real=0; Ysmax:real=3500; var InputRS232Data:array[0..10000]of byte; x,y:real;

Page 161: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

161

function DoEEPROMRead(Address:word; var DataInByte:byte):integer; stdcall external DLLPath name 'DoEEPROMRead'; function DoEEPROMWrite(Address:word; DataOutByte:byte):integer; stdcall external DLLPath name 'DoEEPROMWrite'; function DoRS232Send(DataOutByte:byte):integer; stdcall external DLLPath name 'DoRS232Send'; function DoRS232Read(var DataInByte:byte):integer; stdcall external DLLPath name 'DoRS232Read'; function DoSetRS232Baud(BaudRate:integer):integer; stdcall external DLLPath name 'DoSetRS232Baud'; function DoGetRS232Baud(var BaudRate:integer):integer; stdcall external DLLPath name 'DoGetRS232Baud'; function DoGetRS232Buffer(var RS232Buffer:array of byte; var RS232BufferLength:integer):integer; stdcall external DLLPath name 'DoGetRS232Buffer'; function DoRS232BufferSend(var RS232Buffer:array of byte; var RS232BufferLength:integer):integer; stdcall external DLLPath name 'DoRS232BufferSend'; function DoSetRS232DataBits(DataBits:byte):integer; stdcall external DLLPath name 'DoSetRS232DataBits'; function DoGetRS232DataBits(var DataBits:byte):integer; stdcall external DLLPath name 'DoGetRS232DataBits'; function DoSetRS232Parity(Parity:byte):integer; stdcall external DLLPath name 'DoSetRS232Parity'; function DoGetRS232Parity(var Parity:byte):integer; stdcall external DLLPath name 'DoGetRS232Parity'; function DoSetRS232StopBits(StopBits:byte):integer; stdcall external DLLPath name 'DoSetRS232StopBits'; function DoGetRS232StopBits(var StopBits:byte):integer; stdcall external DLLPath name 'DoGetRS232StopBits'; Procedure transformasi(Xs,Ys:real;var x1,y1:real); var W,H:integer; Xlmin,Xlmax,Ylmin,Ylmax:real; A,B:real; begin w:=MainForm.Image1.width; h:=MainForm.image1.Height; Xlmin:=w div 50; Ylmin:=9 * h div 10; Xlmax:=w; Ylmax:=0;

Page 162: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

162

A:=(Xlmax - Xlmin)/(Xsmax-Xsmin); B:=Xlmin-A*Xsmin; X1:=A*Xs+B; A:=(Ylmax-Ylmin)/(Ysmax-Ysmin); B:=Ylmin-A*Ysmin; Y1:=A*Ys+B; end; Procedure plot; const dx:real=0.1; var x1,y1:real; begin transformasi(x,y,x1,y1); if x=xsmin then MainForm.Image1.Canvas.MoveTo(trunc(x1),trunc(y1)) else MainForm.Image1.Canvas.LineTo(trunc(x1),trunc(y1)); end; procedure TemperatureTimerProc(uID:integer; uMsg:integer;dwUser,dw1,dw2:integer);stdcall; var LocalMainForm:TMainForm; begin LocalMainForm:=TMainForm(dwUser); if ClosedApp then Exit; PostMessage(LocalMainForm.Handle,WM_USBTIMERMESSAGE,0,0); end; procedure TMainForm.WMUSBMeasure(var Message: TMessage); var MyMsg:TMsg; begin Message.Result:=1; InfraTimerTimer(self); while PeekMessage(MyMsg,Handle,WM_USBTIMERMESSAGE,WM_USBTIMERMESSAGE,PM_REMOVE) do begin end; //removing of all waiting WM_USBTIMERMESSAGE messages inherited; end;

Page 163: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

163

procedure TMainForm.DrawOsciloscope(var InputData:array of byte; InputLength:integer); begin end; procedure TMainForm.FormCreate(Sender: TObject); begin Application.HintColor:=clYellow; Application.HintPause:=0; Application.HintHidePause:=20000; TerminalMemo.Lines.Clear; panjang:=0; DataBitsComboBox.ItemIndex:=3; ParityComboBox.ItemIndex:=0; StopBitsComboBox.ItemIndex:=0; DataBitsComboBoxChange(self); ParityComboBoxChange(self); StopBitsComboBoxChange(self); procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction); begin ClosedApp:=true; if PreciseTimer<>0 then begin timeKillEvent(PreciseTimer); PreciseTimer:=0; end; end; procedure TMainForm.DataInTimerTimer(Sender: TObject); var InByte,InByteB,InByteC,InByteD:byte; UsedPorts:byte; i:integer; MyComponent:TComponent; begin DataInTimer.Tag:=1; DataInIntervalLabel.Caption:=IntToStr(DataInTimer.Interval)+'ms'; if DoGetInDataPorts(InByteB,InByteC,InByteD,UsedPorts)<>NO_ERROR then begin

Page 164: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

164

DeviceNotPresentLabel.Visible:=true; DataInTimer.Tag:=0; Exit; end; if UsedPorts<=1 then PortChoiceRadioGroup.ItemIndex:=0; case PortChoiceRadioGroup.ItemIndex of 1:InByte:=InByteC; 2:InByte:=InByteD; else InByte:=InByteB; end; EcgTidakTerdeteksiLabel.Visible:=false; for i:= 0 to 7 do begin MyComponent:=FindComponent('DataInCheckBox'+IntToStr(i)); (MyComponent as TCheckBox).Checked:=((MyComponent as TCheckBox).Tag and InByte)<>0; end; if DoGetOutDataPorts(InByteB,InByteC,InByteD,UsedPorts)<>NO_ERROR then begin DeviceNotPresentLabel.Visible:=true; DataInTimer.Tag:=0; Exit; end; if UsedPorts<=1 then PortChoiceRadioGroup.ItemIndex:=0; case PortChoiceRadioGroup.ItemIndex of 1:InByte:=InByteC; 2:InByte:=InByteD; else InByte:=InByteB; end; EcgTidakTerdeteksiLabel.Visible:=false; for i:= 0 to 7 do begin MyComponent:=FindComponent('DataOutCheckBox'+IntToStr(i)); (MyComponent as TCheckBox).Checked:=((MyComponent as TCheckBox).Tag and InByte)<>0; end; if DoGetDataPortDirections(InByteB,InByteC,InByteD,UsedPorts)<>NO_ERROR then begin EcgTidakTerdeteksiLabel.Visible:=false; DataInTimer.Tag:=0; Exit; end;

Page 165: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

165

if UsedPorts<=1 then PortChoiceRadioGroup.ItemIndex:=0; case PortChoiceRadioGroup.ItemIndex of 1:InByte:=InByteC; 2:InByte:=InByteD; else InByte:=InByteB; end; EcgTidakTerdeteksiLabel.Visible:=false; for i:= 0 to 7 do begin MyComponent:=FindComponent('DataDirectionCheckBox'+IntToStr(i)); (MyComponent as TCheckBox).Checked:=((MyComponent as TCheckBox).Tag and InByte)<>0; end; DataInTimer.Tag:=0; end; procedure TMainForm.EEPROMReadButtonClick(Sender: TObject); var i:integer; DataByte:byte; begin end; procedure TMainForm.EEPROMWriteButtonClick(Sender: TObject); var i:integer; DataByte:integer; begin end; procedure TMainForm.RS232SendButtonClick(Sender: TObject); type MyBuffer=array [0..100000] of byte; var j,i:integer; P:MyBuffer; MyStr:string; begin MyStr:=TerminalMemo.Text; i:=Length(MyStr); Screen.Cursor:=crHourGlass; try for j:=1 to i do

Page 166: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

166

begin P[j-1]:=byte(MyStr[j]); end; DoRS232BufferSend(P, i); finally Screen.Cursor:=crArrow; end; end; procedure TMainForm.RS232ReadTimerTimer(Sender: TObject); var BaudRate:integer; Databits:byte; Parity:byte; Stopbits:byte; begin RS232ReadIntervalLabel.Caption:=IntToStr(RS232ReadTimer.Interval)+'ms'; if DoGetRS232Baud(BaudRate)=NO_ERROR then begin RS232ReadBaudLabel.Caption:='='+IntToStr(BaudRate); EcgTidakTerdeteksiLabel.Visible:=false; end else begin EcgTidakTerdeteksiLabel.Visible:=true; end; if not DataBitsComboBox.DroppedDown then if DoGetRS232DataBits(Databits)=NO_ERROR then begin DataBitsComboBox.ItemIndex:=Databits-5; EcgTidakTerdeteksiLabel.Visible:=false; end else begin // EcgTidakTerdeteksiLabel.Visible:=true; end; if not ParityComboBox.DroppedDown then if DoGetRS232Parity(Parity)=NO_ERROR then begin ParityComboBox.ItemIndex:=Parity; EcgTidakTerdeteksiLabel.Visible:=false; end else begin // EcgTidakTerdeteksiLabel.Visible:=true;

Page 167: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

167

end; if not StopBitsComboBox.DroppedDown then if DoGetRS232StopBits(Stopbits)=NO_ERROR then begin StopBitsComboBox.ItemIndex:=Stopbits; EcgTidakTerdeteksiLabel.Visible:=false; end else begin // EcgTidakTerdeteksiLabel.Visible:=true; end; end; procedure TMainForm.RS232BufferTimerTimer(Sender: TObject); var DataLength:integer; i:integer; kanan,bawah:integer; vary:string; ty:string; j,k:integer; begin DataLength:=SizeOf(InputRS232Data); if (DoGetRS232Buffer(InputRS232Data,DataLength)<>NO_ERROR) then begin // EcgTidakTerdeteksiLabel.Visible:=true; Exit; end; if (DataLength=0) then Exit; Screen.Cursor:=crAppStart; ReceivingLabel.Visible:=true; ReceivingLabel.Repaint; try TerminalMemo.SelStart:=Length(TerminalMemo.Text); TerminalMemo.SelLength:=0; panjang:=panjang+1; if panjang=100 then begin RS232BufferMemo.Lines.Clear; TerminalMemo.Lines.Clear; kanan:=Image1.Width; bawah:=Image1.height+10; Image1.Canvas.FillRect(rect(0,0,kanan,bawah)); panjang:=0; x:=0;

Page 168: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

168

end; vary:=''; k:=0; for i:=0 to DataLength-1 do begin RS232BufferMemo.Lines.Add(IntToStr(InputRS232Data[i])+' -> '+IntToHex(InputRS232Data[i],2)+' -> '+chr(InputRS232Data[i])); RS232BufferMemo.Lines.Add(IntToStr(i)); TerminalMemo.SelText:=chr(InputRS232Data[i]); k:=k+1; vary:=vary+chr(InputRS232Data[i]); end; if k>6 then k:=6; k:=k-2; ty:=''; for i:=1 to k do begin if ((vary[i]>chr(47)) and (vary[i]<chr(58))) then ty:=ty+vary[i]; end; x:=x+1; y:=strtoint(ty); plot; finally Screen.Cursor:=crArrow; ReceivingLabel.Visible:=false; ReceivingLabel.Repaint; end; end; procedure TMainForm.RS232SendEditKeyPress(Sender: TObject; var Key: Char); begin DoRS232Send(byte(Key)); end; procedure TMainForm.DataBitsComboBoxChange(Sender: TObject); var RetVal:integer; begin RetVal:=DoSetRS232DataBits(StrToInt(DataBitsComboBox.Text)); DataBitsComboBox.Color:=clWindow; DataBitsComboBox.Font.Style:=[]; case RetVal of ECG_TIDAK_TERDETEKSI: DataBitsComboBox.Color:=clRed; INVALID_DATABITS: DataBitsComboBox.Font.Style:=[fsStrikeOut]; end;

Page 169: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

169

end; procedure TMainForm.ParityComboBoxChange(Sender: TObject); var RetVal:integer; begin RetVal:=DoSetRS232Parity(ParityComboBox.ItemIndex); ParityComboBox.Color:=clWindow; ParityComboBox.Font.Style:=[]; case RetVal of ECG_TIDAK_TERDETEKSI: ParityComboBox.Color:=clRed; INVALID_PARITY: ParityComboBox.Font.Style:=[fsStrikeOut]; end; end; procedure TMainForm.StopBitsComboBoxChange(Sender: TObject); var RetVal:integer; begin RetVal:=DoSetRS232StopBits(StopBitsComboBox.ItemIndex); StopBitsComboBox.Color:=clWindow; StopBitsComboBox.Font.Style:=[]; case RetVal of ECG_TIDAK_TERDETEKSI: StopBitsComboBox.Color:=clRed; INVALID_STOPBITS: StopBitsComboBox.Font.Style:=[fsStrikeOut]; end; end; procedure TMainForm.FormResize(Sender: TObject); begin TerminalMemo.Height:= ClientHeight-TerminalMemo.Top; RS232BufferMemo.Height:= ClientHeight-RS232BufferMemo.Top; end; end.

Page 170: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

170

Page 171: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

171

Page 172: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

172

Page 173: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

173

Page 174: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

174

Page 175: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

175

Page 176: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

176

Page 177: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

177

Page 178: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

178

Page 179: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

179

Page 180: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

180

Page 181: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

181

Page 182: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

182

DOKUMENTASI

Page 183: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

183

Page 184: ELEKTROKARDIOGRAF BERBASIS PC (PC BASED ECG) · sistem instrumentasi EKG berbasis PC. Sistem dirancang untuk menampilkan sinyal EKG pada program aplikasi di PC dengan masukan dari

184