Eugene315

Передача данных во время вычислений.

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

Eugene315    6

Немного общий вопрос.

Есть atmega328 которая постоянно генерит PAL/SECAM сигнал на телевизор. Она берет буквы из памяти и выводит их на экран тв.

Каким образом можно записывать(передавать с другого устройства) новые данные( новые буквы) без прерывания генерирования видеосигнала, если исключить синхронизацию между atmega328 и передающим устройством( т.е. чтобы передатчик просто закидывал данные и не думал о том, что происходит дальше по линии)

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
elki    60

Я думаю тут было бы уместно использовать DMA, но в мегах его нет. Сам не очень силен в программировании, только учусь, гуру придут подскажут что то более дельное.

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


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

Возможно было бы поставить общую SRAM, однако решение не совсем оптимальное - у atmega хватает своей памяти, и лишняя память - не очень хорошо.

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


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

А в чем проблема-то? На относительно небольшой скорости USART - чем не вариант? 9600 бод достаточно для текстовых "дисплеев", а в этом случае обработку прерываний можно вести во время обратного хода луча или в "темных" зонах (в т.ч. межкадровых интервалах)...

И такие реализации есть, и не одна.

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


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

Да, я видел такое, но не до конца понял. в atmega UART регистр на 1 байт. Предположим я хочу передать 8 букв по 1 байту каждая. Если я буду делать это пока рисуется картинка, то получается что 7 букв уйдут вникуда, а atmega обработает только последнюю?

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


Ссылка на сообщение
Поделиться на других сайтах
Yurkin2015    248
28 минут назад, Eugene315 сказал:

в atmega UART регистр на 1 байт

Передавайте по одному байту. После передачи каждого байта ждите подтверждения от atmega, что байт принят и регистр освободился.

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


Ссылка на сообщение
Поделиться на других сайтах
ARV    212
Только что, Yurkin2015 сказал:

После передачи каждого байта ждите подтверждения от atmega, что байт принят и регистр освободился

Зачем?! Нет, можно и так, конечно, но, простите, вы сколько собрались принятый байт обрабатывать?! это ведь доли микросекунды, за это время у вас на дисплее в строке и одна точка не отрисуется!

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


Ссылка на сообщение
Поделиться на других сайтах
29 минут назад, Eugene315 сказал:

Есть atmega328 которая постоянно генерит PAL/SECAM сигнал на телевизор

А вы ничего не напутали? Может кодер PAL/SECAM всё же отдельно?

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


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

Все методы выше подразумевают, что передатчик должен спрашивать у приемника, чего мне крайне бы не хотелось. PAL/SECAM отдельно, я уже не помню что у меня там генерит, саму плату я давно не запускал, просто думаю пока, как реализовать.

 

@ARV Так там каждую новый такт происходит прорисовка, даже если частоту уменьшить, вы предлагаете успевать все данные передать за 1/(8*10^6) секунды?

Изменено пользователем Eugene315

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


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

Я вам сказал уже: принимаются байты во время обратного хода луча и в темных промежутках между кадрами. Там достаточно времени для обработки принятого по прерыванию байта. За 512 или сколько там строк в PAL вы сможете принять и обработать 512 байт данных. 

В общем, отсылаю вас к истокам, изучайте, как делали другие: http://www.rlocman.ru/shem/schematics.html?di=63872 

https://www.mikrocontroller.net/topic/53140

 

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


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

Вообще по факту, у контроллера ДВА байта на приём, пока идёт приём второго байта контроллер может ещё держать первый в буффере т.е. контролер может пережить паузу между считыванием данных с UART чуть меньше чем время передачи двух байт. На скорости 9600 бод это... эгеж! Целых две милисекунды! Сколько там строк за это время пронесётся по экрану?

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


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

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сообщения

    • Бритва бритве - рознь! У лбой бритвы - два острия  Конкретно в моей схеме - дополнительный корпус полностью задействован, как и большая часть архитектуры МК. Считаю, что это, с точки зрения старины Оккама, разумнее, нежели чем ставить в простенькую схемку какую-нибудь 64-ю мегу, и бросать на воздух большую част ее счетчиков, модулей АЦП, приемо-передатчиков и пр. Дело тут, конечно, не в цене - это своего рода, обсессия Я выводил на 16x2 через китайский I2C адаптер - некоторые китайцы такую платку даже сразу к дисплейчику паяют, и в таком виде продают. А кнопочки можно через К176ИЕ8 подключить - до 10 шт - итого, пять ножек и уйдет - для часиков или таймера самое то! Оккам бы повесился
    • Ну вот нашлась англоязычная прошивка, под pic16f876a, для схемы с стабилизацией тока BP_876A_Eng_V4.HEX
    • Просто, измерить ток от батарейки, сделать выводы. А батарейки, бывает и продают уже почти севшие с перемаркировонным сроком годности.
    • Это сленг.Так обобщенно обзываются детали(кучка деталей) подключенные к микре\лампе\и.т.д. Посмотрите любую схему с микрухой-к ней подключены различные элементы\детали.Она сама внутри имеет внутри дофигища всего-тран--ры\резисторы\конденсаторы.Казалось бы-припаивай к ней только провода и всё,но нет-требуются внешние элементы для её работы.Вот это и называется обвязкой.
    • Собрал Св приемник, уменьшил число витков катушки на 35 и выловил фулюганов) Правда волна "плавает",то громко и четко слышно, то пропадает. Фулюган под ником "мячик" из Липецка- отлично слышно! А вот близлежащих городов-плохо. Интересно какой трансивер у этого фулюгана и антенна, что даже на простейший приемник , в качестве антенны кусок провода метра 2 и на первом этаже-так хорошо его выловил..  
    • Корпус "Надел-75", прибор с хранения, в эксплуатации не был, так что состояние приличное, даже красить не нужно....Ну разве что  только цвет нужен другой...: Пусть будет 1000р., пересыл по РФ обеспечу...  
    • просто в статье у вас написано, что усиление напряжения обеспечивает транзистор VT12, а интегратор на DA1 нужен только для поддержания постоянки на выходе а VT12 расположен на основной плате