Перейти к содержанию
    

Программирование AT89S8253 через SPI

Давно написал прогу для программирования 8252 все работает отлично. Сначала собрал первую схемку на 3 резисторах (просто для программирования одной МС) - все с 8252 ОК. В системе 8252 программируется на ура.

Сейчас надо 8253 запрограммировать.

Переделал прогу программирования под 8253 (команда 4 байта) - ни чего не получается, после 2-ух байтов команды (из 4-ех) разрешения на программирование МПЦ начинает в ответ что попало выдавать.

 

Удается запрограммировать 8253 прогой от Дубковского только в первой схемке и то на пятый раз хотя кабель пол метра.

Кабель для программирования в системе укоротил, повторял первую схему в блоке с МПЦ, кварц менял (кондеры убирал), с резисторами возился - ( вроде как были потуги запрограммироваться, но ошибка при записи ) все равно ничего не получается.

Собрал кабель программирования с МС 1533АП4 - 8252 в системе не до программируется, про 8253 молчу.

 

Кто нибудь решил эту проблему при переходе с 8252 на 8253? А то в нете только чертыхание на этот камень.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто нибудь решил эту проблему при переходе с 8252 на 8253?

Не знаю - что Вы там за программаторы использовали...

Вы обратили внимание на вот это предупреждение от Atmel для тех, кто переходит с AT89S8252/S53 на AT89S8253?

...serial input on MOSI is sampled by SCK during its negative transition edge

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока возился, нашел лучшую программу для программирования 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кОм.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уровни SCK вроде правильно сделал (менял тоже), читал данные в разные моменты.

Вы, надеюсь, обратили внимание на то, что информация на линиях MISO/MOSI в AT89S8252/S53 привязана к уровню сигнала на SCK, а в AT89S8253 привязана к изменению уровня на SCK, причем MISO - к одному изменению, а MOSI - к другому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я программировал через 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);
}

Если нужно, то могу выложить скрипт.

Изменено пользователем Rimid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подключил напрямую от разъема (для подключения к LPT) к МПЦ на плате.

Выяснил:

- нужно подтягивающий (к +) резистор на выходе уменьшать (было на 8252 10к и работало) от 4.7к нестабильная работа до 1к ;

- сопротивление развязывающих резисторов по входам как можно меньше (330), и нужны желательно подтягивающие (к +) резисторы (10к).

- питание только от компа (с игрового порта), если плата питается от своего блока питания - программирование не работает.

 

При подключение через простой пятипроводный кабель через разъем для программирования на плате - не программируется.

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

 

Подключил через собранный до этого кабель с буфером на КР1533АП4 и все отлично заработало.

При этом работает при всех вариантах питания кабеля для программирования, как от ПК так и от платы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сколько лет мы бились с этими 8253, пока не купили ChipProg ISP от Phyton.

Тем более что LPT уже давно днем-с-огнем не найти.

И наступила благодать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...