User Tag List

Страница 64 из 86 ПерваяПервая ... 606162636465666768 ... ПоследняяПоследняя
Показано с 631 по 640 из 854

Тема: УКНЦ загрузка через стык С2

  1. #631

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    RABBIT-1 грузил с HANDSHAKE плюс на древнем 486 РС.
    HANDSHAKE на практике ни с чем не связан - Windows не снимает RTS, поэтому наличие/отсутствие линий квитирования на приём COM-порта не влияет.

    Загрузка шла только с кабелем без квитирования. После добавления в кабель линий квитирования ( без изменения любых настроек ) загрузка уже не шла.

    - - - Добавлено - - -

    Цитата Сообщение от Vamos Посмотреть сообщение
    утверждает, что квитирование в РС аппаратное
    Конечно, аппаратное - в каждом COM-порту PC есть аппаратный буфер FIFO, глубину которого можно настраивать:



    - - - Добавлено - - -

    Цитата Сообщение от Vamos Посмотреть сообщение
    вылет в СТОП по переполнению на втором байте при снятом CTS после приема 1 байта
    До снятия CTS порт 065 принимает ДВА байта - иначе синхронная работа порта ( когда байты принимаются один за другим "без промежутков" ) была бы невозможна. Это легко проверить, запустив в пульте программу, крутящуюся минуту в пустом цикле, а потом читающую все байты, какие успел принять порт - если после запуска программы отправить в порт несколько байтов, то после обращения программы к порту - будут выведены первый и последний из переданных байтов.
    Последний раз редактировалось Patron; 09.02.2016 в 21:37.

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

  3. #632

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Конечно, аппаратное - в каждом COM-порту PC есть аппаратный буфер FIFO, глубину которого можно настраивать:
    Наличие буфера никоим образом с квитированием не связано. Стандартные чипы на PC аппаратно не обрабатывают квитирование, только возможно вызвать прерывание при изменении уровней сигнала CTS/RTS/DTR/DSR, всё остальное ложиться на программу.

  4. #633

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Наличие буфера никоим образом с квитированием не связано. Стандартные чипы на PC аппаратно не обрабатывают квитирование, только возможно вызвать прерывание при изменении уровней сигнала CTS/RTS/DTR/DSR, всё остальное ложиться на программу.
    Тогда понятно, почему квитирование в Windows нормально работает только с теми портами, которые умеют передавать два стоповых бита. Пока порт передаёт второй стоповый бит - драйвер успевает обработать прерывание и запретить передачу.

  5. #634

    Регистрация
    05.03.2010
    Адрес
    Санкт-Петербург
    Сообщений
    781
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    До выставления CTS порт 065 принимает ДВА байта - иначе синхронная работа порта ( когда байты принимаются один за другим "без промежутков" ) была бы невозможна
    СTS выставляется после приема первого байта, если в момент выставления CTS начал приниматься следующий байт, то он будет принят. Иначе пофигу сколько байт принимать два или двадцать два.

  6. #635

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Тогда понятно, почему квитирование в Windows нормально работает только с теми портами, которые умеют передавать два стоповых бита. Пока порт передаёт второй стоповый бит - драйвер успевает обработать прерывание и запретить передачу.
    Вот поэтому со стандартным портом у меня работало только тогда, когда я ставил в настройках два стоп-бита. С одним стоп-битом у меня работало с портом на чипе Oxford, но он довольно крутой, может там есть и аппаратное квитирование.

  7. #636

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    СTS выставляется после приема первого байта, если в момент выставления CTS начал приниматься следующий байт, то он будет принят.
    Квитирование снимается после начала приёма первого стопового бита второго байта, если первый принятый байт к этому моменту ещё не прочитан из буфера. У передающей стороны есть два битовых интервала, чтобы отреагировать на снятие квитирования и прекратить передачу.

  8. #637

    Регистрация
    05.03.2010
    Адрес
    Санкт-Петербург
    Сообщений
    781
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Это легко проверить, запустив в пульте программу, крутящуюся минуту в пустом цикле, а потом читающую все байты, какие успел принять порт - если после запуска программы отправить в порт несколько байтов, то после обращения программы к порту - будут выведены первый и последний из переданных байтов.
    Вот это правильно, а теперь зайдем в пульт и начнем из HX_Server с вкладки телетайп отправлять байты, то после обращения к порту в пульте мы прочитаем последовательно все отправленные байты из HX_Server - а это не правильно.

    http://zx-pk.ru/showthread.php?t=160...l=1#post564966
    Последний раз редактировалось Vamos; 09.02.2016 в 22:21.

  9. #638

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    Вот это правильно, а теперь зайдем в пульт и начнем из HX_Server с вкладки телетайп отправлять байты, то после обращения к порту в пульте мы прочитаем последовательно все отправленные байты из HX_Server - а это не правильно.
    HX_Server отправляет байты в поток байтов. Поток байтов отправляет байты в буфер адаптера COM-порта размером 128К. Адаптер COM-порта отправляет байты в буфер драйвера Windows размером 4К, а драйвер Windows отправляет байты в буфер FIFO размером 16 байтов.

    Такая длинная цепочка приводит к тому, что если какая-то из инстанций отказывается принимать байты - байты накапливаются в буфере предыдущей инстанции. Так и должно быть - если на каком-то этапе передающей цепочки возникла заминка - передача должна остановиться ( без потери байтов ) до возможности продолжения. Что и происходит - всё отлично работает и ни один байт не теряется. Сброс содержимого буферов происходит, если терминал передаёт BREAK. Те байты, которые не успели покинуть PC до сигнала BREAK - будут потеряны, чтобы "очистить дорогу" для свежих байтов.
    Последний раз редактировалось Patron; 10.02.2016 в 11:04.

  10. #639

    Регистрация
    05.03.2010
    Адрес
    Санкт-Петербург
    Сообщений
    781
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну не знаю что Вам еще сказать. Сделал так что CTS снят постоянно, подключил гипер терминал виндовый, в настройках "управление потоком" указал "аппаратное" ни одного байта посланного из гипер терминала не попало в UKNCBTL, подключил HX_Server, сигнал CTS не зеленый, отправил 4 байта в UKNCBTL прилетел 1-й потом переполнение и потом 3-й и 4-й, и так несколько раз. Думаю что и на железе происходит тоже самое, проверить смогу позже.
    Так что ищите ошибку в своей длинной цепочке.

  11. #640

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Конечно, аппаратное - в каждом COM-порту PC есть аппаратный буфер FIFO, глубину которого можно настраивать:
    Виноват, подзабыл. А Вы не забыли его отключить? В смысле, урезать глубину до 1? А то я вспомнил, откуда мои утверждения про компорты берут начало. Мне так и не удалось заставить MSM-PC 3.10 обслуживать терминалы через любые мульти-комы, кроме тех, которые были на чипах 8250. (Это единственный писюшный компорт без FIFO. ) А MSM 3.xx ничего не знал про эти FIFO, староват был. И, естественно, при попытке притормозить поток (в том числе и аппаратной, когда, допустим, включишь на терминале плавный скроллинг) данные терялись. Я тогда попытался выключить это FIFO, но не справился, где-то там оно восстанавливалось, а где - я не нашел, ядро MSM слишком уж толстое.
    Последний раз редактировалось AFZ; 10.02.2016 в 16:47.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

Страница 64 из 86 ПерваяПервая ... 606162636465666768 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Загрузка П.О. через звуковую PC.
    от Biozoom в разделе Commodore 16/64/128
    Ответов: 51
    Последнее: 06.10.2013, 11:12
  2. Загрузка УКНЦ
    от костя в разделе ДВК, УКНЦ
    Ответов: 73
    Последнее: 05.03.2011, 12:55
  3. КУПЛЮ УКНЦ Электроника МС 0511 с распаянным Стык С2.
    от falanger в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 02.03.2010, 18:57
  4. Загрузка на рел Commodore 64
    от Zloy в разделе Commodore 16/64/128
    Ответов: 45
    Последнее: 27.07.2009, 12:59
  5. УКНЦ: загрузка через стык С2
    от tnt23 в разделе ДВК, УКНЦ
    Ответов: 1
    Последнее: 17.04.2009, 19:38

Ваши права

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