Помогите разобраться с I2C на USI
Добавлено: Вс янв 12, 2014 11:19:46
С праздником всех!
Задача в общих чертах такая. Есть микроконтроллер и звуковой процессор. Между собой они, заразы, втихаря по I2С что-то темное замышляют. Даташитов на процессор НЕТ. А мне во что бы то ни стало нужно им порулить. Для этого решил поснифить секретные переговоры. Уверен, что нужный мне режим МК включает, но только не тогда, когда он мне нужен. Т.е. подслушав то, что мне надо я в нужный момент вывалю это аудиопроцессору и PROFIT!!!
Для снифа решил воспользоваться Attiny85. В нем есть USI, который должен существенно облегчить дело. В теории вроде все понятно. Ловим прерывание USI_START и записываем все что слышно в память. Затем переписываем добычу в EEPROM и программатором извлекаем оттуда и анализируем.
На словах-то просто, а вот с чего начать... Голова пухнуть начала. Я так понимаю, сначала USI как-то инициировать нужно? Сказать ему, что он должен работать в режиме TWI, обработчик прерываний сделать. Или я что-то не правильно понял. Подскажите, как это в atmel studio 6 сделать. Поверните хотя бы в нужную сторону и пинка дайте. Опыта у меня еще совсем мало в МК.
Задача в общих чертах такая. Есть микроконтроллер и звуковой процессор. Между собой они, заразы, втихаря по I2С что-то темное замышляют. Даташитов на процессор НЕТ. А мне во что бы то ни стало нужно им порулить. Для этого решил поснифить секретные переговоры. Уверен, что нужный мне режим МК включает, но только не тогда, когда он мне нужен. Т.е. подслушав то, что мне надо я в нужный момент вывалю это аудиопроцессору и PROFIT!!!
Для снифа решил воспользоваться Attiny85. В нем есть USI, который должен существенно облегчить дело. В теории вроде все понятно. Ловим прерывание USI_START и записываем все что слышно в память. Затем переписываем добычу в EEPROM и программатором извлекаем оттуда и анализируем.
На словах-то просто, а вот с чего начать... Голова пухнуть начала. Я так понимаю, сначала USI как-то инициировать нужно? Сказать ему, что он должен работать в режиме TWI, обработчик прерываний сделать. Или я что-то не правильно понял. Подскажите, как это в atmel studio 6 сделать. Поверните хотя бы в нужную сторону и пинка дайте. Опыта у меня еще совсем мало в МК.