User Tag List

Страница 65 из 86 ПерваяПервая ... 616263646566676869 ... ПоследняяПоследняя
Показано с 641 по 650 из 854

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

  1. #641

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

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    Думаю что и на железе происходит тоже самое
    Что происходит на железе хорошо известно - если COM-порт не умеет передавать два стоповых бита, то при включенном FIFO квитирование не работает и байты теряются, а если COM-порт умеет передавать два стоповых бита, то квитирование c FIFO работает и байты не теряются.

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


    Цитата Сообщение от Vamos Посмотреть сообщение
    ищите ошибку в своей длинной цепочке
    Там ошибки нет - с полноценными COM-портами квитирование в Windows работает как надо.

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

    Цитата Сообщение от AFZ Посмотреть сообщение
    А Вы не забыли отключить FIFO ?
    Использовать сжатие с отключенным FIFO по идее менее выгодно, чем не использовать сжатие со включенным FIFO, но никто не мешает открыть вручную настройки порта и выключить FIFO. С программной точки зрения проще перевести сжатие на работу без квитирования, чем пытаться программно отключать FIFO через модификацию реестра Windows.
    Последний раз редактировалось Patron; 10.02.2016 в 11:40.

  2. #642

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Использовать сжатие с отключенным FIFO по идее менее выгодно, чем не использовать сжатие со включенным FIFO
    Если не попадется блок, 3/4 которого - нули.

    Цитата Сообщение от Patron Посмотреть сообщение
    но никто не мешает открыть вручную настройки порта и выключить FIFO. С программной точки зрения проще перевести сжатие на работу без квитирования, чем пытаться программно отключать FIFO через модификацию реестра Windows.
    Так беда-то именно в FIFO. 065-й, получив байт и обнаружив начало передачи следующего, выставляет сигнал RR (31-я нога), который через преобразователи уровня превращается в сигнал RTS. Контрагент 065-го, получив этот сигнал на своем входе CTS, обязан завершить передачу начатого байта и ОСТАНОВИТЬСЯ. Драйвер компорта, получив этот сигнал прекращает передачу, но данные из буфера никуда не делись и компорт продолжает их вываливать. Итого - потеря.

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

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

    Ко всем. У кого аппаратура в сборе, проверьте, плз, в реале.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  3. #643

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Если не попадется блок, 3/4 которого - нули.
    Это да, команда DIR/BAD на пустом диске выполняется через HX со сжатием в ~200 раз быстрее, чем без сжатия. Но речь про средний выигрыш от сжатия RLE, а он при реальной работе в RT-11 составляет ~20%. Поскольку Window это не DOS - выключение FIFO должно снижать скорость передачи раза в два, если не больше.


    Цитата Сообщение от AFZ Посмотреть сообщение
    У кого аппаратура в сборе, проверьте, плз, в реале.
    Уже проверяли - если COM-порт умеет передавать два стоповых бита, то квитирование в Windows при обмене с 065 работает без проблем.

  4. #644

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Поскольку Window это не DOS - выключение FIFO должно снижать скорость передачи раза в два, если не больше.
    Так все плохо? И это при гигагерцах... Нет, если порт на USB, не удивлюсь, но обычный компорт десктопной мамы?..
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  5. #645

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Так все плохо? И это при гигагерцах...
    Про 50% падения скорости я погорячился. Если Windows не успевает обработать прерывание COM-порта при одном стоповом бите, а при двух стоповых битах успевает, то ожидаемое падение скорости при побайтовой передаче как раз получается между одним и двумя битовыми интервалами. При 10 битах на байт это будет от 10% до 20% падения скорости. Но проверить эти предположения на реальном железе будет полезно.
    Последний раз редактировалось Patron; 10.02.2016 в 13:26.

  6. #646

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Что происходит на железе хорошо известно - если COM-порт не умеет передавать два стоповых бита, то при включенном FIFO квитирование не работает и байты теряются, а если COM-порт умеет передавать два стоповых бита, то квитирование c FIFO работает и байты не теряются.

    Если вручную выключить FIFO в настройках проблемного порта - скорость обмена должна заметно снизиться, но квитирование должно начать работать. Вот это и стоит проверить.
    Ну и у кого Вы сейчас найдете железный ком порт? А рассуждать за разработчиков драйверов ком портов в винде и какая у них логика работы можно долго. Например, драйвер по CTS выставляет прерывание системе остановить передачу и если система или программа работающая в данный момент никак не реагирует, драйвер по тайм ауту начинает сливать весь буфер в линию дабы не произошло переполнение буфера, что опаснее для системы или драйвера, нежели потеря байт пользователя.
    Ну и если Вы считаете что HX_Server работает правильнее виндовского гипер терминала, то у меня нет слов и даже букв

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

  8. #647

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

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    Например, драйвер по CTS выставляет прерывание системе остановить передачу и если система или программа работающая в данный момент никак не реагирует, драйвер по тайм ауту начинает сливать весь буфер в линию дабы не произошло переполнение буфера,
    Этого не может быть. А вот сброс FIFO прекращением подачи новых байтов в регистр передатчика не остановить, FIFO сбрасывается не глядя на всякие там CTS. То есть выдача CTS должна производиться из расчета, что после нее будет принято все содержимое FIFO. А поскольку у -065 размер "буфера" - единица, то единицу надо ставить и в размер FIFO на писюке.

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

    Цитата Сообщение от Vamos Посмотреть сообщение
    Ну и у кого Вы сейчас найдете железный ком порт?
    На любом настольном компьютере. Ну, кроме моноблоков. Компорты пока еще входят в состав чипсетов, и, можно надеяться, что они вымрут не завтра. Просто у большинства материнских плат компорт выведен не на заднюю панель, а на 9-контактный IDC на маме. Делаем "выкидыш" на заднюю панель, и вперед!
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  9. #648

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    На любом настольном компьютере. Ну, кроме моноблоков. Компорты пока еще входят в состав чипсетов, и, можно надеяться, что они вымрут не завтра. Просто у большинства материнских плат компорт выведен не на заднюю панель, а на 9-контактный IDC на маме. Делаем "выкидыш" на заднюю панель, и вперед!
    Речь о таком который поддерживает аппаратное квитирование, как мы выяснили на предыдущей странице таких практически нет.

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

  10. #649

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

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    Да какая разница с точки зрения программы которая передает, где потеряются байты, вылетев в линию или не попав в буфер FIFO, программа должна остановить передачу по снятию CTS.
    Для того, чтобы это было так, следует установить в единицу длину FIFO. И вперед!

    Цитата Сообщение от Vamos Посмотреть сообщение
    Речь о таком который поддерживает аппаратное квитирование, как мы выяснили на предыдущей странице таких практически нет.
    И не было, по крайней мере в стандартных писюшных решениях - начиная с 8250 и кончая 16550, которые и по сей день занимают уголок чипа Multi-IO.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  11. #650

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

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    Речь о таком который поддерживает аппаратное квитирование
    Не только. В тестировании было выявлено четыре типа COM-портов PC.

    1) Порты, успешно работающие с квитированием при любом количестве стоповых битов - это порты с аппаратным квитированием.

    2) Порты, успешно работающие с квитированием только при двух стоповых битах - это ( предположительно ) порты БЕЗ аппаратного квитирования.

    3) Порты, не работающие с квитированием даже при настройке на два стоповых бита - это ( предположительно ) порты, не умеющие выдавать два стоповых бита.

    4) Порты, аппаратно зависающие при настройке на два стоповых бита - это китайские порты.

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

    Цитата Сообщение от Vamos Посмотреть сообщение
    Да какая разница с точки зрения программы которая передает, где потеряются байты, вылетев в линию или не попав в буфер FIFO, программа должна остановить передачу по снятию CTS.
    Если установить размер буфера FIFO на передачу в один байт ( или вообще выключить FIFO ) - передача байтов будет останавливаться сразу после снятия сигнала квитирования. Именно за это отвечает настройка fOutxCtsFlow = TRUE.

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

    Надо бы протестировать на реальном железе, есть ли разница между выключением FIFO и установкой буфера FIFO в один байт. Может статься, что при выключении FIFO размер буфера становится 0 байтов, но тогда при размере буфера в 1 байт квитирование с 065 работать не должно.
    Последний раз редактировалось Patron; 10.02.2016 в 15:37.

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

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

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

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

Похожие темы

  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

Ваши права

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