|
I2C анализатор |
|
|
|
Aug 4 2006, 06:06
|

Участник

Группа: Участник
Сообщений: 31
Регистрация: 26-05-05
Из: Севастополь
Пользователь №: 5 391

|
Доброго времени суток. Есть необходимость собрать анализатор шини I2C.
Анализатор должен собирать всю информацию о шине, т.е. все возможные временные параметры, такие как длительность единиц, длительность нолей, частота следования клока, качество старт и стоп условий, нарастание-спад уровней, время удержания акнолоджеса ведомым, возникновения коллизий на шине (хотя едвали получится, из-за специфики работы мультимастера). Так же вся собранная информация + сами данные должны передаваться в компьютер по рс-232.
Ничего сложного нет, как говорится: бери да пиши... НО Аппаратный I2C AVR не обладает всеми нужными ф-циями, им можно только данные собирать. Следовательно нужен програмный I2C. Но сильно сомниваюсь, что програмный и2ц сможет отслеживать шину, работающую на полной скорости (до МГц или хотя бы до 400 кГц клока).
Вопрос: что посаветуйте, может стоит воспользоваться более скоростным камнем? Или может собрать часть анализатора на жесткой логике? Может у кого был подобный проект?
|
|
|
|
|
 |
Ответов
|
Dec 22 2006, 01:30
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(SasaVitebsk @ Aug 5 2006, 14:05)  Аппаратный не подойдёт. Там же надо адрес забивать. А если он не известен?
Посмотри мой проект PULT I2C. В исходниках. Там 2313 работает в качестве SLAVE програмным способом. Вам только прерывание надо разобрать. На 12М по-моему до 100кГц работала. Конечно переделать предётся, но посмотреть можно. Цитата(bodja74 @ Aug 5 2006, 14:05)  Согласен с Whale Тоже была мысля сделать монитор И2Ц,кинулся на меги там только фиксированный адресс и общий, а на тини2313 адресации нет и сам USI попроще чем TWI у мег. По пинам можно в цикле читать длительность,а по прерыванию паковать байты,жаль только что нет флажка или прерывания СТОП и протокол шины не привязан к частоте,можно управлять хоть тумблерами ,поэтому расчет длительности может быть только в определенных пределах. В любом случае ,если что получится пишите мне на личку,мне тоже эта тема интересна. Да господа. Но времена меняются. Обратите внимание на регистр маски (TWAMR) для МК Atmega88. И мой проект красиво ложится на аппаратные возможности данной микрухи. Жаль что на момент написания её ещё не было.  Таким образом можно (уже можно) отвечать на любой адрес и делать програмный монитор I2C. (Конечно без тайминга зато на достаточно высокой скорости). Это конечно прекрасно, что разработчики AVR учитывают пожелания разработчиков (уж не знаю как они до них доходят), но это возвращает нас к уже состоявшемуся разговору о серьёзной непродуманности многих решений и внесении заплаток "на ходу". Что плодит множество решений при ощущении отсутствия общего подхода. А с точки зрения программиста, серьёзно усложняет написание и заимствование библиотек. Надо непрерывно следить за новыми кристаллами. Трудно предугадать что ещё они там подкинут. Давайте же выпьем за ATMEGA888!
|
|
|
|
|
Dec 25 2006, 01:18
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(bodja74 @ Dec 23 2006, 22:06)  Я уже давно хлопаю глазами на эту линейку,в дополнение скажу есть куча ШИМ и возможность внешнего прерывания практически от каждой ноги,что решает очень много проблем по перехвату внешних событий .Жаль инфы на русском по ним мало,на досуге сделаю себе компьютерный перевод. А чего хлопать, я её уже применяю потихоньку. Пока правда как замену M8 так как в DebugWare работает и отлаживается великолепно. Но скоро можно и так применять. Разница в цене 0.2$ приблизительно. А все нюансы всё равно обнаруживаются когда работать по-настоящему начнёшь. А от перевода нифига в голове не остаётся. Я вот сейчас на ней интерфейсную часть делаю и по I2C отвечает, так вот - столкнулся. А в соседней ветке написано, что из проги можно фузы читать. А ты, как я вижу, здорово с ШИМами работаешь и скоро нам интересных новостей из этой области подкинешь!
|
|
|
|
Сообщений в этой теме
Woodoo I2C анализатор Aug 4 2006, 06:06 beer_warrior Сильно зависит от точности, если хватит 10-20 сэмп... Aug 4 2006, 07:17 vanner Пробовал сделать более простой анализатор, отлов с... Aug 4 2006, 13:58 Tiro Уважаемый Woodoo!
Цитата(Woodoo @ Aug 4 ... Aug 4 2006, 15:19 SasaVitebsk Цитата(Woodoo @ Aug 4 2006, 09:06) Доброг... Aug 4 2006, 19:17 defunct Цитата(SasaVitebsk @ Aug 4 2006, 22:17) Т... Aug 4 2006, 21:35 WHALE Цитата(defunct @ Aug 5 2006, 01:35) Цитат... Aug 5 2006, 03:38 ValeraK Цитата(Woodoo @ Aug 4 2006, 12:06) Или мо... Aug 8 2006, 04:35 yarunt Есть готовый вариант Dec 21 2006, 14:30 andr_doy Собрал вот такой
работает - очень помог (покруче б... Dec 22 2006, 15:43 SasaVitebsk Цитата(andr_doy @ Dec 22 2006, 15:43) Тем... Dec 22 2006, 22:58  khach Проще всего конечно анализировать двухканальным ци... Dec 23 2006, 15:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|