Мазмұны:

Esp8266 Сағат және импульстік генератор: 3 қадам
Esp8266 Сағат және импульстік генератор: 3 қадам

Бейне: Esp8266 Сағат және импульстік генератор: 3 қадам

Бейне: Esp8266 Сағат және импульстік генератор: 3 қадам
Бейне: Генератор || ESP8266 Лестничная логика FLProg 2024, Қараша
Anonim
Esp8266 Сағат және импульстік генератор
Esp8266 Сағат және импульстік генератор

Бұл нұсқаулық сынақ құралдарының қарапайым бөлігіне арналған; сағат және импульстік генератор.

Ол сынақ сағатын немесе импульстік тізбекті құру үшін esp8266 i2S аппараттық интерфейсін қолданады. Бұл біріктіруді жеңілдетеді, себебі негізгі жүйе үшін арнайы жабдық қажет емес.

  • Сағат жиілігі 2 Гц -тен 20 МГц -ке дейін
  • Кез келген жиілікті қолдануға болады
  • 160 МГц негізгі сағаттардан сағат бөлгіштер мен бит ұзындығының ең жақсы сәйкестігін іздейді
  • Әдетте 0,1% -дан төмен, 100 кГц жиілікке сәйкес келеді
  • Кеңістік қатынасын таңдауды белгілеңіз
  • Белгілер кеңістігін жақсырақ алу үшін жиілікке сәйкес келетін төзімділік босаңсытылуы мүмкін
  • Файлдардағы анықтамаларға негізделген импульстік пойыз генерациясы
  • Компьютерден, телефоннан, планшеттен басқаруға мүмкіндік беретін Интернетке негізделген GUI
  • Wi -Fi менеджменті маршрутизаторды оңай орнатуға мүмкіндік береді
  • OTA бағдарламалық жасақтамасын жаңарту
  • I2s арнайы кітапханасын (i2sTXcircular) икемді басқаруды қолданады

1 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Мен шахтаны USB зарядтағышымен 18650 аккумуляторы, қосу/өшіру қосқышы, шығыс сигналы үшін 3 істікшелі штепсельдік штепсельді 3D форматындағы корпуста салдым.

Корпуста электрониканы батареяның жанында ұстауға арналған тар ұя бар.

Сигнал 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 кітапханасы буферлік дөңгелек тізбекті құруға мүмкіндік береді, содан кейін D8 көмегімен esp8266 i2S аппараттық құралында автоматты түрде шығарылады, осылайша бағдарламалық қамтамасыз етудің үстеме шығындары пайдаланылмайды.

Құрылғыдағы негізгі сағат - 160 МГц, ол бөлгіштерге бөлінеді. Содан кейін шығыс сигналы буферге қандай деректер енгізілгенімен анықталады, ол бөлінген сағатпен шығарылады. Екі импульсті таңдау арқылы және әр импульсті көрсету үшін ықтимал бірнеше биттерді қолдану арқылы жиілікті өте жақын жуықтауға болады. Ол сонымен қатар жұмыс циклін (сағат импульсінің белгісі/кеңістік қатынасы) өзгертуге мүмкіндік береді.

Браузердің JavaScript коды кез келген таңдалған жиілікке сәйкес келу үшін параметрлерді таңдауды оңтайландыруға тырысады.

Негізгі мақсат сағаттарды генерациялау болғанымен, импульстік файлға анықтама енгізу арқылы импульстік пойыздарды шығаруға болады, ол содан кейін жасалатын және дөңгелек буферге енгізілетін деректерді басқарады. Мәліметтер импульстік файлдардың мысалында берілген.

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

Жұмыс негізгі суретте көрсетілген шолғыш интерфейсімен басқарылады.

Қалыпты сағат генерациясы үшін сіз мақсатты сағатты және бос орын % қатынасын таңдайсыз. Нақты сағат және оның қателігі көрсетіледі. «Сағатты генерациялау» түймесі басылған кезде параметрлер құрылғыға жіберіледі және осы параметрлерді пайдаланып сағат генерациясы басталады.

Қосымша тақтаны басу арқылы қосымша мәліметтерді көруге болады.

Бит сағаты 160 МГц қосалқы еселігін көрсетеді.

Белгілер мен бос орындар таңбалар мен бос орындарды көрсету үшін қанша бит пайдаланылатынын көрсетеді.

Div1 және Div2 ең жақын бит сағатын жасау үшін таңдалған екі бөлгішті көрсетеді.

Әдетте екі бөлгіш таңдалған жиілікке ең жақын сәйкестікті беру үшін және әр түрлі жұмыс циклдарына мүмкіндік беретін икемділікті қамтамасыз етуге көмектесетін деректер битінің санын көбейту үшін таңдалады. Дегенмен, кейде ең жақсы сәйкестік аз цифрмен жұмыс циклін өзгертуге аз орын қалдырады. Толеранттылықтың % мәнін өзгерту арқылы бөлгіштер осы толеранттылық шегінде жиілікті беру үшін таңдалады, бірақ ықтимал көп деректер биттері қолданылады. Мысалы, толеранттылықты 0,5 немесе 1 етіп орнатып көріңіз.

Сондай -ақ, параметрлерді таңдауды бақылау үшін әр сөз санына биттерді орнатуға болады. 0 (әдепкі) әр сөзге кез келген бит таңдауды білдіреді. Бір сан (мысалы, 24) тек осыған сәйкес келетін параметрлерді таңдауды білдіреді. Сіз сондай -ақ диапазон қоюға болады (мысалы, 24, 31). Бұл тек 10 кГц -тен жоғары мақсатты Гц үшін жұмыс істейді, төменде бұл масштаб күшейеді, осылайша сан көбейеді.

Буфер өлшемі 32 биттік сөзде қолданылатын аралықтың жалпы аралығын көрсетеді. Бұл пульстің буферге мінсіз дөңгелек орналасуын қамтамасыз ету үшін таңдалған. Ішінде бұл буфер тізбектелген DMA -ның жұмыс істеуіне мүмкіндік беру үшін бірнеше кіші руферлерге бөлінеді.

Импульстердің жұмысы үшін TAB импульстарын таңдаңыз. Бұл қол жетімді импульстік файлдарды және олардың әрқайсысының жанында оның анықтамасына негізделген импульстік пойызды шығаратын түймені көрсетеді. Сіз сілтемені басу арқылы файлдың мазмұнын көре аласыз. Қосымша импульстік файлдарды ip/edit файл шолғышының көмегімен жүктеуге болады. Олар импульс атауынан басталуы керек.

Ұсынылған: