![]() |
![]() |
#1 |
Новый Пользователь
![]() Регистрация: 21.06.2012
Возраст: 42
Регион: 27
Сообщений: 12
![]() |
![]() Решил потихоньку добавить в свой автомобиль CarPC.
Пока до завершения проекта еще оооочень далеко, но уже есть некоторые наработки. Что имеется. Toyota MarkII 2003 г с мультидисплеем, японской навигацией и камерой заднего хода. Все это объединено по шине AVC-LAN и RGB. В инете есть достаточно информации о том, как подключить CarPC к такому дисплею и готовых устройств для этого. Но есть два НО! ![]() Во-первых, стоят они 6000+, что дороговато для одного только блока, а во-вторых зачастую эти блоки могут только подключиться к одной AVC-LAN (а эта шина связывает между собой много устройств, поэтому возможно мне захочется подключиться еще куда-нибудь, например между дисплеем (головой) и аудиосистемой). Также в машине кроме AVC-LAN есть еще одна шина - BEAN, по которой обмениваются данными ECU двигателя, панель приборов, климат-контроль и др. К этой шине тоже интересно подключиться (пока не знаю для чего ![]() Одним словом решено делать все самостоятельно (кроме самого ПК конечно ![]() Решил описывать этапы проекта максимально подробно, т.к. большинство посетителей сайта (по моему мнению) хорошо владеют паяльником и языками программирования, чтобы сделать что-то под себя. Поэтому думаю описание отдельных блоков будет полезно гораздо больше, чем фото готового изделия. Итак, первое с чего я начал, это сборка USB устройства на базе pic18F4550 и подключения его к ПК. В будущем, это устройство будет отвечать за взаимодействие между ПК и др системами авто (подключение к AVC-LAN, возможно к BEAN и OBD-II, управление какими-нить реле и пр.). Т.е. с ПК идет команда по USB, PIC18 ее отрабатывает и отчитывается. Скорости USB 2.0 более чем достаточно для взаимодействия с низкоскоростными шинами авто. Пока собрана тестовая плата по схеме usbp18f4550-pccar.zip (схема в формате DipTrace). Печатную плату не привожу, т.к. эта схема скорее прототип для старта. Микросхему P18F4550 я установил в панельку, чтобы не выпаивать ее, когда буду собирать уже рабочий вариант. Также прикладываю прошивку (P18USB.X.zip) для MPLAB.x и компилятора mplabc18-v3.47 (компилятор устаревший, но код генерит нормальный :-)) Прошивка пока делает две вещи: 1. PIC18 определяется как HID устройство в Windows 2. Позволяет обращаться через команды ввода-вывода Windows. Для работы прошивки потребуется: 1. Скачать Microchip Libraries for Applications версия 2013-06-15 (в более новой не работает...) 2. Добавить в проект в MPLAB (P18USB -> Source Files -> USB, правой кнопкой "Add Existing Item") C:\microchip_solutions_v2013-06-15\Microchip\USB\usb_device.c и C:\microchip_solutions_v2013-06-15\Microchip\USB\HID Device Driver\usb_function_hid.c. Файлы с такими же именами, которые уже есть в проекте удалить. Это делается для того, чтобы компилятор знал откуда брать эти файлы. 3. Добавить каталог C:\microchip_solutions_v2013-06-15\Microchip\Include в "Include Directories" (см mcc18-include.jpg). 4. В файле newmail.c в самом начале найти строку #pragma config PLLDIV = 2 и установить правильное значение, соотв вашему кристаллу (2 соответствует кристаллу на 8 МГц). Далее компилируем и прошиваем. В панели управления в разделе "Устройства и принтеры" должно полявится устр-во "AVC-LAN-test + SVR-meter" (Название устр-ва редактируется в файле "НrdwareProfile - PICDEM FSUSB.h". Там же и др параметры, вроде VID, PID и пр.). В функции ProcessIO после в блоке switch можно описывать взаимодействие с ПК. Там все просто. Мы получаем ReceivedDataBuffer, в котором содержаться 64 байта, отправленные нам ПК. В ToSendDataBuffer можно загрузить 64 байта на отправку. Что именно грузить и как обрабатывать входящие/исходящие данные - решать вам ![]() Теперь код для ПК (SVRmeter.zip). Это код для Visual Studio 2013. Весь код - две кнопки Button1 и BootLoader ... Окончу описание чуть позже... |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
|
|