Eugene315

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

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

Eugene315    7

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

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

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

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


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

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

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


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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

 

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

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

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


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

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

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

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

 

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


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

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

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


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

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

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

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

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

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

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

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

Загрузка...

  • Сообщения

    • Имел ввиду аккумуляторы размером АА  ( 14500 ) и ААА ( 10440 ). Недавно купил и протестировал ЗУ Liito-Kala 500, могу дать ссылку. Есть старый фотик Самсунг А40, который быстро пожирает дорогие батарейки, а на дешёвых вообще пару раз щелкнуть можно и от NiMn тоже работает недолго - мало ему 1, 2 В х2. Поставил ему Li-ion 14500 на 800 мАч с диодом в пустышке, так пашет и пашет, не дождусь, когда закончится заряд.
    • Знаю что светодиоды питают током, но если так неймется, можно питать светодиоды стабильным напряжением, при котором ток не превышает половины номинального с учетом нагрева?  
    • там другая химия однако, при коасиале по вене происходит закупоривание вен и некроз, и еще чего то там , есть видео где это объясняют,  @kotenok  лучше вообще не делать такого ни когда, ну выпить под борщец 50 гр и самое то, сейчас вообще как то не лезет, хотя настойку делал из красной рябины,  до сих пор стоит. да смысл сильно бухать нету, бухнешь, сильное похмельек, а проблемы как были так и остаются, только здоровью хуже.
    • Ну, как бы водка тоже создана, что бы пить? Правильно?
      А если за рулём, то кто её мешает с глюкозкой пополам по вене двинуть?
      Я так три года жил. Только водку выбирал качественную, и кололся только инсулиновой иголочкой, 0,35, и шприц 20 кубиков.
    • В тонометре и в фотоаппарате ( в каждом по четыре АА) стал использовать NiZn аккумуляторы. Номинальное напряжение 1,6 В, свежезаряженные - 1,78. Не каждый девайс, рассчитанный на  питание 6 В будет работать при повышенном напряжении. Мне повезло. А в светильник, что в шкафу с датчиком движения ( у него питание от  3- х  ААА) перевёл на один 18650. Батареек хватало буквально на неделю. Литий стоит уже месяц. Я б ниже 3- 3,5 баксов планку не снижал. И это не "сильнотоковые".
    • @kotenok с чего бы, просто как то случайно давно наткнулся на такое видео и запомнилось.  Страшная жуть. Хотя это таблетки деприссанты, сделаны чтобы пить, а эти идиоты по вене гонят.