Mikrosemi -LOGO

Deteksi dan Koreksi Kesalahan Microsemi DG0618 pada Perangkat SmartFusion2 menggunakan Memori DDR

Microsemi -DG0618-Deteksi-Kesalahan-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memori-PRODUK-GAMBAR

Kantor Pusat Perusahaan Microsemi
Satu Perusahaan, Aliso Viejo,
CA 92656 AS
Di AS: +1 Telepon: 800-713-4113
Di luar AS: +1 Telepon: 949-380-6100
Telp: +1 Telepon: 949-215-4996
E-mail: penjualan.support@microsemi.com
www.microsemi.com
© 2017 Perusahaan Mikrosemi. Seluruh hak cipta. Microsemi dan logo Microsemi adalah merek dagang dari Microsemi Corporation. Semua merek dagang dan merek layanan lainnya adalah milik dari pemiliknya masing-masing

Microsemi tidak memberikan jaminan, representasi, atau jaminan mengenai informasi yang terkandung di sini atau kesesuaian produk dan layanannya untuk tujuan tertentu, Microsemi juga tidak bertanggung jawab apa pun yang timbul dari aplikasi atau penggunaan produk atau sirkuit apa pun. Produk yang dijual di bawah ini dan produk lain yang dijual oleh Microsemi telah menjalani pengujian terbatas dan tidak boleh digunakan bersama dengan peralatan atau aplikasi penting misi. Spesifikasi kinerja apa pun diyakini dapat diandalkan tetapi tidak diverifikasi, dan Pembeli harus melakukan dan menyelesaikan semua kinerja dan pengujian produk lainnya, sendiri dan bersama-sama dengan, atau dipasang di, setiap produk akhir. Pembeli tidak boleh mengandalkan data dan spesifikasi kinerja atau parameter apa pun yang disediakan oleh Microsemi. Pembeli bertanggung jawab untuk secara independen menentukan kesesuaian produk apa pun dan menguji serta memverifikasinya. Informasi yang diberikan oleh Microsemi di bawah ini disediakan “sebagaimana adanya, di mana adanya” dan dengan semua kesalahan, dan seluruh risiko yang terkait dengan informasi tersebut sepenuhnya ditanggung oleh Pembeli. Microsemi tidak memberikan, secara eksplisit atau implisit, kepada pihak mana pun hak paten, lisensi, atau hak IP lainnya, baik yang berkaitan dengan informasi itu sendiri atau apa pun yang dijelaskan oleh informasi tersebut. Informasi yang diberikan dalam dokumen ini adalah hak milik Microsemi, dan Microsemi berhak untuk membuat perubahan apa pun pada informasi dalam dokumen ini atau pada produk dan layanan apa pun kapan saja tanpa pemberitahuan.

Tentang Mikrosemi
Microsemi Corporation (Nasdaq: MSCC) menawarkan portofolio lengkap semikonduktor dan solusi sistem untuk kedirgantaraan & pertahanan, komunikasi, pusat data, dan pasar industri. Produk termasuk sirkuit terpadu sinyal campuran analog berkinerja tinggi dan pengerasan radiasi, FPGA, SoC, dan ASIC; produk manajemen daya; perangkat pengaturan waktu dan sinkronisasi dan solusi waktu yang tepat, menetapkan standar waktu dunia; perangkat pengolah suara; solusi RF; komponen diskrit; solusi penyimpanan dan komunikasi perusahaan, teknologi keamanan, dan anti-tampeh produk; solusi Ethernet; Power-over-Ethernet IC dan midspans; serta kemampuan dan layanan desain khusus. Microsemi berkantor pusat di Aliso Viejo, California, dan memiliki sekitar 4,800 karyawan di seluruh dunia. Pelajari lebih lanjut di www.microsemi.com.

Riwayat Revisi

Riwayat revisi menjelaskan perubahan yang diterapkan dalam dokumen. Perubahan dicantumkan berdasarkan revisi, dimulai dari publikasi terkini.

  • Revisi 4.0
    Memperbarui dokumen untuk rilis perangkat lunak Libero v11.8.
  • Revisi 3.0
    Memperbarui dokumen untuk rilis perangkat lunak Libero v11.7.
  • Revisi 2.0
    Memperbarui dokumen untuk rilis perangkat lunak Libero v11.6.
  • Revisi 1.0
    Rilis awal untuk rilis perangkat lunak Libero SoC v11.5.

Deteksi dan Koreksi Kesalahan pada Perangkat SmartFusion2 menggunakan Memori DDR

Perkenalan
Dalam lingkungan yang rentan terhadap gangguan peristiwa tunggal (SEU), memori akses acak (RAM) rentan terhadap kesalahan sementara yang disebabkan oleh ion berat.
Dokumen ini menjelaskan kemampuan EDAC dari SoC FPGA, yang digunakan dalam aplikasi dengan memori yang terhubung melalui subsistem mikrokontroler (MSS) DDR (MDDR).
Pengontrol EDAC yang diterapkan pada perangkat SmartFusion2 mendukung koreksi kesalahan tunggal dan deteksi kesalahan ganda (SECDED). Semua memori—memori akses acak statis yang ditingkatkan (eSRAM), DDR, DDR berdaya rendah (LPDDR)—dalam perangkat MSS SmartFusion2 dilindungi oleh SECDED. Memori akses acak dinamis sinkron (SDRAM) DDR dapat berupa DDR2, DDR3, atau LPDDR1, bergantung pada konfigurasi MDDR dan kemampuan ECC perangkat keras.
Subsistem SmartFusion2 MDDR mendukung kepadatan memori hingga 4 GB. Dalam demo ini, Anda dapat memilih lokasi memori mana pun sebesar 1 GB di ruang alamat DDR (0xA0000000 hingga 0xDFFFFFFF).
Saat SECDED diaktifkan:

  • Operasi tulis menghitung dan menambahkan 8 bit kode SECDED (ke setiap 64 bit data)
  • Operasi baca membaca dan memeriksa data terhadap kode SECDED yang disimpan untuk mendukung koreksi kesalahan 1-bit dan deteksi kesalahan 2-bit

Ilustrasi berikut menjelaskan diagram blok SmartFusion2 EDAC pada DDR SDRAM.

Gambar 1 • Diagram Blok Tingkat Atas

Fitur EDAC DDR mendukung hal berikut:

  1.  Mekanisme SECDED
  2. Memberikan interupsi pada prosesor ARM Cortex-M3 dan fabric FPGA setelah mendeteksi kesalahan 1-bit atau kesalahan 2-bit
  3. Menyimpan jumlah kesalahan 1-bit dan 2-bit dalam register penghitung kesalahan
  4. Menyimpan alamat lokasi memori yang terpengaruh kesalahan 1-bit atau 2-bit terakhir
  5. Menyimpan data kesalahan 1-bit atau 2-bit dalam register SECDED
  6. memberikan sinyal bus kesalahan ke fabric FPGA

Untuk informasi lebih lanjut tentang EDAC, lihat UG0443: Panduan Pengguna Keamanan dan Keandalan FPGA SmartFusion2 dan IGLOO2 dan UG0446: Panduan Pengguna Antarmuka DDR Kecepatan Tinggi SmartFusion2 dan IGLOO2 FPGA.

Persyaratan Desain
Tabel berikut mencantumkan persyaratan desain.

Tabel 1 • Persyaratan Desain

  • Deskripsi Persyaratan Desain
  • Persyaratan Perangkat Keras
  • Papan Kit Pengembangan Lanjutan SmartFusion2 Rev B atau lebih baru
  • Pemrogram FlashPro5 atau yang lebih baru
  • Kabel USB A ke mini-B USB
  • Adaptor daya 12 V
  • Papan putri DDR3
  • Sistem Operasi Windows XP SP64 32-bit atau 2-bit apa pun
  • Windows 64 32-bit atau 7-bit apa pun
  • Persyaratan Perangkat Lunak
  • Libero® Sistem-on-Chip (SoC) v11.8
  • Konsol Lunak v4.0
  • Perangkat lunak pemrograman FlashPro v11.8
  • Host Driver PC Driver USB ke UART
  • Framework untuk menjalankan demonstrasi klien Microsoft .NET Framework 4

Desain Demo
Desain demo files tersedia untuk diunduh dari jalur berikut di Microsemi weblokasi: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Desain demo filetermasuk:

  • Konfigurasi DDR File
  • DDR_EDAC
  • Pemrograman files
  • GUI dapat dieksekusi
  • Baca saya file

Ilustrasi berikut menjelaskan struktur tingkat atas desain fileS. Untuk rincian lebih lanjut, lihat readme.txt file.

Gambar 2 • Desain Demo Struktur Tingkat Atas

Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-2

Implementasi Desain Demo
Subsistem MDDR memiliki pengontrol EDAC khusus. EDAC mendeteksi kesalahan 1-bit atau kesalahan 2-bit ketika data dibaca dari memori. Jika EDAC mendeteksi kesalahan 1-bit, pengontrol EDAC mengoreksi bit kesalahan tersebut. Jika EDAC diaktifkan untuk semua kesalahan 1-bit dan 2-bit, penghitung kesalahan yang sesuai dalam register sistem akan bertambah dan interupsi serta sinyal bus kesalahan yang sesuai ke struktur FPGA akan dihasilkan.
Ini terjadi secara real-time. Untuk mendemonstrasikan fitur SECDED ini, kesalahan diperkenalkan secara manual dan deteksi serta koreksi diamati.
Desain demo ini melibatkan implementasi langkah-langkah berikut:

  1. Aktifkan EDAC
  2. Tulis data ke DDR
  3. Membaca data dari DDR
  4. Nonaktifkan EDAC
  5. Rusak 1 atau 2 bit
  6. Tulis data ke DDR
  7. Aktifkan EDAC
  8. Baca datanya
  9. Dalam kasus kesalahan 1-bit, pengontrol EDAC memperbaiki kesalahan tersebut, memperbarui register status terkait, dan memberikan data yang ditulis pada Langkah 2 pada operasi baca yang dilakukan pada Langkah 8.
  10. Jika terjadi kesalahan 2-bit, interupsi yang sesuai akan dihasilkan dan aplikasi harus memperbaiki data atau mengambil tindakan yang sesuai dalam penangan interupsi. Kedua metode ini ditunjukkan dalam demo ini.

Dua pengujian diterapkan dalam demo ini: pengujian loop dan pengujian manual dan keduanya dapat diterapkan pada kesalahan 1-bit dan 2-bit.

Tes lingkaran
Tes loop dijalankan ketika perangkat SmartFusion2 menerima perintah tes loop dari GUI. Awalnya, semua penghitung kesalahan dan register terkait EDAC ditempatkan dalam keadaan RESET.
Langkah-langkah berikut dijalankan untuk setiap iterasi.

  1. Aktifkan pengontrol EDAC
  2. Tulis data ke lokasi memori DDR tertentu
  3. Nonaktifkan pengontrol EDAC
  4. Tulis data yang disebabkan oleh kesalahan 1-bit atau 2-bit ke lokasi memori DDR yang sama
  5. Aktifkan pengontrol EDAC
  6. Membaca data dari lokasi memori DDR yang sama
  7. Kirim data deteksi kesalahan 1-bit atau 2-bit dan koreksi kesalahan 1-bit jika terjadi kesalahan 1-bit ke GUI

Tes Manual
Metode ini memungkinkan pengujian manual deteksi dan koreksi kesalahan 1-bit dan deteksi kesalahan 2-bit untuk alamat memori DDR (0xA0000000 hingga 0xDFFFFFFF) dengan inisialisasi. Kesalahan 1-bit/2-bit terjadi secara manual ke alamat memori DDR yang dipilih. Data yang diberikan ditulis ke lokasi memori DDR yang dipilih dengan EDAC diaktifkan. Data kesalahan 1-bit atau 2-bit yang rusak kemudian ditulis ke lokasi memori yang sama dengan EDAC dinonaktifkan. Informasi tentang kesalahan 1-bit atau 2-bit yang terdeteksi dicatat ketika data dibaca dari lokasi memori yang sama dengan EDAC diaktifkan. Pengontrol DMA berkinerja tinggi
(HPDMA) digunakan untuk membaca data dari memori DDR. Penangan interupsi deteksi kesalahan bit ganda diimplementasikan untuk mengambil tindakan yang tepat ketika kesalahan 2 bit terdeteksi.
Ilustrasi berikut menjelaskan operasi demo EDAC.

Gambar 3 • Alur Desain

Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-3

Catatan: Untuk kesalahan 2-bit, ketika prosesor Cortex-M3 membaca data, eksekusi kode masuk ke pengendali kesalahan keras, karena interupsi yang diterima terlambat ditanggapi oleh prosesor. Pada saat ia merespons interupsi, ia mungkin telah meneruskan data dan secara tidak sengaja meluncurkan sebuah perintah. Akibatnya, HRESP berhenti memproses data yang salah. Deteksi kesalahan 2-bit menggunakan HPDMA untuk membaca data dari lokasi alamat DDR, yang menginstruksikan prosesor yang membaca data memiliki kesalahan 2-bit dan sistem harus mengambil tindakan yang tepat untuk memulihkannya (ECC interupsi Handler).

Menyiapkan Desain Demo
Bagian ini menjelaskan pengaturan board SmartFusion2 Advanced Development Kit, opsi GUI, dan cara menjalankan desain demo.
Langkah-langkah berikut menjelaskan cara menyiapkan demo:

  1. Sambungkan salah satu ujung kabel USB mini-B ke konektor J33 yang tersedia di board SmartFusion2 Advanced Development Kit. Hubungkan ujung kabel USB yang lain ke PC host. Dioda pemancar cahaya (LED) DS27 harus menyala, menandakan tautan UART telah dibuat. Pastikan driver jembatan USB ke UART terdeteksi secara otomatis (dapat diverifikasi di Device Manager), seperti yang ditunjukkan pada gambar berikut.
    Gambar 4 • Driver USB ke UART Bridge
    Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-4
    Jika driver jembatan USB ke UART tidak diinstal, unduh dan instal driver dari: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Hubungkan jumper pada board SmartFusion2 Advanced Development Kit, seperti yang ditunjukkan pada Tabel 4, halaman 11. Sakelar catu daya SW7 harus dimatikan, saat membuat sambungan jumper.

Gambar 5 • Pengaturan Board Kit Pengembangan Lanjutan SmartFusion2

Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-5

 Antarmuka Pengguna Grafis
Bagian ini menjelaskan GUI Demo DDR – EDAC.

Gambar 6 • DDR – GUI Demo EDAC

Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-6

GUI mendukung fitur-fitur berikut:

  1. Pemilihan port COM dan Baud Rate
  2. Pemilihan tab koreksi kesalahan 1-bit atau deteksi kesalahan 2-bit
  3. Bidang alamat untuk menulis atau membaca data ke atau dari alamat DDR yang ditentukan
  4. Bidang data untuk menulis atau membaca data ke atau dari alamat DDR yang ditentukan
  5. Bagian Konsol Serial untuk mencetak informasi status yang diterima dari aplikasi
  6. Aktifkan EDAC/Nonaktifkan EDAC: Mengaktifkan atau menonaktifkan EDAC
  7. Write: Memungkinkan penulisan data ke alamat yang ditentukan
  8.  Baca: Memungkinkan membaca data dari alamat yang ditentukan
  9. Tes loop ON/OFF: Memungkinkan pengujian mekanisme EDAC dalam metode loop
  10.  Inisialisasi: Memungkinkan untuk menginisialisasi lokasi memori yang telah ditentukan (dalam demo ini A0000000-A000CFFF)

Menjalankan Desain Demo
Langkah-langkah berikut menjelaskan cara menjalankan desain: Langkah-langkah berikut menjelaskan cara menjalankan desain:

  1. Nyalakan sakelar suplai, SW7.
  2. Programkan perangkat SmarFusion2 dengan pemrogramannya file disediakan dalam desain files.(\PemrogramanFile\EDAC_DDR3.stp) menggunakan software desain FlashPro, seperti terlihat pada gambar berikut.
    Gambar 7 • Jendela Pemrograman FlashPro
    Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-7
  3. Tekan tombol SW6 untuk mengatur ulang papan setelah pemrograman berhasil.
  4. Luncurkan GUI Demo EDAC_DDR yang dapat dieksekusi file tersedia dalam desain files (\GUI Dapat Dieksekusi\ EDAC_DDR.exe). Jendela GUI ditampilkan, seperti yang ditunjukkan pada Gambar 8, halaman 9.
  5. Klik Hubungkan, itu memilih port COM dan membuat koneksi. Opsi Hubungkan berubah menjadi Putus.
  6. Pilih tab Koreksi Kesalahan 1-bit atau Deteksi Kesalahan 2-bit.
  7. Tes Manual dan Loop dapat dilakukan.
  8. Klik Inisialisasi untuk menginisialisasi memori DDR untuk melakukan tes Manual dan Loop, pesan penyelesaian inisialisasi ditampilkan di Konsol Serial, seperti yang ditunjukkan pada Gambar 8, halaman 9.

Gambar 8 • Jendela Inisialisasi Selesai

Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-8

Melakukan Tes Loop
Klik Tes Loop AKTIF. Ini berjalan dalam mode loop di mana koreksi terus menerus dan deteksi kesalahan dilakukan. Semua tindakan yang dilakukan di perangkat SmartFusion2 dicatat di bagian Konsol Serial GUI.

Tabel 2 • Alamat Memori DDR3 yang digunakan dalam Tes Loop

  • Memori DDR3
  • Koreksi kesalahan 1-bit 0xA0008000
  • Deteksi kesalahan 2-bit 0xA000C000

Melakukan Tes Manual
Dalam metode ini, kesalahan dilakukan secara manual menggunakan GUI. Gunakan langkah-langkah berikut untuk menjalankan koreksi kesalahan 1-bit atau deteksi kesalahan 2-bit.

Tabel 3 • Alamat Memori DDR3 yang digunakan dalam Pengujian Manual

Bidang Alamat Input dan Data (gunakan nilai Heksadesimal 32-bit).

  • Memori DDR3
  • Koreksi kesalahan 1-bit 0xA0000000-0xA0004000
  • Deteksi kesalahan 2-bit 0xA0004000-0xA0008000
  1. Klik Aktifkan EDAC.
  2. Klik Tulis.
  3. Klik Nonaktifkan EDAC.
  4. Ubah satu bit (dalam kasus koreksi kesalahan 1-bit) atau dua bit (dalam kasus deteksi kesalahan 2-bit) di bidang Data (menimbulkan kesalahan).
  5. Klik Tulis.
  6. Klik Aktifkan EDAC.
  7. Klik Baca.
  8. Amati bidang Tampilan Jumlah Kesalahan dan Data di GUI. Nilai jumlah kesalahan bertambah 1.

Jendela koreksi loop kesalahan 1-bit ditunjukkan pada gambar berikut.

Gambar 9 • Jendela Deteksi Loop Kesalahan 1-bit

Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-9

Jendela manual deteksi kesalahan 2-bit ditunjukkan pada gambar berikut.

Gambar 10 • Jendela Manual Deteksi Kesalahan 2-bit

Microsemi -DG0618-Error-Deteksi-dan-Koreksi-pada-SmartFusion2-Perangkat-menggunakan-DDR Memory-10

Kesimpulan
Demo ini menunjukkan kemampuan SmartFusion2 SECDED untuk subsistem MDDR.

Lampiran: Pengaturan Jumper

Tabel berikut menunjukkan semua jumper yang diperlukan untuk diatur pada SmartFusion2 Advanced Development Kit.

Tabel 4 • Pengaturan Jumper Kit Pengembangan Lanjutan SmartFusion2

Jumper : Pin (Dari) : Pin (Ke) : Komentar

  • J116, J353, J354, J54 1 2 Ini adalah pengaturan jumper default dari Advanced
  • J123 2 3 Papan Kit Pengembangan. Pastikan jumper ini disetel dengan benar.
  • J124, J121, J32 1 2JTAG pemrograman melalui FTDI

Panduan Demo DG0618 Revisi 4.0

Dokumen / Sumber Daya

Deteksi dan Koreksi Kesalahan Microsemi DG0618 pada Perangkat SmartFusion2 menggunakan Memori DDR [Bahasa Indonesia:] Panduan Pengguna
DG0618 Deteksi dan Koreksi Kesalahan pada Perangkat SmartFusion2 menggunakan Memori DDR, DG0618, Deteksi dan Koreksi Kesalahan pada Perangkat SmartFusion2 menggunakan Memori DDR, Perangkat SmartFusion2 menggunakan Memori DDR, Memori DDR

Referensi

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *