Стоит-ли игра свеч! Attiny13+EEPROM протокол I2C

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Сообщение king-live »

Доброго времени суток! У меня вопрос, может кто и занимался протоколированием шины I2C на МК(если у МК нет готовой шины I2C). Tiny13 имеет 1К Flash. Есть 6 портов из них 2 хочу использовать под шину I2C. Остальных 4 порта мне вполне хватит для работ, мне не хватает Flash памяти. У меня следующее:

1) Могу в МК выделить 500байт под протокол I2C, остальное пространство мне нужно для других целей.
2) Могули я целиком записывать готовые функции в EEPROM и во время работы МК по очереди считывать эти функции и работать с ними?
3) Сколько приблизительно весит готовая функция протокола I2C?

Всё это мне нужно для RGB переключений светодиодов. Если идея такая бредовая - то разясните это пожалуйста вескими аргументами, чтобы я не возвращался к этой теме. А то думаю над этим давно! Ну а если технически это возможно, то буду очень рад это реализовать в своем производстве. Спасибо!
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

500 байт - хватит. Функции небольшие.
Контактная информация:
Реклама
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Сообщение king-live »

Спасибо! А со следующим как обстоит дело?
2) Могули я целиком записывать готовые функции в EEPROM и во время работы МК по очереди считывать эти функции и работать с ними?
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

SPM - Store Program Memory - описание в help'е AVRStudio. Т.е. считывать из внешки, записывать во флеш и передавать на нее управление.
Docendo discimus
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Сообщение king-live »

Спасибо! Посмотрю описание AVRStudio!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6321
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

king-live писал(а):Доброго времени суток! У меня вопрос, может кто и занимался протоколированием шины I2C на МК(если у МК нет готовой шины I2C). Tiny13 имеет 1К Flash. Есть 6 портов из них 2 хочу использовать под шину I2C. Остальных 4 порта мне вполне хватит для работ, мне не хватает Flash памяти. У меня следующее:

1) Могу в МК выделить 500байт под протокол I2C, остальное пространство мне нужно для других целей.
2) Могули я целиком записывать готовые функции в EEPROM и во время работы МК по очереди считывать эти функции и работать с ними?
3) Сколько приблизительно весит готовая функция протокола I2C?
1) могешь
2) МК может работать только с тем, что у него во флеш-памяти программ. Нет однозначно. Если через бутлодер, так под него еще целую секцию выделять надо, да еще под работу с внешней EEPROM-кой. Овчинка выделки не стоит. Лучше МК взять чуть потолще.
3) посмотри на сайте Atmel в секции Appnotes - там есть примеры с программной реализацией I2C. Номера, кажется, 300 и 302. Не найдешь - скину из своих закромов .
Сам делал лет 15 назад, подзабыл, так что звиняй.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

Если I2C мастер, то элементарно делается программная реализация, весит порядка 400-500 байт. Если нужно I2C slave - настоятельно рекомедую контроллер с аппаратным TWI (у тини - USI) на борту, тк с программной реализацией очень сильно поколдовать прийдется, особенно учитывая, что Ваше устройство помимо I2C, еще что-то делать должно :) Посмотрите на tiny25 - вместо 13-й по ногам совместима полностью, а если плата не сделана еще, то возможности выбора расширяются :)
Все будет только лучше, в крайнем случае - хуже.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

считывать из внешней EEPROM функции и исполнять их вы не сможете, и SPM вам не поможет хотя бы по следующим двум причинам: а) число циклов записи в FALSH очень ограниченно и б) накладные расходы по "самопрограммированию" сожрут остатки памяти тиньки.

что такое вы собрались пихать в тини13 для управления RGB, что вам еще внешнее ПЗУ требуется?! я свободно на этой тиньке делал управление RGB светодиодом с плавным (и случайным) изменением цвета, причем даже с определенными извращениями (в смысле - излишествами).
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Сообщение king-live »

что такое вы собрались пихать в тини13 для управления RGB, что вам еще внешнее ПЗУ требуется?! я свободно на этой тиньке делал управление RGB светодиодом с плавным (и случайным) изменением цвета, причем даже с определенными извращениями (в смысле - излишествами).
Хотел 20-30 вариантов переключения сделать (не только плавного) У меня вмещается около 7-8 вариантов. Не хочется писать всё время на заказ, отнимает время. хотел загнать во внутрь больше вариантов, чтобы клиент сам выбирал по вкусу и оставил нужные. (с помощью кнопки на плате сохранять номер функции (вариант программы) во Flash) Вроде как получилосьбы что клиет сам прошил МК с теми вариантами которые ему нужны. Ну это чисто теоретические расчёты. В жизни бывает намного сложнее что-то реализовать. Эта разработка былабы сильным конкурентом, к китайским готовым устройствам. Стоимость готового китайского $5-$6, но выходной ток у них слабый. Вот и хотелосьбы его заместить на рынке. attiny13 это единственная дешёвая МК которая поставляется к нам на рынок Узбекистана. Всё остальное уже не конкурентноспособна.
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

king-live писал(а):Эта разработка былабы сильным конкурентом, к китайским готовым устройствам. Стоимость готового китайского $5-$6, но выходной ток у них слабый. Вот и хотелосьбы его заместить на рынке. attiny13 это единственная дешёвая МК которая поставляется к нам на рынок Узбекистана. Всё остальное уже не конкурентноспособна.
Потеснить ценой китайцев? Хотя есть способ: Вы свои изделия будете штамповать большими партиями (десятки тысяч) в Китае. Это не шутка. Мы сами так делаем.
Все будет только лучше, в крайнем случае - хуже.
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Сообщение king-live »

Такие большие партии не нужны в нашем регионе! т.к. технология не стоит на месте. Клиентам через какоето время нужно будет что-то новое, просто нужно быть на шаг впереди китайцев. Это возможно, если хорошенько продумать всё.
Опытный кот
Сообщения: 772
Зарегистрирован: Вс апр 10, 2011 02:24:06
Откуда: г.Северодонецк

Сообщение eufs »

king-live писал(а): Всё это мне нужно для RGB переключений светодиодов. Если идея такая бредовая - то разясните это пожалуйста вескими аргументами, чтобы я не возвращался к этой теме. А то думаю над этим давно! Ну а если технически это возможно, то буду очень рад это реализовать в своем производстве. Спасибо!
Когда я такое делал( на мк51) я использовал систему макроязыка для описания эффектов. Суть сводилась к следующему: если старший бит 1, то все остальные являются командой, если 0 - остальные биты - описатель состояния выходного порта. Среди команд было:
- управление скоростью
- описатели циклов (количество воспроизведений заданного участка световой программы) и еще какие-то,уже не помню
Делалось устройство на 4 канала.
Обработчик элементарный. Сама программа переключений в виде таблицы легко пишется и модифицируется.

Выдрал модуль и2с из одного проекта на авр. Может чем поможет.
Вложения
i2c.txt
(1017 байт) 649 скачиваний
C0FFEE=‭12648430‬
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2360
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

coredumped писал(а):с программной реализацией очень сильно поколдовать прийдется
Это почему?
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Прорезались зубы
Сообщения: 238
Зарегистрирован: Сб янв 29, 2011 20:26:48

Сообщение king-live »

Спасибо! Начну писать, а там посмотрим. Если даже не получится что я задумал, то хотябы знания останутся. А знание на сегодняшний день - это сила.
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

Dmitry Dubrovenko писал(а):
coredumped писал(а):с программной реализацией очень сильно поколдовать прийдется
Это почему?
Вы slave программный делали? Если у Вас транзакции идут с паузами, то все более-менее работает, а если на шине полно устройств, с разными адресами, и обмен идет интенсивный? Если у Вас есть готовое, работающее, решение - снимаю шляпу!
Все будет только лучше, в крайнем случае - хуже.
Друг Кота
Аватара пользователя
Сообщения: 15595
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

вообще-то спор излишен
есть прекрасно проработанные варианты исполнения светодинамики на 8-20-выводных кристаллах (AVR,PIC&MCS51)
притом базовый фрагмент программы весьма короткий. а переписывать приходится исключительно прикладной участок по эаранее заданным характеристикам ДЛЯ КОНКРЕТНОГО ПРИМЕНЕНИЯ, что весьма быстро и просто(хош встроенный. хош из внешнего ПЗУ - но такого еще не требовалось на практике)
однако... пока что это коммерческий проект... хотя и потребность не очень велика 2-3 конструкции в год... :cry:
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

BOB51 писал(а):а переписывать приходится исключительно прикладной участок по эаранее заданным характеристикам ДЛЯ КОНКРЕТНОГО ПРИМЕНЕНИЯ, что весьма быстро и просто(хош встроенный. хош из внешнего ПЗУ - но такого еще не требовалось на практике)
однако... пока что это коммерческий проект... хотя и потребность не очень велика 2-3 конструкции в год... :cry:
Да, хорошая идея :idea: Написать интерпретатор, а сценарии можно держать и во внешней епромине.
Все будет только лучше, в крайнем случае - хуже.
Друг Кота
Аватара пользователя
Сообщения: 15595
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

в большинстве случаев даже tiny12 вполне достаточно 8)
а вот для ПИКов - весьма плохо, разве что для 16f688-подобных :cry:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2360
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

coredumped писал(а):Вы slave программный делали? Если у Вас транзакции идут с паузами, то все более-менее работает, а если на шине полно устройств, с разными адресами, и обмен идет интенсивный?
Так будет ограничение по скорости, это - да.
А в остальном-то, в чём проблема?
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

Dmitry Dubrovenko писал(а):Так будет ограничение по скорости, это - да. А в остальном-то, в чём проблема?
В этом как раз и проблема. TWI/I2C и без того не быстрая шина.
Все будет только лучше, в крайнем случае - хуже.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»