реклама на сайте
подробности

 
 
> данные с uPP в последовательные и наоборот
NSergeevich
сообщение Feb 6 2015, 15:27
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Добрый день всем! Помогите реализовать при помощи ПЛИС следующую задачу. С uPP (universal parallel port) поступают параллельные данные 16бит их нужно преобразовать в последовательные, а потом наоборот из последовательных в параллельные.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
Kuzmi4
сообщение Feb 6 2015, 16:30
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 NSergeevich
телепаты как всегда в отпуске, дайте больше конкретики - как приходят, в какой именно параллельный интерфейс нужен, зачем это всё ...
Go to the top of the page
 
+Quote Post
Александр77
сообщение Feb 7 2015, 17:36
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



NSergeevich, повангую на общих основаниях при сломанном телепаторе.
Разберитесь как работают регистры 74SN165 и 74SN595, тогда вы сможете решить поставленную учебную задачу. Возможная подсказка тут
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Feb 9 2015, 08:35
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(Kuzmi4 @ Feb 6 2015, 19:30) *
2 NSergeevich
телепаты как всегда в отпуске, дайте больше конкретики - как приходят, в какой именно параллельный интерфейс нужен, зачем это всё ...


Мне нужно реализовать вот эту штуку http://processors.wiki.ti.com/index.php/Fi..._connection.PNG Все, что мне нужно это взять вот эти [16:0] на входе и перевести их в последовательные данные. Т.е. на входе куча ножек на выходе одна. Как я понимаю нужно использовать мультиплексор и описать при помощи оператора "case". Как грамотно сделать не знаю.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 9 2015, 09:05
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 NSergeevich
Существенно яснее не стало.
Смысл схемы "parallel-serial-parallel" чтобы просто завернуть провода всё так же остаётся скрытым.. Как и "serial" стандарт wacko.gif
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 9 2015, 09:14
Сообщение #6


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(NSergeevich @ Feb 9 2015, 10:35) *
Все, что мне нужно это взять вот эти [16:0] на входе и перевести их в последовательные данные. Т.е. на входе куча ножек на выходе одна. Как я понимаю нужно использовать мультиплексор и описать при помощи оператора "case". Как грамотно сделать не знаю.

мультиплексор + счетчик до 17 (управление мультиплексором)


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
silantis
сообщение Feb 9 2015, 09:22
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 24-04-14
Пользователь №: 81 504



Цитата(NSergeevich @ Feb 9 2015, 13:35) *
Мне нужно реализовать вот эту штуку http://processors.wiki.ti.com/index.php/Fi..._connection.PNG Все, что мне нужно это взять вот эти [16:0] на входе и перевести их в последовательные данные. Т.е. на входе куча ножек на выходе одна. Как я понимаю нужно использовать мультиплексор и описать при помощи оператора "case". Как грамотно сделать не знаю.


uPP это как я понимаю интерфейс OMAPL138, Вам надо принимать поток данных c OMAP по uPP преобразовать их в последовательную форму и выдать в серийном виде по одному проводу.
Тут три засады.
1. uPP это не просто строб данные, там надо разобраться с управлением, несложно, но надо разобраться,
есть там кстати и провод wait позволяет притормозить OMAP чтоб он не выдавал следующее слово до завершения операции
можно настроить управлением конфигом интерфейса по проводам, тогда ПЛИС еще и конфигурить будет под себя.
Короче надо разбираться.

2. Засада два, uPP может молотить данные со скоростью 75MHz по 16 бит, не быстро, но и не медленно, Вам соответственно чтобы эти 16 бит сериализовать надо
либо иметь частоту в 16 раз большую, то есть 1.2GHz, если работать на максимальной скорости, и естественно выдавать из ПЛИС уже через GTP трансивер
То есть придется разобраться с GTP/GTX гигабитными трансиверами

3. Засада три, поток данных непрерывный или нет, если непрерывный, то это большой вопрос как реализовать его в OMAPL138
И если все же он реализован, то в ПЛИС нужно FIFO, чтобы принимать данные куда то, пока текущее слово сериализуется.

Короче не такая простая задача, если работать на пределе uPP.

По собственно реализации, это будет честный state-machine плюс FIFO. Операторами сase или мультиплексором тут не обойдешься.
Слово "памагите" тут неуместно, советы можно дать только в общем виде, а так работа в два этапа
1. Модель создается и симулируется
2. Допиливается в конкретном железе при работа с OMAP, большое влияние на связку окажет софт управляющий uPP.
А значит с ним тоже надо разбираться, что там и как сделано.

И вся работа в целом выливается в небольшой такой но таки да геморрой.

Сообщение отредактировал silantis - Feb 9 2015, 09:29
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016