Отговори на тема  [ 196 мнения ]  Отиди на страница Предишна  1 ... 10, 11, 12, 13, 14  Следваща
Комуникационен интерфейс на Audi 80 B4 1.9TDi ? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Окт 15, 2006 8:01 pm
Мнения: 46
Мнение 
Цитат:
Ти докъде стигна с дисплея? Доставиха ли ти го? Хайде, пиши


Моя пристигна миналата седмица, но още не ми е останало време да го пробвам. Засега работя само през симулатора. Библиотеката за дисплея я взех от нет-а и преработих някои неща по нея. Засега вадя текст с няколко шрифта но не намирам добри шрифтове по-малки от 5х7. На дневен ред е чертането на правоъгълници и кутиики :)

Цитат:
Според мен трябва да ползвам ks0108.c, но дава възможност 64х64 точки ...

Тъй като дисплеите от този тип са със два чип-а 2х 64х64 може би затова в библиотеката имаш ограничение. Предполагам че трябва да има някаква функция chipselect(left/right) или нещо от рода.

Странното при мен е че не успявам да чета информация от дисплея. Не знам дали в симулацията е проблема или в библиотеката ми. Пиши при теб дали става. Проблема е че когато искам да нарисувам pixel не мога да прочета кои пиксели са вече "запалени" на съответния page (byte). Резултата е че се показва точката но тези които са се виждали досега се изтриват.

:idea: Тъй като си избрах нов пик с повече рам/ром реших проблема като си заделих 1024 байта буфер за лцд-то. Така всички операции стават локално на контролера и в определен момент целия буфер се прехвърля на дисплея. По този начин освен всичко останало не е необходимо да се следи в коя част на дисплея съм и кой чип трябва да е избран. Избирането на чипа става при самото прехвърляне на буфера.

Следвашия път ще сложа някой скрииншот от протеус.

Мен все по-сериозно ме тревожи проблема къде ще седи този дисплей :oops: Големичък е за да пасне на DIN слот-а пък нещо не ми харесва да висят кутиики със кабели из купето :?


Пон Мар 24, 2008 11:58 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Окт 15, 2006 8:01 pm
Мнения: 46
Мнение 
Ето един скрииншот. Това в горната част е картинка заредена от ром-а а в долната част са начертани с функции.

Картинката я взех от един пример за dsPic от сайта на microchip. Мисля обаче да направя една функция дето да чете стандартни bmp файлове или поне да ги конвертира до С масив.


Прикачени файлове:
glcd.jpg
glcd.jpg [ 77.73 KiB | Прегледано 6560 пъти ]
Чет Мар 27, 2008 4:39 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Нед Мар 27, 2005 12:40 am
Мнения: 206
Местоположение: София
Мнение 
Цитат:
Моя пристигна миналата седмица, но още не ми е останало време да го пробвам. Засега работя само през симулатора. Библиотеката за дисплея я взех от нет-а и преработих някои неща по нея. Засега вадя текст с няколко шрифта но не намирам добри шрифтове по-малки от 5х7. На дневен ред е чертането на правоъгълници и кутиики

Аз съм на същия етап :P . Засега опитвам да управлявам дисплея само на Proteus, но в най-скоро време мисля да го пробвам и на живо. Библиотеката съм взел от компилатора на С (PIC C Compiler CCS) и по-точно ползвам HDM64GS12.c и graphics.c. Ще постна и една картинка :) .

Цитат:
Тъй като дисплеите от този тип са със два чип-а 2х 64х64 може би затова в библиотеката имаш ограничение. Предполагам че трябва да има някаква функция chipselect(left/right) или нещо от рода.

От опит вече установих, че това функцията си го прави автоматично, т.е. когато изчертавам пиксел с координати 0,0 например имам CS1=1,CS2=0, а когато е 64,0 - CS1=0,CS2=1, но това библиотеката го прави автоматично и не се налага аз да превключвам ръчно чипа.

Цитат:
Мен все по-сериозно ме тревожи проблема къде ще седи този дисплей Големичък е за да пасне на DIN слот-а пък нещо не ми харесва да висят кутиики със кабели из купето

Това наистина е голям проблем, защото и аз не очаквах да е толкова голям :cry: . Мисля да му направя една пластмасова кутийка и да се сложи отгоре на таблото. Малко грозно ще е ама засега не ми хрумва друго.

Цитат:
Ето един скрииншот. Това в горната част е картинка заредена от ром-а а в долната част са начертани с функции.

Браво! Поздравления, аз съм по-зле :( Не мога да изобразявам картинки

Цитат:
Картинката я взех от един пример за dsPic от сайта на microchip. Мисля обаче да направя една функция дето да чете стандартни bmp файлове или поне да ги конвертира до С масив.

Аз също намерих няколко картинки (монохромни) с 128х64 пиксела, но нещо не мога да се ориентирам още как да ги рисувам на дисплея. Намерих в нета програма (Bitmap2LCD.exe) която прави от такова *.bmp с разделителна 128х64 пиксела хедър файл *.h който представлява масив от стойности, даващи информация за картинката, но все още си нямам идея как да ползвам този хедър файл и как да показвам картинки на дисплея :( . Нещо не знам защо и примери в нета не намирам много??? Ако можеш да дадеш малко жокери, ще съм ти благодарен :wink: . Ето една картинка ориентировъчно до къде съм стигнал. То не е много (да не кажа нищо) и всичко съм чертал с функциите който са наготово дадени в библиотеките които ползвам (по-горе). Аз също успях да намеря няколко хедър фаилове на готови шрифтове, но никъде не успях да намеря функция или библиотека за четене на .bmp фаилове.[/code]


Прикачени файлове:
glcd.jpg
glcd.jpg [ 14.85 KiB | Прегледано 6539 пъти ]


Последна промяна daniel_stefanov на Пон Мар 31, 2008 10:52 am, променена общо 1 път

Пет Мар 28, 2008 2:49 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Окт 15, 2006 8:01 pm
Мнения: 46
Мнение 
Аз успях да намеря една програма която конвертира картинки към С масив. Има функция за писане на текст със произволен инсталиран на компа шрифт и с произволна големина. Най-хубавото е че е безплатна. Малко е дървена, но върши безценна работа. Казва се FastLCD:
http://www.fastavr.com/fastlcd.zip

За текст въвеждаш ascii символите които ти трябват:
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^
_`abcdefghijklmnopqrstuvwxyz{|}~

И хоп, имаш си нов шрифт 8)


Изходния формат е масив със width*height/8 байта. Картинка 32х32 ще бъде представена с масив от 128 байта като ще имаш
a[ 0], a[ 1], a[ 2] ... a[31]
a[32], .... a[63]
...
a[96] ... a[127]

Или ако ти е по-лесно може да го разглеждаш като двумерен масив a[page][width]

За Лцд-та е описано доста добре тук:
http://www.geocities.com/dinceraydin/lcd/gfxintro.htm
http://www.geocities.com/dinceraydin/lcd/gfxhowto.htm

Поздрави


Пет Мар 28, 2008 6:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение 
хммм че трябва ли ти специална програма за да генерираш картинка, защо просто не позлвате .bmp в B/W ?


Пет Мар 28, 2008 7:06 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Окт 15, 2006 8:01 pm
Мнения: 46
Мнение 
ToHu написа:
хммм че трябва ли ти специална програма за да генерираш картинка, защо просто не позлвате .bmp в B/W ?


bmp пази информацията за пикселите в друг ред. Не става просто с copy/paste. Може разбира се преобразуването да се прави от микроконтролера но ще е излишна загуба на ресурси да се прави при всяко визуализиране.

Говоря само за лцд с драйвер ks0108. за други не съм сигурен.


Пет Апр 04, 2008 12:29 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Нед Мар 27, 2005 12:40 am
Мнения: 206
Местоположение: София
Мнение 
Цитат:
Аз успях да намеря една програма която конвертира картинки към С масив. Има функция за писане на текст със произволен инсталиран на компа шрифт и с произволна големина. Най-хубавото е че е безплатна. Малко е дървена, но върши безценна работа. Казва се FastLCD:
http://www.fastavr.com/fastlcd.zip

За текст въвеждаш ascii символите които ти трябват:
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^
_`abcdefghijklmnopqrstuvwxyz{|}~

И хоп, имаш си нов шрифт


Благодаря за програмката, аз също я бях намерил някъде в нета, но не се бях сетил че мога да си направя шрифт като използвам за всеки символ bmp картинка :) . Но въпросът ми по скоро беше как вече направеният масив да го чета и изобразявам (ако е картинка) в/у дисплея. И ако има готова функция да прави това ще е добре, защото честно казано нямам много време да пиша засега :oops: .
Цитат:

Благодаря за линковете, ще намеря малко време да се запозная по добре (може би тук е отговора на моя въпрос).

Цитат:
хммм че трябва ли ти специална програма за да генерираш картинка, защо просто не позлвате .bmp в B/W ?


ToHu, точно това правя. От готова картинка .bmp (било то цветна или монохромна) я правя b/w и след това с тази програмка представям катринката която вече е b/w в 128х64 точки (колкото ми е дисплея) в масив, който вече незнам какво да правя :oops: . Удобно ли е да дадеш малко повече инфо? Благодаря!
Иначе ето малко снимки до къде съм стигнал с дисплея и борд компа като цяло. :P
Имам също един малък проблем с дисплея, който не знам как да го реша елегантно. Тъй като принципа на изобразяване при тези дисплеи е че от число правя преобразуване в стринг и след това показвам на екрана стринга при изтриване на старата стойност и показване на новата се получава едно премигване което при една стойност на екрана не се забелязва, но при всички тези и особенно на големия текст се забелязва и е доста дразнещо. Изтриването на старата стойност правя така:

var_air_temp = 0.1*values[7]*values[8]-10*values[7];
sprintf(air_temp_Text, "%f", (float)var_air_temp);
air_temp_Text[4] = '\0';
glcd_rect(0, 3, 22, 10, YES, OFF);
glcd_text57(0, 3, air_temp_Text, 1, ON);

Имам един идея която не съм сигурен че е удачна и тя е да изчертавам данните само ако има промяна, а не постоянно. Но ще го пробвам опитно и ще кажа какво е станало.
Следващото нещо са бутоните и евентуално менюта, за които не съм сигурен че ще правя защото като цяло ще разсейват човека който кара. Идеята е с натискане на бутон да променя само текста в средата (големия шрифт), а другите 4ри (в четирите краища) да са си постоянни (тези които са на дисплея в момента са примерни!!!).
Как според Вас е по-добре да се обработват бутоните??? С прекъсване да кажем през 1-2мс дали е добър вариант. Опасявам се че ако направя времето по голямо ще се наложи да натискам по 2-3 пъти за да променя меренето в средата на дисплея. Давайте идеи! Поздрави![/code]


Прикачени файлове:
glcd_1.jpg
glcd_1.jpg [ 61.33 KiB | Прегледано 6548 пъти ]
glcd_2.jpg
glcd_2.jpg [ 67.08 KiB | Прегледано 6564 пъти ]
Пет Апр 04, 2008 12:53 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Окт 15, 2006 8:01 pm
Мнения: 46
Мнение 
Може би, понеже компилатора който ползваш върши повечето черна работа не ти се е налагало да стигаш до страничната организация на паметта в дисплея. Най-добре прочети двата линка дето съм сложил горе.

Един байт от масива съответства на 8 пиксела в един page от паметта на дисплея. Ако прехвърлиш 128 байта всъщност визуализираш картинка 128x8. след това слизаш един page надолу и печаташ следващите 128 байта и така правиш за всички 8 pages (64 pixels)

:!: Трябва да се има предвид като минеш 64-тия байт да смениш CS така че да продължиш по дясната половина от дисплея.
Без примери ми е трудно да го обясня пък и те хората са го описали доста добре.

Иначе ме кефи колко бързо лепиш хардуера :wink: Аз съм повече по писането и мисля да направя 90% на симулатора и чак тогава да запоявам.
Супер изглежда дисплея.

Мислил ли си нещо за ММС? Идеята ми е да събирам статистика за няколко параметъра - примерно MAF, MAP, моментен разход. Така и така ще ги показвам.

Също така гледах ето тези http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=230235263965 джаджи и се чудя дали мога да им намеря приложение за нещо :D


Вто Апр 08, 2008 3:52 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Чет Дек 02, 2004 7:22 pm
Мнения: 140
Мнение 
Колега, как точно събуди ЕКУ-то. Аз моя скапан фиат с Бош ЕКУ пробвах какво ли не - 0х01, 0х10, 0х33, 0х15 на 5 бода, ама никакъв ефект. И по Л линията и по К линията, мълчи, като партизанин.


Чет Апр 10, 2008 3:06 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Авг 19, 2005 6:40 pm
Мнения: 9
Мнение 
Здравейте!
Оптвам се да подкарам комуникацията с ECU на Seat Ibiza 2000г. Успешно прочитам първите няколко блока, но след това ECU-то неочаквано спира да отговаря. Записах "разговора" uC <--> ECU в EEPROM-а, но не мога да разбера защо се получава така. Някой има ли идея защо се получава така?


Прикачени файлове:
car_comp_dmp.doc [31 KiB]
326 пъти
Чет Авг 14, 2008 10:22 am
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Сря Окт 13, 2004 11:24 pm
Мнения: 500
Местоположение: Стара Загора
Мнение 
decho написа:
Здравейте!
Оптвам се да подкарам комуникацията с ECU на Seat Ibiza 2000г. Успешно прочитам първите няколко блока, но след това ECU-то неочаквано спира да отговаря. Записах "разговора" uC <--> ECU в EEPROM-а, но не мога да разбера защо се получава така. Някой има ли идея защо се получава така?


можеш ли да кажеш какъв com port sniffer си ползвал


Съб Авг 16, 2008 5:56 pm
Профил YIM
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Авг 19, 2005 6:40 pm
Мнения: 9
Мнение 
forest_gump написа:
можеш ли да кажеш какъв com port sniffer си ползвал

Не съм ползвал снифер. Записах данните в EEPROM-а на PIC-а и после ги копирах от програматора в WORD и ги обработих на ръка.
Явно не спазвам някое време-закъснение. Имам по 10ms преди да пратя всеки байт и ~80ms преди съобщение, когато uC e master. Някой може ли да ми каже какви трябва да бъдат времената за KW1281? :(


Пон Авг 18, 2008 1:11 pm
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Сря Окт 13, 2004 11:24 pm
Мнения: 500
Местоположение: Стара Загора
Мнение 
Едно се бях запалил да правя четец със пик за ЕКУ на VW по KWP1281, записах със вторият ком порт на компютър на който вървеше обмена между VagCom и ECU-то , хардуера се прави много лесно за паралелното четене на обмена, доколкото си спомням нямаше строго дефинирани времена за отговор на слейва и мастера, зора беше веднъж да се запали обмена между двете, според моите анализи можеше да се забави отговора от мастера или слейва до 0.3 сек дори, и пак комуникацията не дропваше. Според мен по скоро не спазваш някое правило за правилен отговор или хардуерно пречиш на EKU то да си прочете ехото от предадената информация към mcu-то ти. Аз ползвах едно много старо ЕКУ на BOSCH от 1992г, процесора в него беше 8051 на 11.59Мхц , управлението на подаването на гориво към двигателя беше вързано към външно прекъсване от датчика на хол със най-голям приоритет и когато ЕКУ-то комуникираше със VagCom-a при обороти на 2500 комуникацията спираше по вина на ЕКУ-то , то просто нямаше ресурси да обслужва KWP1281 но като паднат оборотите комуникацията се възстановяваше!
Аз постигнах само събуждане и прочитане на серийният номер и версията на софта на ЕКУ, ползвах Atmel 89C2051, тогава писах на асемблер и всичко ставаше много бавно, бях направил софтуерен сериен порт само за предаване на прочетените данни а със хардуерният правих комуникацията кум ЕКУ.
Опитах се да намеря инфо за кодовете с които трябва да активирам подаването на информацията и подадресите за данните но намерих само някакви бегли загатки по разни стандарти но нищо конкретно за KWP1281. За събуждане изпозвах софтуерно клатене на трансмит пина на серийният порт като имитирам 5 битова дума за събуждане на ЕКУ-то за да започне комуникация със дадено устройство, било то ЕКУ, АБС, възглавници и т.н. докато не отговори с 55 или нещо подобно беше за да се синхронизира скороста на обмен на която може да предава ЕКУ-то. Накрая от отчаяние прочетох епрома на ЕКУ-то и започнах да го деасемблирам, оказа се че там са само масиви с данни за таблиците за предварението широчината на импулса и т.н. и други непонятни неща за двигателя истинската програма беше във вътрешната 4кБ памет на 8051.
После времето ми за развой се трансформира в гледане на деца и така нещата утекоха, имах желание да поработя и да го направя със pic18f2550 като данните да ги хвърля по USB и на LCD нещо като борд комп. но уви само със мерака си останах. Наскоро попаднах на това http://infoboardbg.com/ и много се изкефих даже им писах за моята кола да ли имат направена такава джаджа да си купя но досега нямам отговор незнайно защо!


Съб Авг 23, 2008 12:47 pm
Профил YIM
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Авг 19, 2005 6:40 pm
Мнения: 9
Мнение 
Проблема със забиването е отстранен. Имаше една грешка при приемането на блок от ЕКУ-то, когато няма данни :oops: . След като я отстраних и комуникацията тръгна, но беше нестабилна и прекъсваше през различни интервали. Предполагам заради грешки при приемането или предаването. Прерових нета, но не открих нищо конкретно какво се прави, когато има грешно приети данни.
Ето какво установих опитно:
При приемане на данни (ECU e master), ако сумата на изпратения байт + ехото, което се връща към ЕКУ-то е различна от 0xFF, или времето за отговор на контролера е по-голямо (в моя случай мисля, че беше около 100ms), ЕКУ-то започва да предава отначало целия блок, веднага след сгрешения байт. При предаване (ECU-to e slave), контролера трябва да следи за "правилното ехо". Ако има грешка, продължава с изпращането на блока, но не праща 0x03 за край на блока, а някакво друго число. Тогава ЕКУ-то връща блок с команда 0x0A и данни "номера на сгрешения блок", след което сгрешения блок се предава отначало със същия номер. Напр. ако се е получила грешка при предаването на блок №6, ЕКУ-то връща: 04 07 0A 06 03 (hex).
Това е от мен, надявам се информацията да е полезна, но не гарантирам че е изчерпателна и напълно вярна. Ако някой знае повече, моля да сподели!


Вто Авг 26, 2008 2:37 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Чет Дек 11, 2014 12:14 am
Мнения: 1
Мнение Re: Комуникационен интерфейс на Audi 80 B4 1.9TDi ?
Здравейте!

Съжалявам, че дигам стара тема, но искам да попитам. Има ли някой които е готов да ми направи
такъв интерфейс на Passat B5 2000-та 1.9TDI срещу заплащане и колко би ми струвало удоволствието?

Благодаря! :)


Чет Дек 11, 2014 12:17 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 196 мнения ]  Отиди на страница Предишна  1 ... 10, 11, 12, 13, 14  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни