Selasa, 24 Juli 2018

Memory Programming n lockbit

Program And Data Memory Lock Bits

ATmega8 menyediakan enam Kunci Bits yang dapat dibiarkan tidak terprogram ("1") atau dapat diprogram ("0") untuk mendapatkan fitur tambahan yang tercantum pada Tabel 86. Bit Kunci hanya bisa terhapus menjadi "1" dengan perintah Chip Erase.

Table 85. Lock Bit Byte
 Lock Bit Byte      Bit No.                                           Description                           Default Value(1) 
                                  7                                                     –                                        1 (unprogrammed)                                    6                                                     –                                        1 (unprogrammed)      BLB12                  5                                                 Boot lock bit                          1 (unprogrammed)      BLB11                  4                                                 Boot lock bit                          1 (unprogrammed)      BLB02                  3                                                 Boot lock bit                          1 (unprogrammed)      BLB01                  2                                                 Boot lock bit                          1 (unprogrammed)      LB2                       1                                                 Lock bit                                 1 (unprogrammed)      LB1                       0                                                 Lock bit                                 1 (unprogrammed)

Note: 1. “1” means unprogrammed, “0” means programmed


Tabel 86. Mode Perlindungan Kunci Bit (2)
               Memori Bits                                                       Jenis Perlindungan Kunci     
LB Mode              LB2             LB1
      1                       1                   1                   Tidak ada fitur kunci memori yang diaktifkan
      2                       1                   0                   Pemrograman lebih lanjut dari Flash dan EEPROM                                                                                 adalah dinonaktifkan dalam mode Pemrograman                                                                                     Paralel  dan Serial. Fuse Bits terkunci dalam Serial                                                                                dan Paralel Mode pemrograman (1)
      3                       0                   0                  Pemrograman lebih lanjut dan verifikasi Flash dan
                                                                        EEPROM dinonaktifkan secara paralel dan                                                                                              Pemrograman Serialm mode. Fuse Bits terkunci di                                                                                  kedua Serial dan Paralel Mode pemrograman (1)
Mode BLB0      BLB02          BLB01
      1                      1                    1                 Tidak ada batasan untuk SPM atau LPM yang                                                                                          mengakses  Aplikasi bagian
      2                      1                    0                  SPM tidak diizinkan untuk menulis ke bagian Aplikasi
      3                      0                    0                  SPM tidak diizinkan untuk menulis ke bagian Aplikasi,                                                                          dan LPM mengeksekusi dari bagian Boot Loader tidak
                                                                        diizinkan untuk membaca dari bagian Aplikasi. Jika                                                                                 Interupsi Vektor ditempatkan di bagian Boot Loader,                                                                               interupsi dinonaktifkan saat mengeksekusi dari bagian                                                                             Aplikasi
      4                      0                    1                   LPM mengeksekusi dari bagian Boot Loader tidak
                                                                         diizinkan untuk membaca dari bagian Aplikasi. Jika                                                                                 Interupsi Vektor ditempatkan di bagian Boot Loader,                                                                               interupsi dinonaktifkan saat mengeksekusi dari bagian                                                                             Aplikasi

Table 86. Lock Bit Protection Modes(2) (Continued)

Memory Lock Bits                                               Protection Type
Mode BLB1      BLB12         BLB11
       1                     1                   1            Tidak ada batasan untuk SPM atau LPM yang mengakses                                                                       Boot Loader bagian
       2                     1                   0            SPM tidak diizinkan untuk menulis ke bagian Boot Loader
       3                     0                   0            SPM tidak diizinkan untuk menulis ke bagian Boot Loader,
                                                                 dan LPM yang mengeksekusi dari bagian Aplikasi tidak
                                                                 diizinkan untuk membaca dari bagian Boot Loader. Jika                                                                         Interupsi Vektor ditempatkan di bagian Aplikasi, interupsi
                                                                 dinonaktifkan saat mengeksekusi dari bagian Boot Loader
      4                     0                    1            LPM yang dieksekusi dari bagian Aplikasi tidak diizinkan
                                                                 untuk membaca dari bagian Boot Loader. Jika Interrupt                                                                           Vectors ditempatkan di bagian Aplikasi, interupsi
                                                                 dinonaktifkan saat mengeksekusi dari bagian Boot Loader

Catatan: 1. Program Bits Fuse sebelum memprogram Lock Bits
2. "1" berarti tidak terprogram, "0" berarti diprogram

Fuse Bits 
ATmega8 memiliki dua byte sekering. Tabel 87 dan Tabel 88 di halaman 217 menjelaskan secara singkat fungsionalitasnya dari semua sekering dan bagaimana mereka dipetakan ke dalam byte sekering. Perhatikan bahwa sekeringnya dibaca sebagai nol logis, "0", jika diprogram.

Table 87. Fuse High Byte 

Fuse high Byte   bit no                                 Deskripsi                                            Nilai Default
RSTDISBL (4)        7       Pilih jika PC6 adalah pin I / O atau pin RESET      1 (tidak terprogram,                                                                                                                                                                           PC6  adalah RESET-pin)     
WDTON                  6       WDT selalu aktif                                                             1 (tidak diprogram, WDT diaktifkan                                                                                                                                               oleh WDTCR) 
SPIEN (1)                5       Aktifkan Serial Program dan Data Mengunduh      0 (diprogram, SPI prog. diaktifkan)
CKOPT (2)              4       Pilihan Osilator                                                               1 (tidak terprogram)
EESAVE                  3       EEPROM memori dipertahankan melalui Penghapusan Chip         1 (tidak   terprogram,  EEPROM tidak   diawetkan)   
BOOTSZ1                2      Pilih Ukuran Booting (lihat Tabel 82 dihalaman 2   1 3 untuk detail) 0 (diprogram) (3)
BOOTSZ0                           1       Pilih Ukuran Booting (lihat Tabel 82 dihalaman 213 untuk detail)      0 (diprogram) (3)

BOOTRST               0     Pilih Reset Vector                                                                1 (unprogrammed)

Catatan: 1. SPIEN Fuse tidak dapat diakses dalam mode Pemrograman Serial
2. Fuse CKOPT Fuse tergantung pada pengaturan bit CKSEL, lihat “Sumber Jam”
di halaman 26 untuk detailnya
3. Nilai default dari BOOTSZ1..0 menghasilkan Ukuran Boot maksimum. Lihat Tabel 82 di halaman 213
4. Saat memprogram RSTDISBL Fuse Parallel Programming harus digunakan untuk berubah sekering atau melakukan pemrograman lebih lanjut


Table 88. Fuse Low Byte


Fuse Low Byte  Bit No           Description                                                                  Default Value
BODLEVEL                              7               Detektor pemindai berwarna coklat level                                                   1 (tidak terprogram)
BODEN                                     6               Detektor coklat keluar memungkinkan                                                       1 (tidak terprogram, BOD dinonaktifkan)
SUT1                                          5               Pilih waktu start-up                                                                                          1 (tidak terprogram) (1)
SUT0                                         4               Pilih waktu start-up                                                                                          0 (diprogram) (1)
CKSEL3                                    3               Pilih Sumber jam                                                                                               0 (diprogram) (2)
CKSEL2                                    2               Pilih Sumber jam                                                                                               0 (diprogram) (2)
CKSEL1                                     1               Pilih Sumber jam                                                                                               0 (diprogram) (2)

CKSEL0                                    0              Pilih Sumber jam                                                                                                1 (tidak terprogram) (2)

Catatan: 1. Nilai default SUT1..0 menghasilkan waktu start-up maksimum. Lihat Tabel 10 di halaman 30 untuk rincian

2. Pengaturan default CKSEL3..0 menghasilkan internal RC Oscillator @ 1MHz. Lihat Tabel 2 pada halaman 26 untuk detailnya

Sumber Jam Perangkat ini memiliki opsi sumber jam berikut, yang dapat dipilih oleh Flash Fuse Bits seperti yang ditunjukkan di bawah. Jam dari sumber yang dipilih adalah input ke generator jam AVR, dan dialihkan ke modul yang sesuai.


Table 2. Device Clocking Options Select(1)
Device Clocking Option                                                                              CKSEL3..0
 External Crystal/Ceramic Resonator                                                  1111 - 1010 
 External Low-frequency Crystal                                                                  1001 
 External RC Oscillator                                                                            1000 - 0101                   Calibrated Internal RC Oscillator                                                        0100 - 0001  
 External Clock                                                                                                 0000

Berbagai pilihan untuk setiap opsi clocking diberikan di bagian berikut. Saat CPU bangun dari Power-down atau Power-save, sumber clock yang dipilih digunakan untuk mengatur waktu startup, memastikan operasi Oscillator yang stabil sebelum pelaksanaan instruksi dimulai. Ketika CPU mulai dari reset, ada penundaan tambahan yang memungkinkan daya mencapai level stabil sebelum dimulai operasi normal. Watchdog Oscillator digunakan untuk mengatur waktu bagian real-time ini waktu start-up. Jumlah siklus Osilator WDT yang digunakan untuk setiap timeout ditunjukkan pada Tabel 3. Frekuensi dari Watchdog Oscillator bergantung pada tegangan seperti yang ditunjukkan pada “ATmega8 Typical
Karakteristik - TA = -40 ° C hingga 85 ° C ”. Perangkat dikirimkan dengan CKSEL = "0001" dan SUT =

"10" (1MHz RC Oscillator internal, perlahan naik kekuatan).

Table 3. Number of Watchdog Oscillator Cycles
Typical Time-out (VCC = 5.0V)          Typical Time-out (VCC = 3.0V)     Number of Cycles                  4.1ms                                                         4.3ms                                             4K (4,096)                           65ms                                                         69ms                                             64K (65,536)



Status dari Fuse Bits tidak terpengaruh oleh Chip Erase. Perhatikan bahwa Fuse Bits terkunci jika kunci bit1 (LB1) diprogram. Program Bits Fuse sebelum memprogram Lock Bits



Latching of Fuses

Nilai sekring terkunci ketika perangkat memasuki mode Pemrograman dan perubahan
nilai sekering tidak akan berpengaruh sampai bagian meninggalkan mode Pemrograman. Ini tidak berlaku untuk EESAVE Fuse yang akan berlaku setelah diprogram. Sekering juga terkunci
Power-up dalam mode Normal.


Signature Bytes
Semua mikrokontroler Atmel memiliki kode tanda tangan 3-byte yang mengidentifikasi perangkat. Kode ini dapat dibaca dalam mode Serial dan Paralel, juga saat perangkat terkunci. Tiga byte berada di ruang alamat yang terpisah.
Untuk ATmega8, byte tanda tangan adalah:
1. 0x000: 0x1E (menunjukkan diproduksi oleh Atmel)
2. 0x001: 0x93 (menunjukkan 8KB Flash memory)
3. 0x002: 0x07 (menunjukkan perangkat ATmega8)

Calibration Byte
ATmega8 menyimpan empat nilai kalibrasi yang berbeda untuk RC Oscillator internal. Byte ini
berada di baris tanda tangan. Tinggi byte alamat 0x0000, 0x0001, 0x0002, dan 0x0003
masing-masing untuk 1MHz, 2MHz, 4MHz, dan 8Mhz. Selama Reset, nilai 1MHz secara otomatis
dimuat ke dalam Daftar OSCCAL. Jika frekuensi lain digunakan, nilai kalibrasi harus
dimuat secara manual, lihat "Oscillator Calibration Register - OSCCAL" pada halaman 31 untuk detailnya.

Page Size
Table 89. No. of Words in a Page and no. of Pages in the Flash 
Flash Size                     Page Size     PCWORD    No. of Pages    PCPAGE    PCMSB
 4K words (8 Kbytes)   32 words      PC [4:0]              128            PC[11:5]         11


Table 90. No. of Words in a Page and no. of Pages in the EEPROM 
EEPROM Size             Page Size     PCWORD    No. of Pages    PCPAGE    EEAMSB
512 bytes                    4 bytes           EEA[1:0]          128               EEA[8:2]         8





Tidak ada komentar:

Posting Komentar