Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Chettuser

Сообщение Chettuser »

Кто-нибудь сталкивался с реализацией видеосигнала (для TV-входа) на CPLD?
Интересуют строчные и кадровые синхроимпульсы. Как и с какими параметрами они должны располагаться? Импульсы гашения обязательны? Со строчными СИ вроде немного разобрался, а вот с кадровыми... :facepalm: Для меня загадка - как они должны выглядеть?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7385
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

У Digilent видел аппноту, но там ориентировано на формирование VGA сигнала (все времянки указаны для 640х480 и 800х600). А кадровый такой же как и строчный, только другой длины. Ну и если формируете именно для телевизора, то там надо еще заморачиваться чересстрочной развёрткой вся соль которой именно в строчных синхроимпульсах.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Реклама
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Chettuser писал(а):Кто-нибудь сталкивался с реализацией видеосигнала (для TV-входа) на CPLD?
Интересуют строчные и кадровые синхроимпульсы. Как и с какими параметрами они должны располагаться?
В ТВ-сигнале кадровый синхроимпульс — это замена строчных синхроимпульсов полустрочными (половинная длина, удвоенная частота), потом на какое-то время смена длины (не инверсия, а именно смена длины, спады на полустрочных размещены в те же моменты времени), опять полустрочные импульсы и возобновление строчных. Сетка строчных импульсов «в уме» при этом остаётся, а кадровый синхроимпульс начинается то в конце строки, то посредине (но каждій раз на полустрочном импульсе.

Подробнее ITU-R BT.1700. Там на 8-ой страничке птичками отмечены те спады начал строк (и строк «в уме» на кадровом синхроимпульсе).

Для справки:
В EPM3032 влазит полный синхрогенератор -- кадровые и строчные синхро и гашения, чётность поля, полная синхросмесь и смесь гашения. Ну и раз есть счётчики строк и точек в строке, то можно и какую-то тестовую картинку нагенерить, но в 3032 может уже и не влезть.
В EPM3064 влазит ещё и полное управление CCD-матрицей типа ICX255/259/405/409 и прочих соневских плюс управления аналоговым чипом CXA1310.

О, кстати, хорошие картинки ещё в описании соневской CXD2463, синхрогенератор для указанных выше матриц, замену которому с изменением логики работы (а для юстировки объективов заливалась прошивка под ТВ-режим) я делал на EPM3064 под специальное применение.
Последний раз редактировалось avreal Пн окт 01, 2012 19:14:36, всего редактировалось 1 раз.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Chettuser

Сообщение Chettuser »

Да нет, не для телевизора - для мониторчика маленького (типа медицинского) VIDAMAX.
Тут наверное можно и без СИ гашения обойтись?
avreal писал(а):В EPM3032 влазит полный синхрогенератор -- кадровые и строчные синхро и гашения, чётность поля, полная синхросмесь и смесь гашения. Ну и раз есть счётчики строк и точек в строке, то можно и какую-то тестовую картинку нагенерить, но в 3032 может уже и не влезть.
В EPM3064 влазит ещё и полное управление CCD-матрицей типа ICX255/259/405/409 и прочих соневских плюс управления аналоговым чипом CXA1310.
У меня EPM240 - влезет со свистом. Пните в нужном направлении плиз - где хоть какой проект подсмотреть? Переделаю уж сам, мне бы только зацепиться было за что.
Последний раз редактировалось Chettuser Пн окт 01, 2012 19:22:28, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 7385
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Реклама
Chettuser

Сообщение Chettuser »

Мммм... а есть чего-нибудь на TV? :oops:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Chettuser писал(а):У меня EPM240 - влезет без вазелина. Пните в нужном направлении плиз - где хоть какой проект подсмотреть? Переделаю уж сам, мне бы только зацепиться было за что.
EPM240 — да, влезет без вазелина, но займёт гораздо больше 32 ячеек. Там много широкой логики по счётчику точек в (полу)строке и счётчику (полу)строк, 4-входовые LUT каскадируются по два, а где и по три. А у EPM3ххх таких широких "И" по нескольку в одной ячейке, т.е. JK-триггер и несколько его условий установки/сброса лезут в одну ячейку.

Не смог сейчас у себя найти давний альтеровский архив NTSC_GEN.EXE с примером генератора.

Да там, вообще говоря, достаточно несложно всё.
У меня сначала генерируется полустрочная частота (т.е. длина пол строки, а частота вдвое выше).
Дальше отдельно делится на 625, чтобы получить частоту полей (312.5 строк).
И отдельно на два, чтобы получить строчную частоту.

Выход частоты полей (делителя на 625) делится ещё на два, это чётность поля.
По счётчику полустрок и четности поля выделяем зону кадрового синхроимпульса с врезками до и после него.

Во время полных строк по счётчику делителя на длину полустроки при нулевом триггере строчной частоты формируем строчный синхроимпульс и гашение.

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

Ну и на http://opencores.org/projects гляньте, может, там что найдётся подходящее.

Кстати, те импульсы на кадровом вдвое короче потому, что вдвое чаще -- в результате постоянная составляющая сохраняется. Для аналогового выделятора синхроимпульсов весьма полезно :-)
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт авг 16, 2012 21:34:24

Сообщение Davydov »

Ребята, :solder: тут программатор AVR910.
Скажите, а по какой схеме подключается программируемая микросхема?
Как я понимаю, подключается MOSI к MOSI, MISO к MISO, SCK к SCK, RESET полагаю что к RESET. А куда LED? И необходима для программируемой микросхемы какая нибудь обвязка?

Программатор собирал по схеме: http://www.prottoss.com/projects/AVR910 ... rammer.htm
Если бы это было так, это бы еще ничего. Если бы ничего, то так бы оно и было. Но так как это не так, так оно и не эдак. Такова логика вещей. (с)
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Всё так.
Выход LED - никуда в обычном режиме. На нём присутствует меандр с частотой в 1МГц, в случае, если случайно переключите контроллер на внешнее тактирование, то его можно подцепить на XTAL1 и оживить МК.

Обвязка не нужна. Только кварц (если используется), и все ноги питания (AVCC в том числе, если имеется)
Родился
Сообщения: 5
Зарегистрирован: Пн мар 05, 2012 13:26:40

Сообщение Arseny »

ATmega8:

Собрал я себе программатор, тот что на FT232RL. Вот, примерно такой:

http://www.reddylab.eu/usbbit

Прицепил его к вышеуказанной микросхеме и... Контроллер не определился, хотя с FT232RL компьютер связался нормально.
Поломав немного голову и перепроверив всё целую кучу раз. Собрался и поехал на работу. Там имеется два программатора: STK500 и Sterh-007. Оба они не самопальные.
Первым делом я воткнул свою мегу в STK500 и попробовал в последовательном режиме считать данные о микроконтроллере. Считанная сигнатура не совпала с той, которая должна была быть. Причём она каждый раз считывалась разная. При этом попавшаяся под руку ATmega8515 читалась нормально.

Далее я воткнул ATmega8 в Sterh, в режиме параллельного программирования. Микросхема определилась, сигнатура совпала, а считанные ФЬЮзы совпали с установленными по умолчанию.

Этим же Sterh-ом я запросто запрограммировал микроконтроллер и проверил его на отладочной плате. А вот ту же прошивку через STK500 в том же последовательном режиме я загрузить не смог.

Кто нибудь сталкивался с такими чудесами, или я один такой особенный? И что за болячка может быть с такими симптомами, если не секрет?))
Встал на лапы
Аватара пользователя
Сообщения: 132
Зарегистрирован: Вс сен 23, 2012 05:51:35

Сообщение black_lizard »

Сегодня спалил проц. Не хватило силы тока на питание ещё одного ядра и переферии, перевоткнул резистор, идущий параллельно со стабилизатором на более слабый(вместо 4.7 кОм на 1.0 кОм) спалил проц.

Ткните в сторону подробных статей по поводу организации питания МК и периферии.

Есть блок питания, 5 вольт, 1 ампер. Подключал через преобразователь в 3.3 вольта и 0.1 ампер. Без резистора МК не тянул.
Если я подрублю на цепь преобразователь в 3.3 вольта и 0.8 ампер, этого ведь хватит на питание мк и переферии без извращений с параллельно подключёнными резисторами? И не спалит ли это МК?
И да, вопрос, мучающий меня давно. Какой силой тока надо питать ps/2 клавиатуру?
Собираю самопальный мини-компьютер
Друг Кота
Аватара пользователя
Сообщения: 3874
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Без схемы непонятно что за резистор, что значит параллельно стабилизатору, что за проц и какая периферия. Вообще-то потребляемый ток нужно смотреть в справочных данных на элементы схемы.

Лень искать про ток потребления клавиатуры, но про первый попавшийся контроллер клавиатуры (TP66P04) написано что рабочий ток 5.5мА, а там кроме него и 3х светодиодов ничего и нет.
Последний раз редактировалось Engineer_Keen Ср окт 03, 2012 14:05:11, всего редактировалось 1 раз.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

black_lizard Непонятно что там у вас за схема питания вообще использована, не пробовали искать в теме мелкие вопросы по питанию?

Как можно уменьшив сопротивление резистора спалить проц?Я отвечу - если после резистора в цепи не стоял стабилитрон на нужное напряжение то запросто.Резистор ограничивает ток, но не ограничивает напряжение.Нужно ставить стабилитрон после резистора и на минус ( стабилитрон это диод, у которого напряжение обратного пробоя точно известно и если его пробило, при снятии напряжения он восстанавливается)
Если по схеме то стрелкой "диода" к плюсу.Это получается самый простой стабилизатор напряжения.
С большим сопротивлением все работало, так как ток небольшой и внутренний стабилитрон справлялся.Вы ток увеличили и внутри корпуса стало выделяться больше тепла.Вот проц и не выдержал.

Вообще более простым стабилизатором для Мк является микросхема 7805 на пять вольт в корпусе TO 220 это как обычный транзистор на 1,5 ампера мощностью.
Подробности подключения можно посмотреть в даташите.Если не найдете, я могу скинуть.
Контактная информация:
Родился
Сообщения: 16
Зарегистрирован: Ср окт 13, 2010 09:24:47
Откуда: Россия. Барнаул.

Сообщение dimon_from_barnaul »

Доброго времени суток.
Подскажите, как запустить кодек на плате с плис? Использую отладочную плату от Digilent. На плате установлен кодек LM4550.
Перебрал список IP ядер - ничего подходящего не нашел. Городить обмен данными с нуля - как то не хочется. Может есть готовые библиотеки?

Использую отладочную плату Digilent Atlys
ПЛИС - Spartan6 XC6SLX45
Среда разработки Xilinx ISE
Учиться никогда не поздно
Встал на лапы
Аватара пользователя
Сообщения: 132
Зарегистрирован: Вс сен 23, 2012 05:51:35

Сообщение black_lizard »

Проц propeller parallax
Накопал подключение питания в их демонстрационных платах. Там используется два стабилизатора, на 5 вольт, 0.5 ампер и на 3.3 вольта, 0.5 ампера подключённых последовательно. Скоро будут в лапах - поставлю их. Хотя странно, но в доках написано, что на проц надо подавать не более 0.4 ампера... но раз так в демоборде, то стоило делать так с самого начала.
И ещё вопрос. Если на стабилизаторе максимальная сила тока 0.5 это значит, что она всегда будет 0.5 или она может быть ниже?

А схема питания обычная паралельная. Адаптер -> стабилизатор -> проц + светодиод питания.
А клавиатура кстати не прихотливая, 3.3 вольта - тоже работает.
Собираю самопальный мини-компьютер
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Если на стабилизаторе максимальная сила тока 0.5 это значит, что она всегда будет 0.5 или она может быть ниже?
Мне кажется, вам рановато связываться с микроконтроллерами. Почитайте обучалку, особенно про закон Ома.
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Ну все мы были чайниками когда-то :) И как чайник ( бывший ) нонешнему отвечу : паспортный ток стабилизатора обозначает тот максимум, который с него можно снять без вреда для его здоровья, а меньше - да хоть 0 .
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Сообщение ut1wpr »

ploop писал(а):Мне кажется, вам рановато связываться с микроконтроллерами. Почитайте обучалку, особенно про закон Ома.
+100500! Рано - не то слово. С таким уровнем - впереди еще не один сожженый полупроводник. Ведь автору с такими знаниями все равно, что сжигать.
С уважением,
Виктор.
Встал на лапы
Аватара пользователя
Сообщения: 89
Зарегистрирован: Сб апр 21, 2012 01:32:34
Откуда: Москва

Сообщение Dmitriy Karpov »

С месяц назад начал осваивать МК. Прошел всю обучалку по AVRкам. Сейчас пробую сделать что-нибудь самостоятельно. В предпоследней статейке в обучалке автор обещался сделать секундомер, но видимо забыл. С него то я и захотел начать. Описанная там програмка IndicCycle выводит числа по разрядам на дисплей. Время я решил отсчитавать с помощью таймера. Т е по прерыванию от компаратора я инкрементирую регистр Dg в след. порядке ...-0-1-2-...-9-0... затем значения обрабатываю в цикле:

Код: Выделить всё

IndicCycle:  		  
             cp Dg4,Dg            ;сравниваем 
             breq HappyEnd     ;если равны ничего не меняем
                                        ;в противном случае  
             mov Dg4,Dg        ;копируем в регистр 4 разряда
             cpi Dg4,0             ;сравниваем с 0 (первоначально Dg и Dg4 равны и до этого не доходит)
             breq Load4           ;если равны-переходим к Load4 и увеличиваем 3 разряд
             rjmp HappyEnd     ;если нет-выводим 4 разряд

Load4:   
             cpi Dg3,9             ;и т. д.
             breq Load3
             inc Dg3
             rjmp HappyEnd

Load3:   
            ldi Dg3,0
            cpi Dg2,9
            breq Load2
            inc Dg2
            rjmp HappyEnd

Load2:   
             ldi Dg2,0
             cpi Dg1,9
             breq Load1
             inc Dg1
             rjmp HappyEnd

Load1:   
             ldi Dg1,0
             rjmp HappyEnd 
		 
HappyEnd:     
             sts Digit,Dg1        ;загрузка актуальных значений
             sts Digit+1,Dg2
             sts Digit+2,Dg3
             sts Digit+3,Dg4           

             rcall Display        ;цикл индикации
             rjmp IndicCycle
Вопрос в следующем: можно ли как-нибудь организовать програмку не объясняя контроллеру устройство десятичной системы исчисления. А если мне часы придется отображать в 24 часовом формате, то алгоритм и вовсе будет извращенским. Может можно сделать как-нибудь по проще
Контактная информация:
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Нет. можно конечно хранить и считать время в двоичной форме, но тогда нужны будут еще более сложные преобразования BIN2BCD чтобы число перевести в десятичное, или довольно хитрую математику если захочешь сделать это БЫСТРО. а часы-минуты-секунды, вообще получить можно будет если использовать целочисленное деление - DIV и MOD, но поскольку контроллеры в своей массе не поддерживают аппаратно эти команды, то начинается АДЪ по реализации алгоритмов деления целых чисел...
Контактная информация:
Ответить

Вернуться в «Разные вопросы по МК»