BAB 2 LANDASAN TEORI
2.1.
Braille Tulisan braille dikembangkan oleh Louis Braille pada tahun 1834. Braille
merupakan sistem tulisan yang terdiri dari titik-titik timbul yang dimaksudkan untuk memungkinkan tunanetra membaca dengan cara diraba menggunakan ujung-ujung jari. (Didi Tarsidi 24 Juni 2008 Sistem Tulisan Braille internet) Tunanetra menurut definisi Jernigan (1994) adalah “An individual may properly be said to be "blind" or a "blind person" when he has to devise so many alternative techniques - that is, if he is to function efficiently - that his pattern of daily living is substantially altered.” (http://d-tarsidi.blogspot.com/2007/07/komputerdanketunanetraan.html) Teknik yang sering digunakan oleh para tunanetra untuk membaca adalah dengan memanfaatkan indera pendengaran serta indera peraba, misalnya dengan menggunakan tulisan braille. Braille pada mulanya tersusun dari 6 titik seperti pada gambar 2.1. Namun tulisan braille dengan format enam titik memiliki beberapa kelemahan yaitu tidak dapat membedakan antara huruf kapital dan huruf kecil jika hanya menggunakan 1 karakter. Penulisan angka memerlukan karakter tambahan untuk membedakan antara angka dan huruf. Tulisan dengan enam titik hanya memiliki kombinasi karakter yang dapat dimunculkan sebanyak 64 buah kombinasi saja. Oleh karena itu sistem tulisan braille
5
6
saat ini dikembangkan menjadi sistem 8 titik, dengan demikian kombinasi yang dapat dibentuk dari sistem 8 titik adalah 256 karakter seperti pada gambar 2.1.
Gambar 2.1 Sistem 6 titik dan sistem 8 titik Ada 4 buah format braille, format tersebut antara lain Literary Braille Code, the Nemeth Braille Code, Computer Braille Code (CBC), and the Music Braille Code. Format braille tersebut berfungsi untuk merepresentasikan tulisan-tulisan yang berbeda. Literary Braille Code digunakan untuk literatur fiksi dan non fiksi. the Nemeth Braille Code digunakan untuk merepresentasikan simbol matematika yang tidak terdapat pada literary Braille Code serta untuk penulisan persamaan-persamaan matematika. Computer Braille Code digunakan untuk menuliskan catatan-catatan yang berhubungan dengan komputer, Music Braille Code digunakan untuk merepresentasikan simbol simbol dalam musik. Perbedaan – perbedaan kode braille yang ada membuat The Braille Authority of North America (BANA) mengembangkan format Unified Braille Code (UBC) yang berbasiskan 8 titik yang dapat merepresentasikan 256 simbol yang berbeda yang digunakan pada penelitian ini.
( http://6dotbraille.com/6-dot-braille-alphabet.html)
Hasil penelitian Simon & Huertas (1998) menunjukkan bahwa kecepatan membaca rata-rata tunanetra pembaca Braille yang berpengalaman adalah 90-115 kata per menit dibandingkan dengan 250 - 300 kata per menit untuk manusia yang membaca secara visual. Gambar 2.2 merupakan simbol yang dibentuk dari Unified braille code (UBC)
7
Gambar 2.2 Unified Braille Code dengan 8 titik
2.2.
Refreshable Braille Display Refreshable
braille
display
merupakan
suatu
transducer
yang
dapat
menampilkan huruf dan atau angka braille sesuai dengan data yang diterima. Display tersebut digunakan untuk menampilkan karakter dalam satu baris, tergantung pada jumlah cell dari setiap baris, umumnya antara 18 – 60 karakter. Gambar 2.3 merupakan contoh refreshable braille display yang terdiri dari 42 karakter.
8
Gambar 2.3 Refreshable Braille Display
Tegangan akan diubah menjadi perubahan bentuk secara mekanik pada braille cell. Hal ini dimungkinkan akibat dari bahan piezoactuator. Piezoactuator merupakan bahan yang dapat berubah bentuk apabila diberikan tegangan listrik. Bekerja secara dua arah, tekanan menghasilkan tegangan dan sebaliknya tegangan akan menyebabkan perubahan bentuk. Gambar 2.4 menunjukan cara kerja dari piezzo actuator. piezzo electric ditemukan oleh Jacques dan Pierre Curie bersaudara pada tahun 1880.
Gambar 2.4 Keadaan bahan Piezzo actuator saat sebelum dan sesudah diberi arus
9
Gambar 2.5 Modul braille cell B11 Gambar 2.5 menunjukkan salah satu modul Braille cell B11 produksi metec. Modul Braille cell B11 tersusun dari shift register 8 bit untuk mengendalikan 8 titik serta tombol masukan. Pengiriman data pada modul B11 dilakukan secara serial dengan protokol komunikasi Serial Interface peripheral (SPI). Gambar 2.6 menujukkan blok diagram sebuah braille cell B11
Din
Dout
Strobe Clock
High Voltage Input
Gambar 2.6 Pin Braille cell B11 Data yang masuk ke shift register terjadi saat sinyal strobe bernilai low. Saat strobe mengalami transisi rising edge maka data pada shift register akan ditampilkan ke output dan data tertahan. Ketika strobe bernilai high maka input button akan tertahan dan clock selajutnya akan mengeluarkan data pada pin Dout. Data Dout berubah saat transisi falling edge pada clock. Pembacaan data pada button tanpa pengiriman data baru dapat dilakukan
10
dengan cara membuat pin clock dalam keadaan high dan strobe berubah dari low ke high. 2.3.
Serial Peripheral Interface (SPI)
Gambar 2.7 Komunikasi SPI dengan master dan slave yang saling bebas Serial peripheral interface atau SPI bus adalah komunikasi data serial sinkron yang dinamakan oleh Motorola dan dapat dioperasikan secara full duplex. Pada SPI, alat yang berkomunikasi dibedakan menjadi master dan slave. Pada komunikasi ini dimungkinkan
terdapat banyak slave dengan menggunakan jalur SS. Gambar 2.7
menunjukan komunikasi SPI antara master dengan banyak slave dengan pin SS untuk memilih slave. Gambar 2.8 merupakan timing diagram dari komunikasi SPI. Pada komunikasi SPI terdapat jalur MOSI, MISO, SCK dan SS. Master mengatur polaritas clock (CPOL) dan fase clock (CPHA) dalam berkomunikasi. Jika CPOL =0 maka clock akan ’low’ saat idle sedangkan jika CPOL = 1, maka clock akan ’high’ saat idle. CPHA akan
11
menentukan waktu sampling saat komunikasi berlangsung. Jika CPHA= 0 dan CPOL=0 maka data disampling ketika clock rising dan data pada jalur MOSI/MISO berubah ketika clock falling. Jika CPHA= 0 dan CPOL=1 maka data disampling ketika clock falling dan data pada jalur MOSI/MISO berubah ketika clock rising. Jika CPHA =1 dan CPOL=0 maka data disampling ketika clock falling dan data pada jalur MOSI/MISO berubah ketika clock rising. Jika CPHA =1 dan CPOL=1 maka data disampling ketika clock rising dan data pada jalur MOSI/MISO berubah ketika clock falling.Saat komunikasi akan dimulai maka master akan memberikan sinyal ’low’ pada jalur SS. Data dikirim dari master ke slave melalui jalur MOSI dengan sinkronisasi clock pada jalur SCK. Secara bersamaan data dari slave akan diterima oleh master melalui jalur MISO.
Gambar 2.8 SPI Timing Diagram
2.4.
MultiMedia Card (MMC) MMC merupakan sebuah flash memory card yang memiliki ukuran 24 mm x 32
mm x 1,4 mm, yang digunakan untuk media penyimpanan. Pada awalnya MMC hanya
12
dapat digunakan untuk satu bit serial interface. Namun pada MMC versi 4.3 dapat mengirim 4 atau 8 bit data pada waktu yang bersamaan. MMC memiliki 7 pin serial interface dan 2 protokol untuk komunikasi yaitu MMC mode dan SPI mode. Keduanya memiliki kecepatan maksimum clock sebesar 20 MHz. Konfigurasi pin pada MMC ditunjukan pada gambar 2.9. Nomor pin
Nama
Tipe
Fungsi pin
1
CS
Input
Chip Select
2
DI
Input
Data Input
3
VSS
Supply
GND
4
VDD
Supply
VCC
5
SCLK
Input
Clock
6
VSS2
Supply
GND
7
DO
Output,PushPull Data Output
Tabel 2.1 Fungsi pin MMC pada SPI mode
Gambar 2.9 Konfigurasi pin MMC
13
2.5.
Fitur- fitur MMC
2.5.1. Clock Frequency Dengan clock frekuensi yang maksimum dari 20 MHz sampai 26 MHz dan 52 MHz memungkinkan pemindahan data yang cepat. Beroperasi pada mode 52 MHz x 8 bit , data dapat dipindahkan hingga 52 MBps (416 Mbits/sec), yang berarti 20 kali lebih cepat dibandingkan standar MMCA versi 3.31.
2.5.2. Bus Width yang Lebar Pada versi 4.0 MMC mobile memiliki bus width dengan perkalian yang baru (x1, x4, atau x8) memungkinkan host untuk merancang secara fleksibel. MMCmobile merupakan standar memory card berukuran kecil yang dapat dioperasikan pada tegangan ganda 3 / 3.3 volt dan 1,8 volt. (sumber : jurnal tekno halaman 25-30)
2.6.
Register Pada MMC terdapat beberapa internal register. Setiap internal register memiliki
fungsi yang berbeda. Pada beberapa MMC produksi seperti Sandisk atau Hitachi terdapat beberapa internal register yang tidak tersedia. Secara umum terdapat 6 buah register yaitu : a.
Operation Condition Register (OCR) OCR memiliki panjang 32 bit. OCR memberikan informasi pada host mengenai
tegangan VDD pada MMC card. Tiap kenaikan 1 bit pada OCR mewakili kenaikan 100mV pada VDD.
14
b.
Card Identification Register (CID) Register CID memiliki panjang 128 bit. Register CID memberikan informasi
pada host mengenai ID dari MMC. Register CID tidak dapat ditulis oleh host, dan telah dibuat / ditentukan oleh produsen. c.
Relative Card Address Register (RCA) Register RCA digunakan untuk menentukan alamat relatif pada mode MMC.
Register RCA memiliki besar 16bit, maka alamat relatif yang mungkin adalah 0h sampai FFFFh. Pada mode SPI register RCA tidak dapat digunakan. Signal CS digunakan untuk memilih MMC dalam komunikasi secara SPI. d.
Card Specific Data Register (CSD) Register CSD memiliki besar 128 bit. CSD berisi informasi mengenai versi
Multimedia Card Ascociation (MMCA) yang digunakan pada kartu. CSD juga menginformasikan besar kapasitas MMC, kelas-kelas perintah yang didukung, waktu akses, besar blok data yang dapat dikirim/diterima. e.
Driver Stage Register (DSR) DSR merupakan register 16 bit yang digunakan untuk mengatur kemampuan bus
drive. f.
Status Register Status register memiliki besar 32 bit. Status register berfungsi untuk menyatakan
status error dari MMC pada saat berkomunikasi pada mode MMC. 2.7.
Command
Tabel 2.2 Format perintah pada SPI mode
15
Tabel 2.2 merupakan format perintah yang dikirimkan pada SPI mode dari host ke MMC. Bit ke 47 merupakan start bit yang selalu bernilai 0. Bit ke 46 bernilai 1 untuk menandakan perintah dari host. Bit 45 sampai bit 40 merupakan command yang dikirim. Nilai command diambil dari CMD yang dikirimkan. Bit selanjutnya yaitu bit 39 sampai bit 8 merupakan argumen yang diberikan sesuai dengan CMD yang dikirimkan. Bit 7 sampai 1 merupakan CRC7, pada SPI mode CRC7 digunakan hanya pada saat pengiriman CMD0 sedangkan pada perintah lainnya CRC7 tidak diperhatikan dan dapat berupa data sembarang. Untuk mengirimkan perintah CMD13 maka bit ke-47 sampai ke-40 bernilai 01001101(4Dh). Bit ke-47 merupakan start bit, bit ke-46 merupakan perintah dari host, dan bit ke-45 sampai bit ke-0 merupakan nilai 13 pada CMD13. Pada CMD 13 tidak memerlukan argumen maka argumen diberi nilai 00h. Pada CMD13 CRC tidak diperhatikan dan bit ke 0 merupakan end bit yang bernilai 1. Jadi untuk mengirimkan CMD13 maka perlu dilakukan SPI sebanyak 6 kali yaitu mengirimkan 4Dh, 00h, 00h, 00h, 00h, dan 95h
2.8.
Responses Perintah yang telah dikirim pada MMC, akan ditanggapi dengan respon tertentu.
Respon selalu diawali dengan MSB menuju LSB. Terdapat 5 buah tipe respon yaitu R1, R2, R3, R4, dan R5. Tiap respon memiliki panjang bit data yang berbeda. Pada mode MMC, respon yang diberikan berbeda dengan respon pada mode SPI. Data respon pada mode MMC lebih panjang daripada data respon pada mode SPI.
16
2.9.
Mode SPI Mode SPI merupakan salah satu protokol yang dapat digunakan dalam
komunikasi antara host dengan MMC. Pada mode SPI, perintah dikirim dalam bentuk blok data. Besar data yang dikirim merupakan data sebesar 8 bit yang dikirimkan secara berurutan. Perintah pada mode SPI sama dengan perintah mode MMC. Namun terdapat beberapa perintah pada mode MMC yang tidak dapat digunakan pada mode SPI. Pada mode SPI CRC tidak digunakan dalam pengiriman dan penerimaan data. Namun CRC tetap disertakan dengan nilai sembarang pada pengiriman perintah ataupun data dalam komunikasi mode SPI.
2.9.1. Format respon pada mode SPI Berbeda dengan MMC mode pada SPI mode, panjang data respon yang diberikan MMC ke host lebih sedikit. Berikut format R1 atau R1b pada SPI mode :
Gambar 2.10 Format respon R1 pada SPI mode Respon R1 atau R1b pada mode SPI terdiri dari 8 bit dimana tiap bit mewakili kondisi yang terjadi pada MMC sesuai dengan gambar 2.10. Respon R1 digunakan pada
17
semua perintah pada mode SPI kecuali pada perintah CMD13. Pada perintah CMD13, respon yang diberikan respon R2 yang memiliki format seperti gambar 2.11.
Gambar 2.11 Format respon R2 pada SPI mode Perintah CMD13 (SendStatus_CMD) yang telah diterima MMC akan ditanggapi dengan respon R2. Respon R2 terdiri dari 16 bit data, dimana 8 bit data pertama merupakan R1 sedangkan 8 bit data kedua merupakan status dari MMC.
2.10.
Format Token Pada pengiriman perintah ataupun penerimaan blok data digunakan suatu
struktur yang disebut dengan token untuk menunjukan data dan respon dari MMC. Terdapat 3 tipe token yaitu data token, data_response token, dan data_error token.
18
2.10.1. Data Token Blok data yang dikirim/diterima oleh host dikirim dengan MSB terlebih dahulu. Blok data pada mode SPI disebut dengan data token. Data token terdiri dari Start Block token (1byte) blok data (1 byte atau lebih) dan nilai CRC (2byte). Berikut tipe-tipe token yang diberikan MMC dalam transaksi data. Tipe Token
Tipe transaksi
Nilai (hex)
Single Block read
FE
Multiple block read
FE
Single Block write
FE
Multiple block write
FC
Multiple block write (end)
FD
Start Block
Stop Tran
Tabel 2.3 Nilai Start Block dan Stop Tran
2.10.2. Data_response token Setelah menerima data token, MMC akan merespon dengan 1byte data_response token. Berikut nilai tiap bit pada data_response token : Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 X X X 0 Status 1 Tabel 2.4 Format data respon Status :
010=Data diterima 101=CRC error 110=Write error
19
2.10.3. Data_error token Data_error token memiliki besar 8 bit data. Data_error token diberikan MMC karena terjadi error pada proses pengiriman data. Format dari data_error token dapat dilihat pada gambar 2.12.
Gambar 2.12 Format token untuk data_error 2.11.
Sistem file Setiap aplikasi dalam komputer pada umumnya perlu menyimpan informasi dan
menggunakan kembali informasi tersebut. Ketika sebuah proses sedang berjalan, proses tersebut dapat menyimpan sejumlah informasi pada space address sendiri. Permasalahan yang terjadi ketika menyimpan informasi pada space address tersendiri adalah kapasitas penyimpanan informasi terbatas pada ukuran dari virtual space address. Untuk aplikasi yang tidak memerlukan kapasitas penyimpanan yang besar, mungkin hal tersebut tidak menjadi masalah, namun bagi beberapa aplikasi besar seperti pada pemesanan tiket penerbangan dan banking kapasitas penyimpanan data tidak akan cukup. Permasalahan kedua ketika menyimpan informasi langsung dalam space address proses yang sedang berjalan adalah ketika proses tersebut telah berhenti berjalan,
20
informasinya akan hilang. Untuk aplikasi seperti database, informasi yang disimpan terkadang harus tetap ada untuk jangka waktu yang cukup lama. Permasalahan ketiga adalah seringkali multiple akses perlu untuk mengakses informasi atau bagian dari informasi secara bersamaan. Contoh jika ada sebuah directory online telephone yang disimpan dalam sebuah space address dari single proses, maka hanya single proses tersebut saja yang dapat mengaksesnya. Solusi yang dapat dilakukan untuk mengatasi masalah tersebut adalah dengan membuat informasi tersebut bersifat independent atau bebas dari proses manapun dengan cara menyimpan informasi dalam disk atau media eksternal lainnya dalam unit yang disebut dengan file. Ketika telah menyimpan informasi dalam unit-unit file maka proses lain dapat membaca atau bahkan menulis informasi yang baru bila diperlukan. File dikelola oleh sistem operasi. Bagaimana suatu file distrukturkan, dinamakan, diakses, digunakan, diproteksi, dan diimplementasikan adalah tugas utama dari sistem operasi. Seluruh bagian sistem operasi yang berhubungan dengan file disebut dengan sistem file. Sistem file mengatur isi data ke dalam kelompok-kelompok yang disebut dengan cluster. Dalam sebuah cluster terdiri dari sector-sector yang merupakan kumpulan dari byte-byte. Sistem File dapat diklasifikasikan menjadi disk file system, network file system, dan special purpose file systems. 2.11.1. Disk File System Disk file system adalah sistem file yang dikhususkan untuk mengatur penyimpanan file dalam media penyimpanan data, yang kebanyakan digunakan pada
21
disk drive yang baik secara langsung maupun tidak langsung terhubung dengan komputer. Contoh dari disk file system adalah FAT 12, FAT 16, FAT 32, dan NTFS. 2.11.2.Network file system Network file system adalah sebuah sistem file yang berfungsi sebagai client dalam sebuah remote file access protocol, mengatur akses file ke server. Contoh dari network file system adalah NFS, AFS, dan SMB. 2.11.3.Special Purpose File System Special Purpose File System pada dasarnya adalah sistem file yang hanya ditujukan untuk tujuan tertentu saja. Sistem yang temasuk dalam kategori Special purpose file system adalah file-file yang diatur secara dinamis oleh software, ditujukan untuk tujuan seperti komunikasi antar computer process atau temporary file space. Jenis-jenis sistem file yang terdapat dalam sistem operasi windows antara lain File Allocation Table (FAT) dan New Technology file System (NTFS). File system FAT merupakan evolusi dari file system MS-DOS yang berdasar pada 86-DOS. File system MS-DOS yang ada sebelum file system FAT (FAT 12 dan FAT 16) memiliki beberapa keterbatasan seperti keterbatasan panjang dari file, keterbatasan dalam jumlah entry di root directory dari sistem file dan adanya keterbatasan dari ukuran format disk atau partisinya. Khusus FAT 12 dan FAT 16 memiliki batas 8 karakter untuk file name dan 3 karakter untuk extension. VFAT merupakan perluasan untuk FAT12 dan FAT 16 yang dikenalkan pada windows NT 3.5 dan kemudian dimasukkan pada windows 95, mengijinkan Long File Name (LFN).
22
2.12.
FAT 16 FAT 16 hanya dapat digunakan dalam sistem yang memiliki media penyimpanan
dengan rentang kapasitas penyimpanan antara 16MB hingga 2 GB. Setiap FAT16 memiliki komponen sebagai berikut : a. Reserved region, yang mengandung boot sector b. FAT region, yang berisi 2 copy dari table FAT c. Root directory region d. File dan directory data region yang menyimpan file dan subdirectory 2.12.1. Reserved region Daerah pertama dari volume FAT16 adalah reserved region yang berisi sector tunggal yang disebut dengan boot sector. Alamat dari boot sector didapat dari nilai LBA (Load Boot Address) yang disimpan pada tabel partisi MBR (Master Boot Record). Pada media yang tidak memiliki MBR, maka sector pertamanya akan ditempati oleh boot sector. Boot sector berisi sebuah BPB (BIOS Parameter Block), yang berupa reserve area untuk boot code dan boot signature. 2.12.2. BIOS Parameter Block Tabel 2.5 menunjukkan informasi 62 byte pertama dalam boot sector FAT 16. Secara umum data yang termasuk dalam BPB terletak pada byte 11 sampai byte 35, meskipun byte-byte sisanya masuk ke dalam boot sector namun byte-byte tersebut bukan bagian dari BPB. Informasi yang disimpan dalam BPB memungkinkan komputer untuk menemukan daerah tabel FAT, root directory, dan data area ( area isi file dan directory).
23
Byte 13 dalam BPB menginformasikan berapa banyak sector yang ada pada cluster data. Setiap cluster menampung data milik single file. Sebuah file yang besar dapat menggunakan multiple cluster. Space extra pada akhir cluster dari akhir sebuah isi file tidak dapat digunakan oleh file lain. Pemilihan besarnya ukuran cluster tergantung pada aspek efisiensi akses atau efisiensi penggunaan pada media penyimpanan. Semakin besar ukuran cluster maka pengaksesan file dengan ukuran yang besar akan semakin efisien juga karena file system software akan membutuhkan lebih sedikit pencarian cluster dan pengaksesan cluster. Sebuah ukuran cluster yang kecil akan menghabiskan lebih sedikit space, khususnya ketika banyak file-file yang berukuran kecil. Untuk kompatibilitas yang maksimum dengan mass-storage host software, beberapa ítems dalam FAT16 boot sector membutuhkan recommended value, seperti yang ditunjukkan pada keterangan tabel 2.5. Secara teoritis semua nilai yang ada dalam boot sector, kecuali jumlah dari reserve sector dapat beragam, namun apabila berbeda dari recommended value-nya maka memungkinkan terjadi masalah pada beberapa host.
Byte
Ukuran
Deskripsi
(byte)
Keterangan For bootable media, byte zero
0
3
Jump instruction to boot code
contains EBh or E9h for an x86 unconditional jump. Set to 00h for non-bootable media
3
String that identifies the operating
8
sistem that formatted the media
11
Number of bytes per sector
2
13
Number of sectors per cluster
1
Use “MSWIN4.1” for maximum compatibility Use 512 for maximum compatibility. Allowed value are
24
1,2,4,8,16,32,64, and 128. For maximum compatibility, cluster size must be 32K or less 14
Number of reserve d sectors
2
Must be 1
16
Number of FATs (identical copies)
1
Use 2 for maximum compatibility
17 19
Maximum number of entryes in the
2
root directory Total number of sectors if less than
2
32K
Use 512 for maximum compatibility The total nmber of sectors in the media if less than 32K. Use F8h for non-removable media and F0h for removible
21
1
Media descriptor
media. This value is also stored in the first byte of cluster zero but is generally unused in both locations. The number of sectors in one
22
Number of sectors per FAT
2
24
Number of sectors per track
2
Not used in LBA
26
Number of heads
2
Not used in LBA
FAT
The number of hidden sectors that precede the partisi that 28
4
Number of hidden sectors
contains this FAT volume. Operating sistem spesific. Zero if the media doesnt have an MBR sector The total number of sectors in the volume if 32K or greater. The
32
4
Total number of sectors
count begins with the boot sector and includes all region. Otherwise zero
36
1
Logical drive number of the partisi
Operating sistem spesific
25
37
Reserved
1
38
Extended boot signature
1
39
Volume serial number
4
43
Volume label
11
54
File sistem type
8
00h Set to 29h if the three fields below are present Typically created using the date and time formatting Text that identifies the volume “FAT16” or “FAT”. Not used to determine the file sistem type.
Tabel 2.5 Informasi boot sector pada FAT16 (sumber : USB mass storage : designing and programming devices and embedded hosts) Lokasi dari nilai yang menginformasikan jumlah sector dalam volume dapat beragam tergantung dari kapasitas volumenya. Jika kurang dari 32KB, nilainya dalam 2 byte mulai pada byte ke 19 di BPB. Jika lebih kecil atau sama dengan 32KB, nilainya akan sebesar 4 byte dimulai pada byte ke 32. Offset 0 dapat berisi instruksi untuk loncat ke boot code. FAT16 volume pada umumnya berisi Ebh 3Ch 90h, yang berarti loncat sejauh 60byte ke boot code., yang dimulai pada byte 3Eh di BPB. Ebh adalah instruksi jump, 3Ch (60) adalah ukuran jauhnya loncatan (dalam satuan byte), dan 90h adalah NOP (no operation). Byte
yang
dimulai
pada
alamat
offset
54
menyimpan
text
yang
mengidentifikasikan file system, namun program code seharusnya tidak mepercayai text ini untuk mengidentifikasi file sistem. Pemilihan jenis file sistem tergantung pada jumlah cluster data di volume. 2.12.3. Boot Code Alamat offset 62 sampai 509 menyimpan informasi boot code (448 byte). Jika tabel partisi mengindikasikan bahwa volumenya bersifat bootable, pada boot up,
26
executable code pada MBR loncat ke boot code pada volume boot sector. Boot code akan me-load sistem operasi. 2.12.4. Boot signature Pada boot sector yang benar, byte ke 510 akan bernilai 55h dan byte ke 511 akan bernilai AAh. Untuk media yang jumlah SectorperClusternya lebih besar dari 512 byte, pada byte ke 510 akan bernilai 55h dan byte ke 511 juga akan bernilai AAh meskipun bukan merupakan byte terakhir dari sector. 2.12.5. File Allocation Table File Allocation table dalam sistem tabel FAT 16 secara umum memiliki 2 kopi yang saling identik satu sama lainnya. Setiap tabel FAT memiliki 16 bit entry untuk setiap volume cluster data. 2.12.6. Root Directory Region Pada FAT16 volume, sector setelah tabel FAT adalah root directory. Root directory secara umum mampu menyimpan sampai 512 entry dimana masing-masing entry dibagi menjadi per 32 byte. Jika ukuran SectorperClusternya adalah 512 byte, maka root directory membutuhkan 32 sector. Root directory menyimpan informasi mengenai file dan subfolder. 2.12.7. File dan Directory Data Region Sector setelah root directory dikelompokkan ke dalam cluster data. Sebuah cluster data dapat berisi satu atau lebih sector. Karena tabel FAT memiliki informasi entry untuk setiap cluster dan dua entry pertama sudah digunakan untuk tujuan lain,
27
maka cluster data pertama dimulai pada cluster kedua, sedangkan sisanya akan berurutan mulai dari cl uster tiga dan seterusnya. File dan subdirectory disimpan di dalam cluster. 2.13.
FAT 32 FAT 32 adalah pilihan sistem file untuk kapasitas media penyimpanan yang lebih
besar yang tidak dapat didukung oleh FAT16. Sistem FAT32 juga memiliki keuntungan lain, seperti tidak adanya batasan pada ukuran root directory dan ketersediaan informasi tambahan untuk memperbaiki kerusakan media dan menemukan cluster kosong secara cepat. 2.13.1. Reserved Region Region pertama pada volume FAT 32 adalah reserved region yang berisi boot sector, sebuah struktur FSInfo yang berisi informasi untuk membantu menemukan free cluster, dan sebuah backup copy dari boot sector. 2.13.2. Boot Sector Sama seperti FAT16, boot sector dimulai pada nilai LBA yang disimpan di dalam entry volume pada tabel partisi. Tabel 2.5 menunjukkan 90 byte pertama dalam FAT32 boot sector. Byte ke 11 sampai byte ke 63 merupakan bagian dari BPB (BIOS Parameter Block), sedangkan byte-byte sisanya adalah bagian dari boot sector namun tidak termasuk ke dalam BPB. Dibandingkan dengan FAT 16, FAT 32 memiliki beberapa perbedaan seperti: a.
Jumlah dari reserved sector pada byte ke 14 secara umum adalah 32 bukannya 1
28
b.
Jumlah entry maksimum di root directory pada byte ke 17 tidak berguna karena FAT 32 tidak memiliki batasan ukuran root directory.
c.
Jumlah sector selalu ada pada alamat offset 32 dari boot sector karena FAT 32 volume selalu paling sedikit 32 KB.
d.
Informasi jumlah sector per FAT berada pada byte 24h-27h dari boot sector
e.
Informasi alamat cluster dari root directory ada pada alamat offset 44 di boot sector karena FAT 32 tidak memiliki lokasi root directory yang pasti
Byte
Ukuran
Deskripsi
(byte)
Keterangan For bootable media, byte zero
0
Jump instruction to boot code
3
contains EBh or E9h for an x86 unconditional jump. Set to 00h for non-bootable media
3 11
String that identifies the operating
8
sistem that formatted the media Number of bytes per sector
2
Use “MSWIN4.1” for maximum compatibility Use 512 for maximum compatibility. Allowed value are
13
Number of sectors per cluster
1
1,2,4,8,16,32,64, and 128. For maximum compatibility, cluster size must be 32K or less Includes all sectors that precede
14
Number of reserved sectors
2
16
Number of FATs (identical copies)
1
17
unused
2
0000h
19
unused
2
0000h
the FATs. Typically 32 Use 2 for maximum compatibility
29
Use F8h for non-removable media and F0h for removible 21
Media descriptor
1
media. This value is also stored in the first byte of cluster 0 but is generally unused in both locations.
22
unused
2
0000h
24
Number of sectors per track
2
Not used in LBA
26
Number of heads
2
Not used in LBA The number of hidden sectors
28
Number of hidden sectors
4
that precede the partisi that contains this FAT volume. Operating sistem spesific. The total number of sectors in
32
Total number of sectors
4
the volume. The count begins with the boot sector and includes all region.
36
Number of sectors per FAT
4
The number of sectors in one FAT Bits 3..0:zero-based number of the active FAT. Valid only if mirroring is disabled.
40
Flags
2
Bits6..4:reserve d Bit 7: 0 if the FAT is mirrored at runtime into all FATs; 1 if mirroring is disabled. The high byte is the major
42
Version number of the FAT32
2
volume
revision number and the low byte is the minor revision number. use 0000h
44
Cluster number of the first cluster of
4
Use 2 for maximum
30
the root directory 48
compatibility
Sector number of the FSINFO
2
structure within the reserve d region The sector number of a backup copy
50
Usually 1 Set to 6 for maximum
of the boot record within the reserve
2
d area
compatibility. Set to 0 if no backup kopi is available.
52
Reserved
12
Set all bytes to 00h
64
Logical drive number of the partisi
1
Operating sistem spesific
65
Reserved
1
00h
66
Extended boot signature
1
67
Volume serial number
4
71
Volume label
11
82
File sistem type
8
Set to 29h if the three fields below are present Typically created using the date and time formatting Text that identifies the volume “FAT32”. Not used to determine the file sistem type.
Tabel 2.6 Informasi boot sector pada FAT32. (sumber : USB mass storage : designing and programming devices and embedded hosts) f.
Byte ke-48 menyimpan informasi lokasi dari struktur FSInfo dan byte ke 50 menyimpan informasi dari backup boot sector. Sedangkan FAT16 tidak memiliki komponen ini
g.
Bagian flag pada byte ke 40 mengindikasikan apakah file sistem memiliki FAT tabel yang kembar(identik) atau hanya satu FAT tabel saja yang dianggap berlaku. Jika hanya ada satu tabel FAT saja yang dianggap berlaku (valid), maka flagnya akan menunjukkan yang mana yang berlaku. BPB pada FAT16 tidak memiliki bagian flag.
31
2.13.3. FSInfo structure Struktur FSInfo berisi informasi untuk membantu menemukan free cluster secara cepat. Informasi alamat dari struktur ini berada pada byte ke 48 dalam BPB. Secara khusu berada pada reserve sector dan kemudian diikuti oleh boot sector. Informasi yang ada dalam struktur FSInfo ditunjukkan dalam tabel 2.7.
Byte
Ukuran
Keterangan
(bytes)
0
4
FSI_LeadSig signature. Must equal 41615252h
4
480
Reserved. Set all bytes to 00h
484
4
FSI_StrucSig signatura. Must equal 61417272h
488
4
492
4
496
12
Reserved. Set all bytes to 00h
508
4
FSI_TrailSig signatura. Must equal AA550000h
The number of the last known free cluster.set to FFFFFFFh if unknown The cluster number where the file-sistem driver should Stara looking for free cluster set to FFFFFFFh if unknown
Tabel 2.7 Informasi yang ada dalam struktur FSInfo (sumber : USB mass storage : designing and programming devices and embedded hosts)
2.13.4. Backup Boot Sector Sector 6 sampai 8 dalam reserve region dapat menyimpan sebuah backup copy dari 3 sector yang dimulai dengan volume boot sectornya. Backup digunakan untuk memperbaiki media bila copy aslinya rusak.
32
2.13.5. File Allocation Table Region Sama seperti FAT 16, sektor yang ada setelah reserve region adalah tabel FAT. Sebuah tabel FAT dalam sistem file FAT 32 memiliki 32 bit entry untuk setiap volume cluster data 2.13.6. File and Directory Data Region Sama seperti FAT 16, file dan directory data area terdiri atas cluster data yang dapat menyimpan file dan subdirectory. Pada sistem FAT32, daerah ini berada dalam root directory. Cluster data pertama adalah cluster 2. 2.14.
NTFS NTFS (New Technology File system) merupakan file system yang memiliki
struktur yang disebut dengan MFT (Master File Table), yang berfungsi menyimpan informasi secara detail pada file. Bila ditinjau dari segi performanya, akses file pada NTFS jauh lebih cepat daripada sistem file FAT karena menggunakan teknik binary tree untuk penempatan filenya. Secara teoritis, ukuran maksimum dari media penyimpanan yang mampu didukung dengan format NTFS adalah 17 miliar terabyte, namun secara physical ukuran maksimum yang mampu didukung adalah 2TB (Tera byte). Seperti layaknya sistem operasi yang lain, NTFS membagi seluruh tempat yang terpakai ke dalam cluster data block yang digunakan bersamaan. NTFS mendukung hampir seluruh ukuran cluster, dari 512 byte sampai 64kbyte dimana ukuran stándar 1 cluster adalah 4KB.
33
Disk NTFS secara simbolik dibagi menjadi dua bagian. Bagian yang pertama sebesar 12% disebut dengan MFT ( Master File Table ) area, ruang tempat MFT metafile mengalami perkembangan dan harus dibiarkan tetap dalam keadaan kosong agar perkembangan MFT tidak terganggu. Sisa dari ukuran disk sebesar 88% digunakan untuk menyimpan file. Struktur dari bagian partisi NTFS ditunjukkan dalam gambar 2.13.
Gambar 2.13 Partition Structure Ruangan disk yang free (bebas) mencakup seluruh free space termasuk bagian MFT yang free juga. Mekanisme dari penggunaan MFT area adalah ketika file sudah tidak dapat disimpan lagi dalam area yang biasa, maka ukuran dari MFT akan dikurangi. Pada saat area penyimpanan yang biasa sudah kosong kembali maka MFT dapat diperbesar kembali. Seluruh komponen sistem dalam NTFS dianggap sebagai suatu file, bahkan sistem informasi pun juga dianggap sebagai suatu file. File paling penting dalam NTFS dinamakan dengan MFT. MFT terletak dalam area MFT dan merupakan pusat directory dari seluruh isi disk file dan MFT itu sendiri. MFT dibagi ke dalam record-record (umumnya sebesar 1KB). 16 file pertama dianggap sebagai tuan rumah (housekeeping) dan tidak dapat diakses oleh sistem operasi. File-file tersebut dinamakan metafile,
34
dimana metafile yang pertama adalah MFT itu sendiri. 16 elemen pertama MFT inilah yang satu-satunya memiliki posisi pasti dalam NTFS. Copy kedua dari 3 sector pertama terletak di tengah-tengah disk. Sisa dari file MFT disimpan bersamaan dengan file-file lain pada tempat yang lain di dalam disk. 16 file pertama adalah file-file sistem (metafile). Masing-masing dari file tersebut bertanggung jawab terhadap sistem operasi. Keuntungan dari pendekatan modular ini adalah sifat fleksibilitasnya. Metafile berada dalam root directory dan dimulai dengan nama karakter “$”. Beberapa metafile yang sering digunakan dan keterangan dari fungsi-fungsinya ditunjukkan dalam tabel 2.8.
Tabel 2.8 Meta file (sumber : http://ixbtlabs.com/articles/ntfs/)
35
2.15.
AVR AVR merupakan sebuah IC ( Integrated Circuit) yang berbentuk chip dengan
program dan data yang disimpan secara terpisah. Biasanya menyimpan program dan data dalam memori yang dapat berubah secara permanen atau semi permanen. Oleh karena itu, pada dasarnya AVR cocok untuk embedded system, setelah program memori diproteksi dari short ciruit dan faktor lingkungan lainya yang dapat menyebabkan program menjadi rusak (corrupted). AVR dapat digunakan untuk berbagai macam aplikasi dibidang otomasi seperti keamanan sekuritas dan sistem pertunjukan. AVR dibagi menjadi tiga keluarga, tiny AVR, megaAVR, Application Specific AVR, yang masing-masing memiliki spesifikasi yang berbeda. Seperti pada program memori, paket pin-nya, peripheral set, dan ditambah juga dengan beberapa instruksi tambahan di dalamnya.
Gambar 2.14 Blok diagram AVR
36
Data bus memorinya adalah 8 bit data bus dan semuanya menghubungkan banyak peripheral komponen ke dalam register file. Program memori data bus adalah sebesar 16 bit dan hanya menerima instruction register. Program memori diakses setiap clock cycle, dan setiap instruksi di load kedalam register instruksi. Register instruksi menerima register file, memilih register mana yang akan dipilih ALU untuk eksekusi instruksi. Output dari register instruksi juga diterjemahkan oleh instruction decoder untuk menentukan sinyal control mana yang akan diaktifkan untuk menyelesaikan instruksi yang sedang berlangsung. (sumber: Programming and Customizing The AVR Microcontroller chapter 3)
2.16. DC – DC converter DC – DC converter merupakan rangkaian yang berfungsi untuk merubah level tegangan dan banyak digunakan pada switching power supply karena memiliki efisiensi daya yang tinggi dibandingkan dengan linear power suply. Hasil konversi dari DC tersebut dapat dibentuk menjadi step up, step down, dan invert. Induktor yang digunakan pada rangkaian ini berfungsi untuk membatasi besar perubahan (slew rate) arus yang digunakan, selain itu keuntungan lain menggunakan induktor adalah kemampuan induktor untuk menyimpan energi yang dapat diformulasikan dengan persamaan (2.1) E=
Dimana: E = energi (joule) L = induktansi induktor (H) I = arus yang mengalir (A)
1 2 ................................................ (2.1) LI 2
37
Rangkaian dc-dc converter terdiri dari induktor , power switch dan diode yang berfungsi untuk mentansfer energi dari input menuju output. Komponen –komponen tersebut dapat dirangkai menjadi beberapa bentuk step-down (buck), step-up(boost), dan atau inverter seperti pada gambar 2.15
Buck converter topology.
Inverting topology.
Simple boost converter.
Transformer flyback topology. Gambar 2.15 DC-DC converter Beberapa keuntungan dari switching regulator ini adalah efisiensi yang tinggi,
daya yang hilang sedikit sehingga panas berkurang dan ukuran komponen yang digunakan lebih kecil, serta energi yang disimpan oleh induktor dapat di transfer ke output. Kelemahan dari converter ini adalah membutuhkan kontrol energi yang baik dan gangguan yang dihasilkan rangkaian ini cukup tinggi. Proses menaikan tegangan dc (step-up tegangan ) terdiri dari dua tahap yaitu saat charging phase dan discharging phase. Charging Phase dari konfigurasi boost sederhana yang terdapat pada gambar 2.16 memiliki cara kerja sebagai berikut. Switch diasumsikan sudah terbuka untuk waktu yang lama, tegangan yang jatuh pada diode bernilai negatif dan tegangan yang jatuh pada kapasitor sama dengan tegangan input Vin. Ketika saklar tertutup, tegangan input Vin akan melewati induktor dan arus mengalir langsung ke ground, sedangkan diode akan mencegah kapasitor discharging ke
38
ground. karena tegangan input berupa tegangan DC, maka arus yang melewati induktor akan naik secara linear dengan nilai waktu proposional antara tegangan masukan dibagi dengan induktansi.
Gambar 2.16 Phase charge, ketika saklar terhubung maka arus akan naik melewati induktor.
Discharging phase terjadi ketika saklar terbuka dan arus pada induktor akan mengalir melewati dioda dan mencharge output. Tegangan output akan naik dan kemiringan dari arus di/dt akan menurun, Output tegangan akan naik sampai mencapai titik equilibrium yaitu pada tegangan
VL = L
di dt
............................................ (2.2)
Dimana : V= tegangan yang dihasilkan pada induktor (Volt) L = induktansi (H) di = perubahan arus (A/s) dt dengan kata lain semakin besar tegangan maka semakin besar cepat pula arus turun. dt semakin kecil dapat dilihat pada gambar 2.17.
39
Gambar 2.17 Phase Discharge : ketika saklar terbuka, arus mengalir ke beban melewati diode dari input.
Dalam kondisi steady state rata-rata tegangan pada induktor selama satu siklus
switching adalah nol. Hal ini mengimplikasikan rata rata arus yang mengalir melalui induktor juga selalu dalam keadaan steady dengan demikian dapat dibuat hubungan antara Vinput ,Voutput , waktu charge, dan waktu discharge
Vin x t ON = t OFF xV L .............................................................................................(2.3) karena VOUT = V IN + V L ........................ ...........................................................................(2.4) Hubungan dari persamaan 2.3dan 2.4 VOUT = V IN x (1 + t ON / t OFF ).................................................................................(2.5) Menggunakan hubungan duty cycle ( D) t ON = D ................................................................................................(2.6) ( t ON + t OFF ) Rumus rangkaian Boost : V IN .....................................................................................................(2.7) VOUT = (1 − D )