-
Постов
24 -
Зарегистрирован
-
Посещение
Репутация
-1 ПлохойИнформация о kirra.cat
-
Звание
Участник
- День рождения 15.03.1992
Информация
-
Город
Array
Посетители профиля
1 091 просмотр профиля
-
Спасибо, поправил. Адаптировал кусок схемы для этого поста и допустил ляп) Спасибо за ценный ответ) Да, на диаграммах явно указано, что это время 1 такт HCLK, а в примере работы с экраном частота микрокотроллера 72 МГц, надо будет подумать, как задержать WE# на пару тактов ещё, что-то не хочется половину тактовой частоты терять. Конечно, можно сигнал WE# перед экраном ещё через пару вентилей пропустить, но это как-то костыльно. Хотя, там есть ещё настройка таймингов в примерах, но не уверен, что это то, что надо, пока жду отладку, и не могу потыкать осциллографом и проверить. С паралельной шиной работал с микроконтроллерами от Миладра, НИИЭТ и Tiva-C от TI, и у всех можно указывать длительность сигналов WE# и OE# в тактах, и почему-то был уверен, что это лишь за редким исключением их править нельзя.
-
Не уверен, что ТЗ, с подробным описанием функционала, на основании которого можно сделать вывод какой объем памяти, производительность микроконтроллера и прочее потребуется для реализации проекта, необходимо для ответа на четко сформулированный технический вопрос: заработает ли вместе SRAM и экран при данном включении или нет? Вместо конкретного ответа на конкретный вопрос - разведение демагогии, цель которой мне неясна. Как по мне, если нет желания или возможности ответить на вопрос, лучше ничего не отвечать.
-
Да, конечно, правильно составить некоторое ТЗ для себя и следовать ему. Но мой пост выше, в виде огорода из SRAM и логики должен преследовать следующую цель: я не уверен до конца, хватит ли мне оперативной памяти в проекте, или нет, возможно, что эта SRAM будет использоваться и не только для хранения фрейм-буфера. Просто фрейм-буфер первым пришёл в мою голову, и я его привёл в качестве примера. Поэтому я исходил из следующих соображений: будет экран с памятью внутри, и мне не понадобится микросхема SRAM, то ок, просто не буду ставить её на плату, устройство останется работоспособным. Но если не хватит, причём не обязательно для фрейм-буфера, то добавить эту микросхему будет сложно. Этот огород из микросхем - попытка обезопасить себя от потенциальной проблемы и иметь возможность для маневра, просто заложив под это дело место на плате. Поэтому и спросил в первую очередь, будет ли эта конструкция работоспособна. Так что на мой взгляд, вопрос ставить, или не ставить скорее философский)
-
Конктректного экрана пока нет, т.к. хочу найти самый дешевый экран, который есть на AliExpress. Мои ожидания от него: разрешение 320х240 или выше (желательно около 480х320), емкостной тач, контроллер что-то типа ILI948x или ST77xx. Это частота обновления картинки 40+ кадров в секунду
-
Всем доброго времени суток, и с наступившим Новым Годом! Разрабатываю одну железку, как личный проект, потом, если получиться, открою под свободной лицензией для всех желающих. В устройстве хочу применить китайский микроконтроллер и цветной экранчик, скорее всего разрешением 320х240 или побольше, и к тому же получить более-менее плавную картинку. Поэтому хочу применить экранчик с 16-битной параллельной шиной, а также фрейм-буфер целиком хранить в оперативной памяти, и после отображать на экране. Микроконтроллер планирую CH32V307VCT6, т.к. он всем меня устраивает (просто поковырять RISC-V) и ещё имеет контролер внешней памяти, через которой и буду загружать этот фрейм-буфер в экранчик. Но мне не хочется тратить много оперативной памяти на этот фрейм-буфер (да и в самом микроконтроллере её столько нет), и этот фрейм-буфер думаю формировать во внешней SRAM (256Кх16), а после через DMA отправлять его из микросхемы SRAM в экран. По идее, должно получиться, что пнул DMA чтобы закинул в SRAM очередной фрейм, потом опять пнул DMA, и дальше всё само записалось куда надо, а процессорное ядро в это время свободно. Возможно, что алгоритм пинания DMA потом будет другой. Конечно, можно было бы поставить что-нибудь пожирнее, но, как понимаю, китайский микроконтроллер + микросхема SRAM + немного логики будут в сумме дешевле более жирного микроконтроллера, да и детальки уже купил, так что деваться мне некуда) Ещё плюс – захотел экранчик с большим разрешением, то просто поставил микросхему SRAM побольше и всё. Да, я прекрасно понимаю, что не обязательно формировать весь фрейм, а можно только изменяющуюся его часть и тем самым вовсе обойтись без всякой внешней памяти, но хочу сделать именно так, с внешней памятью и целым фреймом в нём. Сейчас думаю, как подключить микросхему памяти и экран к FSMC. Блок FSMC выглядит так (что написано по-китайски – мне не известно), но очень похож на таковой в STM32, да и сам чип CH32V307VCT6 совпадает по ногам с STM32F407VCT6, поэтому блок FSMC, предполагаю, будет очень похож на таковой от STMicroelectronics. С STM32, так получилось, что особо дело не имел, но с микроконтроллерами на ARM возился часто. Тут RISC-V, но опять же, ядро на суть вопроса не влияет. Шина данных у него мультиплексирована с адресами А0-А15, и поэтому надо разделить её защелками типа 74HC573, для доступа к всей SRAM. На странице 113 Reference Manual есть табличка, какие в принципе есть ноги у FSMC. Мне вроде ясно, что сигналы AD0-AD15, A16-A23, NOE, NEW, NWAIT будут общими для LCD и SRAM, сигналы NE1, NBL0, NBL1 будут для SRAM, а NCE2 для LCD, и примерно набросал следующую схемку (Schematic.pdf вложении). Также, исходя из примера для LCD (примеры для LCD и SRAM во вложении), экран нормально работает и без защёлок, а для SRAM они нужны. Для экрана сигнал LCD_RS хочу дергать лининей адреса А18. А для SRAM чуть непонятно, когда защёлкивать адрес? Судя из диаграмм, скорее всего сигналом FSMC_NADV, и подавать его на входы LE микросхем-защёлок. Но этого сигнала что-то не нашёл в составе FSMC, есть только информация, что порт PB7 мапится на этот сигнал, и в примере с SRAM он используется. Поэтому надежда на то, что так и есть. Сигналы тактового сигнала FSMC_CK и сигнал FSMC_NWAIT мне, судя по всему, не нужны. В целом, вопрос вот в чём. Верны ли мои рассуждения насчёт работы FSMC (пусть с точки зрения STM32)? В схеме верно ли, что сигнал FSMC_NE1 идет на защелки DD7, DD8 (вход OE#)? И в целом, работоспособна в теории приведенная схема? Также, хотелось бы услышать вашего мнения насчёт логичности и оправданности такого решения, что может быть с вашей точки зрения в нём неоптимального, кроме того, что это потенциально три ненужные микросхемы? Reference Manual на GitHub https://github.com/openwch/ch32v307/tree/main/Datasheet, или на сайте WCH http://www.wch-ic.com/downloads/CH32FV2x_V3xRM_PDF.html, он 7 МБ, и не получается его закинуть во вложение. P.S. В микросхеме SRAM IS62WV25616BLL есть ещё CS2, но он опциональный, есть версии микросхем только с CS1#. Если микросхема с CS2, то куда этот CS2 подключить? Мои предположения, что это для того, чтобы несколько микросхем цеплять на одну шину, и планирую просто притянуть его к лог. 1. P.P.S. На схеме в желтых квадратах указано, как подключены SRAM и LCD в приложенных примерах кода. CH32_FSMC_Example.zip
-
Выбор микросхемы USB HUB
kirra.cat опубликовал тема в Компоненты
Добрый день. Мы разрабатываем девайсину, к которой повышенные требования к надежности, и нам понадобились 2 микросхемы USB Hub: одна на 4 нисходящих порта, другая на портов 7-8. Требования к микросхеме не зверские, достаточно чтобы был USB 2.0 HS или быстрее, всякого контроля заряда не надо, защита от перегрузки - через внешний драйвер, а также, особенно в данное время, важное условие её доступности. Ну, и чтобы совместима с Linux была, хотя, как понимаю, почти всё будет поддерживаться в Linux. Повышенная надежности нужна, т.к. девайсина должна работать непрерывно днями, с очень активным трафиком по USB. Смотрел на всякие китайские FE1.1, FE2.1, GL850, но народ пишет, что скорость низкая и отваливаются часто, а это нам не допустимо. Думал насчёт 4-портового HUB TUSB4041 от TI, но в продаже особо не нашёл. На 7 портов пока склоняюсь к USB2517. На 4-порта скорее всего пока тоже к микросхемам от MicroChip смотрю, исходя из доступности. Хотел поинтересоваться, что можете рекомендовать к использованию? Кто сталкивался с выбором микросхемы USB Hub, поделитесь опытом, пожалуйста. -- С уважением, Сергей -
Доброго всем дня. Я разрабатываю устройство и столкнулся со проблемой подключения экрана с параллельной шиной к одноплатному ПК. Но обо всё по порядку. У меня есть 24-битный дисплеи NHD-7.0-800480EF-ATXL#-CTP и NHD-5.0-800480TF-ATXL#-CTP с параллельной шиной и одноплатный ПК Eaglet c i.MX6 с двухканальным LVDS. Это у меня уже есть, и надо это связать между собой. Для достижения этого хочу разработать преобразователь из двухканального LVDS в 24-битную параллельную шину. Только меня смущает двухканальный LVDS, я не знаю, можно ли использовать лишь один канал. Пока в голове есть две идеи: 1. Применить микросхему DS90CF388A, подключить два канала LVDS, но использовать только один порт 24-битной параллельной шины (см. Рисунок 1) 2. Применить микросхему DS90CF384A для подключения по одному каналу LVDS и оставить один канал свободно висящим в разъеме (см. Рисунок 2). Как тут лучше поступить? В целом, мои мысли верные?
-
USB Hub USB7216T
kirra.cat опубликовал тема в Цифровые схемы, высокоскоростные ЦС
Добрый день. Я отлаживаю железку, в которой USB Hub USB7216, структура железки выглядит примерно так: там есть одноплатный ПК формата MXM3 (p/n EDM1-IMX6D-10-R10-MSD-9377) и в силу того, что у него один USB, к нему подключен USB-Hub на 6 портов USB7216. К мосту подключены уже USB-UART, микроконтроллер (его нет на картинке), и несколько соединителей USB. В качестве Reference Design использовать схему отладочной платы EVB-USB7216 (схема в pdf файле, во вложении). Я предполагал, что выбрав одну из двух предустановленных опций USB Hub, мне не надо будет его отдельно конфигурировать, и он должен сразу заработать. Сейчас, установлены перемычки J18,J19,J21,J25,J26,J27,J31-J37,J39,J71,J72 (выделены на схеме желтым). Но на практике я получил такое поведение: иногда он определяется как один хаб, иногда как два хаба, и чаще всего не определяется совсем. Во всех случаях, подключенные к хабу USB устройства не определяется операционной системой. Это вывод с Linux, если мост определяется вывод, когда он не определяется и когда определяется лишь его "часть" я не могу сейчас поймать что-то, как поймаю, дополню пост. Когда определяется лишь "часть" устройства, он отображается примерно так Bus 001 Device 083: ID 0424:4216 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Кто сталкивался с этим семейством USB Hub от MicroChip? В чём может быть причина? Буду рад любой помощи, спасибо. hw_platform_usb_hub1.pdf -
Мультиплексирование SPI
kirra.cat ответил kirra.cat тема в Форумы по интерфейсам
Спасибо за ответы. Я когда рисовал эту схему, следовал следующими соображениями: т.к. каждый SPI уходит через соединитель дальше в прибор, то линия должна быть помехоустойчивой. И на мой взгляд, 8 проводников подключенных к одной точке менее помехозащищены, нежели линия точка-точка. Может у меня просто такой стререотип выработался. Конечно, можно мультиплексировать только FSS, а остальные сигналы оставить просто соединёнными между собой. Но в таком случае мне потребуется буфер перед каждым разъемом, чтобы не оставлять порты микроконтроллера подключенные напрямую в недра прибора. А тут подумал, почему бы не поставить микросхемы 138 и 151 (ток они могут дать около 10 мА), и не ставить буфер перед разъемом. Но если это решение рабочее, тогда буду думать, как его лучше прилепить. -
Мультиплексирование SPI
kirra.cat опубликовал тема в Форумы по интерфейсам
Добрый день. Сейчас думаю над устройством, где есть микроконтроллер, к которому подключены 8-SLAVE SPI. Т.к. мне все это SLAVE одновременно не нужны, да и в примененом мной микроконтроллере нет столько SPI, хочу мультиплексировать линии. Типа вот такой вот штуки должно получится Решил нагородить из стандартной логики SN74HC138 и SN74HC151 некий мультиплексор/демультиплексор, который выглядит примерно так (если плохо видно, есть во вложении схема Test.pdf): Предполагаю, что выставив 3-битный адрес устройства (линии SELA, SELB, SELC) в нужное число от 0 до 7, я выберу необходимый мне SLAVE. У меня собственно вопросы такие: 1. Нужны ли буферы (типа SN74HC244) после мультиплексора/демультиплексора? 2. Какие могут быть неприятности в таком решении? 3. Не считается такой костыль из стандартной логики чем-то жутко плохим? 4. Вообще, рабочее это решение/схема? :) -- С уважением, Kirra -
Выбор экрана для одноплатного ПК
kirra.cat ответил kirra.cat тема в Аудио/Видео интерфейсы
Отлично. И у меня ещё небольшой вопрос, но уже по поводу соединителей. С экранчиков выходят шлейфы на гибко-жеских платах. Рекомендованный Winstar разъем я не нашел. По какому принципу эти разъемы выбираются? Просто использовал соединители от Hirose Electric серии FH34SRJ, которые обзываются FPC/FFC Connectors, и у них в этой же серии есть подходящие, на мой взгляд, соединители FH34SRJ-10S-0.5SH(99), FH34SRJ-40S-0.5SH(99) и FH34SRJ-50S-0.5SH(99) Должны ли подойти эти соединители к экранам от Winstar? P.S. Прошу прощения за столь глупые вопросы про разъемы, просто это моя больная тема, в каждой разработке я обязательно ошибусь с разъемом :) могу безошибочно поместить на плату 700-ногий BGA, но с каким-нибудь соединителем обязательно будет что-то не так :) ed_FH34_20191223.pdf -
Выбор экрана для одноплатного ПК
kirra.cat ответил kirra.cat тема в Аудио/Видео интерфейсы
Я как раз хотел приложение на Qt писать. А в качестве ОС использовать Ubuntu. А чём может быть сложность с тачем в Qt? Это весьма крутой проект. Верно ли я понял, что допустим, я выберу экран от Winstar WF50BTIAGDNGC (5 дюймов) и WF70GTIAGDNGC (7 дюймов), они используют для обработки сенсора чип FT5426 (который поддерживается в проекте от Watterrott) и сделаю плату на TFP401A, то по сути, подключив к нему HDMI и USB получу сенсорный монитор? P.S. Просто мои скиллы позволют разработать без особых проблем сложную плату, и осуществить монтаж, типа 0402 и пр., поэтому больше склоняюсь к аппаратному решению задачи :) P.P.S. Кстати, этих вилок PLLD 1.27mm у меня предостаточно валяется :) -
Выбор экрана для одноплатного ПК
kirra.cat ответил kirra.cat тема в Аудио/Видео интерфейсы
Изначально я хотел подключить экранчики WF50BTIAGDNGC (5 дюймов) и WF70GTIAGDNGC (7 дюймов). В итоге, как я понял, надо настроить драйвер для сенсора (используетяс чип FT5426), и контроллеров экрана HX8264+HX8664 и пересобрать его вместе с ядром. Конечно то ещё развлечение. Но мне важно, чтобы этот одноплатник с экраном были минимальной толщины (насколько это возможно), поэтому я искал варианты без всяких HDMI. Как понимаю, на этом одноплатнике есть ещё DSI (и он на том же разъёме, что и камера). С ним такое же приключение предстоит? Просто мне всё равно предстоит развлечение примерно следующего характера: сделать плату, на одной стороне которой MXM-3 соединитель для платы с i.MX6, а на другой - соединители для экрана с сенсорной панелью. Ну и ещё там всякой всячины. Вариант, без развлечений с пересборкой, есть лишь с экраном по HDMI и сенсором по USB? В силу этих размышлений, может есть смысл прикрутить микросхему преобразователя HDMI в 24-битный RGB, типа TFP401A от TI? Но тем не менее вопрос с сенсором остается открытый.. -
Выбор экрана для одноплатного ПК
kirra.cat опубликовал тема в Аудио/Видео интерфейсы
Доброго всем вечера. Есть одноплатный ПК от Wandboard на i.MX6 Dual. И я хочу прикрутить к нему сенсорный экранчик. Посмотрев на схему, для экрана у этого ПК есть некоторая 24-разрядная шина (на 21-й странице схемы). Мне не понятны две вещи: 1. Сенсорная панель цепляется, как понимаю, отдельно, по SPI/I2C и пр. Куда её цеплять к этому одноплатному ПК? 2. Если выбрать какой-нибудь экран, то вероятность его поднятия зависит от того, есть ли для этого экрана (точнее для контроллера в этом экране) драйвер в Linux. Если есть драйвер для контроллера экрана, то этого достаточно, чтобы он заработал? P.S. Если у вас есть опыт применения экрана, то можете что-нибудь посоветовать, с емкостным сенсором, диагональною 5-7 дюймов, и примерным разрешением 800х480? Желательно, чтобы его можно было без проблем купить в России, до 8000 руб. P.P.S. Прошу прощения, что задаю глупые вопросы из разряда "возьми, да загугли", просто уже запутался что-то.. До этого одноплатный ПК подключал только по HDMI к монитору.. wandboard-user-guide-20130208.pdf -
Либо я дурной, либо вправду что-то не так. Создал пустой проект, добавил main.c Пробую мигать светодиодом, но при сборке ругается, что не определен ps7_init(). Но он находится в описании аппаратной части, и пути в проекте у меня до него настроены Делал для этого C/C++ Build -> Settings -> Directories и туда добавлены пути как для текущего проекта "${workspace_loc:/${ProjName}}", так и для описания платформы "${workspace_loc:/zynq_test0_wrapper_hw_platform_0}" Собственно в саму функцию по клавише F3 могу зайти, но всё равно ругается, что она неопределенна Пробовал создавать проект с HelloWorld, там тоже самое. В комментариях к init_platform() написано, что если будешь это дело вызывать вне SDK, то раскомментируй функции ps7_init() и psu_init(), а также раскомментируй подключени хедеров ps7_init.h и psu_init.h Но это ровным счётом приводит к такому же результату, ps7_init() не определен. Без вызова функции ps7_init() всё собирается без ошибок, но отладчик не заходит в программу, всегда куда-нибудь улетает Как понимаю, тут есть некая тонкость, о которой я не догадываюсь. Что я делаю не так? Сейчас мучаюсь с проектом zynq_test0_hello, проект на Яндекс.Диске