Daftar Isi:

Papan Penjelajah Bus Bajak Laut 3EEPROM: 5 Langkah
Papan Penjelajah Bus Bajak Laut 3EEPROM: 5 Langkah

Video: Papan Penjelajah Bus Bajak Laut 3EEPROM: 5 Langkah

Video: Papan Penjelajah Bus Bajak Laut 3EEPROM: 5 Langkah
Video: Pororo Bahasa Indonesia | Misi Penyelamatan Porong Porong | Film untuk anak anak | Film Pororo 2024, Juli
Anonim
Papan Penjelajah Bus Bajak Laut 3EEPROM
Papan Penjelajah Bus Bajak Laut 3EEPROM

Jika Anda memiliki salah satu Bajak Laut Hack a Day's Bus, apa yang Anda lakukan dengannya? Pelajari tentang EEPROM 1-kawat, I2C, dan SPI dengan papan penjelajah 3EEPROM (kami menyebutnya THR-EE-PROM). EEPROM adalah jenis chip memori yang menyimpan data tanpa catu daya berkelanjutan. Ini berguna untuk penyimpanan data permanen di sirkuit logger kecil, atau menyimpan halaman khusus di server web mini. EEPROM tersedia dalam banyak ukuran dan protokol. 3EEPROM memiliki tiga chip EEPROM yang umum: DS2431 (1-Wire), 24AA- (I2C), dan 25AA- (SPI). Ketiganya sebelumnya didemonstrasikan di Hack a Day, tetapi setiap demo menggunakan versi berbeda dari perangkat keras dan firmware Bus Pirate, sulit bagi pemula untuk mengikuti menggunakan Bus Pirate v2go. Lanjutkan membaca untuk panduan langkah demi langkah yang diperbarui untuk menggunakan DS2431, 24AA-, dan 25AA- EEPROM dengan Bus Pirate v2go. Kami juga memiliki log sesi lengkap sebagai file teks sehingga Anda tidak akan melewatkan satu detail pun. Kami dapat memiliki PCB atau kit papan penjelajah 3EEPROM yang diproduksi di Seeed Studio. PCB sekitar $10, kit sekitar $15, dikirim ke seluruh dunia. Kita perlu mengatur pembelian kelompok 10 PCB atau 20 kit untuk memulai. Jika Anda tertarik dengan Bajak Laut Bus, versi 3 akan datang. Saya tidak dapat memasukkan beberapa elemen pemformatan dan tabel HTML dalam Instructable, Anda dapat melihat posting asli di blog Dangerous Prototypes.

Langkah 1: Ikhtisar Perangkat Keras 3EEPROM

Ikhtisar Perangkat Keras 3EEPROM
Ikhtisar Perangkat Keras 3EEPROM
Ikhtisar Perangkat Keras 3EEPROM
Ikhtisar Perangkat Keras 3EEPROM
Ikhtisar Perangkat Keras 3EEPROM
Ikhtisar Perangkat Keras 3EEPROM

Tujuan dari prototipe ini adalah untuk mempelajari tentang EEPROM dan tiga protokol bus umum. Pertama, kita melihat PCB 3EEPROM, kemudian kita mendemonstrasikan setiap EEPROM menggunakan alat antarmuka serial universal Bus Pirate. Jika Anda tidak memiliki Bus Pirate, Anda masih dapat mengikuti karena urutan dasar operasi antarmuka tetap sama tidak peduli bagaimana Anda mengimplementasikannya. SirkuitSkema ukuran penuh [PNG]. Kami membuat rangkaian dan PCB menggunakan Cadsoft Eagle versi freeware. Anda dapat mengunduh skema dan PCB dari arsip Bus Pirate SVN. PCB 3EEPROM memiliki DS2431 1-Wire EEPROM (IC1), 24AA- I2C EEPROM (IC4), dan 25AA-SPI EEPROM (IC5). DS2431 (IC1) menarik daya secara parasit dari bus 1-Wire, tidak memiliki pin catu daya eksternal dan tidak memerlukan kapasitor decoupling. IC2 dan IC3 adalah tempat kosong untuk perangkat 1-Wire tambahan, seperti sensor suhu DS2431 atau DS1822 lainnya. C1 (0,01uF) adalah opsional dan hanya diperlukan jika IC2 atau IC3 diisi dengan perangkat 1-Wire bertenaga.1-Wire membutuhkan resistor pull-up yang kuat, maksimum 2,2K ohm. Resistor pull-up on-board Bus Pirate adalah 10K, terlalu lemah untuk memberi daya pada DS2431 dengan benar selama penulisan. Papan penjelajah 3EEPROM mencakup resistor pull-up 1,8k ohm, 1/8 watt (R1) pada bus 1-Wire sehingga tidak diperlukan resistor pull-up tambahan.24AA-(IC4) dan 25AA- (IC5) masing-masing mendapatkan kapasitor 0,1uF untuk memisahkannya dari catu daya (C2, C3). Anda mungkin tidak memerlukan kapasitor dalam rangkaian yang begitu sederhana, kami menghilangkannya dari papan prototipe dalam demonstrasi. Bus I2C yang digunakan oleh 24AA- juga memerlukan resistor pull-up, tetapi resistor pull-up 10K ohm yang terpasang di Bus Pirate sudah cukup. Semua komponen akan beroperasi dari 2,8volt hingga 5volt DC. Rangkaian ini ditenagai melalui pin VCC dan GND dari jumper 3. Ada dua pin VCC, satu untuk daya, yang lain untuk pin input tegangan resistor pull-up Bus Pirate (Vpullup). PCBKami membuat sirkuit dan PCB menggunakan versi freeware dari Cadsoft Eagle. Anda dapat mengunduh skema dan PCB dari arsip Bus Pirate SVN. Jika Anda menginginkan PCB atau kit 3EEPROM yang disiapkan secara profesional, kami mungkin dapat mengatur pembelian kelompok jika 10 atau 20 orang tertarik. Daftar suku cadang R1 resistor 1800 ohm (1/8 watt)C2, 3 kapasitor 0,1uF/10volt+JP1-4 0,1" header pin laki-lakiIC1 DS2431 1K 1-kawat EEPROM TO-92IC4** 24AA014-I/P I2C EEPROM DIP8IC5** 25AA010A-I/P SPI EEPROM DIP8ICS4, 5 8 pin soket DIP untuk IC5, 6 ** IC4, IC5 bisa dalam berbagai ukuran, kami menautkan ke chip kecil, kami menggunakan 128byte dan 128Kbytes. Saya tidak dapat menyertakan beberapa format dan tabel HTML di Instructable, Anda dapat melihat posting asli di blog Dangerous Prototypes.

Langkah 2: 25AA- / 25LC- SPI EEPROM

25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM

Demonstrasi Semua demo EEPROM terlihat hampir sama. Kami akan menulis beberapa angka ke chip, dan kemudian membacanya. Setiap perangkat memiliki ketentuan yang berlaku setelah Anda ingin menulis lebih dari beberapa nilai, seperti ukuran halaman dan batasan batas. Baca lebih lanjut tentang ini di lembar data untuk perangkat khusus Anda. Jika Anda tidak dapat membuat demonstrasi berfungsi, unduh log terminal lengkap sehingga Anda tidak melewatkan satu hal pun yang kami lakukan. Pull-up resistor adalah masalah yang paling umum, periksa tegangan pin pull-up menggunakan menu 'v' di terminal Bus Pirate. Chip: 25AA, SPI EEPROM (1Kbyte). Bus:SPI. Pull-up resistor hanya diperlukan untuk antarmuka tegangan campuran. Persyaratan daya: 1,8volt hingga 5,5volt (AA), 2,5volt hingga 5,5volt (LC). Referensi:lembar data, Demonstrasi Hack a Day. Log sesi Bajak Laut Bus Lengkap untuk demonstrasi ini. Saya tidak dapat menyertakan beberapa format dan tabel HTML dalam Instructable, Anda dapat melihat aslinya di blog Dangerous Prototypes. IC5 adalah EEPROM I2C seri 25AA dari Microchip, EEPROM ini tersedia dalam berbagai ukuran. Suku cadang AA beroperasi dari 1,8 volt hingga 5,5 volt, sedangkan suku cadang 25LC memiliki persyaratan minimum 2,5 volt. C3 (0,1uF) memisahkan SPI EEPROM dari catu daya. Pin write protect (WP) dan hold dapat dikontrol oleh mikrokontroler, tetapi kami menonaktifkannya dengan menahan pin ini tinggi. Pin bus SPI, CS, DO, CLK, dan DI, dibawa ke header JP4. Setup Jika Anda menggunakan Bus Pirate, hubungkan ke 3EEPROM atau 25AA- IC seperti yang ditunjukkan pada gambar grafik di bawah ini. SPI biasanya tidak memerlukan resistor pull-up. Interfacing Di terminal Bus Pirate tekan 'm' untuk menu mode dan pilih SPI. Konfigurasikan perpustakaan SPI untuk output pin normal, gunakan default untuk semua pengaturan mode SPI lainnya. Aktifkan catu daya ('W' besar) pada prompt mode SPI. Terakhir, dapatkan laporan voltase untuk memastikan catu daya berfungsi ('v'). Kami akan mendemonstrasikan cara menghubungkan EEPROM secara langsung pada 3,3 volt menggunakan pustaka SPI dalam mode pin normal. Resistor pull-up tidak diperlukan untuk demo ini. Jika Anda ingin menghubungkan EEPROM yang diberdayakan oleh 5 volt, gunakan pustaka SPI dalam mode pin kolektor terbuka (HiZ) dan aktifkan resistor pull-up dengan pin Vpullup (Vpu) yang terhubung ke catu daya EEPROM. Langkah 1, matikan write-protect' SPI>[0b110]CS ENABLED <<<pilih chip yang diaktifkanWRITE: 0x06 <<<disable write protect commandCS DISABLED <<25AA- dilindungi dari penulisan saat dihidupkan. Pilih chip yang lebih rendah (CS) ([), kirim perintah disable write protect (0x06), dan kemudian naikkan CS (]) untuk mengaktifkan penulisan ke EEPROM. Perintah disable write protect adalah 0b00000110 dalam biner, tetapi kita dapat mempersingkatnya menjadi 0b110 dan Bajak Laut Bus masih mengerti. Langkah 2, tulis beberapa nilai SPI>[0b10 0 3 2 1]CS ENABLED <<<pilih chip yang diaktifkanWRITE: 0x02 <<<tulis perintahWRITE: 0x00 <<<tulis alamat awalWRITE: 0x03 <<<3 nilai untuk ditulis (3, 2, 1)MENULIS: 0x02MENULIS: 0x01CS DINONAKTIFKAN <<Sekarang EEPROM dapat ditulis. Pertama, turunkan CS untuk mengaktifkan 25AA- ([). Selanjutnya, kirimkan perintah tulis (0x02) dan lokasi untuk mulai menulis (0). Kirim data untuk disimpan (3 2 1), lalu naikkan CS (]) untuk menyimpan nilai. Catatan: kami menggunakan EEPROM 128byte kecil, chip yang lebih besar akan menggunakan alamat 16bit (2 byte). Perintah ini akan menjadi [0b10 0 '''0''' 3 2 1] untuk EEPROM lebih besar dari 256byte, perhatikan 0 kedua. Periksa lembar data untuk EEPROM Anda untuk memastikan. Langkah 3, baca nilai kembali SPI>[0b11 0 r:3]CS ENABLED <<<pilih chip yang diaktifkanWRITE: 0x03 <<<baca perintahWRITE: 0x00 <<<baca alamat awalBULK READ 0x03 BYTES: <<<baca 3 nilai0x03 0x02 0x01CS DINONAKTIFKAN <<Terakhir, baca kembali data untuk memverifikasi bahwa penulisan berhasil. Pilih 25AA- ([), kirim perintah baca (0x03) dan alamat awal (0), lalu baca tiga nilai (r:3). Angkat CS untuk menyelesaikan transaksi (]). Nilai cocok, penulisan berhasil. Catatan: kami menggunakan EEPROM 128byte kecil, chip yang lebih besar akan menggunakan alamat 16bit (2 byte). Perintah ini akan menjadi [0b11 0 '''0''' r:3] untuk EEPROM lebih besar dari 256byte, perhatikan 0 kedua. Periksa lembar data untuk EEPROM Anda untuk memastikan.

Langkah 3: 24AA- / 24LC I2C EEPROM

24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM
24AA- / 24LC I2C EEPROM

Chip: 24AA, I2C EEPROM (1Kbyte). Bus:I2C, diperlukan resistor pull-up. Persyaratan daya: 1,8volt hingga 5,5volt (24AA), 2,5volt hingga 5,5volt (24LC). Referensi:lembar data, Demonstrasi Hack a Day. Lengkapi log sesi Bajak Laut Bus untuk demonstrasi ini. Saya tidak dapat menyertakan beberapa pemformatan dan tabel HTML dalam Instructable, Anda dapat melihat aslinya di blog Dangerous Prototypes. IC4 adalah EEPROM I2C seri 24AA dari Microchip, EEPROM ini hadir dalam format ton ukuran. Suku cadang AA bekerja dari 1,8 volt hingga 5,5 volt, sedangkan suku cadang 24LC memiliki persyaratan minimum 2,5 volt. Kapasitor 0,1uF (C2) memisahkan IC4 dari catu daya. Pin proteksi tulis (WP) dapat dikontrol dari mikrokontroler, tetapi untuk demonstrasi sederhana ini kami menonaktifkannya dengan koneksi ke ground. Pin bus I2C, SDA dan SCL, dibawa ke header JP2. Alamat sebagian besar EEPROM 24AA adalah 1010AAAS, dengan empat bit terakhir ditentukan oleh pin alamat (A0, A1, A2) dan bit pilih mode baca/tulis (S). Semua bit alamat di-ground dalam contoh ini, jadi alamat tulis EEPROM adalah 10100000 (lembar data halaman 6). Setup Jika Anda menggunakan Bus Pirate, hubungkan ke 3EEPROM atau 24AA- IC seperti yang ditunjukkan pada gambar grafik di bawah ini. I2C adalah bus dua arah yang membutuhkan resistor pull-up pada kedua pin. Anda dapat menggunakan resistor pull-up on-board Bus Pirate dengan menghubungkan pin Vpullup (Vpu) ke catu daya 3.3volt dan mengaktifkannya di terminal. Antarmuka Catatan: Tidak semua EEPROM I2C bekerja dengan cara yang sama. 24AA01 kecil, misalnya, memiliki sistem pengalamatan dan perintah yang sama sekali berbeda. Pastikan untuk memeriksa lembar data untuk chip Anda. Tekan 'm' di terminal Bus Pirate dan pilih I2C dari menu mode. Aktifkan catu daya ('W' besar) dan resistor pull-up ('p', opsi 2) pada prompt I2C. Dapatkan laporan tegangan ('v') untuk memastikan catu daya menyala dan pin Vpullup terhubung ke tegangan. I2C>(0) <<(1) <<<gunakan makro pencarian alamat Mencari ruang alamat 7bit I2C. Perangkat yang ditemukan di:0xA0 0xA1 <<Kita sudah tahu bahwa alamat I2C adalah 10100000, tetapi kita juga dapat menggunakan makro pencarian I2C Bus Pirate (1) untuk mencari 24AA-. Makro pencarian menemukan perangkat pada alamat tulis (0xA0) dan baca (0xA1) yang diharapkan. Langkah 1, tulis beberapa nilai I2C>[0b10100000 0 0 3 2 1]I2C START CONDITION <<<I2C start conditionWRITE: 0xA0 GOT ACK: YES <<<24AA- tulis addressWRITE: 0x00 GOT ACK: YES <<<tulis alamat byte 1MENULIS: 0x00 MENDAPATKAN ACK: YA <<<tulis alamat byte 2MENULIS: 0x03 MENDAPATKAN ACK: YA <<<3 nilai untuk ditulis (3, 2, 1)MENULIS: 0x02 MENDAPATKAN ACK: YASWRITE: 0x01 MENDAPATKAN ACK: YESI2C STOP CONDITION < <Mulailah menulis dengan kondisi awal I2C ([), diikuti dengan alamat tulis 24AA- (0xa0). Selanjutnya, kirim alamat 16bit untuk ditulis pada (0 0) dan data untuk ditulis (3 2 1). Akhiri transaksi I2C dengan kondisi stop (]). Langkah 2, posisikan penunjuk baca I2C>[0b10100000 0 0]I2C START CONDITION <<<I2C start conditionWRITE: 0xA0 GOT ACK: YES <<<24AA- tulis addressWRITE: 0x00 GOT ACK: YES <<<tulis alamat byte 1WRITE: 0x00 MENDAPATKAN: YA <<<tulis alamat byte 2I2C KONDISI BERHENTI <<Dibutuhkan dua operasi untuk membaca dari 24AA-. Satu memposisikan penunjuk baca/tulis, yang lain mengembalikan nilai. Mulailah dengan kondisi awal I2C ([) dan alamat tulis (0xa0). Kirim alamat 16bit untuk dibaca (0 0), lalu kondisi stop (]). Kami tidak mengirim data apa pun untuk ditulis kali ini, kami hanya memposisikan pointer baca/tulis kembali ke awal data yang kami tulis di langkah 1. Langkah 3, baca beberapa nilai I2C>[0b10100001 r:3]I2C START CONDITION <<<I2C start conditionWRITE: 0xA1 GOT ACK: YES <<<24AA- baca alamatBULK READ 0x03 BYTES: <<<baca 3 nilai0x03 0x02 0x01I2C STOP CONDITION <<Langkah 2 atur penunjuk baca/tulis ke awal data yang ingin kita baca. Sekarang kita dapat membaca data menggunakan alamat baca 24AA-. Mulailah dengan kondisi awal I2C ([) dan alamat baca 24AA- (0xa1). Baca tiga nilai yang kita tulis pada langkah 1 (r:3), dan akhiri dengan kondisi berhenti (]). Jika nilainya cocok, maka penulisan Anda berhasil.

Langkah 4: DS2431 1-Wire EEPROM

DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM
DS2431 1-Wire EEPROM

Chip: DS2431, EEPROM 1-kawat (1Kbyte). Bus:1-Wire, resistor pull-up <2.2Kohm diperlukan. Persyaratan daya: 2.8volts hingga 5.25volts. Referensi:lembar data, Demonstrasi Hack a Day. Log sesi Bajak Laut Bus Lengkap untuk demonstrasi ini. Saya tidak dapat menyertakan beberapa format dan tabel HTML dalam Instructable, Anda dapat melihat aslinya di blog Dangerous Prototypes. DS2431 mengambil daya dari resistor pull-up dan tidak memerlukan catu daya eksternal atau kapasitor decoupling. 1-Wire membutuhkan resistor pull-up yang kuat, maksimum 2.2Kohms. Resistor pull-up on-board Bus Pirate adalah 10K, terlalu lemah untuk memberi daya pada DS2431 dengan benar selama penulisan. Anda harus menggunakan resistor eksternal 2.2Kohm atau lebih kecil antara daya dan pin bus 1-Wire. Jika Anda kesulitan menulis data, pastikan resistor pull-up Anda cukup besar. Papan penjelajah 3EEPROM menyertakan resistor pull-up 1800 ohm (R1) pada bus 1-Wire sehingga tidak diperlukan resistor eksternal. Setup Jika Anda menggunakan Bus Pirate, hubungkan ke papan 3EEPROM atau DS2431 seperti yang ditunjukkan pada gambar grafik di bawah ini. DS2431 tidak memerlukan pin catu daya, pin ini digunakan pada papan 3EEPROM untuk memberi daya pada resistor pull-up besar untuk bus 1-Wire. Interfacing Tekan 'm' di terminal Bus Pirate dan pilih mode 1-Wire. Aktifkan catu daya terpasang ('W' besar) dan periksa monitor tegangan (v). Langkah 1, temukan alamat perangkat 1-WIRE>(0xf0) <<<1-Wire search macro 1WIRE ROM COMMAND: SEARCH (0xF0)Ditemukan perangkat di:Macro 1WIRE address1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<<DS2431 ID unik*DS2431 1K EEPROM <<Setiap perangkat 1-Wire memiliki ID 8 byte yang unik. 1-Wire memiliki prosedur pencarian yang mendeteksi ID semua perangkat yang terpasang. Bajak Laut Bus mengimplementasikan pencarian 1-Wire sebagai makro (240). Ketik '(240)' di terminal Bus Pirate untuk memulai pencarian 1-Wire. Setiap alamat perangkat dicetak, perangkat yang dikenal diidentifikasi. Sepuluh alamat perangkat 1-Wire pertama disimpan sebagai makro, dalam contoh ini alamat DS2431 kami tersedia dengan mengetik '(1)' di terminal. Langkah 2, tulis 8 byte ke scratch pad 1-WIRE>(0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<<also { command 1WIRE WRITE ROM COMMAND: MATCH (0x55) * ikuti dengan 64bit address1WIRE ADDRESS MAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B ' WRITE: 0x0F <<<DS2431 tulis perintah scratch pad WRITE: 0x00 <<<DS2431 tulis alamat byte 1 TULIS: 0x00 <<<DS2431 tulis alamat byte 2WRITE: 0x08 <<Selanjutnya kita akan menulis 8 byte ke lokasi sementara di DS2431 yang disebut scratch pad. Mulai transaksi dengan reset bus 1-Wire dan perintah MATCH (0x55). Keduanya tersedia sebagai makro '(0x55)'. Ini juga dapat dilakukan tanpa makro dengan mengetik '{ 0x55', { mengirim reset 1-Kabel, 0x55 adalah perintah 1-Wire MATCH. Setelah perintah MATCH, kirim 8 byte ID perangkat ke alamat. Kami menggunakan makro (1) yang diisi dengan ID DS2431 pada langkah 1. Anda juga dapat memasukkan ID 8 byte secara manual. Pada titik ini DS2431 seharusnya sudah menerima alamatnya dan siap untuk perintah.0x0f adalah perintah tulis awal, ia memberitahu DS2431 untuk mengharapkan data. Dua byte berikutnya memberi tahu di mana harus meletakkan data, kami akan menyimpannya di awal (0 0). Akhirnya, kami mengirim 8 byte nilai untuk disimpan, angka 8 hingga 1. Anda harus menulis 8 byte penuh ke DS2431. Selain itu, alamat tulis harus berada pada batas 8 byte. Lihat lembar data untuk gambaran lengkap tentang batasan penulisan. Langkah 3, verifikasi pad awal dan dapatkan kode otorisasi 1-WIRE>(0x55)(1) 0xaa r:3 r:8 r:2 r:21WIRE BUS RESET OK <<<alamatkan perangkat1WIRE WRITE ROM COMMAND: MATCH (0x55) *ikuti dengan alamat 64bit1WIRE ADDRESS MAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<<baca perintah scratch padBULK READ 0x03 BYTES: <<<kode otorisasi0x00 0x00 0x07BULK READ 0x08 BYTES: <<< 0x07 0x06 0x05 0x04 0x03 0x02 0x01BULK READ 0x02 BYTES: <<<CRC untuk data0xC8 0x86BULK READ 0x02 BYTES: <<Verifikasi bahwa data telah diterima dengan benar, dan dapatkan kode otorisasi tulis. Mulailah lagi dengan makro perintah 1-Wire reset dan MATCH (0x55), dan makro alamat perangkat (1). Kali ini kirim perintah DS2431 read scratch pad (0xAA), dan kemudian baca total 15 byte. 3 byte pertama yang dibaca (r:3) adalah kode otorisasi tulis, kita akan membutuhkannya di langkah berikutnya untuk menyalin awal ke EEPROM. 8 byte berikutnya (r:8) harus sesuai dengan data yang kami kirim pada langkah 2. 2 byte terakhir (r:2) adalah CRC16 untuk data tersebut. Dibaca setelah CRC mengembalikan semua 1s. Langkah 4, tulis papan awal ke EEPROM 1-WIRE>(0x55)(1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<<alamatkan perangkat1WIRE WRITE ROM COMMAND: MATCH (0x55) *ikuti dengan alamat 64bit1WIRE ADDRESS MAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<<copy perintah scratch padWRITE: 0x00 <<<3 byte kode otorisasi dari langkah 3WRITE: 0x00WRITE: 0x071-WIRE>Kami memiliki semua yang kami butuhkan untuk menyimpan data scratch pad secara permanen di EEPROM. Alamat perangkat, lalu kirim perintah DS2431 copy scratch pad (0x55) diikuti dengan kode otorisasi tiga byte yang kami ambil di langkah 3 (0x00 0x00 0x07). Jika kode otorisasi benar, data dipindahkan ke EEPROM. Langkah 5, verifikasi tulisan awal 1-WIRE>(0x55)(1) 0xaa r:31WIRE BUS RESET OK <<<mengalamatkan device1WIRE WRITE ROM COMMAND: MATCH (0x55) *ikuti dengan 64bit address1WIRE ADDRESS MAKRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BMENULIS: 0xAA <<<membaca perintah papan goresBULK READ 0x03 BYTES:0x00 0x00 0x87 <<DS2431 menetapkan bit paling atas dari kode otorisasi tulis setelah perintah copy scratch pad yang berhasil. Kirim perintah read scratch pad lainnya (0xAA) untuk mendapatkan kode otorisasi yang diperbarui, tetapi cukup baca tiga byte pertama (r:3). Nilai 0x07 sebelumnya telah berubah menjadi 0x87, perintah salin berhasil diterima. Langkah 6, baca kembali nilai 1-WIRE>(0x55)(1) 0xf0 0x00 0x00 r:8 r:81WIRE BUS RESET OK <<<alamatkan perangkat1WIRE WRITE ROM COMMAND: MATCH (0x55) *ikuti dengan alamat 64bit1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<<DS2431 read commandWRITE: 0x00 <<<2 byte read addressWRITE: 0x00BULK READ 0x08 BYTES: <<<membaca 8 byte yang kami tulis0x08 0x07 0x04 0x03 0x02 0x03BULK 0x08 BYTE: <<Verifikasi penulisan bekerja dengan benar dengan mengambil nilai. Alamatkan DS2431, lalu kirim perintah baca (0xf0) dan alamat yang akan dibaca (0x00 0x00). Anda dapat membaca seluruh rentang memori dengan satu perintah. Kami membaca delapan byte yang kami tulis sebelumnya (r:8), yang mengembalikan nilai yang diharapkan. Delapan byte di luar nilai-nilai ini belum ditulis dan mengembalikan 0.

Langkah 5: Kesimpulan

Kesimpulan
Kesimpulan

Kesimpulan Prototipe ini mengajarkan tentang memori EEPROM, dan mendemonstrasikan cara menggunakan Bus Pirate dengan tiga protokol umum: 1-Wire, I2C, dan SPI. Papan penjelajah 3EEPROM memastikan koneksi yang tepat ke setiap EEPROM, dan menyediakan resistor pull-up eksternal untuk bus 1-Wire yang lebih menuntut dengan komponen bertenaga parasit. Kami dapat memiliki PCB atau kit papan penjelajah 3EEPROM yang diproduksi di Seeed Studio. PCB sekitar $10, kit sekitar $15, dikirim ke seluruh dunia. Kita perlu mengatur pembelian kelompok 10 PCB atau 20 kit untuk memulai.

Direkomendasikan: