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

 
 
> Custom Peripheral, есть вопросы..
Kuzmi4
сообщение May 14 2008, 07:30
Сообщение #1


Гуру
******

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



Здравствуйте.

Хочу сотворить собственную периферию, чтоб в SoPC Builder`е можно было свободно использовать.
Ну и как всегда есть вопросы ( в принципе если кто-то решит тоже начать писать свою периферию - тож думаю будет полезно, если начинать с нуля ).

Для полноты картины опишу что хочется поиметь:
В 2-х словах - нужно фотография импульса, то есть N/2 отсчётов до и N/2 отсчётов после.
Реализация как она была на рассыпухе - есть FIFO. В него пишется через логику данные с параллельного ADC. При чём, чтобы получить именно "фото" с заданными характеристиками в FIFO пишется до половины, потом по выставлению флага Half_Full начинается запись/чтение с FIFO - то есть отсчёт записывается в FIFO уровнем на лапке WR и потом после записи уровнем на лапке RD считывается - это позволяет как бы пропускать динамическую картинку через буффер обёмом N/2. Далее, когда приходит сигнал с ДНУ - ногодрыгание на лапе RD прекращается и мы дописываем оставшиеся N/2 отсчётов - и вуаля! - в результате у нас картинка где есть N/2 записей с ADC до и N/2 записей с ADC после сигнала. Если сигнал с ДНУ приходит раньше чем выставляется флаг Half_Full - начинается вышеописанная процедура, а потом в проге юзер решает что делать с этим фреймом.

Касательно реализации интерфеса - будет Avalon M-M Slave. В документации для "Avalon Memory-Mapped Interfaces" прочитал как работает слейв и про смысл разнообразных wires на шине. Так же прочитал про пакетную передачу данных. И тут возник вопрос касательно реализации регистров устройства, а если точнее передачи данных - можно сделать вариант 1 -> 3 регистра: status,control, data;вариант 2 -> status, control, data[0], data[1]... data[N-1];
Собственно по первому варианту будет пакетная передача данных, а по второму как обыкновенная мапа памяти - обращение к ячейке и все дела... Однако есть вопрос касательно пакетной передачи, как видно из рисунка:
Прикрепленное изображение

Выдача данных слейвом ведётся по фронтам клока - будет ли успевать CPU их забирать, если да то как это реализовать ? smile3046.gif
Если мапированный вариант - тогда тут вопросов пока нет. smile.gif
1-й сложнее но позволяет съэкономить память если там буфер будет килобайт там или больше, а 2-й проще.Пока не остановился на каком-то 1-м варинате..

Касательно реализации в VHDL - нашёл такие мегафункции как altsyncram и dcfifo и примеры их использования - в принципе с 1-го можно составить FIFO со своей логикой (что мне и надо), а ко 2-му - приёдётся накручивать к уже имеющейся логике, ту которая требуется. Начну с dcfifo (схемный вариант тем более есть), а потом попробую с altsyncram.

Есчё есть вопрос касательно IRQ -> после того как буфер набрался - если в контрольном регистре выставлен бит интерупта - выставляется бит в регистре статуса и должно следовать IRQ. Однако судя по данным с литературы (апноты) они занимают довольно много времени. Можно ли как то уменьшить время реакции? В Custom Instructions есть Interrupt Vector - если в правильном направлении смотрю, то насколько это сильно может ускорить время ответа на интерупт ?? smile3046.gif

Буду признателен за советы, помощь и критику
laughing.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kuzmi4   Custom Peripheral   May 14 2008, 07:30
- - RHnd   Я бы на заморачивался с фифо и делал бы сдвиговый ...   May 14 2008, 11:13
- - Kuzmi4   2 RHnd - можете объяснить, чем сдесь фифо не подхо...   May 14 2008, 11:38
|- - RHnd   Не то, чтоб фифо не подходит, но сдвиговый регистр...   May 14 2008, 11:45
- - Kuzmi4   2 RHnd - спасибо за идейку, не подумал А можете...   May 14 2008, 11:49
|- - RHnd   Цитата(Kuzmi4 @ May 14 2008, 15:49) А мож...   May 14 2008, 12:14
- - Kuzmi4   Есть. Посмотрю сегодня... Остановился пока на фифо...   May 14 2008, 12:18
- - Kuzmi4   2 Kuzmi4 - глянул на сдвиговый регистр - действите...   May 14 2008, 14:28
|- - RHnd   Угу. Примерно оно. Я только не понял, Вы в схемати...   May 14 2008, 18:00
|- - Maverick   Цитата(Kuzmi4 @ May 14 2008, 17:28) 2 Kuz...   May 15 2008, 13:33
- - Kuzmi4   2 RHnd - схематик мне нужен для понимания процесса...   May 15 2008, 08:56
|- - RHnd   Цитата(Kuzmi4 @ May 15 2008, 12:56) на сч...   May 15 2008, 15:40
- - Kuzmi4   Цитата(RHnd @ May 15 2008, 18:40) Вы кем ...   May 15 2008, 15:46
- - Kuzmi4   Вроде сварганил я костяк периферии, теперь надо ег...   May 29 2008, 12:31
|- - Stewart Little   Цитата(Kuzmi4 @ May 29 2008, 16:31) я при...   May 29 2008, 13:31
- - RHnd   Эксперименты не ставил, но смутно подозреваю, что ...   May 29 2008, 13:15
- - Kuzmi4   У меня тут такая заковыка - есть 2 8 битных регист...   May 29 2008, 13:45
- - vetal   исходить надо из разрядности мастера, периферии и ...   May 29 2008, 16:34
- - Kuzmi4   2 vetal - а как маскировать byte_enable - это ж я ...   Jun 2 2008, 12:09
- - vetal   Цитата2 vetal - а как маскировать byte_enable - эт...   Jun 2 2008, 12:20
- - Kuzmi4   2 vetal - спасибо, буду знать. А идея на счёт мест...   Jun 2 2008, 13:09
- - vetal   ЦитатаА в каком симуляторе можно посмотреть сигнал...   Jun 2 2008, 13:25
- - Kuzmi4   2vetal - я сигналы смотрю симулятором в квартусе. ...   Jun 2 2008, 13:54
|- - Stewart Little   Цитата(Kuzmi4 @ Jun 2 2008, 17:54) 2vetal...   Jun 2 2008, 19:49
- - Kuzmi4   Возвращемся к нашим баранам... Есть непонятный нъю...   Jun 20 2008, 12:37
- - Kuzmi4   Покопал в этом направлении - посмотрел в глубь соб...   Jun 21 2008, 16:27
- - vetal   ЦитатаЗначит имеем занятое адресное пространство -...   Jun 21 2008, 18:21
- - Kuzmi4   2 vetal - спасибо, вчера сам догнал что пургу смо...   Jun 22 2008, 14:21
- - vetal   Цитатапочему так wacko.gif ?? доступ 32битный реал...   Jun 22 2008, 16:10
- - Kuzmi4   2 vetal - Что-то не понял я ваших манипуляций Цит...   Jun 22 2008, 16:40
|- - vetal   Цитата(Kuzmi4 @ Jun 22 2008, 20:40) 2 vet...   Jun 22 2008, 18:30
- - Kuzmi4   Что - то чем дальше в лес тем толще партизаны... Н...   Jun 23 2008, 06:43
- - Kuzmi4   Значит сваял я тут свою периферийку по an333 - мдя...   Jun 23 2008, 13:34
- - vetal   ЦитатаВ принипе есть идейка - разрядность адреса у...   Jun 23 2008, 17:01
- - Kuzmi4   2 vetal - Спасибо, потихоньку начинаю понимать. Я ...   Jun 24 2008, 07:37
- - Kuzmi4   Значит переработал я апнот333 - чтоб его в свю сис...   Jun 24 2008, 13:53
|- - Postoroniy_V   Цитата(Kuzmi4 @ Jun 24 2008, 22:53) Значи...   Jun 25 2008, 03:07
- - Kuzmi4   2 Postoroniy_V - большой . При создании почему т...   Jun 25 2008, 08:59
- - Kuzmi4   Тут появился вопросик касательно INOUT бита - ну н...   Jun 27 2008, 07:38
- - Kuzmi4   В обсчем поборол я этот вопрос - сврганил там 2 ши...   Jun 28 2008, 21:47
- - Mozart   насколько я понял при помощи вот этого сигнала ...   Aug 6 2008, 13:01


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

 


RSS Текстовая версия Сейчас: 17th June 2025 - 20:29
Рейтинг@Mail.ru


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