МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2

ТЕМА: Проект TFT от Тохи

Проект TFT от Тохи 5 года 11 мес. назад #1364

  • umarsohod
  • umarsohod аватар Автор темы
  • Не в сети
  • Администрация форума
  • Администрация форума
  • Сообщений: 789
  • Спасибо получено: 163
Публикую пару фотографий , надеюсь он на меня не обидится :(


Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Проект TFT от Тохи 5 года 11 мес. назад #1365

  • umarsohod
  • umarsohod аватар Автор темы
  • Не в сети
  • Администрация форума
  • Администрация форума
  • Сообщений: 789
  • Спасибо получено: 163
Для "dron".
Я посоветовал сделать так, а как на самом деле у Тохи заработало я не знаю, это надо с ним как-то связываться :( .

Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Проект TFT от Тохи 4 года 3 мес. назад #2700

  • Toxa
  • Toxa аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 1
всем сдрасти. сваял новую плату на плисе EP3C5E144 и экранчике 800x480 пикселов. сделал для начала фреймбуфер на SDRAMке и получил USB фоторамку
ВИДЕО РАБОТЫ
сейчас подключил microSD на 8GB и инициализирую ее в SD Mode (4х проводном) режиме. данные шлются в фрембуфер экрана.
для начала немного инфы, формат данных идущих по 4м проводам от SD карточки таков: на всех линиях лог 1 (подтяжка резисторами к +), когда карточка готова передать данные, то она на очередной клок прижимает все линии к земле. далее передаются 512 байт данных (1024 клока) и CRC + завершающий END bit на всех 4х линиях =1 и карточка освобождает линию (на линии опять лог 1), пока не будет готова передать новый пакет данных.
теперь о проблеме. пытаюсь нарисовать схему, которая бы ожидала старт бит, далее записывала бы 512 байт во в фреймбуфер и пропустив CRC и стоп бит снова ждала бы старт бита. третий день подряд ни черта не выходит, зверски бесит уже это дело :angry:
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Проект TFT от Тохи 4 года 3 мес. назад #2701

  • umarsohod
  • umarsohod аватар Автор темы
  • Не в сети
  • Администрация форума
  • Администрация форума
  • Сообщений: 789
  • Спасибо получено: 163
Схема видна очень плохо, ничего не понятно.
Вы заархивируйте и выложите ".bdf" или пришлите на Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра., если сюда не поместится.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от umarsohod.

Re: Проект TFT от Тохи 4 года 3 мес. назад #2702

  • Toxa
  • Toxa аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 1
ой, а я и не увидел, что изображение сжалось, прокол... вот АРХИВ с проектом. кст, симуляция на моем нетбуке не запускается, Quartus 9.1 говорит, что ему мало памяти. по этому проверяю работоспособность просто заливая код в кристалл. в принципе только вот этот кусочек и не работает как нужно.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Проект TFT от Тохи 4 года 3 мес. назад #2703

  • umarsohod
  • umarsohod аватар Автор темы
  • Не в сети
  • Администрация форума
  • Администрация форума
  • Сообщений: 789
  • Спасибо получено: 163
Правильнее всего будет переделать эту схему в "синхронную", для этого:
1. Нужна тактовая частота более чем в два раза выше чем CLK_SPI , это будет управляющий клок.
2. На всех DFF создать вход CLOCK_ENADLE и подать на него то что сейчас идет на их клоки.
3. На все клоки, в том числе и счетчика, подать управляющий клок
4. Сделать на счетчике вход COUNT_ENABLE и подать туда то, что шло на клок
4. На входе CLK_SPI поставить схему выделения фронта - marsohod.org/index.php/verilog/157-verilogedges
5. На триггере убрать сигнал с асинхронного сброса и подать его на вход D
6. На счетчике в место асинхронного сброса поставить синхронный.
На первый взгляд все, со счетчиком не очень могу сообразить, будет ли в нужный момент сбрасываться, нужно пробовать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Проект TFT от Тохи 4 года 3 мес. назад #2704

  • Toxa
  • Toxa аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 1
ок, спасибо! буду вечером пробовать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Проект TFT от Тохи 4 года 3 мес. назад #2705

  • Toxa
  • Toxa аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 1
5. На триггере убрать сигнал с асинхронного сброса и подать его на вход D
а клок триггера оставить прежним? просто фронт клока по задумке появляется на нем в момент установки на счетчике числа 1024 (11бит=1, 10бит=0).
кст вопросы у меня есть про логику работы триггера. если на асинхронном сбросе в 0 или установке в 1 активное состояние, то триггер не реагирует на сигнал клока? то есть сбросил я триггер асинх. сбросом в 0 и держу его так, а на входе триггера лог 1 и фронт клока нагрянул, то на выходе триггера что будет? так и останется 0 или по фронту клока установится 1? и кто из асинхронных сигналов более приоритетнее - сброс или установка? тоесть если оба активны, то что на выходе триггера?
еще вопрос про CLOCK_ENADLE. если на входе клока счетчика 1 и CLOCK_ENADLE сменит состояние 0->1, то счетчик не воспримет это как фронт клока? просто всегда думал что CLOCK_ENADLE в паре с CLOCK работает как элемент И.
а еще вопрос про асинхронные сброс и установку счетчика - они то же находясь в активном состояние не дадут счетчику считать по фронту клока или нет? и кто из них приоритетнее - сброс или установка?
извиняюсь за глупые вопросы, сам бы проверил в симуляторе, но как уже написал, он у меня не работает.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Проект TFT от Тохи 4 года 3 мес. назад #2706

  • umarsohod
  • umarsohod аватар Автор темы
  • Не в сети
  • Администрация форума
  • Администрация форума
  • Сообщений: 789
  • Спасибо получено: 163
Вам нужно начать мыслить несколько иначе
- Про асинхронные сигналы вообще забудьте, считайте что их не существует.
- Не подавайте на клок любого триггера сигнал с комбинаторной логики. Подавать можно с PLL ,
входной ножки , если снаружи стоит хороший генератор, или с выхода другого триггера.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Проект TFT от Тохи 4 года 3 мес. назад #2707

  • Toxa
  • Toxa аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 7
  • Спасибо получено: 1
то есть вы асинхронными сигналами вообще не пользуетесь? а подавать на клок триггера сигналы с комбинаторной логики почему не следует? поясните пожалуйста)

ура, заработало! добавил к изначальной схеме паузу в 16 клоков, после окончания приема пакета, что бы не было ложных срабатываний на ложные start bitы в поле CRC. так же добавил обратную связь, что бы разрешать сброс счетчика, только тогда, когда триггер установлен в 1, а то счетчик оказывается сбрасывался при каждом ложном start bitе (почему я это сразу не увидел). и последнее изменение, которое я еще не могу объяснить - пришлось добавить установку счетчика не в единицы (2047), а в 2046, иначе пропускался первый полубайт пакета данных.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Toxa. Причина: добавил картинку
  • Страница:
  • 1
  • 2
Время создания страницы: 0.926 секунд

facebook  GitHub  YouTube  Twitter