Хаклаб/Проекти/Arduino базиран EPROM програматор: Разлика помеѓу преработките

Од Сподели wiki
Прејди на прегледникот Прејди на пребарувањето
(Целосно избришана страница)
Нема опис на уредувањето
 
Ред 1: Ред 1:
Идејата е да се искористи Arduino наместо да се купува посебен E(E)PROM програматор. Комуникацијата со PC ќе биде по постоечкиот USB-to-Serial кој го има на Arduino-то. Во прв момент се фокусираме само на EPROM, како на пр. [http://docs.google.com/viewer?url=http%3A%2F%2Fwww.datasheetarchive.com%2Fpdf%2FDatasheet-019%2FDSA00336179.pdf 27C64] (8 килобајти), а понатаму би пробале да го адаптираме и за EEPROMи.


== Arduino хардверски ресурси ==
Arduino има на располагање 14 дигитални I/O pin-ови. Распределбата би била вака:
* 8 pin-а за дата D2-D9 (I/O)
* 1 pin OE (output enable - се користи при верификација) - Output
* 1 pin PGM (program mode - 100uS е low со што се активира програмирањето) - Output
* 1 pin Clock/Increment према бројачите - Output
* 1 pin Vpp/Vcc контрола - при програмирање мора да уклучиме напони од Vpp=13.0V и Vcc=6.5V кон EPROM-от - Output (алтренативно за reset на бројачите)
* 2 pin-а D0-D1, сериска комуникација со PC (преку стандардниот USB)
* reset-от на arduino-то е врзано на reset-от на бројачите CD4040
[[Image:Arduino-eprom.png|border|300px|Шема]]
== Додатни компоненти ==
* 2 бројачи [http://docs.google.com/viewer?url=http%3A%2F%2Fwww.fairchildsemi.com%2Fds%2FCD%252FCD4060BC.pdf CD4040] за адресирање на EPROM-от, вкупно со нив ќе може да се адресира 2^24 т.е. 16MBтни EPROM-и (какви не постојат, но сепак)
* посебен power supply уред, кој ќе ги дава специјалните напони по потреба
== PSU ==
Ни треба PSU кое работи во два режима. Нормален READ режим кога дава Vcc=Vpp=5V и режим за програмирање кога дава Vcc=6.5V и Vpp=13.0V за EEPROM-от. Режимот се контролира од Arduino-то (алтернативно со физичка преклопка делува многу многу поедноставно).
Во режимот за програмирање веројатно и Arduino-то би се напојувало на 6.5V
== Софтверска контрола ==
Arduino-то не смее да прави ништо на своја рака, додека не добие инструкции од PC-то седи мирно. Отприлика би работело вака (дополнително ќе се осмисли во детали):
* на бутирање Vpp/Vcc контролата е поставена во нормален режим?
* бројачите се ресетирани на 0
* OE е low (active)?
* Чека команда на серискиот порт од PC-то, првата команда е режимот во кој ќе работи до следниот reset на arduino-то:
** командата може да биде WRITE, се користи за режење на EPROM-от
** командата може да биде READ, би се користело за верификација на среженото
Веројатно е многу попаметно да се искористи Firmata (сега кога знам за тоа)
=== WRT\n (4 бајти) ===
протокол за режење по блокчиња од 512 бајти ?
=== RED\n (4 бајти) ===
протокол за читање на блокчиња од 512 бајти ?
== Референци ==
* делумно инспирација од http://www.qsl.net/iz7ath/web/02_brew/17_eprom/english/pag01_eng.htm

Последна преработка од 03:42, 5 февруари 2011

Идејата е да се искористи Arduino наместо да се купува посебен E(E)PROM програматор. Комуникацијата со PC ќе биде по постоечкиот USB-to-Serial кој го има на Arduino-то. Во прв момент се фокусираме само на EPROM, како на пр. 27C64 (8 килобајти), а понатаму би пробале да го адаптираме и за EEPROMи.

Arduino хардверски ресурси

Arduino има на располагање 14 дигитални I/O pin-ови. Распределбата би била вака:

  • 8 pin-а за дата D2-D9 (I/O)
  • 1 pin OE (output enable - се користи при верификација) - Output
  • 1 pin PGM (program mode - 100uS е low со што се активира програмирањето) - Output
  • 1 pin Clock/Increment према бројачите - Output
  • 1 pin Vpp/Vcc контрола - при програмирање мора да уклучиме напони од Vpp=13.0V и Vcc=6.5V кон EPROM-от - Output (алтренативно за reset на бројачите)
  • 2 pin-а D0-D1, сериска комуникација со PC (преку стандардниот USB)
  • reset-от на arduino-то е врзано на reset-от на бројачите CD4040

Шема

Додатни компоненти

  • 2 бројачи CD4040 за адресирање на EPROM-от, вкупно со нив ќе може да се адресира 2^24 т.е. 16MBтни EPROM-и (какви не постојат, но сепак)
  • посебен power supply уред, кој ќе ги дава специјалните напони по потреба

PSU

Ни треба PSU кое работи во два режима. Нормален READ режим кога дава Vcc=Vpp=5V и режим за програмирање кога дава Vcc=6.5V и Vpp=13.0V за EEPROM-от. Режимот се контролира од Arduino-то (алтернативно со физичка преклопка делува многу многу поедноставно).

Во режимот за програмирање веројатно и Arduino-то би се напојувало на 6.5V

Софтверска контрола

Arduino-то не смее да прави ништо на своја рака, додека не добие инструкции од PC-то седи мирно. Отприлика би работело вака (дополнително ќе се осмисли во детали):

  • на бутирање Vpp/Vcc контролата е поставена во нормален режим?
  • бројачите се ресетирани на 0
  • OE е low (active)?
  • Чека команда на серискиот порт од PC-то, првата команда е режимот во кој ќе работи до следниот reset на arduino-то:
    • командата може да биде WRITE, се користи за режење на EPROM-от
    • командата може да биде READ, би се користело за верификација на среженото

Веројатно е многу попаметно да се искористи Firmata (сега кога знам за тоа)

WRT\n (4 бајти)

протокол за режење по блокчиња од 512 бајти ?


RED\n (4 бајти)

протокол за читање на блокчиња од 512 бајти ?

Референци