Съдържание:

Esp8266 Часовник и импулсен генератор: 3 стъпки
Esp8266 Часовник и импулсен генератор: 3 стъпки

Видео: Esp8266 Часовник и импулсен генератор: 3 стъпки

Видео: Esp8266 Часовник и импулсен генератор: 3 стъпки
Видео: Удаленно контролировать энергопотребление дома | ПЗЭМ-004Т | Облако Интернета вещей RemoteXY 2024, Юли
Anonim
Esp8266 Часовник и импулсен генератор
Esp8266 Часовник и импулсен генератор

Тази инструкция е за проста част от тестовото оборудване; генератор на часовник и импулс.

Той използва хардуерен интерфейс i2S на esp8266, за да генерира тестови часовник или импулсна последователност. Това улеснява сглобяването, тъй като не е необходим специален хардуер за основна система.

  • Генериране на тактове от 2Hz до 20MHz
  • Може да се използва всякаква честота
  • Търси най -добро съвпадение на разделителите на часовника и дължината на бита от 160MHz базов часовник
  • Обикновено по -добре от 0,1% съвпадат за честоти <100KHz
  • Маркирайте избора на съотношение на пространството
  • Толерансът за съвпадение на честотата може да бъде облекчен, за да се постигне по -добра обработка на пространството за маркиране
  • Генериране на импулсни влакове въз основа на дефиниции във файлове
  • Уеб базиран графичен интерфейс, позволяващ управление от компютър, телефон, таблет
  • Wifi управление, което позволява лесно първоначално настройване на рутер
  • Актуализация на OTA софтуера
  • Използва специална I2s библиотека (i2sTXcircular), даваща гъвкав контрол

Стъпка 1: Хардуер

Хардуер
Хардуер
Хардуер
Хардуер

Конструирах моята в 3D отпечатан корпус, съдържащ батерия 18650 с USB зарядно устройство, превключвател за включване/изключване, 3 -пинов конектор за изходен сигнал.

Корпусът има тесен слот за държане на електрониката до батерията.

Сигналът излиза от пина GPIO3 (RX). Това може да се използва директно, но за по -високи възможности за задвижване избрах да включа малко буфер, използващ 74LVC2G34. Успоредя двата буфера в това устройство, за да осигуря още повече възможности за задвижване.

Всичко се извършва само в софтуера в устройството, а контролът се извършва чрез предоставяне на уеб сървър, така че браузър на компютър, телефон или таблет да осигури пълен контрол.

Стъпка 2: Софтуер

За да създадете и настроите софтуера, използвайте кода на адрес

  • Инсталирайте i2sTXциркулярна библиотека (включена)
  • Инсталирайте библиотеката BaseSupport (https://github.com/roberttidey/BaseSupport)
  • Добавете библиотеката на WifiManager
  • Редактирайте паролите в BaseConfig.h
  • Компилирайте и качете в среда Arduino
  • Настройте управление на wifi мрежа, като се свържете с AP и прегледате до 192.168.4.1
  • качете основен набор от файлове от папката с данни, използвайки STA ip/upload
  • по -нататъшно качване може да се извърши с помощта на ip/edit - нормалният интерфейс е на ip/

Как работи

Цикличната библиотека i2sTX позволява изграждането на кръгова верига от буфери, които след това се извеждат автоматично от i2S хардуера на esp8266, използвайки DMA, така че да не се използват допълнителни софтуерни разходи, след като тръгнат.

Основният часовник на устройството е 160MHz, който е разделен на двойка разделители. След това изходният сигнал се определя от това какви данни се поставят в буферите, които се извеждат от разделения часовник. Избирайки двата разделителя и използвайки потенциално множество битове данни за представяне на всеки импулс, честотата може да бъде приблизително приближена. Той също така позволява да се променя работният цикъл (съотношение марка/пространство на тактовите импулси).

Javascript кодът на браузъра се опитва да оптимизира избора на параметри, за да даде близко съответствие с всяка избрана честота.

Въпреки че основната цел е генериране на часовници, възможно е също така да се произвеждат по -сложни импулсни влакове чрез поставяне на определение в импулсен файл, който след това контролира данните, които ще бъдат генерирани и поставени в кръговия буфер. Подробности са в примерните пулсови файлове.

Стъпка 3: Операция

Работата се контролира от интерфейса на браузъра, показан на основното изображение.

За нормално генериране на часовник просто избирате целевия часовник и процентното отношение на пространството за маркиране. Показват се действителният часовник и неговата грешка. Когато се натисне бутона Generate Clock, параметрите се изпращат към устройството и генерирането на часовник с помощта на тези параметри започва.

Като щракнете върху лентата Разширени, можете да видите повече подробности.

Битовият часовник показва подмножието от 160MHz, което се използва.

Битовете за маркировка и интервал показват колко бита се използват за представяне на знаци и интервали.

Div1 и Div2 показват двата разделителя, които са избрани за генериране на най -близкия тактов бит.

Обикновено двата разделителя се избират, за да дадат най -близкото съвпадение на избраната честота и да увеличат максимално броя на използваните битове данни, което помага за осигуряване на по -голяма гъвкавост при разрешаване на различни работни цикли. Понякога обаче най -доброто съвпадение води до нисък брой битове, оставяйки малко място за промяна на работния цикъл. Чрез промяна на стойността на толеранса % разделителите ще бъдат избрани да дават честота в рамките на този толеранс, но с потенциално повече използвани битове данни. Опитайте например да зададете толеранс на 0,5 или 1.

Можете също така да зададете номера на битове за дума, за да контролирате избора на параметри. 0 (по подразбиране) означава да изберете всякакви битове на дума. Единично число (например 24) означава само да изберете параметри, които съответстват на това. Можете също така да поставите диапазон (например 24, 31). Това работи само за целеви Hz над 10KHz, под това мащабиране ще влезе в сила, така че броят да се умножи.

Размерът на буфера показва общия интервал на буфера, използван в 32 -битови думи. Това е избрано, за да се гарантира, че тактовият импулс формира перфектно кръгово вписване в буфера. Вътре този буфер е разделен на няколко малки буфери, за да позволи на верижния DMA да функционира.

За работа с импулси изберете импулсите TAB. Това показва наличните импулсни файлове и бутон до всеки, който ще генерира импулсен ход въз основа на неговото определение. Можете да видите съдържанието на файла, като кликнете върху връзката му. Повече импулсни файлове могат да бъдат качени с помощта на браузъра за ip/редактиране на файлове. Те трябва да започнат с името pulse.

Препоръчано: