на страницу 2

Оглавление

на страницу 4

Индикатор, расположенный в верхней средней части экрана уникален в том смысле, что система постоянно проверяет целостность линии связи между последовательным портом ПК и диагностическим разъемом автомобиля, а также наличие напряжения питания на клеммах данного разъема. Кроме того, это облегчает выбор порта связи в том случае, если Вы подключили адаптер связи в диагностический разъем автомобиля, но на задней стенке Вашего ПК не можете определить, какое гнездо соответствует COM1, а какое COM2. Просто укажите тот порт слева (COM1..COM4), выбор которого даст более приятную по цвету для глаз надпись (зеленую) в верхней средней области экрана “Подключен

part_set_con

Надпись “Не подключен” (синего цвета) свидетельствует о том, что связь на данном соединении ПК с автомобилем в текущий момент времени не возможна

part_set_off

Это может быть в следующих случаях

·       Вы используете не тот последовательный порт, к которому физически подключен кабель адаптера связи

·       нет напряжения питания на диагностическом разъеме автомобиля (в некоторых автомобилях идет через предохранитель)

·       в диагностический разъем автомобиля  не вставлен адаптер связи

·       линия связи разорвана или нет непрерывного соединения между COM портом ПК и диагностическим разъемом автомобиля

Существует еще одно состояние индикатора подключения адаптера связи “Не доступен” (красного цвета). Это состояние отображено в том случае, если коммуникационный порт занят другим устройством, это возможно если

·       Вы его выбрали для этой цели, когда он был свободен, но затем подключили к нему мышь или еще что-то и перезапустили LAVScan

·       Вы использовали жесткий диск на ПК, на котором существовали дополнительные порты (например, COM3/4). Затем извлекли диск и установили его на другой ПК, на котором этих портов физически нет, но в настройках системы еще не успели изменить номер выбранного порта

part_set_not

Дополнительно для Вас на экран системой будет выведено сообщение о том, что порт заблокирован, перезапустите Windows. Следовать этому совету нужно лишь тогда, когда у Вас нет второго доступного порта, если же он есть проще переключиться на него (обратите внимание на зеленый цвет индикатора и надпись подключен)

Ниже на экране расположен небольшой текстовый фрагмент, содержащий необходимую для пользователя информацию

Вообще, на всех экранах существует краткая подсказка, появляющаяся при зависании мышиного курсора над элементом управления. Она краткая, но частая – хотя здесь одно не совсем компенсирует другое

Чуть ниже расположены регуляторы, позволяющие изменять приоритеты выполнения приложения (системы LAVScan)

- Можно было бы задать автору вопрос, а зачем это нужно?

- Загрузил программу и работай себе комфортно и без лишней суеты, ползуны еще двигать куда-то...

- Да нет, не все так просто в этом мире…

ОС Windows любую задачу пользователя считает легкомысленной и не столь важной (впрочем, также как и программисты компании Майкрософт считают себя приоритетными и весьма значительными), а все пользовательские программы жалкими и второстепенными. Именно поэтому ОС назначает самый высокий приоритет только для своих внутренних процессов. Пользователю милостиво выделяется лишь третье кольцо защиты, которого действительно хватает для офисных программ, игрушек и большинства программ, применяемых  пользователем. Но система LAVScan, работает в режиме РЕАЛЬНОГО ВРЕМЕНИ не в асинхронном режиме (для которого и был разработан последовательный порт связи на микросхемах UART 8250, 16450, 16550 и 16550AN с встроенным буфером FIFO, который в свое время разрешил весьма успешно, проблему ретрейнов-переустановок связи в большинстве коммуникационных программ модемной связи, простым накапливанием символов в буфере приема-передачи), а исключительно в СИНХРОННОМ режиме

По некоторым приходящим ко мне письмам и задаваемым вопросам пользователей я вижу, что данное понятие до сих пор многими воспринимается неправильно. Либо я плохо его развернул здесь (что, скорее всего), либо тем, кто его не воспринял, совершенно ни к чему было вникать в данные технические подробности, интересующие только разработчиков электронных систем управления. Что возможно, правильно – ведь не будете же Вы вникать в технологический процесс проектирования и изготовления отвертки или гаечного ключа, это всего лишь инструмент, которым Вам нужно работать, поэтому если и стоит рядовому пользователю во что-то вникать, так это только в эксплуатационные и потребительские качества и свойства предлагаемого автором изделия. Поэтому подчеркну еще раз, диагностическая система действительно работает с последовательным коммуникационным портом связи не в стандартном буферном (накопительном) режиме асинхронной передачи данных, а в СИНХРОННОМ РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ. Только в этом режиме осуществляется строгая синхронизация работы системы с блоком управления автомобиля. Никакие методы накапливания и задержки информации, применяемые в обычных коммуникационных программах, здесь не могут быть использованы из-за своей бесполезности и ничтожной эффективности. Накапливание данных в буфере порта связи ПК для контроллера автомобиля происходит совершенно не заметно. Поэтому, если контроллер не получит подтверждение синхросигнала в течение его периода (а получить его он физически не может, поскольку в это время процессор занят обработкой другой задачи) – контроллер считает, что передачи сигнала не было вовсе и переходит в режим авто синхронизации, то есть, восстановления последнего пакета связи. Если это повторяется в течение определенного интервала времени, то блок управления полностью завершает процедуру обмена данными с внешним устройством

Именно поэтому создать значительное, качественное и устойчиво работающее приложение для диагностического сканера в многопользовательских и многозадачных ОС семейства Windows, основанных на обработке системных сообщений достаточно сложно. Гораздо проще использовать однопользовательскую и однозадачную среду DOS или аппаратную версию сканера, в которой стабильность синхронизирующих интервалов обеспечивается стабильностью задающего тактового генератора, и может быть дополнительно скорректирована программными задержками на основе прогона пустых циклов

Строб синхронизации сигнала в системах VAG имеет период следования 10 мс. Этот период должен поддерживаться с точностью до ±1 мс в любую сторону сужения или расширения пакета импульсов синхронизации

Смысл буферного накопления сводится к тому что бы, в то время когда процессор переключен на другое приложение и занят обработкой другой задачи пользователя или ОС, не потерять ни одного байта и разрешить процессору обработать их сразу, как только он освободится и переключится на выполнение текущей коммутационной задачи (например, LAVScan). Но в нашем случае это совершенно не приемлемо. Поскольку, контроллеру автомобиля для выдачи следующей порции данных необходим сигнал синхронизации. Этот сигнал должен присутствовать на выходных шинах последовательного порта связи (точнее на шине “K” диагностической линии) НЕ ЧЕРЕЗ ПРОИЗВОЛЬНОЕ время (через которое ОС переключит процессор и позволит ему обработать накопленные в буфере данные), а через СТРОГО ФИКСИРОВАННОЕ и определенное стандартом связи время 9..11 мс!

Для того, что бы было понятнее, считайте, что это период (частота) задающего генератора базовых строб импульсов (как бы сердца электронных часов). Относительно этого строба происходит специфическое изменение длительности и широты (ширины) передаваемых импульсов пакета данных. Несмотря на то, что максимальная скорость обмена пакетами данных невелика и составляет всего 10400, частота стробирования и ее стабильность имеют определяющее значение для проведения устойчивого сеанса связи в системах точного управления

Задержка строба сигнала синхронизации (по временным интервалам, чем-то подобна ШИМ) из-за обработки системных сообщений всего лишь на 1 миллисекунду, сводит на нет весь цикл связи, и приводит к ретрейну (потере синхронизации с модулем и повторному запросу на ее восстановление). Например, внутрисистемный упаковщик памяти в произвольный момент времени врывается в наши точно-временные и синхронизированные с автомобилем процессы. ОС при этом, используя принцип мультизадачности, просто вышвыривает нас, или как мягко и коварно выражаются ехидные программисты Майкрософт – “вытесняет” обработку нашей задачи РЕАЛЬНОГО ВРЕМЕНИ из процессора на РАЗЛИЧНОЕ и непредсказуемое время, требуемое ОС для обработки очереди системных сообщений

Если вообще понятно и нужно рядовому пользователю то на описание чего, я сейчас трачу свое и без того сильно ограниченное время

Проще для непрофессионалов скажу так

·       у Вас Pentium I - это не плохо, через100 лет можете его сдать в музей и сказочно разбогатеть на этом. Уже сейчас можете играть на нем в карты, набирать что-то в текстовом редакторе, рисовать, даже архивировать файлы и кодировать звук - все это прекрасно, это внутренние процессы передачи данных между вычислителем (CPU) и памятью (RAM) – они, как правило, идут очень быстро и совершенно не затрагивают периферийных устройств (портов ввода-вывода)

·       у Вас Pentium 4 - еще лучше, все перечисленные задачи будут выполняться еще быстрее. Но стоит Вам использовать постоянную обработку прерываний, например с COM порта в режиме реального времени и сразу все Ваши вычислительные возможности (преувеличенно раздуваемые продавцами ПК) становятся по уровню, эквивалентны старичку 386SX, в самом лучшем случае, если уже и не вспоминать о давно ушедшей эре AT 286

Конечно, мощный процессор это огромное преимущество, но и его может не хватить для решения подобных задач

- Здесь может возникнуть вопрос, а как же VAG-Scan работал на 486?

Да, работал, но в 16-разрядном режиме, а потом обратите внимание на весьма редко помигивающий индикатор на адаптере связи с программой VAG-Scan, и на почти не погасающий тот же самый индикатор в системе LAVScan, и Вам сразу все станет ясно

Кроме того, ОС Windows 98 (только под нее мною была разработана прежняя система VAG-Scan) не идет ни в какое сравнение с ОС Windows 2000/XP для LAVScan, которая работает более плотно, без дыр и простоев производительности (конечно, при нормально спроектированных задачах). Задача LAVScan (как кажется автору), спроектирована достаточно плотно и не предоставляет процессору даже малейшего шанса на отдых или простой в момент установки и поддержания связи с автомобилем

К примеру, можно сказать, что если вывести загрузку процессора на экран во время тестирования автомобиля, то на Pentium 4 Northwood 1800 МГц (у автора разогнан до 1900 МГц) она не опустится ниже 95% ни в одном из случаев. Всем известно, что наиболее интенсивно загружают процессор игры, выполненные в высоком разрешении экрана, на ПК автора такие игры приводили к нагреву процессора до температуры 49-50 (52) градуса, интенсивное же сканирование автомобиля доводило температуру процессора до 54-55 (59) градусов при тех же самых условиях. Кстати, это на ОС Windows 2000, в которой (в отличие от более старых ОС Windows 98SE/ME) используется интеллектуальное управление энергопотреблением процессора, за счет чего, температура кристалла в данной ОС гораздо ниже в фоновом режиме, чем на OC Windows 98

Эти длинные предложения были написаны с тем, что бы Вы поняли целесообразность индивидуальной настройки регуляторов изменения приоритета для каждого конкретного ПК, но не доводили верхний регулятор до крайне правого положения режима реального времени. Программа LAVScan в этом случае будет прекрасно работать и держать связь, да вот только Windows на Вас сильно обидится за то, что Вы лишаете ее преимуществ и незаслуженных ею по праву приоритетов. Сначала она перестанет реагировать на мышь, затем на клавиатуру, потом на пользователя, да и вообще на весь окружающий ее мир…

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

Следуем далее...