Пишем лог на SD карточку

Обсуждение аппаратной части ("железо"). Discussion about hardware.

Moderator: STC

serge__5518
LQFP112 - Up with the play
Posts: 200
Joined: Sat Jun 09, 2012 11:12 am

Re: Пишем лог на SD карточку

Post by serge__5518 »

KOT wrote:у меня консоль ругается на отсутствие библиотеки BORLNDMM.DLL
Выставил по памяти настройки компилятора, не было возможности проверить на другом компьютере без инсталлированного Builder'а -(. Исправлю.
KOT wrote: и протеус ругается на outside of ROM space загружал в него ProteusLoggerSD.d90
Ты имеешь ввиду сообщение Simulation Log.
Там указан PC=0020. Сама программа (main()) начинается с PC= 0040 (InitDevice()). Отследить , что там происходит нет возможности. Так, что спишем это на заморочки IAR -)
Симуляция то работает?
Last edited by serge__5518 on Tue Oct 09, 2012 3:36 pm, edited 1 time in total.
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Пишем лог на SD карточку

Post by STC »

Выставил по памяти настройки компилятора, не было возможности проверить на другом компьютере без инсталлированного Builder'а -(. Исправлю.
Наверное стоит Debug, а нужно Release.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
serge__5518
LQFP112 - Up with the play
Posts: 200
Joined: Sat Jun 09, 2012 11:12 am

Re: Пишем лог на SD карточку

Post by serge__5518 »

STC wrote:
Выставил по памяти настройки компилятора, не было возможности проверить на другом компьютере без инсталлированного Builder'а -(. Исправлю.
Наверное стоит Debug, а нужно Release.
Builder по умолчанию компилирует исполняемый файл с внешними библиотеками. Просто переключив на Release от них не избавишься -). В общем это поправимо -)
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
serge__5518
LQFP112 - Up with the play
Posts: 200
Joined: Sat Jun 09, 2012 11:12 am

Re: Пишем лог на SD карточку

Post by serge__5518 »

serge__5518 wrote:
KOT wrote:у меня консоль ругается на отсутствие библиотеки BORLNDMM.DLL
Поправил. Проверил на компе без Buildera - должен работать.
Скомпилировал LoggerSD с функциями чтения и удаления файлов.
Размер пошивки вырос на ~400 байт.
Как работают - не опробовал.

STC
Если не затруднит, напиши пару слов о том как считать и записать рабочие таблицы и настройки из SECU.
Если я правильно понял, для чтения и записи таблиц используется EDITAB_PAR.
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
KOT
LQFP112 - Up with the play
Posts: 188
Joined: Fri Apr 06, 2012 6:59 pm
Location: Ukrainian, Zaporozhye
Contact:

Re: Пишем лог на SD карточку

Post by KOT »

Ага экзешник запускается, ожидал увидить в менеджере настройки протокола, но увы :(
serge__5518 , а можно тебя попросить сделать прошивку для меги 8 или 88, но только чтоб протокол был следующий:
Мега шлет "A" а в ответ ей приходит где-то 19-25 байт, эти байты писались ASCII символами в текстовый файл на SD карту, в общем перед каждым запросом (A) делать возврат каретки в файле и писать новую строку из X(19-25) количества байт, скорость обмена 19200, запросы раз в 0,1 секунды .
Я потихоньку начал штудировать SD карту, но думаю с моей ленью и знаниями програмирования дотяну только до записи байт последовательно сд карту, без поддержки фат и текстовых файлов...
serge__5518
LQFP112 - Up with the play
Posts: 200
Joined: Sat Jun 09, 2012 11:12 am

Re: Пишем лог на SD карточку

Post by serge__5518 »

KOT wrote:Ага экзешник запускается, ожидал увидить в менеджере настройки протокола, но увы :(
serge__5518 , а можно тебя попросить сделать прошивку для меги 8 или 88, но только чтоб протокол был следующий:
Мега шлет "A" а в ответ ей приходит где-то 19-25 байт, эти байты писались ASCII символами в текстовый файл на SD карту, в общем перед каждым запросом (A) делать возврат каретки в файле и писать новую строку из X(19-25) количества байт, скорость обмена 19200, запросы раз в 0,1 секунды .
Я потихоньку начал штудировать SD карту, но думаю с моей ленью и знаниями програмирования дотяну только до записи байт последовательно сд карту, без поддержки фат и текстовых файлов...
Про какие настройки протокола ты говоришь?
Насчет прошивки, надо конкретнее указать (расписать) пакет который приходит в логер.
Тк данный логер "заточен" под SECU он ждет ответа в определенном формате(в данном случае - префикс команды и символ окончания посылки).
Скинь пример обмена.
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
KOT
LQFP112 - Up with the play
Posts: 188
Joined: Fri Apr 06, 2012 6:59 pm
Location: Ukrainian, Zaporozhye
Contact:

Re: Пишем лог на SD карточку

Post by KOT »

Да я просто хотел возможно прописать свой протокол, верней не мой, а мегасквирта.
Пример в личку сброшу, в секу дуплексная связь в мегасквирте полудуплексная, без запроса блок ничего не шлет.
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Пишем лог на SD карточку

Post by STC »

serge__5518. Параметры системы хранимые в EEPROM с точки зрения протокола обмена разбиты на группы. Для каждой группы свой пакет с данными. Для передачи данных, связаных с таблицами редактируемыми в реальном времени используется пакет под названием EDITAB_PAR. За один раз нельзя передать всю таблицу если она большая. За один раз передается не более 16 байт. Таким образом, данные передаются по кусочкам. В пакете указывается номер набора таблиц, тип топлива, смещение в таблице и дальше идут данные. Размер данных может быть от 1...16 байт.

При открытии окна редактирования таблиц, просто считываются все подряд таблицы. Когда пользователь перетаскивает 1 точку в таблице, то передается только значение одной точки (все как я описал выше, только 1 байт данных). Если изменяется срузу много точек, то передается больше данных.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
serge__5518
LQFP112 - Up with the play
Posts: 200
Joined: Sat Jun 09, 2012 11:12 am

Re: Пишем лог на SD карточку

Post by serge__5518 »

STC wrote:serge__5518. Параметры системы хранимые в EEPROM с точки зрения протокола обмена разбиты на группы. Для каждой группы свой пакет с данными. Для передачи данных, связаных с таблицами редактируемыми в реальном времени используется пакет под названием EDITAB_PAR. За один раз нельзя передать всю таблицу если она большая. За один раз передается не более 16 байт. Таким образом, данные передаются по кусочкам. В пакете указывается номер набора таблиц, тип топлива, смещение в таблице и дальше идут данные. Размер данных может быть от 1...16 байт.
Как будет выглядель запрос к SECU на считывание таблицы газа из EEPROM ?

#define GAS 0
#define GASOLINE 1

! EDITAB_PAR GAS ?? 0-15 0....0 (16байт)\r
* d A B CC (data) \r

?? Код таблицы в наборе. Здесь я не понял, их в EEPROM всего две
и они выбираются параметром 'A' .
Насчет поля (data) тоже непонятно. Как SECU разберется, что я запрашиваю данные , а не изменяю таблицу? Как различаются команды чтения и записи таблицы EEPROM ?

Можно дать пример последовательности команд?
1) Прочитать таблицу EEPROM для газа
2) Прочитать таблицу EEPROM для бензина

Немного сумбурно, но сам пока слабо представляю детали....
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Пишем лог на SD карточку

Post by STC »

1). В ОЗУ есть место для 2-х наборов таблиц. Один для газа, другой для бензина. Загрузка выбранных наборов таблиц происходит при запуске прошивки. По понятным причинам как для газа, так и для бензина можно загрузить 1 из 8 наборов хранимых во FLASH или 1 из 2 наборов хранимых в EEPROM, а сохранить можно только в 1 из двух наборов в EEPROM. Поэтому если ты хочешь работать с EEPROM, то нужно чтобы были выбраны наборы хранимые в EEPROM.
2). 1 набор таблиц состоит из: таблицы для пуска (16 точек), таблицы для ХХ (16 точек), таблицы для рабочего режима (16*16 точек), температурной коррекции (16 точек).
Редактирование наборов таблиц хранимых в ОЗУ производится через обмен пакетами EDITAB_PAR.
3). Код таблицы в наборе это то, что я описал в п.2
4). Пакет EDITAB_PAR содержит данные которые нужно записать по указанному адресу в указанную таблицу указанного набора или прочитать. Для чтения и записи пакеты выглядят одинаково.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Post Reply