Ты RX с ТХ местами не попутал?
Осциллографом не смотрел?
Схема подключения драйвера 100% рабочая , на коммерческих адаптерах по этой схеме сделано.
Ты RX с ТХ местами не попутал?
Осциллографом не смотрел?
Схема подключения драйвера 100% рабочая , на коммерческих адаптерах по этой схеме сделано.
Последний раз редактировалось Chip; 18.06.2009 в 20:53.
Не перепутал. Но сейчас на всякий случай RX c TX я местами поменял и TX+, TX- попробовал все комбинации.
Можешь у себя код для arduino проверить, чтобы знать, что он рабочий и искать проблему в драйвере шины? Осциллографа у меня нет
А я пока осциллограф буду искать.
Прошивку сделаю, сегодня сделал настраиваемый режим read only, а также фильтрацию лога по адресам уже в адаптере. Т.к. все сообщения он передать не успевает, нужно лишнее выбрасывать. Пришлось буфер вернуть обратно до 240 байт иначе, похоже он трет другие переменные в памяти. Непонятно как этот вопрос контролировать - хватает программе доступного 1кб памяти или нет.
По расходу здесь на форуме уже выясняли какие значения чего значат. Даже плагин для центрифуги написали.
Попробовал код на Ардуино все работает, правда я без драйвера тестил , подал переменку на 8 Пин и в терминалке поскакали 10101010101010101010101
Последний раз редактировалось Chip; 19.06.2009 в 03:21.
по схеме драйвера - лучше использовать микросхему ST485 , есть еще тонкость , сигнал на-с микросхему по сравнению с схемой на кане инверсный .
Микросхему поменяем, хоть не зря панельку на плату поставил. Про входной сигнал я догадался, в программе написано:
про то что на вход может влиять уровень выходного сигнала как-то не подумал сразу.Код:// инвертируем сигнал #define INPUT_IS_SET (bit_is_clear(DATAIN_PIN, DATAIN)) #define INPUT_IS_CLEAR (bit_is_set(DATAIN_PIN, DATAIN))
Сейчас проверил, поменял инициализацию входа на:
нолики с единичками забегали. Спасибо за подсказкуКод:// AVCLan TX+/TX- write line OUTPUT DATAOUT_DDR |= 1<<DATAOUT; DATAOUT_PORT &= ~(1<<DATAOUT);
Последние обновления:
снял лог на своей машине с оригинальным чейнджером. Прояснился ряд вопросов, появились идеи. Вот логи, может кому пригодятся 16030_changer.rar, там же новые логи с головой 56042.
В итоге родилась новая прошивка avclan-mini-20090621.rar, изменения по ней:
1. Добавлены ответы на запросы головы о статусе (E0, E2, E4), но только для моей головы (т.е вида 04003143E0). Остальные не поместились
2. Добавлен ответ на запрос головы о состоянии чейджера из сервисного меню, по идее виртуальный чейнджер должен проходить проверку в сервисном меню.
3. Для экономии места убрана правльная посылка статуса при нажатии кнопок scan, rand, prt.
Столкнулся с неприятной особенностью, что прошивка не помещается в контроллер, вернее начиная с определенного размера появляются глюки в работе. Поэтому пришлось выкинуть реакцию на нажатие кнопок, новые возможности (настройки для отмены регистрации чейджера и фильтр лога выдаваемого контроллером). В общем пока нормально работает прошивка размером только 4796 байт, при 4950 уже были проблемы. Не понятно почему так мало. Бутлоадер у меня всего 1 кб.
Наверное пора переходить на arduino и его ATMega168. По задумкам в текущей плате нужно будет только микропроцессор поменять, остальное должно будет работать и с новой прошивкой.
Вот вариант этой прошивки под логический адрес чейджера 43 avclan-mini-43-20090621.rar по идее для него нужно выставить физический адрес чейджера 0240.
Я так понял, что новая прошивка уже не актуальна, в связи с покупкой комерческого адаптера, но по идее она должна нормально отвечать на запросы головы
если есть возможность, проверь пож. заработает ли новая пошивка как надо у тебя.Код:< d 120 360 04003163E0 < d 120 360 04003163E2
Еще нашел интересную особенность - штатный чейджер при включении немного другой сигнал на регистрацию
Как я понял, чейджер посылает в AVCLan запрос на регистрацию логического устройства 43. т.к. сигнал широковещательный не нужно знать адрес головы, а узнаем мы его по ответу. И скорее всего если в системе уже есть чейджер с таким номером - голова тоже об этом скажет. Таким образом можно сделать автоопределение адреса головы и логического/физического адреса чейджера.Код:< b 240 1FF 0401111343 < d 140 240 0400120103
В общем как нибудь на досуге попробую зарегистрировать в голове два чейджера с одинаковыми адресами. Посмотрим, что будет делать при этом голова и штатный чейджер.
Последний раз редактировалось ak1976; 20.06.2009 в 20:44.
Собрал данный девайс, заработал сразу на моём приусе, тока с бутлоадером туговато, шью каждый раз как надо понипрогом. Пробовал через юсб на фт232, тож работает. Но как - то со штатной навигашкой не охота юзать комп , как бы победить активацию РГБ. Моё предложение - надо осваивать паралельный порт посредством фт245, скорость будет хорошая. Ну и бутлоадер под это дело найти, а там глядишь и комерческие дрова подойдут.
В выходные сидел вспоминал-изучал басик ))
Вот что получилось, так сказать черновой вариант
Сегодняшняя поездка на работу
Последний раз редактировалось LeonVS; 22.06.2009 в 13:46.
А бутлоадер из первого поста или из этого? Рабочий последний.
Активацию RGB победить можно только эмулирую навигацию. Т.е. нужно снимать лог и повторять команды и ответы на них. Тема нужная, мне и самому не очень хочется навигацию возить, на ее место как раз компьютер хорошо поместился. Да и друг у меня сейчас CarPC собирает на приусе. У него вообще навигации нет. В общем нужно осваивать.
С ft245 вопрос спорный, учитывая что 1 бит в AVCLan передается 40 мкс, общая скорость передачи всего 25кбит/с. Вроде как скорости com-порта предостаточно, правда пока принимается сообщение, в порт ничего не шлется и остаются короткие промежутки между посылками. Но судя по даташиту даже ATmega8 на 16МГц лучше всего работает с портом на скорости 1Мбит/с, плюс буферизация на самом контроллере, да и большие скорости нужны только, чтобы считать полный лог на шине к которой подключены много устройств. После регистрации всех устройст трафик в шине падает и достаточно небольших скоростей com-порта.
Еще плюс com-порта, что в случае реализации адаптера на Arduino нужно сделать только драйвер на одной микросхеме. Вполне доступно, в отличии от пайки ft245 c шагом ног в 0,8 мм.
В любом случае проект открытый и можно легко добавить в него и такую функцию, достаточно поправить файл com232.c
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)