Хаклаб/Проекти/Arduino базиран EPROM програматор: Разлика помеѓу преработките
(Целосно избришана страница) |
Нема опис на уредувањето |
||
Ред 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 |
Последна преработка од 02: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 бајти ?
Референци
- делумно инспирација од http://www.qsl.net/iz7ath/web/02_brew/17_eprom/english/pag01_eng.htm