Мазмуну:

Esp8266 Саат жана Импульс Генератору: 3 кадам
Esp8266 Саат жана Импульс Генератору: 3 кадам

Video: Esp8266 Саат жана Импульс Генератору: 3 кадам

Video: Esp8266 Саат жана Импульс Генератору: 3 кадам
Video: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, Ноябрь
Anonim
Esp8266 Саат жана Импульс Генератору
Esp8266 Саат жана Импульс Генератору

Бул көрсөтмө сыноо жабдууларынын жөнөкөй бөлүгү үчүн; саат жана импульс генератору.

Сыноо саатын же импульстун ыраатын түзүү үчүн esp8266дагы i2S аппараттык интерфейсин колдонот. Бул бириктирүүнү жеңилдетет, анткени негизги система үчүн атайын жабдык талап кылынбайт.

  • 2 Гцтен 20 МГцке чейин саат муундары
  • Ар кандай жыштык колдонулушу мүмкүн
  • 160 МГц базалык сааттан саат бөлгүчтөрдүн жана бит узундугунун мыкты дал келүүсүн издейт
  • Адатта 0,1% дан жакшы <100KHz жыштыктары үчүн дал келет
  • Боштуктун катышын тандоону белгилөө
  • Жыштыкка дал келүүчү толеранттуулук мейкиндикти жакшыраак иштетүү үчүн эс алышы мүмкүн
  • Файлдардагы аныктамаларга негизделген импульстук поезд мууну
  • Желе негизделген GUI компьютерден, телефондон, планшеттен башкарууга мүмкүндүк берет
  • Wifi Башкаруу оңой баштапкы роутерди орнотууга мүмкүндүк берет
  • OTA программалык камсыздоону жаңыртуу
  • I2s атайын китепканасын (i2sTXcircular) ийкемдүү башкарууну колдонот

1 -кадам: Аппараттык

Аппараттык
Аппараттык
Аппараттык
Аппараттык

Мен шахтанын 3 -басылган корпусунда 18650 батареясын USB кубаттагычы, күйгүзүү/өчүрүү өчүрүүчүсү, 3 сигналдуу баштык штепсели үчүн чыгардым.

Корпуста батарейканын жанында электрониканы кармоо үчүн тар уя бар.

Сигнал GPIO3 пининен (RX) чыгат. Бул түздөн -түз колдонулушу мүмкүн, бирок жогорку диск мүмкүнчүлүгү үчүн мен 74LVC2G34 менен кичине буферди кошууну чечтим. Мен дагы көбүрөөк диск мүмкүнчүлүгүн камсыз кылуу үчүн бул түзмөктөгү эки буферди параллелдештирдим.

Баары түзмөктөгү программалык камсыздоодо гана жасалат жана көзөмөлдөө веб -сервер менен камсыз кылынат, ошондо компьютердеги, телефондогу же планшеттеги браузер толук көзөмөлдү камсыздайт.

2 -кадам: Программалык камсыздоо

Программаны куруу жана орнотуу үчүн https://github.com/roberttidey/espI2sClockGen дарегиндеги кодду колдонуңуз.

  • I2sTXcircular китепканасын орнотуу (камтылган)
  • BaseSupport китепканасын орнотуңуз (https://github.com/roberttidey/BaseSupport)
  • WifiManager китепканасын кошуу
  • Сырсөздөрдү BaseConfig.h сайтынан түзөтүңүз
  • Arduino чөйрөсүндө түзүңүз жана жүктөңүз
  • Wi -Fi тармагын башкарууну APге туташуу жана 192.168.4.1 чейин серептөө аркылуу орнотуңуз
  • файлдардын негизги топтомун маалымат папкасынан STA ip/upload аркылуу жүктөө
  • андан ары жүктөөлөрдү ip/edit аркылуу жасаса болот - кадимки интерфейс ip/

Бул кантип иштейт

I2sTXcircular китепканасы буферлердин тегерек чынжырын түзүүгө мүмкүндүк берет, андан кийин i2S жабдуулары esp8266 боюнча DMA аркылуу автоматтык түрдө чыгарылат, андыктан программалык камсыздоо ашыкча колдонулбайт.

Түзмөктөгү негизги саат 160 МГц, ал экиге бөлүнүүчү бөлүккө бөлүнөт. Чыгуу сигналы андан кийин буферге кандай маалыматтар киргизилгени менен аныкталат, ал бөлүнгөн саат тарабынан чыгарылат. Эки бөлгүчтү тандоо жана ар бир импульсту көрсөтүү үчүн потенциалдуу бир нече маалымат биттерин колдонуу менен, жыштыкты жакыныраак болжолдоого болот. Бул ошондой эле кызмат циклинин (саат импульсунун белгиси/мейкиндик катышы) өзгөрүүсүнө мүмкүндүк берет.

Браузердин JavaScript коду каалаган тандалган жыштыкка дал келүү үчүн параметрлерди оптималдаштырууга аракет кылат.

Негизги максат сааттарды генерациялоо болсо да, импульс файлына аныктама коюу менен дагы татаал импульстук поезддерди чыгарууга болот, андан кийин алар түзүлүүчү жана тегерек буферге салынуучу маалыматтарды көзөмөлдөйт. Толук маалымат импульстук файлдар мисалында.

3 -кадам: операция

Иш башкы браузердин интерфейси тарабынан көзөмөлдөнөт.

Кадимки саат генерациясы үчүн сиз жөн гана максаттуу саатты жана мейкиндиктин % катышын тандаңыз. Чыныгы саат жетишилген жана анын катасы көрсөтүлөт. Clock Generate баскычы басылганда, параметрлер бул түзмөккө жөнөтүлөт жана сааттын генерациясы башталат.

Өркүндөтүлгөн тилкени чыкылдатуу менен көбүрөөк маалыматты көрө аласыз.

Бит сааты колдонулуп жаткан 160 МГц суб-мультипликациясын көрсөтөт.

Белги жана боштук биттери белгилерди жана боштуктарды көрсөтүү үчүн канча бит колдонулуп жатканын көрсөтөт.

Div1 жана Div2 эң жакын бит саатын түзүү үчүн тандалган эки бөлгүчтү көрсөтөт.

Адатта, эки бөлүштүргүч тандалган жыштыкка эң жакын дал келүү үчүн жана колдонулган маалымат биттеринин санын көбөйтүү үчүн тандалат, бул ар кандай кызматтык циклдерге уруксат берүүдө ийкемдүүлүктү камсыз кылууга жардам берет. Бирок, кээде мыкты матч аз санга алып келип, кызмат циклин өзгөртүү үчүн аз орун калтырат. Толеранттуулуктун % маанисин өзгөртүү менен бөлүштүргүчтөр бул толеранттуулуктун чегинде жыштык берүү үчүн тандалат, бирок потенциалдуу көбүрөөк маалымат биттери колдонулат. Мисалы, толеранттуулукту 0,5 же 1 деп коюңуз.

Сиз ошондой эле параметрлердин тандалышын көзөмөлдөө үчүн сөздүн санына биттерди орното аласыз. 0 (демейки) сөзгө каалаган битти тандоо дегенди билдирет. Жалгыз сан (мис. 24) буга дал келген параметрлерди тандоо дегенди билдирет. Сиз ошондой эле диапазонду киргизсеңиз болот (мис. 24, 31). Бул 10 кГцтен жогору Hz үчүн гана иштейт, бул масштаб төмөндө сан көбөйтүлүшү үчүн күчүнө кирет.

Буфердин өлчөмү 32 бит сөздөрдө колдонулган жалпы буферди көрсөтөт. Бул сааттын импульсинин буферге кемчиликсиз тегерек формада келишин камсыз кылуу үчүн тандалган. Ички бул буфер чынжырлуу DMAнын иштешине мүмкүндүк берүү үчүн бир нече майда руферлерге бөлүнөт.

Импульстар үчүн TAB импульсун тандаңыз. Бул жеткиликтүү импульс файлдарын жана анын аныктамасынын негизинде импульстук поездди чыгаруучу ар биринин жанындагы баскычты көрсөтөт. Шилтемени басуу менен файлдын мазмунун көрө аласыз. Башка импульстук файлдарды ip/edit file browser аркылуу жүктөөгө болот. Алар импульс аты менен башталышы керек.

Сунушталууда: