Показано с 1 по 10 из 346

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #7
    Местный
    Регистрация
    04.06.2008
    Сообщений
    120
    Вес репутации
    391

    По умолчанию Re: AVCLan-mini или подключение к штатной голове Toyota

    Цитата Сообщение от Chip Посмотреть сообщение
    ak1976 ты где пропал?
    Я не пропал, все пытаюсь довести до ума адаптер на arduino. Наверно нужен свежий взгляд или просто какая-то помощь. Вообщем выкладывю, то что уже готово.
    AVCLan-arduino-20090727.rar
    распаковываем содержимое в папку с arduino, правим файл hardware\cores\arduino\WProgram.h
    Код:
    заменяем строку 
    #include "HardwareSerial.h"
    
    на
    
    #ifndef BuffSerial_h
    #include "HardwareSerial.h"
    #endif
    Теперь о том, что сделано.
    1. Написана библиотека для буферизированного вывода, через com-порт. В общем то код взят со старого адаптера, просто сделан немного правильнее. Т.к. обработчик прерывания на получение данных из com-порта может быть один, пришлось пожертвовать стандартной библиотекой Serial. Для этого и нужно править WProgram.h, при использовании BuffSerial стандартная библиотека отключается.
    2. Написана библиотека для работы с AVCLan. Для работы используется Timer2. в файле config.h нужно указать какие выводы arduino используются (7 и 8 по умолчанию) и какой используется драйвер на PCA82C250 & LM239N или на ST485. Пока стоит задача отладить работу чтения из шины, функция readMessage().

    В примере кода AVCLan_mini.pde выводятся сообщения из шины. Скорость com-портa 250000. Нестандартная выбранна по той причине, что скорость порта должна быть кратна частоте процессора, для работы без ошибок. Можно настроить com-порт и на 1M, но компонент, который я использую в терминале, больше 250000 не поддерживает. Стандартный гипертерминал не поддерживает такую скорость, поэтому я использовал putty.
    По умолчанию выводятся сообщения из шины и коды вида R2-R8 - это ошибки чтения на разных этапах приема сообщения. По идее их быть не должно.
    Если нажать кнопку P выведется счетчик переполнения буфера передачи.
    Если нажать кнопку M перейдем в режим показа длительности посылок в шине.

    За это время было много потрачено много ночей/вечеров. Пробовал эмулировать arduino в VMLAB (получилось, но исходный код не показывается, а отлаживать код на ассеблере у меня интузиазма не вызывает). Собирал драйвер на PCA82C250 & LM239N.
    Пока идеально читается шина на какой-то старинной магнитоле со Spacio 99 года. На голове 56042 уже есть пропуски. (если посмотреть длительность посылок, то встречаются посылки в 5 - 7 мкс. по идее их быть не должно). Хотя пока писал текст убрал голову (в смысле головное устройство) с блока питания и количество ошибок уменьшилось. Может дело было в помехах?

    Chip если есть возможность, сравни чтение шины arduino и комерческого адаптера. Нужно ли здесь, что-то улучшать (хотя я уже пока незнаю как)

    Теоретически отправка сообщения в шину тоже написана. В AVCLan_mini.pde посылка закоментирована. Но я даже еще не брался за ее отладку
    Последний раз редактировалось ak1976; 27.07.2009 в 20:14.

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

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

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

Ваши права

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