28.10.2008

Arduino

Присматриваюсь к Arduino с целью изучения вопроса эмуляции СМП на современной аппаратной базе.


Основная идея - минимизировать затраты на изготовление, хочется обойтись одним микроконтроллером. Коллеги на работе предлагают использовать Microchip PIC16F877, используя для хранения память программ 8К х 14 бит. Даже если не париться и писать по 1,5 байта (12 бит) в слово, получается, что содержимое СМП займет 6826 слов, и еще 1К с небольшим остается для программы.

Правда, есть одно маленькое НО:

Writing to program memory will cease the execution of instructions until the write is complete. The program memory cannot be accessed during the write. During the write operation, the oscillator continues to run, the peripherals continue to function and interrupt events will be detected and essentially “queued” until the write is complete. When the write completes, the next instruction in the pipeline is executed and the branch to the interrupt vector will take place, if the interrupt is enabled and occurred during the write.

В Arduino же применен AVR ATMega168, у него при записи в программную память процессор вообще is halted.


Если все-таки получится обойтись внутренней памятью программ контроллера, то можно будет сэкономить на стоимости устройства. Если не получится... сделаю программатор СМП на Arduino, безо всяких LPT-портов и DOS-а.

Комментариев нет:

Отправить комментарий