Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование AT89S8253 через SPI
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
cfl
Давно написал прогу для программирования 8252 все работает отлично. Сначала собрал первую схемку на 3 резисторах (просто для программирования одной МС) - все с 8252 ОК. В системе 8252 программируется на ура.
Сейчас надо 8253 запрограммировать.
Переделал прогу программирования под 8253 (команда 4 байта) - ни чего не получается, после 2-ух байтов команды (из 4-ех) разрешения на программирование МПЦ начинает в ответ что попало выдавать.

Удается запрограммировать 8253 прогой от Дубковского только в первой схемке и то на пятый раз хотя кабель пол метра.
Кабель для программирования в системе укоротил, повторял первую схему в блоке с МПЦ, кварц менял (кондеры убирал), с резисторами возился - ( вроде как были потуги запрограммироваться, но ошибка при записи ) все равно ничего не получается.
Собрал кабель программирования с МС 1533АП4 - 8252 в системе не до программируется, про 8253 молчу.

Кто нибудь решил эту проблему при переходе с 8252 на 8253? А то в нете только чертыхание на этот камень.
Палыч
Цитата(cfl @ Dec 2 2011, 15:46) *
Кто нибудь решил эту проблему при переходе с 8252 на 8253?

Не знаю - что Вы там за программаторы использовали...
Вы обратили внимание на вот это предупреждение от Atmel для тех, кто переходит с AT89S8252/S53 на AT89S8253?
Цитата
...serial input on MOSI is sampled by SCK during its negative transition edge
cfl
Пока возился, нашел лучшую программу для программирования ATMEL - ISP Programmer 1.2.0.56 http://dybkowski.net.
Уровни SCK вроде правильно сделал (менял тоже), читал данные в разные моменты.
Посылаю четыре байта разрешение программирования (последние два =0) в ответ 255,255,16 или 8 (от того где читаю),0.
Такое впечатление что выставляет 1 в 3 байте потому, что как будто команду не распознает (первые 3 бита определяют код команды для программирования, а я 3-им байтом 0 посылаю).
Кабель от LPT к SPI МПЦ с 2 ограничительными резисторами 1кОм на входы SPI МПЦ, выход с МПЦ подтяжка к + 22кОм.
Палыч
Цитата(cfl @ Dec 2 2011, 16:39) *
Уровни SCK вроде правильно сделал (менял тоже), читал данные в разные моменты.

Вы, надеюсь, обратили внимание на то, что информация на линиях MISO/MOSI в AT89S8252/S53 привязана к уровню сигнала на SCK, а в AT89S8253 привязана к изменению уровня на SCK, причем MISO - к одному изменению, а MOSI - к другому.
cfl
Кто нибудь программировал 8253 в устройстве по SPI ?
Rimid
Я программировал через ByteBlasterMV с помощью скрипта, написанного мной для программатора Хамелеон. Длина кабеля ByteBlasterMV около 2м, и никаких проблем.
Кварц генерит?
Проверьте функции записи/чтения по SPI.
Код
Proc SendByteToSPI(Byte) {
    var Counter;

    Counter = 8;
    while(Counter != 0) {
      SCK = 1;
      MOSI = Byte.7;
      SCK = 0;
      Byte = Byte << 1;
      Counter--;
    }
}

Proc GetByteFromSPI {
    var Counter, Temp;

    Counter = 8;
    Temp = 0;    
    while(Counter != 0) {
      SCK = 1;
      Temp = Temp << 1;
      SCK = 0;
      Temp.0 = MISO;
      Counter--;
    }
    return(Temp);
}

Если нужно, то могу выложить скрипт.
cfl
Подключил напрямую от разъема (для подключения к LPT) к МПЦ на плате.
Выяснил:
- нужно подтягивающий (к +) резистор на выходе уменьшать (было на 8252 10к и работало) от 4.7к нестабильная работа до 1к ;
- сопротивление развязывающих резисторов по входам как можно меньше (330), и нужны желательно подтягивающие (к +) резисторы (10к).
- питание только от компа (с игрового порта), если плата питается от своего блока питания - программирование не работает.

При подключение через простой пятипроводный кабель через разъем для программирования на плате - не программируется.
(видно не может через два разъема LPT и на плате - видно помехозащищенность SPI МПЦ никакая).

Подключил через собранный до этого кабель с буфером на КР1533АП4 и все отлично заработало.
При этом работает при всех вариантах питания кабеля для программирования, как от ПК так и от платы.
MrYuran
Сколько лет мы бились с этими 8253, пока не купили ChipProg ISP от Phyton.
Тем более что LPT уже давно днем-с-огнем не найти.
И наступила благодать.
cfl

нужны желательно подтягивающие (к +) резисторы (22к).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.