EugenArt

описание протокола IP-BUS фирмы pioneer

2 сообщения в этой теме

EugenArt    0

Всем доброго времени суток!

в поиске не смог найти инфо, поэтому создал тему, не ругайте, если ошибся с веткой.

Идея следующая, есть автомагнитола deh-3600MP c выходом Ip-bus.Хочу подружить магнитофон с мп3 плеером (есть от фм-трансмиттера, завтра куплю платку отдельного мп3). Сразу подчеркну, что хочу управление плеером (треки, теги, пауза и т.д) с головного устройства.

предполагаю схему так:  ip-bus - avr - mp3 player.

алгоритм avr-mp3 несложен и открыт, а вот описание протокола ip-bus нигде нет, форум витат.спб уже изучил, есть кусок кода работы авр и ip-bus, но не очень понятно, может подскажете набор команд ip-bus или что происходит по событию нажатию кнопки вперед/назад.

Заранее благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mr_smit    29
В 27.08.2017 в 15:31, EugenArt сказал:

а вот описание протокола ip-bus нигде нет

И не будет.

Я недавно интересовался темой. Даже собрал сниффер шины на STM32 (между Pioneer 88 и CD чейнджером). Но поскольку это просто интерес, то пока времени на продолжение не нахожу.

Эта шина на основе IEBUS. Фирма NEC в одном из своих datasheet дала спецификацию на этот протокол. Т.е. теперь выделить данные на шине не проблема, проблема понять что за информация там передается. Тут только сидеть и анализировать. А это долго и муторно. Поэтому пока мне лень этим заниматься.

скрин.jpg

datasheet.pdf

Изменено пользователем mr_smit
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Alexey104
      Всем привет!
      Возникла следующая проблема:
       
      Есть две ардуины 'Mega2560'. По несчастливому стечению обстоятельств данные платы попали в руки одному чуваку, который, вернув их, заявил, что они перестали работать после того, как он "чисто ради интереса" поковырял на обеих некоторые фьюзы. Есть у меня такой китайский usbasp v2 программатор:
      Подключив данный девайс к ICSP-пинам первой платы, удалось без проблем восстановить на ней загрузчик через стандартную Arduino-IDE, после чего работоспособность платы полностью восстановилась. Но вот при попытке сделать то же самое со второй платой, получаю это:
      Такое же сообщение получаю при попытке зашить загрузчик в неподключенную к программатору ардуину, то есть программатор вообще не видит МК. Плата прекрасно работала до того, как вышеупомянутый товарищ покрутил настройки фьюзов.
       
      Что я пытался предпринять:
      Замыкал пины JP3 программатора, отвечающие за понижение скорости, подключал к ардуине 5V от внешнего источника при прошивке загрузчика, - не помогло.
       
      Поиском пользоваться умею, аналогичную тему тут находил, но там проблема была в том, что парень неверно подключал программатор к контроллеру. В моём же случае всё подключено верно, повторюсь, что загрузчик первой платы этим же программатором был восстановлен успешно.
      Буду рад любым советам касательно того, как восстановить работоспособность платы.
       
       
       
    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: ShimkoMax
      Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно выводит 0 на дисплей:
      Main.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include "globals.h" #include "LCD_lib.h" #include "twi.h" // I2C #include "sht21.h" int main(void) { I2C_Init(); _delay_ms(100); LCD_init(); char buffer[20]; roomAdrInit(); SHT21_reset(); while(1) { SHT21_reset(); LCD_sendString(itoa((int)get_temperature(), buffer, 10), 4, 0, 0); _delay_ms(1000); } } twi.c:
      #include <avr/io.h> #include "twi.h" void I2C_Init(void) { TWSR = 0; TWBR = 0x20; TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); } void I2C_SendByte(uint8_t data) { TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); } unsigned char I2C_ReadByteAck(void) { TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); while(!(TWCR & (1<<TWINT))); return TWDR; } unsigned char I2C_ReadByteNak(void) { TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); return TWDR; } sht21.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "twi.h" #include "sht21.h" void SHT21_reset() { unsigned char reg[1]; reg[0]=SHT21_reset_cmd; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); _delay_ms(100); } uint16_t checksum(unsigned char data[],uint8_t byte, uint8_t check) { uint8_t crc=0; uint8_t bytectr,bit; for (bytectr=0; bytectr<byte;bytectr++) { crc^=(data[bytectr]); for (bit=8;bit>0;bit--) { if(crc&0x80) { crc=(crc<<1)^polynomial; } else { crc=crc<<1; } } } if (crc!=check) { return 0; } else { return data; } } void write_user_register() { unsigned char reg[3]; reg[0]=user_register_write; reg[1]=0x44; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); } uint16_t read_value(uint8_t reg) { char data[4],crc; uint16_t result; data[0]=reg; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(reg); I2C_StartCondition(); I2C_SendByte(SHT21_i2c_read); data[1] = I2C_ReadByteAck(); data[2] = I2C_ReadByteAck(); crc=I2C_ReadByteNak(); I2C_StopCondition(); result=(data[1]<<8) | data[2]; checksum(result,4,crc); result &= 0xFFFC; return result; } float get_humidity() { //char buffer2[4]; uint16_t hum_value = read_value(humidity_hold_mode); return -6 + 125.0 / 65536.0 * hum_value; //dtostrf(rh,5,2,buffer2); _delay_ms(100); } float get_temperature() { //char buffer1[4]; uint16_t temp_value = read_value(temperature_hold_mode); return -46.85 + 175.72 / 65536.0 * temp_value; //dtostrf(tc,5,2,buffer1); _delay_ms(100); }  
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

    • Автор: Stratix
      Здравствуйте, у меня проблема с прошивкой разных устройств из-за программаторов. Дело в том что у меня есть некоторое количество китайских и самодельных программаторов для разных производителей, с ними постоянно какие-то проблемы, некоторые отказываются нормально работать на windows 10(другие версии ПО не устраивают), другие не работают с последними версиями сред разработки и т.д. Так же нужно прошивать схемы памяти. Хочу прошивать устройства без постоянной сборки программаторов и неудобств. Думаю о двух вариантах: взять оригинальные программаторы для всех производителей: altera, xlinx, arm, pic, avr(некоторые найти сложно, например оригинальный usb-blaster и высокая стоимость в сумме), второй вариант: взять универсальный программатор, который бы поддерживал все новые микросхемы, а вот с этим проблема, большинство универсальных программаторов не шьют stm, плис. Есть ли вообще реально универсальные программаторы? Мне было бы намного удобнее если на столе б лежал один программатор, а не куча. Смотрел список микросхем chipprog-48, пока что самый большой, к сожалению не поддерживает новые fpga, например: cyclone IV. Связывался, сказали что поддержки не будет и в будущем. Стоит ли взять chipprog-48 в 2018 году или есть программаторы лучше, с большим списком микросхем?
  • Сообщения

    • Регулировки АЧХ вообще то предназначены исключительно для подстройки звукового тракта под помещение и к электрической части отношения не имеют.
    • Всё это я учил. Но ты - то что хвастаешься? Если одну экспоненту, и ту не осилил? Зачем тебе преобразование Лапласа и интеграл Дюамеля? Видишь, ли смысл науки - в простом. А простое, ты не понимаешь. Например, ты не понимаешь, что график падающей экспоненты - это график накопительной отрицательной обратной связи.  А правило Ленца - это "знак минус"  при коэффициенте k   всё той-же экспоненты. И что таких экспонент должно быть столько, сколько уровней энергий. Для магнитных процессов - это закон самоиндукции. Ещё для электрических процессов - это заряд-разряд конденсатора,.  Для тепла - это закон Ньютона-Рихмана. В механике  тоже есть такая экспонента - это закон инерции. Но она там не похожа на эти. Тут надо мыслить уметь. А ты мыслить не умеешь. Только гордишься прикладной частью физики и математики. Физ-мат - он  создан бездумными идиотами, которые не  смогли   понять что такое обратная связь. И знак минус (правило Ленца) они связывают с чем угодно, но только не с НООС (накопительной отрицательной обратной связью) .
    • Что ж ты, Валера, загрустил? Не осилил предложенную литературу по ТОЭ?  Это тебе не физика для первого семестра... Тут математика несколько другого уровня. Толи еще будет в разделе переходных процессов.... 
    • Я эту шнягу не смотрнл. Узнай что это за самолёт, какой двиган на нём стоял и посмотри способы его завода. 
    • В фильме"Полет Феникса" происходят следующие события: Самолёт, который назвали Фениксом, наконец доделан. Таунс, желая достать из рюкзака Эллиота карту, натыкается на брошюру компании, в которой работает Эллиот. Выясняется, что на самом деле Эллиот никогда не конструировал настоящие самолёты — он занимался производством игрушечных моделей. Лагерь в отчаянии. Иэн хватает револьвер и предпринимает попытку застрелить Эллиота, однако не решается и Таунс его останавливает. Начинается буря. В потоке ветра все видят, что самолет вполне способен взлететь, если его удастся завести. С нескольких попыток когда самолёт, наконец, заведён, команда видит монголов с ружьями, которые мчатся прямо на них. Но всё же им удается спастись. На фоне заката герои летят к нефтяной вышке. Вопрос: Что за картриджи использует главный герой(с зарядами) при попытках завести двигатель?
    • Если по всяким интернет - помойкам лазить, ещё и не такое будет.