?
 

Оптим из яйца

About Уничтожить всех уродов

Previous Entry Оптим из яйца 22 апр, 2013 @ 21:35 Next Entry
Вожусь время от времени со своим супер-пупер-недоделанным мегацифровым ультрапроцессором для SDR.
Ну, вы знаете.



На плате есть парочка до сих пор не опробированных устройств, одно из них я щас подключил и очень удивился.
Короче, это простой энкодер вращения, один из двух (первый - оптический, 100 шагов на поворот, второй (герой истории) механический, 15 шагов на оборот, на оси ещё кнопка есть). Схема проще некуда - два контакта, два резистора. Зашунтировал ещё входы на сякий случай конденсаторами в 1000 пФ, душеполезная вещь.

Подключил энкодер, красивый ему "хвостик" спаял. В прошивку ПЛИС изменений пока никаких не вносил.
Смотрю на уровни сигнало.. чё за херь? нуль - как нуль, а единица вместо высокого уровня шатается где-то около 0.6В. Явно ненормальная ситуация.

Похоже, что конфигуратор заставляет ПЛИС выставить неиспользуемые пины в некое состояние, напополам между "высокоимпедансное" и "активный выход". Т.е. там и не нуль, и не единица, и не high-Z, а непоймичто.

Прямо прописал, что вот эти вот пины будут входами -- не заработало. Поставил в схему ibuf -- не заработало (компилятор, видать, решил оптимизировать -- раз сигнал никуда не идёт, то и разводить его не будем!). Пробросил от них сигнал на отладочные пины -- заработало. Т.е. уровни стали правильными, уже прогресс. Прикольно...
Оставить комментарий
[User Picture Icon]
From:Sergey Gimaev
Date:Апрель, 23, 2013 15:36 (UTC)
(Link)
активно грызу верилог на спартан 3AN на стартеркитовской плате. могу линку на начало эпопеи дать.
сделал ЖКИ контроллер с внешней SRAM. щас пилю сбор данных с АЦП во внутреннюю регистровую память. потом надо делать SPI для обмена с процом, который будет графику рисовать на основе данных от АЦП.
после микроконтроллеров с С и АСМ верилог как-то трудно ложится.
[User Picture Icon]
From:kincajou
Date:Апрель, 23, 2013 19:34 (UTC)
(Link)
щас догадаюсь.. самодельный осциллограф?
[User Picture Icon]
From:kincajou
Date:Апрель, 23, 2013 19:57 (UTC)
(Link)
я на VHDLе пишу и первое, что сделал для этой платы, это соорудил в ПЛИСе "переходник" с шины микроконтроллера -- если не видно, это AT90USB1287 (в будущем, возможно, дивайс будет подрубаться к компу как внешняя аудиокарта.. а если нет, то хотя бы как внешний CDC, чтоб без RS232 работать можно было) -- на асинхронный Wishbone. И теперь у меня все периферийные устройства, начиная от того же пока не реализованного энкодера и заканчивая скоростным АЦП, представляются как регистры во внешней памяти МК. Соответственно, написание программ стало предельно простым: если хотим обратиться к какому-нибудь модулю, то просто читаем (или пишем) по адресу в памяти. И всё.

Да, ещё завёл с ПЛИС на МК две линии прерываний, на всякий случай. Одну задействую под энкодеры и клавиатуру, а вторую ещё не придумал.. пусть будет, про запас.

Edited at 2013-04-23 20:00 (UTC)
[User Picture Icon]
From:Sergey Gimaev
Date:Апрель, 24, 2013 02:10 (UTC)
(Link)
ага. охцилограх. с фурье. 80 мгц АЦП.
чисто для освоения ФПГА. стали часто попадаться задачи для жесткой логики, типа твоего "расширителя регистров". пока спасают просто мощные и быстрые процы. типа ARM7, ARM926.
зы. про ригол за 8 тыр знаю =)
[User Picture Icon]
From:kincajou
Date:Апрель, 24, 2013 07:07 (UTC)
(Link)
у меня, вообще-то, не просто "расширитель регистров", там уже частично работает демодулятор SSB ("частично" потому, что я пока не сделал нормальное преобразование частоты дискретизации с 500 кГц до 8/16/32 кГц для аудиокодека, щас работает простейшее прореживание)
(Оставить комментарий)
Top of Page Разработано LiveJournal.com