Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите понять возможности ПЛИС.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
krokodil111
К примеру выбрал ПЛИС MAX II от альтеры для реализации UART. Если скорость по сети будет 12 мбит сек, то соответственно для правильной обработки требуется внутренняя частота (тактовая) 12 х 16 = 192 мгц. Вот собстно вопрос, не многовато ли это для MAX II и второе - как получить частоту такую внутри ПЛИС. Извините если коряво, терминологией пока нормально не владею.
mse
Цитата(krokodil111 @ Oct 11 2007, 13:57) *
К примеру выбрал ПЛИС MAX II от альтеры для реализации UART. Если скорость по сети будет 12 мбит сек, то соответственно для правильной обработки требуется внутренняя частота (тактовая) 12 х 16 = 192 мгц. Вот собстно вопрос, не многовато ли это для MAX II и второе - как получить частоту такую внутри ПЛИС. Извините если коряво, терминологией пока нормально не владею.

Зачем "Х16"? Вполне прилично будет "Х3", Лучше "Х4". Для логики лучше. Да и допуск будет больше.
А частоту - от генератора какого-нить. Кварцевого, например.
krokodil111
Цитата(mse @ Oct 11 2007, 14:29) *
Зачем "Х16"? Вполне прилично будет "Х3", Лучше "Х4". Для логики лучше. Да и допуск будет больше.
А частоту - от генератора какого-нить. Кварцевого, например.

Насколько я знаю х16 класика. Тут подразумевалось не то, что я возьму генератор 12 и буду умножать, а приводился пример на каких частотах примерно плисина должна пахать. И вопрос то не в том был опять же.
rezident
Цитата(krokodil111 @ Oct 11 2007, 19:33) *
Насколько я знаю х16 класика.

Чтобы обнаружить переход, достаточно удвоенной частоты. 16-кратная передискретизация используется для случая трехкратной мажоритарной выборки в центре битового интервала. Так что mse в принципе прав, достаточно и 4-х кратной тактовой.
yura-w
Цитата(krokodil111 @ Oct 11 2007, 13:57) *
К примеру выбрал ПЛИС MAX II от альтеры для реализации UART. Если скорость по сети будет 12 мбит сек, то соответственно для правильной обработки требуется внутренняя частота (тактовая) 12 х 16 = 192 мгц. Вот собстно вопрос, не многовато ли это для MAX II и второе - как получить частоту такую внутри ПЛИС. Извините если коряво, терминологией пока нормально не владею.

- maxII может работать на частоте до 300Мгц(см. даташит)
- эту частоту, и любую другую для данного семейства нужно заводить только из вне (нужен крарцевый генератор), семейства cyclone и выше имеют встроенный pll(можно умножать и делить внешнюю частоту)
- uart займет парядка 300LE, так что если взять EPM1270(выше уже в bga), где 1270LE, места на многое хватит
mse
Цитата(krokodil111 @ Oct 11 2007, 17:33) *
Насколько я знаю х16 класика. Тут подразумевалось не то, что я возьму генератор 12 и буду умножать, а приводился пример на каких частотах примерно плисина должна пахать. И вопрос то не в том был опять же.

Гы...И что, на этот рассчёт теперь молиться? Можно и 32 выборки замутить. Слабо? А 16 выборок, это не классика, а маразм.
Я вот поподразумевал, что нужно для реализаццыи УАРТа на плиске. И изложил. ;О) Дохлый генератор за 15-30р и дохлая-же ЦПЛДшка. А то и какой Убиком-АВР справится.
Kopart
Цитата(rezident @ Oct 11 2007, 18:39) *
Чтобы обнаружить переход, достаточно удвоенной частоты. 16-кратная передискретизация используется для случая трехкратной мажоритарной выборки в центре битового интервала. Так что mse в принципе прав, достаточно и 4-х кратной тактовой.

Было обсуждение в форуме (применительно к RS-232), где Вы не сильно возражали, что и 3-х кратной частоты+мажоритирование хватит.


Там я описал идею с примерами, и один человек ее реализовал и вроде как даже полностью оттестировал. (Во всяком случае упоминал, что все работает)

Так что качественный минимум х3 smile3009.gif
mse
Цитата(NiOS @ Oct 12 2007, 14:27) *
Так что качественный минимум х3 smile3009.gif

Допуск на тактовые частоты жостче получается. А так да, запросто.
rezident
Цитата(NiOS @ Oct 12 2007, 16:27) *
Было обсуждение в форуме (применительно к RS-232), где Вы не сильно возражали, что и 3-х кратной частоты + можаритирование хватит.
Там я описал идею с примерами, и один человек ее реализовал и вроде как даже полностью оттестировал. (Во всяком случае упоминал, что все работает)

Так что качественный минимум х3 smile3009.gif

Дык на 4 проще делить, чем на 3 wink.gif
alex5991
Цитата(mse @ Oct 11 2007, 18:29) *
Гы...И что, на этот рассчёт теперь молиться? Можно и 32 выборки замутить. Слабо? А 16 выборок, это не классика, а маразм.
Я вот поподразумевал, что нужно для реализаццыи УАРТа на плиске. И изложил. ;О) Дохлый генератор за 15-30р и дохлая-же ЦПЛДшка. А то и какой Убиком-АВР справится.


Перед тем как делать котегоричный вывод, уместней справиться насколько может быть искажен сигнал и какого типа искажения могут присутствовать. Для идеального сигнала и х1 достаточно, если фазу знать.
rezident
Цитата(alex5991 @ Oct 12 2007, 20:57) *
Перед тем как делать котегоричный вывод, уместней справиться насколько может быть искажен сигнал и какого типа искажения могут присутствовать. Для идеального сигнала и х1 достаточно, если фазу знать.

Оба-на! UART это Universal Asynchronous Receiver / Transmitter - универсальный асинхронный приемопередатчик. Любопытно узнать, как вы собираетесь синхронизироваться, имея лишь битовую частоту? Выше я уже сказал что
Цитата(rezident)
Чтобы обнаружить переход, достаточно удвоенной частоты.

Могу дополнить, что еще кроме "достаточно" еще и "необходимо" иметь как минимум удвоенную частоту.
Kopart
Цитата(rezident @ Oct 12 2007, 18:32) *
Дык на 4 проще делить, чем на 3 wink.gif

Так нам надо умножать.. и делить ничего не предется (только мажоритарно сравнивать) smile.gif
rezident
Цитата(NiOS @ Oct 12 2007, 21:20) *
Так нам надо умножать.. и делить ничего не предется (только мажоритарно сравнивать) smile.gif

Дык тактовая частота кратна битовой частоте, а не наоборот. Чего там вы умножать собрались?
alex5991
Цитата(rezident @ Oct 12 2007, 18:11) *
Оба-на! UART это Universal Asynchronous Receiver / Transmitter - универсальный асинхронный приемопередатчик. Любопытно узнать, как вы собираетесь синхронизироваться, имея лишь битовую частоту? Выше я уже сказал что

Могу дополнить, что еще кроме "достаточно" еще и "необходимо" иметь как минимум удвоенную частоту.


Поэтому я и сделал оговорку про известную фазу. прекрасно понимаю, что это абстракция, неприемлимая на практике.

В первую очередь хотел подчеркнуть, что выбор частоты должен определяеться исходя из внешних фактров.
mse
Цитата(alex5991 @ Oct 12 2007, 18:57) *
Перед тем как делать котегоричный вывод, уместней справиться насколько может быть искажен сигнал и какого типа искажения могут присутствовать. Для идеального сигнала и х1 достаточно, если фазу знать.

Для того, чтобы делать категоричные выводы, надо понимать, что должно происходить в канале, если три последовательные выборки начнут реализовывать мажорирование. ;О) Ну скока-то они отмажорируют ,конечно. А сколько нет? И смысл в этом? Даже контроль целостности пакета ничего не даст, бо 100% пакетов будет убитых. Т.е если есть желание, справьтесь о типах искажений. И принимайте идеальный сигнал с выборками Х1...Флаг RXRDY в руки. ;О) Если фазу узнаете, конечно.
Kopart
Цитата(rezident @ Oct 12 2007, 19:37) *
Дык тактовая частота кратна битовой частоте, а не наоборот. Чего там вы умножать собрались?

Умножать = работать на утроенной битовой частоте = тактовая частота приемника (мин)
rv3dll(lex)
сделай 3 -4 выборки а потом разбирайся почему УАРТ 8051 (там 16) работает идеально с первого пакета, а твой будет пропускать)))) когда работал с 51 семейством у меня и мысли даже не было в ненадёжности 232 и 485 стандартов - а с современными уже достало!!!! Первый символ крокозяба в терминале. Для более корректной работы и придуманы полтора бита в старт-стопе.
sazh
Цитата(rv3dll(lex) @ Oct 19 2007, 11:24) *
сделай 3 -4 выборки а потом разбирайся почему УАРТ 8051 (там 16) работает идеально с первого пакета, а твой будет пропускать)))) когда работал с 51 семейством у меня и мысли даже не было в ненадёжности 232 и 485 стандартов - а с современными уже достало!!!! Первый символ крокозяба в терминале. Для более корректной работы и придуманы полтора бита в старт-стопе.


Это ведь раздел программируемой логики. Ей совсем не нужно полтора стопа.
Все там надежно. Нет там ничего, что могло бы достать.
Kopart
Цитата(rv3dll(lex) @ Oct 19 2007, 11:24) *
сделай 3 -4 выборки а потом разбирайся почему УАРТ 8051 (там 16) работает идеально с первого пакета, а твой будет пропускать)))) когда работал с 51 семейством у меня и мысли даже не было в ненадёжности 232 и 485 стандартов - а с современными уже достало!!!! Первый символ крокозяба в терминале. Для более корректной работы и придуманы полтора бита в старт-стопе.

Многие вопросы уже обмусолены здесь RS232 + FPGA
mse
Цитата(rv3dll(lex) @ Oct 19 2007, 11:24) *
сделай 3 -4 выборки а потом разбирайся почему УАРТ 8051 (там 16) работает идеально с первого пакета, а твой будет пропускать)))) когда работал с 51 семейством у меня и мысли даже не было в ненадёжности 232 и 485 стандартов - а с современными уже достало!!!! Первый символ крокозяба в терминале. Для более корректной работы и придуманы полтора бита в старт-стопе.

;О) Дык, и щас тоже 16 выборок, как правило. Только толку с них? Их стока сделано, чтобы точнее привязаться к середине бода для большей устойчивости к разбегу осцылляторофф. А тройное мажорирование только для детектирования этого разбега. Бо если в канале уровни помех такие, что начинается мажорирование, то надо просто сливать воду...А мысли о ненадёжности ни к стоп-битам, ни к кол-ву выборок отношения не имеют. ;О)
rv3dll(lex)
Цитата(mse @ Oct 19 2007, 16:28) *
;О) Дык, и щас тоже 16 выборок, как правило. Только толку с них? Их стока сделано, чтобы точнее привязаться к середине бода для большей устойчивости к разбегу осцылляторофф. А тройное мажорирование только для детектирования этого разбега. Бо если в канале уровни помех такие, что начинается мажорирование, то надо просто сливать воду...А мысли о ненадёжности ни к стоп-битам, ни к кол-ву выборок отношения не имеют. ;О)


если всё так хорошо, то почему так неустойчиво работает 232UART который входит в стандартный набор xilinx EDK. ?????
sazh
Цитата(rv3dll(lex) @ Oct 22 2007, 14:38) *
если всё так хорошо, то почему так неустойчиво работает 232UART который входит в стандартный набор xilinx EDK. ?????


А там что, разработчики от бога?
Kopart
Цитата(sazh @ Oct 22 2007, 14:41) *
А там что, разработчики от бога?

Скорее не выполнены все "Примечания" юзер гайда. А то и трассировка...
rv3dll(lex)
Цитата(NiOS @ Oct 22 2007, 14:49) *
Скорее не выполнены все "Примечания" юзер гайда. А то и трассировка...


проблемы есть даже если руками ничего не делать а пользоваться только визардом.
Kopart
Цитата(rv3dll(lex) @ Oct 22 2007, 15:22) *
проблемы есть даже если руками ничего не делать а пользоваться только визардом.

Так визард он для ПЛИС, а я упоминал про разводку печатной платы.
Ведь я правильно понял, что ошибки выявляются уже в готовой плате?!
rv3dll(lex)
Цитата(NiOS @ Oct 22 2007, 17:15) *
Так визард он для ПЛИС, а я упоминал про разводку печатной платы.
Ведь я правильно понял, что ошибки выявляются уже в готовой плате?!


ml403!!!!
Kopart
Цитата(rv3dll(lex) @ Oct 23 2007, 14:23) *
ml403!!!!

Дамс: отладочная плата + визард Xilinx'a и ошибки... Это уже из разряда курьезов, если подтвердится.
Хотя может входной сигнал такой, неплохо посмотреть линию на цифровом осциллографе. Сигнал формируется где? На com-порту? И как подается?
rv3dll(lex)
Цитата(NiOS @ Oct 23 2007, 14:30) *
Дамс: отладочная плата + визард Xilinx'a и ошибки... Это уже из разряда курьезов, если подтвердится.
Хотя может входной сигнал такой, неплохо посмотреть линию на цифровом осциллографе. Сигнал формируется где? На com-порту? И как подается?


обмен с гипертерминалом
загрузка Xilinx'a больше 80% в основном неудобства даёт канал на компьютер - обратный реже.

если в уарт пихать непрерывно - не принимается вообще ничего.
если по шагам начать - первые несколько символов - крокозябы потом вроде начинает принимать правильно - и потом если запустить непрерывный поток всё нормально. Опробовано на нескольких скоростях нескольких компах и в разных терминалах. При этом уарт тексасовского ТМС такого безобразия не выкидывает.
Kopart
Цитата(rv3dll(lex) @ Oct 23 2007, 16:49) *
обмен с гипертерминалом
загрузка Xilinx'a больше 80% в основном неудобства даёт канал на компьютер - обратный реже.

если в уарт пихать непрерывно - не принимается вообще ничего.
если по шагам начать - первые несколько символов - крокозябы потом вроде начинает принимать правильно - и потом если запустить непрерывный поток всё нормально. Опробовано на нескольких скоростях нескольких компах и в разных терминалах. При этом уарт тексасовского ТМС такого безобразия не выкидывает.

А кабель от Com-порта нормальны? А если линию Rx подсоединить к Tx через плисину - В гипертерминале всё правильно отобразится? wacko.gif

Я свою (ранее здесь упомянутую) реализации также просто тестил через гипертерминал - и все прекрасно работало спервых символов...
mse
Цитата(rv3dll(lex) @ Oct 22 2007, 14:38) *
если всё так хорошо, то почему так неустойчиво работает 232UART который входит в стандартный набор xilinx EDK. ?????

Скажу честно - не знаю. ;О) мой самописный УАРТо-подобный приёмник работает прекрасно. Причём рисовал его ещё в схематике. Давно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.