From dd846ce08539a696388efd79912de20aad87593b Mon Sep 17 00:00:00 2001 From: Tom Nisbet Date: Fri, 14 Aug 2020 00:29:18 -0400 Subject: [PATCH] optimize Ben Eater unlock setAddress timing --- docs/images/ben-eater-unlock-timing.png | Bin 0 -> 71906 bytes unlock-ben-eater-hardware/README.md | 5 ++ .../unlock-ben-eater-hardware.ino | 47 +++++++++++++++--- 3 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 docs/images/ben-eater-unlock-timing.png diff --git a/docs/images/ben-eater-unlock-timing.png b/docs/images/ben-eater-unlock-timing.png new file mode 100644 index 0000000000000000000000000000000000000000..3805c343b11597d211f1f13e610a06a8f9ae0d00 GIT binary patch literal 71906 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 8) | (outputEnable ? 0x00 : 0x80)); - shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, address); +void setAddress(int addr, bool outputEnable) { + // Set the highest bit as the output enable bit (active low) + if (outputEnable) { + addr &= ~0x8000; + } else { + addr |= 0x8000; + } + byte dataMask = 0x04; + byte clkMask = 0x08; + byte latchMask = 0x10; + + // Make sure the clock is low to start. + PORTD &= ~clkMask; + + // Shift 16 bits in, starting with the MSB. + for (uint16_t ix = 0; (ix < 16); ix++) + { + // Set the data bit + if (addr & 0x8000) + { + PORTD |= dataMask; + } + else + { + PORTD &= ~dataMask; + } + + // Toggle the clock high then low + PORTD |= clkMask; + delayMicroseconds(3); + PORTD &= ~clkMask; + addr <<= 1; + } // Latch the shift register contents into the output register. - digitalWrite(SHIFT_LATCH, LOW); - digitalWrite(SHIFT_LATCH, HIGH); - digitalWrite(SHIFT_LATCH, LOW); + PORTD &= ~latchMask; + delayMicroseconds(1); + PORTD |= latchMask; + delayMicroseconds(1); + PORTD &= ~latchMask; } + + // Read a byte from the EEPROM at the specified address. byte readEEPROM(int address) { setDataBusMode(INPUT);