• Tidak ada hasil yang ditemukan

BAB 3 PERANCANGAN SISTEM. tanpa terhubung dengan komputer. Blok diagram keseluruhan pada sistem ini adalah. Gambar 3.1 Blok diagram sistem

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 PERANCANGAN SISTEM. tanpa terhubung dengan komputer. Blok diagram keseluruhan pada sistem ini adalah. Gambar 3.1 Blok diagram sistem"

Copied!
39
0
0

Teks penuh

(1)

40 BAB 3

PERANCANGAN SISTEM

3.1. Perancangan Perangkat keras

Pada penelitian ini dibuat sistem penampil karakter Braille yang dapat bekerja tanpa terhubung dengan komputer. Blok diagram keseluruhan pada sistem ini adalah seperti gambar 3.1 berikut

Gambar 3.1 Blok diagram sistem

Blok diagram pada gambar 3.1 terdiri dari 5 bagian yaitu modul utama, Memory Card, modul penaik tegangan, Braille display, dan buzzer. Pada modul utama terdapat microcontroller AVR yang merupakan pusat kontrol dari sistem. AVR akan berkomunikasi dengan memory card menggunakan protokol SPI untuk membaca isi file. File yang dibaca merupakan file berformat *txt. AVR akan menerjemahkan data yang telah dibaca pada teks ke dalam tulisan Braille dan ditampilkan pada Braille display. Agar karakter dapat ditampilkan pada braille display, masing-masing Braille cell harus diberikan tegangan 200V DC. Modul penaik tegangan berperan untuk menaikkan level

(2)

tegangan dari 5V DC menjadi 200V DC. Buzzer digunakan untuk interaksi sistem dengan pengguna. Arti bunyi dari buzzer dapat dilihat pada lampiran E.

Gambar 3.2 Rancang bangun sistem

Gambar 3.2 menunjukkan rancang bangun sistem. Untuk memperjelas bagian-bagian dari sistem, maka gambar sistem dibagi menjadi 2 bagian-bagian. Gambar 3.3 menunjukkan lapisan atas sistem dan gambar 3.4 menunjukkan lapisan bawah sistem. Lapisan atas terdiri dari Braille display produksi Metec® dan slot untuk memasukan memory card.

Pada lapisan bawah (warna kuning) terdapat 2 modul yaitu modul utama dan modul penaik tegangan yang disusun seperti gambar 3.4.

(3)

Gambar 3.5 Tampak belakang

Pada bagian belakang terdapat soket DC, saklar toggle, dan buzzer. Sistem membutuhkan sumber tegangan sebesar 6 volt -7.5 volt DC yang dihubungkan melalui soket DC. Saklar digunakan untuk mengaktifkan dan menonaktifkan sistem. Buzzer digunakan sebagai indikator bagi pengguna.

3.1.1 Perancangan modul utama

Pada modul utama digunakan AVR yang berperan sebagai pusat kontrol. AVR akan membaca data dari memory card, dan menampilkannya pada Braille display. Pada modul utama terdapat rangkaian konversi level tegangan. Rangkaian konversi level tegangan digunakan untuk mengkonversi level tegangan pada jalur MISO, MOSI, SCK, dan SS saat terjadi komunikasi SPI dari AVR ke memory card.

3.1.1.1 Perancangan rangkaian pusat kontrol

Pada sistem digunakan microcontroller AVR ATMEGA16 yang berperan sebagai pengontrol utama. AVR ATMEGA16 dipilih karena ATMEGA16 memiliki

(4)

RAM sebesar 1 Kbyte, dimana 512 byte RAM dialokasikan untuk menampung data dari MMC sedangkan sisa memori digunakan untuk keperluan sistem dalam beroperasi. ATMEGA16 memiliki fitur on-chip SPI yang digunakan untuk berkomunikasi dengan MMC.

Gambar 3.6 Rangkaian pusat kontrol sistem

3.1.1.2. Perancangan Rangkaian Konversi Level Tegangan

Level tegangan yang digunakan oleh microcontroller berbeda dengan level tegangan yang digunakan oleh MMC. Microcontroller menggunakan level tegangan 5 volt sedangkan MMC menggunakan level tegangan 3.3 volt sebagai sumber tegangan.

(5)

Perbedaan level tegangan antara microcontroller dan MMC diatasi dengan menggunakan rangkaian konversi level tegangan.

Rangkaian konversi level tegangan dibagi menjadi 2 buah pengkonversi yaitu penurun tegangan dan penaik tegangan. Step down merupakan rangkaian untuk mengubah level tegangan dari 5 volt ke 3.3 volt. Sedangkan step up merupakan rangkaian untuk mengubah level tegangan dari 3.3 volt ke 5 volt. Rangkaian step down digunakan pada jalur MOSI, SCK, dan SS dari microcontroller ke MMC. Skematik dari rangkaian step down ditunjukkan pada gambar 3.7.

Q5 Q7 1K R14 Res1 1K R12 Res1 3.3volt Out IN 390 R5

Gambar 3.7 Rangkaian Step Down

Pada rangkaian step down terdapat 2 buah transistor NPN. Ketika logika ‘high’ dikirim oleh microcontroller melalui jalur IN maka transistor Q7 akan aktif. Transistor Q7 berada pada kondisi jenuh, sehingga transistor Q5 akan cut-off. Maka tegangan OUT pada rangkaian ini akan bernilai 3.3 volt bukan 5 volt karena pada saat transistor Q5 cut-off maka tegangan yang jatuh pada transistor ini akan mendekati 3.3 volt.

(6)

Sebaliknya jika controller mengirimkan logika ’low’ pada jalur IN, maka Q7 akan berada pada kondisi cut off. Transistor Q5 mendapatkan forward bias, sehingga Q5 akan menjadi jenuh atau saturasi. Pada kondisi ini OUT akan bernilai 0 volt.

Pada MISO digunakan rangkaian step up seperti gambar 3.8. Rangkaian step up akan mengkonversi tegangan 3.3 volt menjadi 5 volt pada jalur MISO.

Q1 Q3 1K R9 Res1 1K R7 Res1 5volt Out IN 390 R3

Gambar 3.8 Rangkaian Step Up

3.1.2. Perancangan Modul Penaik Tegangan

Modul penaik tegangan yang digunakan menggunakan prinsip rangkaian DC-DC converter. Pada penelitian ini rangkaian DC-DC converter digunakan sebagai rangkaian penaik tegangan dari 5V DC menjadi 200V DC. Prinsip penaik tegangan yang digunakan sesuai dengan prinsip boost converter. Gambar 3.10 menunjukkan skematik rangkaian DC step up converter yang digunakan pada penelitian ini. Gambar 3.9

(7)

menunjukkan skematik rangkaian regulator tegangan 5 volt yang digunakan sebagai sumber tegangan ke modul penaik tegangan.

Gambar 3.9 Regulator tegangan 5v pada modul penaik tegangan

Gambar 3.10 Rangkaian penaik tegangan

Tiga komponen penting dari rangkaian pada gambar 3.10 adalah IC LM3488, MOSFET IRFP 460S (MOSFET tipe n), dan induktor. IC LM3488 digunakan untuk menghasilkan sinyal pulsa dengan duty cycle tertentu yang keluar dari pin DR. Sinyal yang keluar dari pin DR kemudian dihubungkan dengan MOSFET yang berguna untuk

(8)

mengaktifkan dan me-non-aktifkan MOSFET. Mosfet yang digunakan pada rangkaian ini adalah power MOSFET, sehingga untuk mengaktifkan gate dari MOSFET digunakan transistor tambahan untuk memperkuat arus keluaran dari IC LM3488. Ketika gate pada MOSFET mendapat input logic 1 (gate aktif) maka drain dengan source akan terhubung dan arus akan mengalir dari VCC melewati induktor langsung menuju ke ground (arus yang lewat sangat besar). Ketika gate pada mosfet mendapat input logic 0 (gate tidak aktif) maka drain menjadi tidak terhubung dengan source, maka arus tidak dapat mengalir langsung melewati induktor menuju ground (arus yang lewat kecil). Kondisi switching secara berulang-ulang dari MOSFET menyebabkan terjadinya perubahan arus yang melewati induktor. Perubahan arus yang melewati induktor menimbulkan beda potensial atau tegangan sesuai dengan persamaan(2.2). Tegangan yang dihasilkan dari induktor adalah tegangan bolak-balik, Tegangan tersebut kemudian disearahkan dengan dioda. Kapasitor digunakan sebagai filter tegangan untuk menstabilkan tegangan yang keluar dan meminimalkan tegangan ripple keluaran. Tegangan keluaran yang keluar juga akan di feedback kembali ke dalam IC LM3488 karena hambatan beban keluaran yang terpasang nantinya akan berubah-ubah juga. Apabila hambatan beban mengecil, maka tegangan keluaran akan turun juga. Jika tegangan keluaran turun maka tegangan feedback yang masuk ke dalam IC akan memberitahu IC untuk memperbesar duty cycle. Namun bila hambatan beban keluaran membesar maka tegangan feedbacknya akan memberitahu IC untuk memperkecil duty cycle. Besar kecilnya duty cycle akan mempengaruhi besar kecilnya perubahan arus yang melewati induktor.

(9)

3.1.3. Braille Display

Braille display pada sistem ini tersusun dari 42 sel braille yang terhubung secara cascade membentuk shift register sebesar 8 bit x 42 atau sebesar 42 byte. Braille display menerima data dari AVR. Komunikasi antara AVR dengan Braille display dilakukan secara serial sinkron. Data dikirim dari AVR bit per bit saat pin strobe bernilai ‘low’ melalui jalur data in. Setiap perubahan bit ditandai dengan sinyal sinkronisasi pada jalur clock. Data-data yang dikirim berjumlah 8 bit untuk setiap sel braille dan pengiriman data tersebut dilakukan terus menerus sebesar jumlah sel braille pada sistem ini yakni 42 sel. Pengiriman dilakukan dari data karakter ke-42 sampai karakter ke-1. data akan ditampilkan oleh kontroller saat pin strobe mengalami transisi level tegangan rising edge yakni dari ‘low’ ke ‘high’. Pada saat ini secara bersamaan setiap Piezoelectric pada masing-masing sel braille akan naik atau turun. Bit 1 pada memori akan menyebabkan titik braille timbul dan sebaliknya bit 0 membuat titik braile terpendam.

Pada saat rising edge pada pin strobe maka sel braille akan membaca inputan yang diberikan pada tombol tombol diatas sel braille dan terlatch. Untuk membaca data inputan tersebut, dapat dilakukan dengan memberikan sinyal clock Sebanyak dua kali. Data yang masuk ke avr melalui pin data out dimulai dari bit ke-42 sampai ke-1. untuk memasukan data baru lagi maka dilakukan dengan membuat pin strobe ‘low’ dan mengirimkan data lagi.

(10)

3.1.4. Regulator Vin Vout GND VR1 LM7805 1 2 3 J1 PWR2.5 1000uF C1 Cap Pol1 GND 5volt Vin DS1 LED1 1K R2 100nF C4 Cap 2 3 1 S1 ToggleSwitch

Gambar 3.11 Regulator 5 volt pada modul utama

Sistem menggunakan 2 jenis regulator tegangan untuk tegangan 5 volt DC dan tegangan 3,3 volt DC. Pada gambar 3.11 tegangan yang diberikan pada Vin IC7805 antara 6-7.5volt DC. Regulator akan menjaga tegangan pada Vout tetap 5 volt DC. Tegangan 5 volt digunakan sebagai sumber tegangan untuk controller, braille display, dan sebagai input tegangan pada IC regulator 3.3 volt DC.

Vin Vout GND VR2 LP2950 5volt 100uF C2 Cap Pol1 DS2 LED1 1K R1 3.3Volt 100nF C3 Cap

Gambar 3.12 Skematik Rangkaian regulator 3.3 volt

Gambar 3.12 merupakan rangkaian regulator tegangan 3,3 volt DC yang digunakan sebagai sumber tegangan pada MMC. Selain untuk sumber tegangan regulator 3,3 volt DC digunakan sebagai Vcc pada rangkaian step up konversi level tegangan.

3.2 Perancangan Perangkat Lunak

Perancangan perangkat lunak sistem menitikberatkan pada firmware dari AVR. AVR diprogram untuk membaca sistem file FAT16 dengan file berformat .txt pada

(11)

MMC. Data dari MMC yang telah disimpan pada RAM AVR akan ditampilkan pada Braille Display.

3.2.1. Inisialisasi SPI pada AVR

AVR akan langsung berkomunikasi dengan MMC menggunakan protokol SPI. ATMEGA16 memiliki register-register khusus yang digunakan untuk komunikasi SPI. Beberapa register SPI pada AVR adalah :

a. SPCR

Register SPCR memiliki panjang 8 bit dengan format seperti pada gambar 3.13

Gambar 3.13 Format register SPCR

Bit SPIE digunakan untuk mengaktifkan SPI dengan mode interrupt pada AVR. SPE digunakan untuk mengaktifkan komunikasi SPI pada AVR. Ketika bit SPE bernilai 1 maka SPI aktif, sebaliknya jika 0 maka SPI tidak aktif. Bit DORD untuk menentukan urutan pengiriman data. Jika bernilai 1, data dikirim dengan LSB dahulu, sebaliknya jika 0, data dikirim dengan MSB dahulu. Bit MSTR digunakan untuk menetapkan peran AVR sebagai master atau slave dalam berkomunikasi SPI. Jika bernilai 1 maka AVR berperan sebgai master. Sebaliknya jika bernilai 0 maka AVR berperan sebagai slave. Bit CPOL digunakan untuk menentukan polaritas clock pada SCK. Jika CPOL bernilai 1 maka SCK akan bernilai 1 ketika sedang idle. Sebaliknya jika CPOL bernilai 0 maka SCK akan bernilai 0 ketika idle. Bit CPHA digunakan untuk menentukan sampling data yang dilakukan oleh AVR. Jika 0 maka AVR akan sampling data ketika sinyal SCK berubah dari status idle ke status busy. Sebaliknya jika bit ini bernilai 0 maka data akan

(12)

disampling AVR ketika sinyal SCK berubah dari status busy ke status idle. Bit SPR1 dan SPR0 digunakan untuk menentukan kecepatan clock SCK pada AVR.

Jenis komunikasi SPI yang digunakan bukan SPI interrupt, sehingga bit SPIE diset 0 dan SPE diset 1. MMC mengirimkan data secara SPI dengan MSB dahulu, maka AVR harus mengikuti sistem MMC, sehingga bit DORD diset 0. AVR berperan sebagai master dalam berkomunikasi sehingga bit MSTR diberi nilai 1. Sedangkan SPR1 diset 0 dan SPR0 diset 1 sehingga kecepatan clock SCK dibesar fosc/16. Maka saat inisialisasi SPI pada register SPCR diberi nilai 52h.

Gambar 3.14 Timing diagram SPI pada AVR b. SPSR

Gambar 3.15 Format register SPSR

Pada regiser SPSR perlu diperhatikan bit ke-7 yaitu SPIF. SPIF atau SPI flag merupakan sebuah bit flag yang menandakan data pada komunikasi SPI telah diterima.

(13)

c. SPDR

Register SPDR memiliki panjang 8 bit. Register SPDR digunakan untuk menampung data yang diterima secara SPI ataupun menampung data yang akan dikirim.

Gambar 3.16 Format register SPDR

3.2.2. Inisialisasi SPI mode pada MMC

Saat MMC mendapatkan sumber tegangan, MMC akan berada dalam mode MMC. Perlu dilakukan inisialisasi ke dalam mode SPI agar MMC dapat berkomunikasi dengan AVR secara SPI. Ketika menerima sumber tegangan, controller MMC memerlukan sekitar 80 clock untuk inisialisasi. Maka AVR perlu menyediakan waktu 80 clock dengan mengirimkan dummy clock atau delay 1 ms.

Untuk menginisialisasi ke dalam mode SPI, MMC harus di-reset dengan keadaan low pada jalur CS. Cara me-reset MMC dengan mengirimkan perintah CMD0. CMD0 merupakan perintah static dan tidak memiliki argument sehingga pada argumen diberi nilai 00h. 1byte data terakhir merupakan CRC dan stop bit yaitu 95h. Sehingga data yang dikirim secara berturut-turut adalah 40h, 00h, 00h, 00h, 00h dan 95h. MMC akan mengirimkan respon R1 dengan nilai 01h sebagai tanggapan dari CMD0. Jika R1 tidak bernilai 01h maka perintah CMD0 harus dikirim kembali. Setelah didapatkan respon yang tepat, MMC akan berada pada keadaan idle.

(14)

Untuk menginisialisasi MMC ke dalam mode SPI, AVR harus mengirimkan perintah CMD1. Setelah diterima respon R1 dengan nilai 00h, maka MMC berada dalam SPI mode dan ready state. Kemudian untuk mengecek status dari MMC maka kirimkan CMD13 dan cek tanggapan R2 yang diberikan jika bernilai 00h maka MMC siap digunakan dalam SPI mode. Pada inisialisasi dapat juga ditambahkan perintah CMD16 untuk menentukan blok data yang dibaca.

(15)
(16)

3.2.3. Membaca data dari MMC

Untuk membaca data dari MMC terdapat dua buah parameter penting yaitu besar data dan alamat dari data yang akan dibaca. Besar data yang akan dibaca ditentukan dengan perintah CMD16. Besar data dinyatakan oleh argumen pada perintah CMD16. Besar data yang dapat dikirimkan oleh MMC sebesar 512 byte. Berikut argumen yang dikirim pada CMD16 secara berturut-turut yaitu 00h, 00h, 01h, dan 00h. Perintah CMD17 digunakan untuk menentukan alamat yang akan dibaca, argumen CMD17 digunakan untuk menentukan alamat data.

Setelah kedua perintah diterima, MMC akan menanggapi dengan StartBlock (FEh) sebagai awal pengiriman blok data. Kemudian MMC akan mengirim data pada alamat yang ditunjuk dengan besar data sesuai permintaan host. 2byte data terakhir merupakan CRC dari data yang dikirim. Gambar 3.18 menunjukkan timing diagram dari proses membaca data pada MMC.

Gambar 3.18 Timing diagram membaca data dari MMC

Gambar 3.19 menunjukkan diagram alir untuk membaca data dari MMC

(17)
(18)

3.2.4 Pemilihan Sistem File

Pada penelitian ini sistem file yang dipilih adalah FAT16 karena sistem file FAT16 menggunakan jumlah bit sebanyak 16 bit untuk mengidentifikasikan setiap cluster, sedangkan controller yang digunakan adalah microcontroller 8 bit. Oleh karena itu pengambilan informasi dari tabel FAT dilakukan sebanyak dua kali. Pengambilan pertama dilakukan untuk memperoleh alamat 8 bit LSB dan pengambilan kedua dilakukan untuk memperoleh alamat 8 bit MSB cluster data. Karena datanya masih merupakan kelipatan dari 8 bit dan hanya diambil dalam 2 kali proses saja untuk setiap informasi alamat cluster-nya,. Untuk memformat MMC card dengan sistem file FAT16, maka dengan windows®, my computer klik kanan pada media penyimpanan yang digunakan, kemudian pilih format dan akan keluar jendela seperti pada gambar 3.20.

(19)

Pada kolom file system pilih tipenya FAT dan kemudian klik start. Apabila proses format sudah selesai maka media penyimpanan yang digunakan sudah berformat sistem file FAT.

Hal-hal yang perlu diperhatikan untuk dapat membaca isi file yang disimpan pada media penyimpanan yang menggunakan format FAT16 adalah Master boot record (MBR), boot sector, tabel FAT ,root directory dan cluster-cluster file data itu sendiri (berada dalam data region). Untuk memudahkan pengaksesan ke semua bagian itu maka dapat dibantu dengan menggunakan perangkat lunak winhex® yang dapat menampilkan setiap alamat yang ada dalam media penyimpanan sekaligus menampilkan isi yang ada pada alamat tersebut.. Cara menggunakan winhex adalah dengan memilih toolbar tools->open disk, kemudian pada bagian physical media pilih device media yang digunakan. Apabila yang dipilih adalah bagian ”logical drive letters” maka tampilan jendela yang nantinya akan muncul langsung mulai dari alamat offset boot sector. Namun bila yang dipilih physical media maka yang ditampilkan akan lengkap mulai dari alamat dan isi awal MBR hingga alamat dan isi akhir dari media yang digunakan, kecuali media yang digunakan tidak memiliki MBR maka tampilannya akan langsung mulai dari boot sector. Pada penelitian ini media yang digunakan adalah media penyimpanan dengan ukuran 64 MB maka disk yang dipilih adalah list physical media dengan nama removable disk (61.3 MB) kemudian pilih ok.

3.2.4.1 Master Boot Record (MBR)

Sector pertama dari sebuah booting device adalah MBR. Apabila sebuah sistem file tidak memiliki MBR, maka sector pertamanya akan langsung diisi oleh reserve

(20)

region. Informasi penting yang diperhatikan dalam MBR adalah pada alamat offset 1C6h hingga 1C7h. Isi dari alamat alamat offset 1C6h-1C7h menginformasikan jarak sector antara MBR dengan boot sector. Jika ingin mengetahui alamat awal boot sector secara langsung maka dapat menggunakan persamaan (3.1).

Alamat boot sector = range MBR dengan boot sector * sector per cluster...(3.1) Contoh tampilan MBR dapat dilihat pada gambar 3.21

Gambar 3.21 Master Boot Record

Dari gambar 3.21, isi dari alamat offset 1C6h-1C7h menunjukkan angka 0027h. Isi dari alamat tersebut menunjukkan bahwa jarak antara MBR dan boot sector dipisahkan sejauh 27 sector atau berada pada alamat 4E00h (27h*200h, karena pada penelitian ini 1 sector berisi 512 bytes).

(21)

3.2.4.2. Boot sector

Sector pertama dari reserved region adalah boot sector. Meskipun secara umum sector ini sebesar 512 bytes, namun bisa lebih besar lagi tergantung media yang digunakan. Tampilan boot sector dalam software winhex dapat dilihat pada gambar 3.22

Gambar 3.22 Boot sector

Di dalam boot sector sendiri terdapat BIOS parameter block , diikuti dengan extended BIOS parameter Block. Selain itu boot sector juga memiliki boot code dan boot signature.

(22)

3.2.4.2.1. Bios Parameter Block (BPB)

BPB berisi informasi dasar mengenai gambaran struktur dari sistem file FAT. Berhubung pada penelitian ini yang lebih difokuskan adalah membaca file dari memory card dengan format sistem file FAT16 (menulis file pada memory card masih merupakan tugas dari sistem operasi), maka hanya beberapa informasi khusus saja yang diperhatikan dalam BPB, seperti ukuran cluster, lokasi tabel FAT , root directory, dan lain sebagainya. Contoh tampilan BPB dari boot sector dengan alamat awal 4E00h dapat dilihat pada gambar 3.23.

(23)

3.2.4.2.1.1. Bytes per Sector

Byte per sector merupakan informasi jumlah byte dalam satu sector. Besar nilai yang diijinkan adalah 512 byte, 1024 byte, 2048 byte, atau 4096 byte. Secara umum sebuah sector berukuran 512 byte. Nilai-nilai diluar dari nilai yang diijinkan dapat menyebabkan permasalahan kompatibilitas. Informasi Byte per sector disediakan pada alamat offset 0Bh sampai 0Ch pada boot sector.

3.2.4.2.1.2. Sector per Cluster

Sector per Cluster merupakan informasi jumlah sector yang berada dalam satu cluster. Besarnya nilai yang diijinkan adalah 1,2,4,8,16,32, atau 128. Secara praktis kombinasi dari jumlah byte per cluster * sector per cluster yang menghasilkan nilai lebih dari 32 kB per cluster-nya tidak akan didukung oleh sistem karena akan melebihi batas pengalamatan yang dapat dialamati oleh FAT16. Informasi sector per cluster disediakan pada alamat offset 0Dh dari boot sector.

3.2.4.2.1.3. Reserved region

Sector pertama dari reserve region selalu berisi boot sector. Oleh karena itu informasi jumlah sector pada reserve region dalam BPB tidak mungkin 0. Pada umumnya nilainya adalah 1. Nilai ini digunakan untuk menghitung lokasi dari sector awal tabel FAT. Informasi ini terletak pada alamat offset 0Eh sampai 0Fh dari boot sector.

(24)

3.2.4.2.1.4. Number of Fat Copies

Alamat offset 10h dari BPB menginformasikan banyaknya jumlah copy dari tabel FAT. Nilai yang umum adalah 2, namun nilai yang lain tetap dianggap valid meskipun tidak didukung oleh beberapa sistem. Penggunaan sebanyak 2 copy digunakan sebagai backup untuk mencegah data hilang jika tabel FAT yang lainnya corrupt.

3.2.4.2.1.5. Sector per FAT

Alamat offset 16h pada boot sector menginformasikan jumlah sector yang berada dalam satu tabel FAT.

3.2.4.2.1.6. Jenis Sistem File

Jenis sistem file yang digunakan pada media diinformasikan dari alamat offset 36h sampai 3Dh dari boot sector.

3.2.4.3. FILE ALLOCATION TABEL

Sector setelah reserve region adalah tabel FAT. Oleh karena itu jumlah sector yang dipesan oleh reserve region akan menentukan alamat awal dari tabel FAT. Alamat awal dari tabel FAT dapat dihitung berdasarkan persamaan (3.2)

Alamat awal tabel FAT= alamat awal boot sector + (reserve sector*SectorPerCluster) ...(3.2)

Contoh:

Alamat awal boot sector = 4E00h jumlah reserve sector = 8 sector

(25)

maka alamat awal dari tabel FAT = 4E00h+(8*200h) = 5E00h. Gambar 3.24 menunjukkan tampilan dari tabel FAT dengan software winhex.

Gambar 3.24 Tabel FAT

File-file dalam sistem file FAT memiliki struktur hubungan yang saling menyambung antara entry yang satu dengan entry yang lain (linked list). File atau direktori entry pada list (sub)direktori mengandung informasi nomor cluster dari awal sebuah file atau direktori. Nomor cluster ini juga memiliki hubungan dengan entry pada FAT tabel. Pada entry di tabel FAT , informasi dalam sebuah word (16 bit) dapat menunjuk ke cluster data selanjutnya atau menginformasikan end of file. Apabila isi sebuah entry menunjuk ke entry lain maka sebuah file hanya memiliki lebih dari satu cluster. Namun apabila isi sebuah entry langsung menunjuk pada akhir file(end of file) maka sebuah file hanya memiliki sebuah cluster saja. Ilustrasi hubungan linked list antara nomor entry dengan isi data entry dalam tabel FAT ditunjukkan pada gambar 3.25.

(26)

Gambar 3.25 hubungan linked list dalam tabel FAT

Nilai-nilai data yang dianggap valid yang dapat diisi ke dalam entry tabel FAT ditunjukkan pada Tabel 3.1.

Value Description

0000h Cluster bebas

0001h-0002h Tidak diperbolehkan

0003h-FFEFh Nomor cluster selanjutnya

FFF7h

Satu atau lebih jumlah bad sector dalam cluster

FFF8h-FFFFh Akhir file

Tabel 3.1 Nilai FAT 16 yang valid

Setiap word awal dari setiap copy tabel FAT dimulai dengan nilai FFxxh untuk cluster awal, dimana xx digunakan untuk mendefinisikan media descriptor pada BPB. Word kedua dari FAT entry untuk cluster kedua diset dengan nilai FFFFh (End of file). Untuk menghitung alamat dari tabel FAT yang lain dapat menggunakan persamaan (3.3)

(27)

Lokasi FAT copy= alamat awal boot sector+(N*sector perFAT*200h)………..(3.3)

N adalah copy FAT table yang dituju.

3.2.4.4. Root Directory

Sector setelah sector-sector tabel FAT adalah root directory. Jumlah copy dari tabel FAT dan banyaknya sector yang ada pada masing-masing tabel FAT akan menentukan lokasi awal (alamat awal) dari root directory. Dengan menggunakan persamaan (3.4), maka dapat dihitung alamat awal dari root directory.

alamat awal root directory = alamat awal tabel FAT +(jumlah copy FAT*Sectors per FAT*sector percluster) ...….(3.4)

contoh:

alamat awal dari FAT = 5E00h jumlah table FAT = 2

jumlah sector per FAT = 244 sectors jumlah sector per clusternya = 512 bytes

maka alamat root directory adalah 5E00h+(2*244*200h)= 42E00h. Gambar 3.26 menunjukkan contoh tampilan sector awal dari root directory.

(28)

Gambar 3.26 Sector awal root directory

Setiap entry pada list direktori ini memiliki panjang 32 byte. Direktori ini juga merupakan satu-satunya direktori yang mengandung entry dengan set attribut volume label. Tabel 3.2 menunjukkan format dari tabel direktori entry

Byte ke- ukuran (byte) Description 0 8 Nama file 8 3 Ekstensi file 11 1 Byte attribut

(29)

12 1 Dipesan untuk windows NT

13 1 Creation-milisecond stamp

14 2 Jam file dibuat

16 2 Tanggal file dibuat

18 2 Tanggal file terakhir diakses

20 2 Bernilai untuk FAT16

22 2 Jam terakhir file diubah

24 2 Tanggal terakhir file diubah

26 2 Cluster awal

28 4 Ukuran file

Tabel 3.2 Struktur Direktori Entry

3.2.4.4.1. Filename dan ekstensi

Panjang nama file adalah 8 byte. Jika panjang nama file kurang dari 8 byte maka akan diisi dengan karakter spasi (ASCII : 20h). Panjangnya ekstensi adalah 3 byte dan apabila lebih pendek akan diisi dengan karakter spasi juga. Hal-hal yang harus diperhatikan dalam penulisan byte awal dari sebuah nama file adalah

• Nilai 00h diinterpretasikan sebagai kondisi ”stop search, tidak ada entry lagi dalam direktori ini

(30)

• Tidak boleh mengandung karakter spasi • Nilai E5h dianggap bahwa tidak ada entry

Berikut ini adalah beberapa karakter yang tidak diperbolehkan ditulis pada filename atau ekstensinya :

• Semua karakter yang nilai ASCII nya di bawah 20h kecuali 05h

• Karakter karakter berikut ini : 22h(”), 2A(*), 2Bh(+), 2Ch(,), 2Eh(.), 2Fh(/), 3Ah(:), 3Bh(;), 3Ch(<), 3Dh(=), 3Eh(>), 3Fh(?), 5Bh([), 5Ch(\), 5Dh(]), 7Ch(|).

Jika panjang nama file lebih dari 8 karakter atau 8 byte maka nama file termasuk dalam long file name. Bila nama file termasuk long file name, maka jumlah field entry yang dibutuhkan dalam root directory akan melebihi 32 byte.

3.2.4.4.2. Attribute Byte

Attribute byte berisi kumpulan flag yang dapat diset untuk properti dari direktori, volume name, hidden file, sistem file, dan lainnya. Urutan flag yang terdapat dalam attribute byte dituliskan dalam tabel 3.3

7 6 5 4 3 2 1 0

Reserved A D V S H R

Tabel 3.3 Flag dalam attribute byte 3.2.4.4.2.1. Directory (D)

Flag ini diset ketika entry pada table direktori tidak menunjuk ke awal file, namun ke direktori tabel yang lain. Ketika flag ini diset maka menandakan bahwa isi pada entry ini adalah sebuah folder.

(31)

3.2.4.4.3. Cluster awal

Informasi 16 bit ini menunjuk ke awal cluster dari data entry. Jika entrynya adalah direktori maka entry ini menunjuk ke cluster yang berisi subdirektori awal. Jika entrynya adalah file maka entry ini akan menunjuk ke cluster yang berisi data pertama dari file. 3.2.4.4.4. Ukuran file

Field sebanyak 32bit digunakan untuk menginformasikan besarnya ukuran sebuah file (dalam byte). Karena alasan inilah sistem driver tidak mengijinkan penggunaan FAT16 sistem file untuk kapasitas penyimpanan di atas 4GB. Untuk entry yang lain apabila bukan sebuah file, maka field size filenya akan diisi 0.

3.2.4.5. Data region

Data region merupakan daerah dari isi file. Untuk memperoleh alamat cluster awal dari data region dapat mengacu ke persamaan (3.5)

alamat awal data region= (32*200h) + alamat awal dari root directory...(3.5). Contoh:

alamat awal dari root directory adalah 42E00h.

Dari informasi yang diketahui, maka didapat alamat awal data region adalah (32*200h)+42E00h=46E00h. Gambar 3.27 menunjukkan contoh tampilan dari cluster awal sebuah data directory.

(32)

Gambar 3.27 Cluster awal dari sebuah data region

Isi dari judul bacaan dapat diakses dengan melihat kepada informasi dari attribute-attribute yang ada pada root directory. Cluster awal dari isi bacaan ditunjukkan pada byte ke 26 dan 27. Untuk menghitung alamat cluster dari data yang dituju, maka dapat menggunakan persamaan (3.6).

Apabila isi filenya melebihi dari 1 cluster maka untuk menghitung cluster lainnya harus melihat ke tabel FAT dan menuju pada cluster yang sedang diakses. Alamat tersebut akan menginformasikan cluster selanjutnya.

Alamat cluster selanjutnya=alamat data region+((N-2)*SectorPerCluster*200h) ...(3.6) Dimana N adalah nomor cluster yang dituju

(33)

alamat data region= 46E00h dan nomor cluster yang dituju adalah cluster 3 jumlah sector per cluster =2 sector

maka alamat cluster selanjutnya = 46E00+((3-2)*2*200h) = 47200h. 3.2.5. Perancangan Program

Program dibedakan menjadi 2 yaitu program utama dan program pembaca isi file (readFile). Program utama akan melakukan inisialisasi dan merupakan tahap pemilihan judul file. Sedangkan program membaca isi file merupakan bagian dari program utama dan menampilkan isi file pada Braille display.

Gambar 3.28 Tombol-tombol pada Sistem

Untuk mempermudah pengguna membaca isi file, maka pada sistem dilengkapi dengan tombol ‘Esc’, Read, ‘vInfo’, ‘vTInfo’, GoTo, ‘Prev’ dan ‘Next’. Letak tombol-tombol yang digunakan dalam sistem ditunjukkan pada gambar 3.28

Berikut fungsi dari tombol yang digunakan :

1. ‘Esc’ digunakan untuk keluar dari bacaan yang sedang dibaca pengguna dan kembali ke judul. Pada mode input halaman dan baris maka ‘Esc’ digunakan untuk keluar.

(34)

2. ‘Read’ digunakan untuk membaca bacaan dari judul yang dipilih pengguna.

3. ‘vInfo’ digunakan untuk menampilkan informasi halaman dan baris yang sedang dibaca oleh pengguna.

4. ‘vTInfo’ digunakan untuk menampilkan informasi total halaman dan informasi baris terakhir dari suatu bacaan yang dipilih oleh pengguna.

5. Go to digunakan untuk menuju ke halaman dan baris yang diinginkan pengguna dari bacaan yang dipilih. ‘Goto’ dapat digunakan ketika pengguna telah membuka file. Jika ditekan ‘Goto’ maka sistem akan ke dalam tahap mode input halaman dan baris.

6. ‘Prev’ digunakan untuk kembali ke baris sebelumnya pada saat membaca atau untuk menghapus pada saat mode input (menu GoTo).

7. ‘Next’ berfungsi untuk melanjutkan baris selanjutnya pada saat membaca atau sebagai enter ketika dalam mode input (menu GoTo).

(35)

3.2.5.1. Program utama

(36)

Gambar 3.29 merupakan diagram alir dari program utama dari sistem. Setelah alat dinyalakan controller akan melakukan proses inisialisasi. Inisialisasi yang dilakukan adalah :

1. Inisialisasi MMC kedalam mode SPI

2. Mempersiapkan parameter yang dibutuhkan pada FAT16 seperti besar sector dalam byte, banyak sector dalam satu cluster, banyak sector dalam satu tabel FAT, reserved sector, copy dari tabel FAT, banyak root entry. Parameter tersebut digunakan untuk menghitung alamat root directory, alamat tabel FAT, dan alamat data.

3. Mengecek sistem file yang digunakan pada MMC.

4. Menghitung jumlah file berekstensi *txt pada MMC.

Setelah melakukan inisialisasi controller akan mencari file berekstensi *txt yang ada pada MMC. Pencarian dilakukan dengan membaca urutan file pada root directory. Controller akan mencari 10 file berekstensi *txt yang terdapat pada MMC. Ketika pencarian mengembalikan nilai FFFFh maka tidak ada file berekstensi *txt pada MMC, maka pesan “File not found” akan ditampilkan pada Braille display. Jika ditemukan file berekstensi *txt, maka judul file yang terdeteksi pertama kali akan ditampilkan pada Braille display. Tahap ini disebut dengan pemilihan judul bacaan.

Pada tahap pemilihan judul bacaan pengguna dapat menekan 3 jenis tombol yaitu:

(37)

2. ’Prev’ digunakan untuk menampilkan judul sebelumnya

3. ’Read’ digunakan untuk membaca isi file

Jika pengguna menekan tombol ‘Read’ maka controller akan langsung menghitung banyak halaman dan baris terakhir pada file tersebut. Sistem masuk ke tahap membaca isi file.

3.2.5.2. Membaca isi file

Gambar 3.30 merupakan diagram alir dari readFile. Fungsi ini dijalankan setelah pengguna menekan tombol ’Read’. Pada tahap ini terdapat 2 buah parameter yaitu alamat memori dari data MMC yang telah dibaca oleh AVR dan parameter nomor file yang akan dibaca. Dalam fungsi readFile, Braille display akan menampilkan bacaan dalam bentuk huruf braille. Controller akan menghitung alamat dari data file. Kemudian controller membaca data pada alamat tersebut dari MMC. Data yang telah dibaca controller ditampung pada RAM milik controller. Setiap pergantian sector ataupun pergantian cluster, controller akan membaca data dari MMC pada alamat yang berbeda. Ketika terjadi perpindahan cluster maka AVR akan membaca tabel FAT untuk mengetahui cluster yang dituju.

Pada tahap membaca isi file terdapat 6 tombol yang dapat digunakan yaitu :

1. ‘Esc’ digunakan untuk keluar dari bacaan yang sedang dibaca pengguna dan kembali ke judul.

2. ‘vInfo’ digunakan untuk menampilkan informasi halaman dan baris yang sedang dibaca oleh pengguna.

(38)

3. ‘vTInfo’ digunakan untuk menampilkan informasi total halaman dan informasi baris terakhir dari suatu bacaan yang dipilih oleh pengguna.

4. ‘Goto’ digunakan untuk menuju ke halaman dan baris yang diinginkan pengguna dari bacaan yang dipilih. Jika ditekan tombol ‘Goto’ maka sistem akan ke dalam tahap mode input halaman dan baris. Pada mode input halaman maka akan tampil “Page : 0123456789” pada Braille display. Sedangkan pada mode input baris akan tampil “Line : 0123456789”. Pengguna dapat melakukan input halaman atau baris yang akan dituju. Pada mode input tombol ‘Next’ digunakan sebagai ‘enter’ sedangkan ‘Prev’ digunakan untuk menghapus angka yang telah diinput. Tombol ‘Esc’ digunakan untuk keluar dari mode input dan kembali ke isi file.

5. ‘Prev’ digunakan untuk kembali ke baris sebelumnya.

(39)

Gambar 3.30 Diagram alir read file

Gambar

Gambar 3.1 Blok diagram sistem
Gambar 3.2 Rancang bangun sistem
Gambar 3.5 Tampak belakang
Gambar 3.6 Rangkaian pusat kontrol sistem
+7

Referensi

Dokumen terkait

Nilai Ekivalen Tetap (NET) dari suatu kejadian tak pasti adalah suatu nilai tertentu dimana pembuat keputusan merasa tidak berbeda antara menerima hasil yang dicerminkan

Berdasarkan hasil analisis yang telah dirinci pada bagian terdahulu diperoleh hasil bahwa secara statistik, Kesadaran Merek (Brand Awareness) berpengaruh signifikan

Nada ini sesuai untuk menggambarkan usaha penyajak yang sedang mencari keadilan antara dua orang pahlawan, iaitu Tuah yang setia dan Jebat yang menuntut

Penggambaran binatang dalam ornamen sebagian besar merupakan hasil gubahan/stirilisasi, jarang berupa binatang secara natural, tapi hasil gubahan tersebut masih

Hasil tersebut didukung dengan hasil wawancara dengan dosen pengampu matakuliah Genetika yang mengatakan bahwa buku genetika khususnya materi mutasi yang berbasis

Tujuan dari kegiatan ini adalah melatih pemuda Karang Taruna Fajar Desa Masawah membuat bioplastik dengan memanfaatkan sumber daya hayati yang ada di Pantai

Gambar di atas merupakan jalan kerja Online Cinema Server yang dapat dijabarkan sebagai berikut: pada saat program dijalankan, program akan menampilkan halaman yang

Pada rangkaian potensiometer, potensiometer dihubungkan dengan timbangan menggunakan sistem m ekanik, seperti dijelaskan pada Sub Bab 3.2, pada potensiometer terdapat 3 pin,