Сергей Новиков @Pisikak
Embedded-разработчик
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Embedded Software Engineer
Lead
From 300,000 ₽
STM32
Arduino
AVR C
FPGA
Здравствуйте.
У меня получилось перенести этот дизайн в VIVADO под Kintex XC7K325T.
Я решил это сделать в графическом виде.
В процессе возникли сложности с синтезом. Никак не хотели синтезироваться конструкции с тремя состояниями из прошлой статьи.
У меня от такой записи синтезировались просто OBUF ну и конечно же обе линии (SCL, SDA) "лежали за "земле". Кстати если заменить "z" значение в этом мультиплексоре на "1", то осциллограмма получалась верная, но OBUF не работают на вход.
Мной были использованы OBUFT (https://docs.amd.com/r/en-US/ug953-vivado-7series-libraries/OBUFT) для SCL и IOBUF (https://docs.amd.com/r/en-US/ug953-vivado-7series-libraries/IOBUF) для SDA.
В коде это выглядит вот так:
Теперь в SCHEMATIC можно наблюдать правильный выход после синтеза:
С SDA чуть-чуть посложнее. IOBUF был включен в TOP-LEVEL файле. Для это из I2C_bit_controller потребовать вывести сигнал наружу:
Теперь в TOP-LEVEL файле подключаем библиотечный элемент:
В design_wrapper включаем правильные сигналы:
Теперь это будет работать на реальном железе. На моей кастомной плате нет семисегментников, поэтому для вывода данных была использована двухпортовая BRAM память. Один порт в Microblaze, а второй управляется кастомным контроллером из прошлых статей автора. Так для отображения всех данных я буду использовать терминал, данные в который поступают из софт-процессора MICROBLAZE. По линии I2С на этой плате управляется PLL LMK03318 (https://qeeniu.net/product/LMK03318#all). В cnt_0_data (по адресу 0xC000000C) отображается номер регистра, в cnt_1_data (по адресу 0xC0000010) данные, которые мы хотим записать по i2c линии в микросхему, а в cnt_2_data (по адресу 0xC0000014) считанные данные.
После включения питания и сброса (по кнопке RESET) адрес регистра устанавливается в 0xA, а данные, которые необходимо записать в 0xDE.
Нажимаю кнопку чтения.
В регистр записалось значение 0x0A, что по даташиту соответствует адресу микросхемы по-умолчанию.
Установим адрес 0xC
и запишем по этому адресу значение 0xDE в микросхему. Это будет соответствовать отключению функции AUTOSTART LMK03318.
Делаю сброс (кнопкой RESET) и считываю регистры в приложении для Microblaze:
А потом опять 0xDF
Summary. Пользуясь моментом хочу сказать спасибо автору этих статей, я думаю что благодаря Вам проектирование под плис и программирование становится доступным каждому кто захочет в этом разобраться. Комментарий получился объемным, но очень поверхностным. Если у кого-то будут вопросы - не стесняйтесь писать, я постараюсь ответить.
Пробовал я герметизировать вал вот в этом проекте https://habr.com/ru/articles/748346/. Использовал сальник. Обороты двигателя достигают 5000 в минуту и это разогревает сальник до критических значений даже под водой! Он деформируется и начинаются проблемки
Спасибо:)
Отличный проект! Я как-то увидел в магазине такой девайс и тоже захотел повторить успех с помощью 3d принтера, но еще не брался даже. А тут уже и статья есть. Меня особенно впечатлило Ваше видео, спасибо.
Чем?
Ну этож делать надо) сил, времени и денег хватило на самое необходимое
Да вобщем-то пока никак. Пульт, который я использую оснащем курком на пружине, отпустив который тяга пропадает. Но с этим лучше что-то сделать, потому что некоторые бросят курок от испуга падения, а некоторые выжмут до конца и будут держать. В идеале я бы реализовал курок с рабочим положением в центре. А в крайних положениях тяга отсутствовала бы. Самое плохое, что часты ситуации, когда я падаю вперед и не убери я тягу, доска наедет на меня
Flipper zero тоже ничего ;) Мечты должны сбываться) я тоже стал интересоваться темой передачи и приема радиосигналов. Собирая разные приемопередатчики не знал на что грешить. Теперь есть заведомо рабочая вещица и жить стало легче. Ну и с отладкой вообще почти нет проблем, потому что я теперь точно знаю что сигнал уходит в эфир.
P.s. спасибо Вам за статью и Ваше усердие)
Кстати, у Flipper Zero тоже есть возможность принимать пейджинговые сообщения. Я хотел купить пейджер на Авито, но продавец, который ближе всех не хотел отправлять, а встретиться мог только на выходных. В общем пока я ждал выходных, отправил сообщение на FZ и успокоился :-)
Даже не представляю как герметезировать двигатель без использования фрезеровки=)
Я заметил, что без SSD теперь можно сойти с ума, пока пережидаешь "тормоза" ОС
GoPro это хорошо, но на эти деньги можно купить новый пульт, срарку для 18650 и пару акб собрать.
Можно собрать DIY дрона что бы снять видео про DIY электрофойл, вот это было бы круто😃
Чехол для телефона работет) спасибо за совет
https://vk.com/wall111262040_4094
Вот видео от первого лица) видео не передаёт тех ощущений, поэтому лучше попробуйте прокатиться :)
Постараюсь повспоминать, чтобы набралось для статьи) На самом деле, я на нем аккумуляторы тестировал:)
https://vk.com/wall111262040_4094
Вот что получилось снять на телефон. Видео от первого лица. Вживую в этлм участвовать интереснее)
Отличная идея, спасибо!
Спасибо)
А я до Вашего комментария рассматривал вот этот
https://sl.aliexpress.ru/p?key=PGRNZhm
А раз Ваш проверен, буду брать) спасибо
Спасибо за совет. Я тоже решил для себя перейти на сварку, потому что качественно паять аккумуляторы это по-настоящему долго