Автор Тема: Вопросы по ПЛИС (PLD)  (Прочитано 57579 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: Вопросы по ПЛИС (PLD)
« Ответ #60 : 27 Сентября 2014, 17:41:10 »
0
Алексей, а с чего ты решил, что это должно работать? Посмотри внимательно листинг. Мне кажется, исходя из логики работы устройства
else
        begin
         ints = ints + 1;
        end
должно выглядеть наверное так
else
                   begin
                          ints = ints+1;
                          leds <=leds;
                   end
И непонятно какое начальное значение leds (я имею ввиду это явно не видно)
И интересно будет ли работать в данном случае вместо
   if(leds == 3) leds <= 0;
   if(leds == 3) leds <= ~leds;
Хотя я конечно не шибко Копенгаген.


Оффлайн WolfTheGrey

  • Старожил
  • *****
  • Сообщений: 2172
  • Репутация: 6
  • Алексей
  • Поблагодарили: +101
Re: Вопросы по ПЛИС (PLD)
« Ответ #61 : 27 Сентября 2014, 22:40:42 »
0
Все работает, просто перепутал малость пины. Написано на плате Clocl_50 - AB11. А я эту тактовую частоту ожидал в пинах A11 и B11 Они тоже пины:глобального тактирования.

Строчка ниже, если заключена в оператор последовательного действия должна работать. Вот так я складываю массив светодиодов, и инвертирую его. Так как на плате логический ноль это + 2.5 вольта.
 begin 
   led <= led + 1;    
   leds <= ~led;
 end

Оффлайн WolfTheGrey

  • Старожил
  • *****
  • Сообщений: 2172
  • Репутация: 6
  • Алексей
  • Поблагодарили: +101
Re: Вопросы по ПЛИС (PLD)
« Ответ #62 : 06 Октября 2014, 12:00:59 »
0
Дополню предыдущий ответ. Наткнулся на хорошую статью по верилог.  Особо убила вот эта строчка:
Цитировать (выделенное)
Операторы присваивания в Verilog делятся на блочное «=" и внеблочное «<=". Блочное присваивание выполняется сразу, в том месте, где оно встретилось, причем переменная меняет свое значение мгновенно и это может происходить неоднакратно в одной ветви алгоритма. Внеблочное присваивание изменяет значение переменной только в момент выхода из блока.
Сосвем другое понимание происходящих процессов, не правда ли?

Цитировать (выделенное)
И непонятно какое начальное значение leds (я имею ввиду это явно не видно)
В верилог все необьявленные переменные по умолчанию wire, все числа по умолчанию 0.

Закончил создавать проект "часы с кукушкой" Достойная реализация достойной платы  ;D
« Последнее редактирование: 06 Октября 2014, 12:07:21 от WolfTheGrey »

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: Вопросы по ПЛИС (PLD)
« Ответ #63 : 26 Июля 2015, 21:55:05 »
0
Приветствую опять всех в этой богом забытой теме ). Голову сломал, как определить с какой битностью передаются данные по I2S. Делал индикацию частоты сэмплирования, теперь решил вернуться к проекту и сделать индикацию битности. Но мозгов наверное не хватает. Дайте маячок господа,  не дайте заблудиться в темноте.

Оффлайн WolfTheGrey

  • Старожил
  • *****
  • Сообщений: 2172
  • Репутация: 6
  • Алексей
  • Поблагодарили: +101
Re: Вопросы по ПЛИС (PLD)
« Ответ #64 : 27 Июля 2015, 07:12:57 »
0
Болеро

и добавил...
По сути сделать ФНЧ - и выводить на пин 24тый бит. Если он всегда О, то лампочка погасла.
« Последнее редактирование: 27 Июля 2015, 07:15:44 от WolfTheGrey »

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: Вопросы по ПЛИС (PLD)
« Ответ #65 : 27 Июля 2015, 07:41:49 »
0
По сути сделать ФНЧ - и выводить на пин 24тый бит. Если он всегда О, то лампочка погасла.
Это в Болеро так сделано?

Оффлайн WolfTheGrey

  • Старожил
  • *****
  • Сообщений: 2172
  • Репутация: 6
  • Алексей
  • Поблагодарили: +101
Re: Вопросы по ПЛИС (PLD)
« Ответ #66 : 27 Июля 2015, 12:03:48 »
0
Нет, это так сделать надо, если в прошивке есть триггеры. Типо цап в моно.
если триггеров нет, то придумал как из 16 вентилей все укатать.

Да и смотреть надо сразу с 17го по 24 бит. В 16битном потоке там все нули.

и добавил...
В болеро сама винда сообщает какой разряд данных идет, я так думаю.
« Последнее редактирование: 27 Июля 2015, 12:05:58 от WolfTheGrey »

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: Вопросы по ПЛИС (PLD)
« Ответ #67 : 27 Июля 2015, 18:12:16 »
0
В 16битном потоке там все нули.
А ежели там "мусор"? Не факт (IMHO), что там нули.

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: Вопросы по ПЛИС (PLD)
« Ответ #68 : 27 Июля 2015, 18:19:38 »
0
Битность i2s это количество тиков клока во время одного полупериода lr. Нули там или нет - не важно. Так что посчитать количество импульсов и сделать вывод.

и добавил...
Если же реальная картина интересна - тогда спрашивать у источника или методом Алексея, только надо думать когда стоит начать считать что пора переключить индикацию, чтоб в тихих моментах композиции не загоралась индикация 16бит
« Последнее редактирование: 27 Июля 2015, 18:21:47 от xar »

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: Вопросы по ПЛИС (PLD)
« Ответ #69 : 27 Июля 2015, 23:19:23 »
0
Битность i2s это количество тиков клока во время одного полупериода lr.
Мне трудно понять специфический язык (тики, клоки... какие именно клоки). Можно немного более понятно?
Я это понял так:
Например  Fs=192000, чтобы узнать битность получается Nclk/2 , где Nclk = это количество тактов? (тиков) MCLK?, BCK? за период Fs
Я правильно понял?
« Последнее редактирование: 27 Июля 2015, 23:42:47 от Язычник »

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: Вопросы по ПЛИС (PLD)
« Ответ #70 : 28 Июля 2015, 00:11:30 »
0
Битность i2s это количество тиков клока во время одного полупериода lr.
Мне трудно понять специфический язык (тики, клоки... какие именно клоки). Можно немного более понятно?
Я это понял так:
Например  Fs=192000, чтобы узнать битность получается Nclk/2 , где Nclk = это количество тактов? (тиков) MCLK?, BCK? за период Fs
Я правильно понял?
по спецификации i2s имеет три линии. WS, SCK и SD. SD это данные и нас не интересуют. SCK строб данных, WS - выборка слова (по фронту, по уровню - левый/правый каналы). так вот сколько стробов данных будет в каждом канале (пока WS не изменит уровень) столько бит в шине передается.

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: Вопросы по ПЛИС (PLD)
« Ответ #71 : 28 Июля 2015, 00:39:36 »
0
так вот сколько стробов данных будет в каждом канале (пока WS не изменит уровень) столько бит в шине передается.
Я почему-то думал, что BCK (SCK) всегда равно 64*Fs (по 32 на канал) или 48*Fs. Но если применяется формат I2S64, то и количество тактов неизменно.

Оффлайн WolfTheGrey

  • Старожил
  • *****
  • Сообщений: 2172
  • Репутация: 6
  • Алексей
  • Поблагодарили: +101
Re: Вопросы по ПЛИС (PLD)
« Ответ #72 : 28 Июля 2015, 00:42:17 »
0
Все на много проще, bclk, data lr. За пол периуда lr - bclk делает 32 такта.
В I2s_mode первый такт пустой, далее идет 16 или 24 такта даты, потом опять нули.
почему 16 регистров? Данные по клоку bclk постоянно загонять в эти сдвиговые регистры и В момент смены фронта lr - в этих регистраx будет хвост от даты. Если со второго бита по 10 - нули? То 16 бит.

В I2s нет мусора, или где то накосячено.

и добавил...
чтоб в тихих моментах композиции не загоралась индикация 16бит
тогда смотреть момент "mute"
« Последнее редактирование: 28 Июля 2015, 00:49:36 от WolfTheGrey »

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: Вопросы по ПЛИС (PLD)
« Ответ #73 : 28 Июля 2015, 09:19:44 »
0
Но если применяется формат I2S64, то и количество тактов неизменно.
ты сам ответ дал. формат I2S 64 содержит в себе 32 бита на канал. а вот сколько в нем реальных данных - другой вопрос.

и добавил...
В I2s_mode первый такт пустой
не пустой, а от предыдущего семпла.
тогда смотреть момент "mute"
тихие моменты это не полная тишина

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: Вопросы по ПЛИС (PLD)
« Ответ #74 : 28 Июля 2015, 22:31:25 »
0
а вот сколько в нем реальных данных - другой вопрос.
Так в этом и состоит задача. Все, что было сказано тобой выше я знаю. Меня интересует именно определение "реальной" битности потока данных.

Оффлайн smarold

  • Читаю форум
  • *****
  • Сообщений: 2964
  • Репутация: 10
  • Просто Юрий. Воронеж.
  • Поблагодарили: +883
Re: Вопросы по ПЛИС (PLD)
« Ответ #75 : 14 Августа 2015, 09:19:27 »
0
Закончил создавать проект "часы с кукушкой"
По мне так чучело кукушки с нессиметричным мультивибратором на двух транзисторах куда эстетичнее  ;D

 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
9702 Просмотров
Последний ответ 01 Августа 2010, 19:03:16
от yooree
21 Ответов
26342 Просмотров
Последний ответ 15 Июня 2016, 23:34:29
от cu6apum
25 Ответов
29821 Просмотров
Последний ответ 25 Июня 2016, 00:47:29
от amatti73
5 Ответов
8640 Просмотров
Последний ответ 28 Февраля 2020, 08:14:42
от Илья_C
1 Ответов
6076 Просмотров
Последний ответ 09 Мая 2020, 02:57:41
от GoRs