MAXIM DS2431 1K EEPROM เป็น 1-Wire Gadget ที่เพิ่มที่เก็บข้อมูลไปยังงานที่ใช้ PIN ไมโครคอนโทรลเลอร์เดียว ก่อนหน้านี้เรามักจะเชื่อมต่อเทอร์โมมิเตอร์ 1 สายอย่างไรก็ตาม EEPROM นี้ค่อนข้างแตกต่างกันเนื่องจากมันดึงพลังงานโดยตรงจากรถบัส 1 สาย รับแผ่นข้อมูล (PDF) รวมถึงการปฏิบัติตามในขณะที่เราเช็คเอาท์เช่นเดียวกับการเขียนหน่วยความจำ 1 สายง่ายนี้

DS2431 1-Wire 1K EEPROM (Digikey # DS2431 + -nd, $ 1.67)

เราใช้อินเตอร์เฟส Serial Serial ของรถบัสของเราเพื่อแสดงให้เห็นถึง DS2431 EEPROM เราครอบคลุมการเชื่อมต่อที่เหมาะสมรวมถึงตัวเลือกการกำหนดค่าในโพสต์ 1 สายก่อนหน้าของเรา DS2431 ต้องการการเชื่อมต่อเพียงสองตัว: Ground (PIN 1) เช่นเดียวกับ 1-wire / Power (PIN 2) PIN 3 ยังไม่ได้เชื่อมต่อ เช่นเดียวกับครั้งที่แล้วเราใช้ตัวต้านทานแบบดึงขึ้น 2K กับรถบัส 1 สาย

ก่อนอื่นเราใช้คำสั่ง Brows ROM ของ BUS ROM เพื่อกำหนดอุปกรณ์ 1 สายที่เชื่อมโยง

1-wire> (240) <-Search ROM คำสั่ง macro 1wire rom สั่ง: เรียกดู (0xf0) พบแกดเจ็ตที่: ที่อยู่ Macro 1-Wire 1.0x2d 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b <-Address * DS2431 1K EEPROM <- ประเภท 2.0x2d 0xfe 0x8d 0x43 0x01 0x00 0x00 0x52 * DS2431 1K EEPROM 3.0x2d 0x2b 0xed 0xef 0x00 0x00 0x00 0x7c * DS2431 1K EEPROM พบอุปกรณ์ 0x03 ids 10 Gadget แรกที่นำเสนอโดยมาโครดู (0) 1-wire>

คำสั่งเรียกดู ROM แสดงให้เห็นว่ามี 3 EEPROMS ที่เชื่อมโยงกับรถบัส 1 สาย รถบัสโจรสลัดเก็บที่อยู่ 64bit 1-wire ในมาโครดังนั้นเราจึงไม่ต้องพิมพ์ทุกครั้ง เราจะทำงานกับอุปกรณ์แรกที่กำหนดโดยมาโคร (1)

การเขียนถึง DS2431 ใช้เวลาสามขั้นตอน:

เขียนข้อมูลไปยังบัฟเฟอร์ EEPROM ‘Scratch Pad’ ของ DS2431

ตรวจสอบเนื้อหาของ Scratch Pad เช่นเดียวกับการเขียนการเข้าถึงการเข้าถึงคีย์

คัดลอกข้อมูลจากแผ่นรอยขีดข่วนไปยัง EEPROM สำหรับที่เก็บข้อมูลระยะยาว

คำสั่ง 0x0f ประกอบด้วยแผ่นรอยขีดข่วน The Scratch Pad เป็นบัฟเฟอร์ 8Byte ที่เก็บข้อมูลก่อนที่จะบันทึกอย่างถาวรใน EEPROM

1-wire> (85) (1) 0x0f 0x00 0x00 0 1 2 3 4 5 6 7 <-Command 1 เกียร์รีเซ็ตบัสตกลง 1wire compose command: จับคู่ (0x55) * ติดตามกับที่อยู่ 64 บิต 1wire ที่อยู่ macro 1: 0x2d 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b 1wire write: 0x0f <-Write to Scratch Pad 1wire เขียน: 0x00 <-Begin ที่อยู่ไบต์ 1 1wire เขียน: 0x00 <-Begin ที่อยู่ไบต์ 2 1wire เขียน: 0x00 <-Data 1wire เขียน: 0x01 1wire เขียน: 0x02 1wire เขียน: 0x03 1wire เขียน: 0x04 1wire เขียน: 0x05 1wire เขียน: 0x06 1wire เขียน: 0x07 1-wire>

แมโครการจับคู่ ROM, (85), แยกอุปกรณ์เครื่องแรกมาก (1) 0x0F เป็นคำสั่งให้เขียนไปยังแผ่นรอยขีดข่วนปฏิบัติตามโดยที่อยู่เริ่มต้น 00 ในที่สุดเราส่งข้อมูลแปดไบต์เพื่อบันทึกในแผ่นรอยขีดข่วน แผ่นรอยขีดข่วนมีความยาวแปดไบต์เช่นเดียวกับทั้งแปดไบต์จะถูกคัดลอกจากแผ่นรอยขีดข่วนไปยัง EEPROM ในครั้งเดียว

1-wire> (85) (1) 0XAA R: 3 R: 8 R: 2 R: 2 <-Command 1 เกียร์รีเซ็ตบัสตกลง 1wire compose command: จับคู่ (0x55) * ติดตามกับที่อยู่ 64 บิต 1wire ที่อยู่ macro 1: 0x2d 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b 1wire เขียน: 0xaa <-Read Scratch Pad 1 เคียวอ่านจำนวนมาก 0x03 ไบต์: <- รหัสที่เข้าถึงได้ 0x00 0x00 0x07 1 เคียวอ่านจำนวนมาก 0x08 ไบต์: <- ยืนยันข้อมูลของเรา 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 1 เคียวอ่านจำนวนมาก 0x02 ไบต์: <- CRC ผกผัน 0x44 0x67 1wire อ่านเป็นกลุ่ม 0x02 ไบต์: <- ทั้งหมด 1 ใบจากที่นี่ 0xff 0xff 1-wire>

ในการคัดลอกข้อมูลจากแผ่นรอยขีดข่วนไปยัง EEPROM เราควรดึงข้อมูลสามไบต์สามไบต์เข้าถึงรหัสจากแผ่นรอยขีดข่วนด้วยคำสั่ง 0xAA ไบต์สามไบต์แรกคือการเข้าถึงรหัส (0x00 0x00 0x07) ซึ่งเป็นไปตามข้อมูลที่มีอยู่ในแผ่นรอยขีดข่วน

1-wire> (85) (1) 0x55 0x00 0x00 0x07
1 เกียร์รีเซ็ตบัสตกลง
1wire compose command: จับคู่ (0x55) * ติดตามกับที่อยู่ 64 บิต
1wire ที่อยู่ macro 1: 0x2d 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b
1wire เขียน: 0x55 <-Copy ถึงคำสั่ง eeprom 1Wire Write: 0x00 <-CASS รหัส (3 ไบต์) 1wire เขียน: 0x00 1wire เขียน: 0x07 1-wire> !!!! <- อ่านบิต 1wire เช็คเอาท์บิต: 0 1 วอร์ตเช็คเอาท์บิต: 1 <-bits สลับกันทำเสร็จแล้ว 1wire เช็คเอาท์บิต: 0 1 เช็คเอาท์บิต: 1 1-wire>

คำสั่ง 0x55 ด้วยการเข้าถึงการเข้าถึงที่เหมาะสมกับรหัสจะคัดลอกแผ่นรอยขีดข่วนไปยังข้อมูล EEPROM อ่านบิต (!!!!) สลับระหว่าง 0 เช่นเดียวกับ 1 เมื่อการคัดลอกเสร็จสมบูรณ์

1-wire> (85) (1) 0xf0 0x00 0x00 R: 8 R: 8
1 เกียร์รีเซ็ตบัสตกลง
1wire compose command: จับคู่ (0x55) * ติดตามกับที่อยู่ 64 บิต
1wire ที่อยู่ macro 1: 0x2d 0x54 0xd2 0xef 0x00 0x00 0x00 0x2b
1wire เขียน: 0xf0 <-Read Memory 1wire เขียน: 0x00 <-Start ที่อยู่ (2 ไบต์) 1wire เขียน: 0x00 1wire อ่านเป็นกลุ่ม 0x08 ไบต์: <- อ่านข้อมูลกลับ 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 1 เคียวอ่านจำนวนมาก 0x08 ไบต์: <- อ่านเกินข้อมูลของเรา 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1-wire>

คำสั่ง 0xf0 เป็นไปตามที่อยู่หน่วยความจำไบต์สองตัว (0x00 0x00) เริ่มต้นกระบวนการตรวจสอบข้อมูล แปดไบต์แรก (R: 8) เป็นค่าที่เราแต่งก่อนหน้านี้ การอ่านไม่รวมแผ่นรอยขีดข่วนรวมถึงไม่มีข้อ จำกัด 8Byte ดังนั้นการอ่านเพิ่มเติมต่อไปยังจุดสิ้นสุดของหน่วยความจำ

อย่าฟ้าหากต้องการอย่าลืมติดตามข้อความชิ้นส่วนทุกประเภทที่คุณอาจพลาดไป

Leave A Comment

Recommended Posts

Google เปิดตัวเคสใหม่ Pixel 7 และ 7 Pro ในหลายสี

Google ประกาศอุปกรณ์ Pixel 7 และ Pixel 7 Pro ใหม่ก่อนหน้านี้ในวันนี้และไปกับพวกเขาก็ยืนยันว่า บริษัท มีกรณีใหม่ที่จะเสนอเช่นกัน . มีหลายกรณีใหม่ที่มีสีการจับคู่ให้เลือกรวมถึงเคส Pixel 7 ที่มีการออกแบบสองโทน นั่นหมายความว่าคุณจะได้รับสีพื้นฐานสำหรับเคส แต่มีระดับเสียงและปุ่มอื่น ๆ ที่แตกต่างกัน สีจะตรงกับแถบกล้องที่ด้านหลังของ Pixel 7 Pro เช่นกัน มีการเปลี่ยนแปลงที่น่าสังเกตอีกอย่างหนึ่งจากการออกแบบเคส Pixel 6 ก่อนหน้านี้เช่นกันพร้อมกับใหม่ที่มีขอบตัดมุมไปยังบริเวณกล้องรอบด้านหลัง นั่นจะทำให้โทรศัพท์ถือได้ง่ายขึ้นและมีความคมชัดน้อยลง กรณีใหม่ทั้งหมดมีให้เลือกหลายสีด้วย Pixel 7 Pro ที่มีอยู่ใน Chalk, Obsidian และ Hazel ผู้ที่ซื้อเคสสำหรับ Pixel 7 […]

qcdtx

2022 Apple TV มีข่าวลือว่ามีการเปิดตัวก่อนสิ้นปีนี่คือสิ่งที่มันอาจใช้งานได้

ปัจจุบัน Apple TV 4K ปัจจุบันได้รับรอบเป็นเวลาหนึ่งปีหรือมากกว่านั้นอย่างไรก็ตามอาจมีเวอร์ชันที่ได้รับการรีเฟรชก่อนสิ้นปีนี้ เราได้ยินมาไม่กี่เดือนที่ผ่านมาว่า Apple กำลังทำงานกับ Apple TV ใหม่และมีบางสิ่งที่เราคาดหวังได้มากที่สุด ในขณะที่เรายังไม่ได้รับข้อมูลคอนกรีตทุกประเภทเกี่ยวกับสิ่งที่ Apple TV Freshen ที่มีข่าวลือจะเกิดขึ้นตอนนี้เราค่อนข้างบวกว่ามันกำลังจะเกิดขึ้นหลังจาก Mark Gurman ของ Bloomberg เพิ่งแนะนำว่ามันอาจปรากฏขึ้นก่อนสิ้นปี 2565 เช่นเดียวกับนักวิเคราะห์ Ming-Chi Kuo ทำเสียงที่คล้ายกันเมื่อต้นปีนี้ ตอนนี้ MacRumors ทำให้เรานึกถึงคุณสมบัติบางอย่างที่เราอาจได้รับ ชิปใหม่คือเดิมพันตาราง ณ จุดนี้โดยมี A14 ไบโอนิคใหม่น่าจะเป็นการอัพเกรดจาก A12 Bionic ที่เก่ากว่า นอกเหนือจากนั้น RAM ที่มากขึ้นจะต้องสร้างประสิทธิภาพที่ดีขึ้นเช่นเดียวกับประสบการณ์การเล่นเกมที่ดีกว่ามาก ในแง่ของภายนอก Apple […]

qcdtx