User Tag List

Страница 17 из 136 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя
Показано с 161 по 170 из 1355

Тема: Тестер мелкой логики на Мега8515

  1. #161

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    homer, в принципе можно, но тогда пропадает "законченность", как говорил Женя Хотя никто не мешает.

  2. #162

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил 555ИЕ10 (74161) и 555ЛП8 (74125), немного "допричесал" исходники - убрал дублирующие определения.
    Вложения Вложения
    Последний раз редактировалось Дмитрий; 27.08.2011 в 00:50.

  3. #163

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ewgeny7, и таки фантомное определение КП11 как ЛЛ1 имеет под собой почву. Старшие разряды (неиспользуемые) необходимо поднимать в "1", иначе проявляются глюки. Так и ИД7 (у нее этот пин является GND) иногда определяется как ЛЛ1.
    UPD: Притянул за уши PC7 к "1" в тестах 7432 и 74125 - теперь ложные срабатывания прекратились.
    Последний раз редактировалось Дмитрий; 27.08.2011 в 00:53.

  4. #164

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    немного "допричесал" исходники - убрал дублирующие определения.
    Ага, вижу. И в начало флеши пойдут процедурки тестирования, а не управления. Таки на полёт это не влияет, а писанины меньше, хоть и непривычно.

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Старшие разряды (неиспользуемые) необходимо поднимать в "1", иначе проявляются глюки.
    Т.е., ты хочешь сказать, что при DDRx=1, записывая в порт "0", ты читаешь с него "1"? ИМХО "дело не в бобине". Скорее "фантом" возникнет, если сделав запись в порт, мы тут же будем пытаться его прочитать. Для правильного результата необходима задержка, в асме ставят nop, у нас - небольшой delay. Я их не зря там понавтыкал, думал тормозов Си будет достаточно, оказалось - с портами он работает сверхбыстро, без задержки не обойтись.
    Последний раз редактировалось Ewgeny7; 27.08.2011 в 13:48.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  5. #165

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Т.е., ты хочешь сказать, что при DDRx=1, записывая в порт "0", ты читаешь с него "1"? ИМХО "дело не в бобине".
    Не, не так... ЛЛ1 в корпусе DIP14, ИД7 в DIP16, для 14ногой микрухи ты PC6 ставишь в "0" (GND), и неиспользуемый пин PC7 так же в "0", в таком случае заводится микруха в корпусе DIP16, т.к. разряд PC7 для нее является GND и он притянут к земле, и эта микруха начинает отрабатывать по своему алгоритму, а так как у нас тесты расчитаны на частные случаи, а не на 100% проверку (ты же не каждый элемент ЛЛ1 отдельно проверяешь, а сразу параллельно загружаешь), то могут быть совпадения в поведении. Чтоб таких срабатываний не было, надо при тестировании DIP14, разряд PC7 устанавливать в "1", тогда сразу отбрасываются все микрухи DIP16. Посмотри в тесты 74125 и 7432, я там как раз так и сделал - ложных срабатываний после исправления уже не было.

  6. #166

    Регистрация
    13.03.2006
    Адрес
    Колпино
    Сообщений
    1,250
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Джентльмены, я тут взял на себя смелость немножко оптимизировать код тестера. Забитость флеши опустилась до 65.6%, ну и на код ИМХО приятней стало смотреть.
    Вот только протестировать мне не на чем
    Собственно поправлен только tester.c:
    Вложения Вложения
    ZX Spectrum forever!

  7. #166
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #167

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Посмотри в тесты 74125 и 7432, я там как раз так и сделал - ложных срабатываний после исправления уже не было.
    Хорошо, я же не против твоих изменений, мне "истина дороже" Почему на моем тестере микросхемы определяются как надо? А вероятность совпадения алгоритмов вроде как чертовски мала...
    А подтянуть 1 ко всем свободным РС7 можно на вскяй случай.

    ---------- Post added at 18:34 ---------- Previous post was at 18:01 ----------

    Цитата Сообщение от Дмитрий Посмотреть сообщение
    Добавил 555ИЕ10 (74161) и 555ЛП8 (74125), немного "допричесал" исходники - убрал дублирующие определения.
    Цитата Сообщение от molodcov_alex Посмотреть сообщение
    Джентльмены, я тут взял на себя смелость немножко оптимизировать код тестера. Забитость флеши опустилась до 65.6%, ну и на код ИМХО приятней стало смотреть.
    Господа, я взял на себя смелость собрать всё в кучу, исправить опечатки отдельных товарищей и насладиться результатом
    Хорошо, только медленнее стало работать автоопределение. Вероятно, изза усложнения исполнения кода. Но нам вроде как торопиться пока особо некуда, поэтому выкладываю новые исходники в первый пост. Всё лучшее и лучшее. Обновляемся
    Да, занято 71.4% флеши. Интуиция скромно подсказывает, что меги8515 нам хватит.
    Последний раз редактировалось Ewgeny7; 27.08.2011 в 18:41.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  9. #168

    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Да, занято 71.4% флеши.
    Я еще на 4% наоптимизировал (67,4%) Ща еще Фанты выпью и...

    ---------- Post added at 22:07 ---------- Previous post was at 22:04 ----------

    В общем остановился пока на 67.3%
    Вложения Вложения
    Последний раз редактировалось Дмитрий; 27.08.2011 в 23:33.

  10. #169

    Регистрация
    13.03.2006
    Адрес
    Колпино
    Сообщений
    1,250
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот это:
    Код:
    if ( sel < _ICs )   // for safety
                        sym[0] = 12;
                        sym[1] = chips[sel].sym[0];
                        sym[2] = chips[sel].sym[1];
                        sym[3] = chips[sel].sym[2];      
                        res = 0;          
                        chips[sel].test();
    Надо в фигурные скобки ставить:
    Код:
    if ( sel < _ICs )   // for safety
    {
                        sym[0] = 12;
                        sym[1] = chips[sel].sym[0];
                        sym[2] = chips[sel].sym[1];
                        sym[3] = chips[sel].sym[2];      
                        res = 0;          
                        chips[sel].test();
    }
    Иначе от if'а толку 0.

    Если в sel всегда находится правильное число (от 0 до _ICs - 1), то эти if'ы можно вообще убрать.

    И если в sym[3] всегда одно и тоже записывается (а сейчас там у всех мелкосхем 13), то можно еще чуть-чуть ужать:
    Код:
    const struct
    {
        void (*test)( void );
        char sym[3];
    } chips[] = 
    {
        { test_7400,    { 0, 0, 13 } }, 
        { test_7402,    { 2, 0, 13 } },
        { test_7404,    { 4, 0, 13 } },
    и т.д.
    Ну и дальше тогда в коде поправить:
    Код:
    if ( sel < _ICs )   // for safety
            {
                sym[0] = chips[sel].sym[0];
                sym[1] = chips[sel].sym[1];
                sym[2] = chips[sel].sym[2];
                sym[3] = 13;
            }
    И т.д. и т.п..
    Последний раз редактировалось molodcov_alex; 28.08.2011 в 01:23.
    ZX Spectrum forever!

  11. #170

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я тут решил кардинально "соптимизировать" и перенес проект с CodeVision на WinAVR GCC. Считается, что он дает более оптимальный код. От результата переноса у меня чуть челюсть на тапочки не упала .
    В КодеВижн имеем 71.4% занятой флеши,
    В ВинАвре - "Program: 7522 bytes (91.8% Full)".
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

Страница 17 из 136 ПерваяПервая ... 131415161718192021 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Набор логики для сборки Ленинград-1
    от moxjemi в разделе Барахолка (архив)
    Ответов: 49
    Последнее: 10.01.2012, 16:43
  2. Вопрос к знатокам - Универсальный тестер логики???
    от CodeMaster в разделе Оборудование
    Ответов: 14
    Последнее: 05.04.2010, 09:56
  3. Использование PIC в качестве логики
    от ILoveSpeccy в разделе Несортированное железо
    Ответов: 56
    Последнее: 03.04.2007, 16:20
  4. ТЕСТЕР микросхем логики
    от Mikka_A в разделе Оборудование
    Ответов: 29
    Последнее: 19.03.2007, 22:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •