Я хотел бы сделать простую схему для хранения или сохранения 1 бита данных. Цепь должна быть в состоянии запомнить состояние светодиода (включен или выключен), даже если питание отключено от цепи. Мне нужно, чтобы он работал как жесткий диск, флэш-память или карта памяти SD мобильных телефонов.
Я сделал схему, как показано на рисунке, на выходе есть светодиод последовательно с резистором 470 Ом. Я использую две кнопки втулки для зарядки или разрядки конденсатора, чтобы выходной светодиод был включен или выключен.
После отключения питания или отключения электричества цепь смогла запомнить состояние светодиода на несколько минут.
Через 2 или 3 минуты конденсатор полностью разрядился и схема потеряла свои данные.
Как я могу остановить разрядку конденсатора? или как я могу снизить скорость разряда, чтобы цепь теряла свои данные через неделю или более?
В этой схеме я использую 555 в качестве инвертора (не гейта), но я могу использовать любые другие микросхемы. Моя цель - просто создать простую постоянную память.
источник
Ответы:
Оригинальная электронная энергонезависимая память основана на ферритовых сердечниках. Хотя относительно легко намагничивать такое ядро в одном или другом направлении, чтобы сохранить единицу или ноль, для надежного считывания требуется несколько довольно сложных схем.
Современные энергонезависимые микросхемы основаны на накоплении заряда, но для того, чтобы это работало, вам необходимо создать конденсатор с практически нулевой утечкой и способ считывания этого заряда. Это может быть сделано только в контексте микроэлектроники, где конденсатор представляет собой крошечный кусок металла («плавающий затвор»), который полностью заключен в стекло (диоксид кремния) и считывается посредством его влияния на соседний транзистор. ,
Другим выбором является ферроэлектрическое ОЗУ (FRAM), в котором используется специальный диэлектрический материал, имеющий два различных стабильных состояния поляризации. Опять же, это работает только в микроэлектронике.
Поэтому вам нужно выбрать какое-то другое физическое явление для хранения вашей информации. Одним очевидным выбором является запирающее реле, которое хранит информацию в физическом положении своего якоря, которое удерживается в одном из двух устойчивых положений постоянным магнитом или пружиной. Положение может быть изменено путем подачи относительно короткого импульса тока, а считывание осуществляется путем присоединения электрических контактов к якорю.
источник
Сделайте цепь, которая щелкает механическим выключателем, например. бесполезная коробка. Схема должна быть включена, чтобы изменить / прочитать состояние, но это будет держать его между ними.
источник
Простым решением будет микроконтроллер, такой как PIC12F635 который доступен в 8-контактном DIP или меньше, и имеет встроенную схему сброса тактовых импульсов и отключения (последний важен для поддержания целостности энергонезависимой ЭСППЗУ). место хранения).
Требуемый код не очень, хороший стартовый проект.
Единственными необходимыми внешними деталями будут байпасный конденсатор и ограничитель тока для светодиода.
Самым простым решением, вероятно, является сигнальное реле с 2 катушками.
источник
Чистая электроника не создаст постоянную ячейку памяти, но заряд в конденсаторе может приблизиться к ней (потребуется регулярное обновление). ЭСППЗУ / флэш-память расширяет это требование до 10 лет, поэтому для практических целей она называется постоянной. Но это не то, что вы делаете с обычными компонентами.
Настоящая постоянная память использует некое физическое бистабильное явление. Намагничивание ферритовых сердечников, упомянутых Дейвом, широко использовалось (когда-либо слышали о «сбросе сердечника»?). Бистабильное (или защелкивающееся) реле, упомянутое helloworld922, проще в использовании.
Когда вы посмотрите на то, как это было сделано на ранних компьютерах, вы должны понять, что существует баланс между сложностью отдельной ячейки и сложностью схемы управления. Ферритовый сердечник очень прост, но схема управления и особенно схема считывания очень сложны. Для бистабильного реле все наоборот: реле довольно сложное на бит, но схема управления очень проста.
Какова ваша цель?
Если вы хотите сделать одну ячейку ради удовольствия, используйте бистабильное реле.
Если вы хотите продемонстрировать, как это делается на практике (DRAM / Flash), не будучи практичным, используйте заряд, хранящийся в конденсаторе, и регулярно обновляйте его.
Если вы хотите сделать что-то практичное, используйте небольшой микроконтроллер со встроенной EEPROM (или можете самостоятельно программировать его FLASH).
источник
Предохранитель Часто меня раздражает замена, так что вы можете перейти на прерыватель.
источник
Практическое решение:
Реле с фиксацией, как упомянуто @DaveTweed, является самым простым.
Если вы хотите твердотельное решение, вы можете использовать микросхему памяти параллельного интерфейса, как эта вещь . Вы можете просто привязать адресные строки к фиксированному адресу и использовать только одну из строк данных. Вам понадобится дополнительная клейкая логика.
Интересное решение:
Если вы ищете проект для демонстрации памяти, то вы можете использовать соленоид с некоторым гистерезисным ядром. Насыщать ядро в одном направлении, чтобы сохранить 1, насыщать его в другом направлении, чтобы сохранить 0. Это заботится о записи.
Затем установите его над датчиком, таким как датчик Холла . Затем вы можете посмотреть на полярность остаточного поля с помощью датчика Холла (просто аналоговый компаратор), чтобы определить состояние.
источник
Из ответа предохранителя / прерывателя, данного Уильямом Прайсом, пришло наиболее очевидное решение:
Переключатель.
Возьми лампу. Подключите его. Включите. Отключите его. Переместить его на Гавайи. Подключите его.
Он снова включается.
Выключи это. Отключите его. Возьми это домой. Подключите его.
Он остается выключенным.
Если вы хотите, чтобы компьютер активировал / деактивировал светодиод, это не так полезно. Однако, если вы используете тумблер кнопки и соленоид с электронным управлением, вы можете выполнить свою работу. Нажмите кнопку, чтобы включить светодиод, он активирует соленоид, светодиод включается. Нажмите еще раз, светодиод выключится. Отключите его, и кнопка все еще механически включена или выключена.
Если вы хотите сохранить явную функциональность «это если определенно включено, то определенно выключено» (вместо переключателя), вы можете заставить верхнюю кнопку активировать один соленоид, который нажимает на верхнюю часть переключателя. Затем нижняя кнопка активирует второй соленоид, который нажимает на нижнюю часть переключателя.
Не сказать, что это лучший способ сделать это удаленно, но это функционально.
источник
Самым простым однокомпонентным решением будет бистабильное реле. И вам понадобится только резистор, чтобы прочитать состояние.
источник
Вы можете использовать микроконтроллер, который имеет встроенную EEPROM. 8-битный PIC16F84A имеет 64 байта EEPROM, что обычно для 10 000 000 и минимум 1 000 000 записей в каждый байт (это известно как стойкость байтов). PIC, выбранный в другом ответе, PIC12F635, имеет 128-байтовую EEPROM и выдерживает байты 100 000 операций записи. PIC24F16KA102 , 16-битный процессор, имеет 512 байт EEPROM , а также выносливость байт 100000 записей.
ОП не указывает, как часто светодиод будет мигать. Для целей этого обсуждения давайте предположим, что это четыре раза в минуту.
Через год он будет мигать
Поскольку EEPROM должна записывать как последние события включения, так и выключения, она будет записана в два раза больше этого числа, или примерно в 4,2 миллиона раз . За пять лет это будет 21 миллион раз.
Ясно, что это превысит спецификации любого EEPROM, который я сейчас встроил в микроконтроллер.
Но для этого есть простое решение. Вместо того, чтобы использовать один и тот же байт снова и снова для отслеживания состояния включения или выключения, можно использовать массив байтов, который заполняет весь чип.
Вам нужно два байта для каждого элемента в массиве. Таким образом, 64-байтовая EEPROM, как и в PIC16F84A, может содержать 32 элемента. Каждый раз, когда вы пишете в EEPROM, вы записываете 0 в байт состояния (это означает, что у этого элемента есть данные) и либо 0 в байт данных (светодиод был последним выключенным), либо 0xFF (светодиод был последним включенным). В следующий раз, когда вы получите доступ к EEPROM, вы индексируете элементы, пока не найдете элемент с байтом состояния 0xFF, а затем используете этот элемент. Если ничего не осталось, то заново инициализируйте EEPROM и начните заново (для PIC нижнего уровня это означает запись 0xFF в каждый из байтов состояния; для PIC24 есть команда для удаления всего EEPROM). Если вам нужно знать последнее состояние светодиода, вы индексируете массив, как и раньше, но теперь возвращаетесь на один элемент назад и считываете байт данных.
Это, по существу, делит число обращений к одному байту в 16 раз для PIC16F84A (16, а не 32, поскольку каждый из байтов состояния записывается дважды). Таким образом, он сможет обработать 16 миллионов записей, что достаточно для почти четырехлетних данных. И PIC12F635 с его большей EEPROM, но меньшей байтовой стойкостью в 100 Кбайт сможет обрабатывать всего 3,2 миллиона операций записи, чего хватит на девять месяцев.
PIC24F16KA102, с 512-байтовым EEPROM и функцией массового стирания, сможет обрабатывать 25,6 миллиона операций записи, чего хватит на пять лет.
Если частота мигания была только четыре раза в час вместо четырех раз в минуту , то это означает, что в общей сложности 70 080 записей в год. Даже PIC12F635, с его выносливостью 100 000 операций записи на байт, прослужит 45 лет!
источник
Это может быть очень наивным предложением ... но как насчет создания маломощной транзисторной защелки, приводимой в действие кнопочной батареей . Затем используйте выход этого сигнала для подачи на операционный усилитель, который приводится в действие источником питания . Таким образом, вы разряжаете батарею кнопки, из-за чего вы загружаете полезную продукцию; Вы не можете использовать это в любом случае, когда питание отключено, верно?
РЕДАКТИРОВАТЬ: Кроме того - в соответствии с комментарием ниже - желательно сделать так, чтобы защелка была изолирована от операционного усилителя, если питание исчезает. Любое реле или эквивалентная схема, питаемая источником питания, должно быть в состоянии выполнить работу там.
Учитывая, что простые наручные часы могут работать от батарейки на кнопке в течение многих лет, питание простой защелки должно дать им срок службы на батарею, который длится десятилетие. Вы можете даже поставить две батареи параллельно, чтобы вы могли их поменять - по одной за раз - без потери информации.
источник
Небольшой CPLD может быть запрограммирован для управления протоколом, необходимым для записи простого набора значений на шину I2C.
NXP производит серию очень маленьких блоков памяти, предназначенных для замены dip-переключателей, например, PCA8550 / PCA9561.
Объедините их, и вы получите очень маленький полупроводниковый переключатель, который запоминает его состояние.
источник