|
Передатчик CSI-2 на CycloneIII, Error: Pin "ХХХ" requires a pseudo-differential I/O assignment |
|
|
|
Apr 19 2018, 11:15
|
Группа: Участник
Сообщений: 12
Регистрация: 16-02-13
Из: Ленинградушка
Пользователь №: 75 653

|
Добрый день. Пытаемся реализовать преобразователь HD-SDI видео в формат MIPI CSI-2. Схема проста: SDI проходит эквалайзер, реклокер и десериализотор, затем в виде 20-разрядного параллельного потока поступает в ПЛИС (EP3C16Q240C8), которая должна его должным образом обработать и в виде CSI-2 выдать наружу, чтобы затем подцепить Raspberry. Интерфейс CSI-2 оказался весьма непростым, его физический уровень представляет собой сочетание дифференциального тактового сигнала и от 1 до N двухуровневых дифференциальных пар, работающих в низкоскоростном служебном (LP, low power) и высокоскоростном (HS, high speed, для передачи данных) режимах:  Как реализовать такой режим подсмотрели в отладочной плате 10m50 eval board от той же Altera. С единственным отличием - там используется другое семейство ПЛИС, MAX10 (10M50DAF484C6GES). Нами были выбраны соответствующие диф пары и режимы работы выходных ног ПЛИС:  CODE set_location_assignment PIN_146 -to TX_HS_CN set_location_assignment PIN_147 -to TX_HS_CP set_location_assignment PIN_135 -to TX_HS_DN0 set_location_assignment PIN_142 -to TX_HS_DN1 set_location_assignment PIN_137 -to TX_HS_DP0 set_location_assignment PIN_143 -to TX_HS_DP1 set_instance_assignment -name IO_STANDARD "1.8-V HSTL CLASS I" -to TX_HS_CN set_instance_assignment -name IO_STANDARD "1.8-V HSTL CLASS I" -to TX_HS_CP set_instance_assignment -name IO_STANDARD "1.8-V HSTL CLASS I" -to TX_HS_DN0 set_instance_assignment -name IO_STANDARD "1.8-V HSTL CLASS I" -to TX_HS_DN1 set_instance_assignment -name IO_STANDARD "1.8-V HSTL CLASS I" -to TX_HS_DP0 set_instance_assignment -name IO_STANDARD "1.8-V HSTL CLASS I" -to TX_HS_DP1 Таким образом на физическом уровне мы выдержали все рекомендации, которые удалось найти. Далее создали простой тестовый проект в Quartus9.1 для передатчика данных по SCI-2. На данном этапе нам необходимо убедиться, что выбранные нами порты ПЛИС поддерживают требуемые стандарты, и что фиттер всё сможет развести хотя бы в таком примитивном виде. Не хотелось бы попадать в ситуацию, когда печатные платы уже произведены, и только потом обнаружить, что развели их неправильно. Quartus выдал следующий варнинг: Error: Pin "TX_HS_CP" requires a pseudo-differential I/O assignment. Error: Can't fit design in deviceВ Assignment Editor не удалось найти подходящий настроек, чтобы убрать данную ошибку. Да и не понятно откуда ей взяться, ведь всё повторили по примеру вышеуказанной эволюшен боард. Кто-нибудь сталкивался с подобным? Что можете посоветовать попробовать?
|
|
|
|
|
 |
Ответов
|
Apr 19 2018, 12:37
|
Группа: Участник
Сообщений: 12
Регистрация: 16-02-13
Из: Ленинградушка
Пользователь №: 75 653

|
Цитата(Realking @ Apr 19 2018, 15:22)  Написано лишь: differential SSTL or HSTL outputs can only be implemented as single-ended pseudo-differential outputsНо оно и так понятно, не зря мы в качестве I/O стандарта в Pin Planer выбрали 1.8-V HSTL Class I (который как раз single-ended), хотя там можно было б указать Differential 1.8-V HSTL Class I.
|
|
|
|
|
Apr 19 2018, 13:23
|
Местный
  
Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771

|
Цитата(Max42 @ Apr 19 2018, 15:37)  Написано лишь: differential SSTL or HSTL outputs can only be implemented as single-ended pseudo-differential outputs
Но оно и так понятно, не зря мы в качестве I/O стандарта в Pin Planer выбрали 1.8-V HSTL Class I (который как раз single-ended), хотя там можно было б указать Differential 1.8-V HSTL Class I. код покажи какой примитив юзаешь?
--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
|
|
|
|
|
Apr 19 2018, 14:13
|
Группа: Участник
Сообщений: 12
Регистрация: 16-02-13
Из: Ленинградушка
Пользователь №: 75 653

|
Цитата(Realking @ Apr 19 2018, 16:23)  код покажи какой примитив юзаешь? Кода нет, есть простейшая реализация на счётчике и мегафункции ALTLVDS (в 9 Квартусе другого не нашёл) в графическом виде:  Цитата(XVR) Проверьте ваш PIN_146 на FPGA - скорее всего он не поддерживает 'pseudo-differential I/O' Дифференциальный режим точно поддерживает:  А как проверить его на соответствие псевдо-дифференциальности?
Сообщение отредактировал Max42 - Apr 19 2018, 14:16
|
|
|
|
|
Apr 19 2018, 14:36
|
Группа: Участник
Сообщений: 12
Регистрация: 16-02-13
Из: Ленинградушка
Пользователь №: 75 653

|
Цитата(AVR @ Apr 19 2018, 17:23)  Зачем на этой схеме буфер с управлением от button? Нельзя ли попробовать без него? Буфер нужен для возможности переводить вывод в z-состояние, это нужно для реализация CSI. Сам буфер физически размещается непосредственно в ноге ПЛИС ("Fast Output Enable Register" в Assignment Editor). В любом случае, без него - та же самая ошибка вылезает. Цитата(AVR @ Apr 19 2018, 17:23)  Для сериализации 56МГц*8бит в 448МГц*1бит точно ли нужен именно ALTLVDS, а не какое-то другое IP-ядро? Вот это и я бы хотел узнать.
Сообщение отредактировал Max42 - Apr 19 2018, 14:37
|
|
|
|
|
Apr 20 2018, 04:50
|
Местный
  
Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771

|
Цитата(Max42 @ Apr 19 2018, 17:36)  Буфер нужен для возможности переводить вывод в z-состояние, это нужно для реализация CSI. Сам буфер физически размещается непосредственно в ноге ПЛИС ("Fast Output Enable Register" в Assignment Editor). В любом случае, без него - та же самая ошибка вылезает.
Вот это и я бы хотел узнать. просто в циклоне 5 я юзал cyclonev_pseudo_diff_outи уже после него 2 ALTIOBUFв циклоне 3 скорее всего тоже есть чтото подобное думаю (даже уверен), что в мегавизарде ALTIOBUF , если поставить use differential mode - pseudo_diff автоматом встроится
--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
|
|
|
|
Сообщений в этой теме
Max42 Передатчик CSI-2 на CycloneIII Apr 19 2018, 11:15    XVR Цитата(Max42 @ Apr 19 2018, 17:13) А как ... Apr 20 2018, 05:50     AVR Цитата(XVR @ Apr 20 2018, 08:50) Скачайте... Apr 22 2018, 13:51     Max42 Цитата(XVR @ Apr 20 2018, 08:50) Скачайте... Apr 23 2018, 07:02 XVR Цитата(Max42 @ Apr 19 2018, 14:15) CODEse... Apr 19 2018, 13:51 XVR Про дифференциальные HSTL можете забыть сразу:
Цит... Apr 23 2018, 14:23 Max42 Цитата(XVR @ Apr 23 2018, 17:23) Про дифф... Apr 23 2018, 14:58 Max42 Получается так, что если убрать функцию ALTLVDS, т... Apr 24 2018, 07:55 Flip-fl0p Цитата(Max42 @ Apr 24 2018, 10:55) Получа... Apr 24 2018, 08:04  AVR Цитата(Flip-fl0p @ Apr 24 2018, 11:0... Apr 24 2018, 08:16   Flip-fl0p Цитата(AVR @ Apr 24 2018, 11:16) Я немног... Apr 24 2018, 09:25    AVR Цитата(Flip-fl0p @ Apr 24 2018, 12:2... Apr 24 2018, 09:29     Flip-fl0p Цитата(AVR @ Apr 24 2018, 12:29) Ясно, по... Apr 24 2018, 09:40
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|