Найти в Дзене

Atmel ATtiny2313 вместо К155РЕ3. Оправдана ли такая замена?

Всех приветствую! Давно известно, что микросхемы однократного программирования К155РЕ3 использовались практически только как дешифраторы для семисегментной индикации (с соответствующей прошивкой внутри, разумеется). В последнее время купить такие микросхемы мало того, что сложно, так ещё и очень высок процент брака среди них. Эти микросхемы давно уже не выпускаются и распродаются их остатки. Возникает вопрос: чем заменить?
В одной из моих статей один из комментаторов написал, что зачем применять К155РЕ3, вместо неё можно было бы поставить какой-нибудь ATMEL ATMEGA и его применять в качестве дешифратора для семисегментных индикаторов. Абсолютно согласен! Но у меня возникли кое-какие мысли по этому поводу и я решил заморочиться и провести небольшое теоретическое исследование. Даже не пришлось собирать схему, достаточно было показателей отладчика и данных из даташитов. В качестве испытуемого я взял микроконтроллер Atmel ATtiny2313. В даташите указано, что данный контроллер может работать

Всех приветствую!

Давно известно, что микросхемы однократного программирования К155РЕ3 использовались практически только как дешифраторы для семисегментной индикации (с соответствующей прошивкой внутри, разумеется). В последнее время купить такие микросхемы мало того, что сложно, так ещё и очень высок процент брака среди них. Эти микросхемы давно уже не выпускаются и распродаются их остатки. Возникает вопрос: чем заменить?
В одной из моих статей один из комментаторов написал, что зачем применять К155РЕ3, вместо неё можно было бы поставить какой-нибудь ATMEL ATMEGA и его применять в качестве дешифратора для семисегментных индикаторов. Абсолютно согласен! Но у меня возникли кое-какие мысли по этому поводу и я решил заморочиться и провести небольшое теоретическое исследование. Даже не пришлось собирать схему, достаточно было показателей отладчика и данных из даташитов.

В качестве испытуемого я взял микроконтроллер Atmel ATtiny2313. В даташите указано, что данный контроллер может работать на частоте до 20 МГц.

Далее в даташите на К155РЕ3 указано, что выборка кристалла составляет около 50нс, выборка данных по адресу и выставление данных около 65нс и отключение кристалла также 50нс. Итого 165нс за один цикл обращения.

-2

Теперь возьмём вот такую простую схему, в которой заменим К155РЕ3 на ATtiny2313:

-3

Схема эмулирует работу К155РЕ3. По сигналу выборки /CS происходит выбор кристалла, а затем по входной комбинации A0-A3 происходит выдача кода из массива. Так как у нас микроконтроллер выполняет роль дешифратора 0..F, то нужно всего 4 входных линии.

Известно, что микроконтроллеры AVR выполняют одну ассемблерную команду за один такт. При такте 20 МГц одна команда выполнится за 50нс.

Для написания прошивки для нашего микроконтроллера воспользуемся известной средой CodeVisionAVR. Код нашей управляющей программы на языке СИ будет выглядеть следующим образом:

#include <tiny2313.h>
flash char codes_cc[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void main(void)
{
#pragma optsize-
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
DDRA = 0;
PORTA = 0;
DDRB = 255;
PORTB = 0;

DDRD = 0;
PORTD = 0x3d;
while (1) {
if (!PIND.0)
PORTB = codes_cc[(PIND>>2)&0x0f];
else
PORTB = 0;
}
}

Теперь посмотрим на время выполнения программы.
Запустим программу в отладчике

-4

укажем частоту работы микроконтроллера

-5

и сделаем первый шаг:

-6

И что мы видим? На выполнение команды выборки /CS микроконтроллер затратил 100 нс, что в два раза больше по времени, чем у К155РЕ3. Шагаем дальше:

-7

По указанному адресу (в отладчике был указан адрес 0000) микроконтроллер выбирал и выставлял данные целых 1050нс! Это более, чем в 16 раз больше по времени, чем у К155РЕ3 (65нс).

Теперь суммируем полученные данные.
К155РЕ3: период работы "на полную катушку" - 165нс.
ATtiny2313@20: период работы "на полную катушку" - 1250нс.

Переводя в частоту получается, что для работы К155РЕ3 максимальная частота составляет 6МГц, а для ATtiny2313@20 всего 800Кгц. Но есть одно "но".
На таких частотах для индикации ничего не строится. Всё гораздо прозаичнее!Если учесть, что для человеческого глаза комфортная частота обновления составляет 100Гц, и взять "гирлянду" из восьми семисегментных индикаторов и сделать динамическую индикацию, то получается, что частота опроса составляет всего 800Гц. Уж с такой частотой опроса микроконтроллер Atmel вполне справится, а значит замена вполне уместна.

До новых встреч!