Как мне выплюнуть массив?

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Добрый день, друзья! У меня беда -- как мне выплюнуть массив?
А суть вот в чём. Имеется некоторый МК, семейства AVR. Пока не решил точно какой. если хватит Тини13 мелкой -- чудно. Если надо клопа пожирнее, то могу пересесть на Тини2313, или Мегу8. как скажете короче. А задача такая:
Есть некоторый массив информации, который МК должен выдать последовательно. Приблизительно как:
1101011010010010101001010010101001010101010101010100101010100100101010010101001010101010100101
Ну и в таком духе. размер этого массива будет меняться. Но в целом от 10 до 100 кБайт весу. Записать могу его как в 16-ричом, так и в двоичном виде. Смотря что удобнее будет для цели.
Вопрос: как реализуется такая задача? Чтоб МК каждые 30мкс выводил одну циферку, единичку или нулик?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Так чего сложного? Заводим таймер на 30мкс, в его прерывании читаем массив, сдвигаем на 1 бит, выводим в порт, если 8 бит выперли, переходим к следующему байту... Задачка по зубам и 13й тньке, только 100к массива вы где хранить собрались?
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Если прикрутить внешнюю память, то хоть гиг информации выплёвуйте)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Внешняя память.. Это я так понял восьминогие микросхемки ЕЕПРОМа? А никто не в курсе, какого они объёма обычно, не работал с ними.
И ещё, в каком виде заливается в эти ЕЕПРОМки информация?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Да они разные бывают, от килобайта и до нескольких мегабайт. В основном 2 интерфейса I2C и SPI. Второй проще всего задействовать, можно один раз подать команду чтения и потом тактовый сигнал с периодом в ваши 30мкс, тогда с выхода микросхемы памяти будет с каждым тактом будет вылезать 1 бит вашего массива. Ну а как заливать это от протокола зависит, можно даташит посмотреть.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

А информация, которую надо выдавать последовательно имеет какие-нибудь повторения? Или это абсолютно произвольный набор данных???
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Получается можно будет сформировать HEX файл, где в 16-ричном виде будут залиты все нули/единицы, залить его в ЕЕПРОМ подходящего объёма, а потом тыкать её раз в 30мкс и переняв бит подавать его на выход. Так?
А кто нибудь знает, как эта самая ЕЕПРОМ сигнализирует что всё -- кончилась информация? И можно ли спросить её -- сколько в неё байт лежит?

Алексу: Повторений много, особенно восьмёрок. Это какбэ запись графика некоторого. Просто надо выдать его в линию сигнальную бит за битом. Варианта два -- или с ЮСБ компа, на котором лежит файл. Или залить в ЕЕПРОМ и использовать контроллер. Пока не знаю, что проще.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

В ЕЕПРОМ инфа хранится по адресам, от 0 и до 100 (например). Так что больше чем получится выжать не сможешь)))))
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Просто интересно -- как понять устройству, что пора остановиться. Допустим все биты прошли, МК продолжает пинать ЕЕПРОМку. Что она начнёт? Передавать заново, с начала?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Ну как она может выдать чего-либо, если адреса закончились)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Т.е. она начнёт выдавать нули?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Ну по идее да, вот только я не пойму, вы что, не знаете сколько байт записали?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Это будет частенько меняться.
Тогда ещё вопрос. А нельзя ли выдать всё богатство единиц и нулей с компьютера, используя ЮСБ порт? Просто всегда считал комп чем-то ужасно сложным для совмещения, а теперь подумал -- вдруг всё легче? Никто не пробовал?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Начнём попорядку, куда вообще выдаваться будет это богатство???? В смысле оконечное устройство?
Естественно можно, даже миную микроконтроллер, а используя спец-микру FT232R. На компьютере написать простенькую програмку и всё)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Сигнал пройдёт по длинной линии из двух проводков, где его примет другой МК. МК знает, что данные обновляются раз в 30мкс, и строго раз в 30мкс будет опрашивать один из выводов. Каждые 120мкс данные будут выдаваться в 4х битный ЦАП.
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Ну как вариант использовать FT232R
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

А просто так, без обвязки в лице 232 не умеет ли ЮСБшник выводить еденички/нулики под управлением некоторой программы?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.

Сообщение da-nie »

МК знает, что данные обновляются раз в 30мкс,
Не выйдет. Нужна синхронизация или игра со старт-стопом.

Но лучше скажите, что вы делаете?
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Контактная информация:
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Ну если на другом конце МК, так может организовать передачу по UART?????
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

На выходе нужно получить определённый сигнал, аналоговый. Вот я и передаю информацию для ЦАПа. Каждые 4 бита -- одна выборка.
А выйдет ли сделать ЮАРТ через 2 провода?
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Ответить

Вернуться в «AVR»