Taula de continguts:

Esp8266 Generador de rellotges i polsos: 3 passos
Esp8266 Generador de rellotges i polsos: 3 passos

Vídeo: Esp8266 Generador de rellotges i polsos: 3 passos

Vídeo: Esp8266 Generador de rellotges i polsos: 3 passos
Vídeo: ¡Reemplaza ese interruptor de tu casa con un Relay! | #utsource 2024, Desembre
Anonim
Esp8266 Generador de rellotges i polsos
Esp8266 Generador de rellotges i polsos

Aquesta instrucció és per a un equip senzill de prova; un generador de rellotges i polsos.

Utilitza la interfície de maquinari i2S en un esp8266 per generar un rellotge de prova o una seqüència de polsos. Això fa que sigui fàcil de muntar, ja que no es requereix maquinari especial per a un sistema bàsic.

  • Generació de rellotges de 2Hz a 20MHz
  • Es pot utilitzar qualsevol freqüència
  • Cerca la millor coincidència de divisors de rellotge i longitud de bits des del rellotge base de 160 MHz
  • Normalment és millor del 0,1% de coincidències per a freqüències <100 KHz
  • Marca la selecció de la proporció d'espai
  • La tolerància de coincidència de freqüència pot relaxar-se per obtenir un millor maneig de l'espai
  • Generació de trens de pols basats en definicions de fitxers
  • GUI basada en web que permet controlar des de PC, telèfon, tauleta
  • Gestió Wifi per permetre la configuració senzilla del router inicial
  • Actualització de programari OTA
  • Utilitza una biblioteca I2s especial (i2sTXcircular) que proporciona un control flexible

Pas 1: maquinari

Maquinari
Maquinari
Maquinari
Maquinari

Vaig construir la meva en un recinte imprès en 3D que contenia una bateria 18650 amb un carregador USB, un interruptor d’encès / apagat i un endoll de capçalera de 3 pins per al senyal de sortida.

El recinte té una ranura estreta per subjectar l'electrònica al costat de la bateria.

El senyal surt del pin GPIO3 (RX). Això es pot utilitzar directament, però per a una major capacitat de disc, vaig optar per incloure una petita memòria intermèdia mitjançant un 74LVC2G34. Vaig posar en paral·lel els dos buffers d’aquest dispositiu per proporcionar encara més capacitat de disc.

Tot es fa només amb el programari del dispositiu i el control es fa proporcionant un servidor web perquè un navegador en un PC, telèfon o tauleta proporcioni un control complet.

Pas 2: programari

Per crear i configurar el programari, utilitzeu el codi a

  • Instal·leu la biblioteca circular i2sTX (inclosa)
  • Instal·leu la biblioteca BaseSupport (https://github.com/roberttidey/BaseSupport)
  • Afegiu una biblioteca WifiManager
  • Editeu les contrasenyes a BaseConfig.h
  • Compileu i pengeu a l'entorn Arduino
  • Configureu la gestió de la xarxa wifi mitjançant la connexió a AP i la navegació a 192.168.4.1
  • carregar el conjunt bàsic de fitxers de la carpeta de dades mitjançant STA ip / upload
  • es poden fer més càrregues amb ip / edit: la interfície normal es troba a ip /

Com funciona

La biblioteca i2sTXcircular permet construir una cadena circular de memòries intermèdies que el maquinari i2S emet automàticament a l'esp8266 mitjançant DMA de manera que no s'utilitzi cap sobrecàrrega de programari un cop estigui en marxa.

El rellotge bàsic del dispositiu és de 160 MHz, que es divideix per un parell de separadors. Aleshores, el senyal de sortida es determina per quines dades es posen als buffers, que són emesos pel rellotge dividit. Escollint els dos divisors i utilitzant bits de dades potencialment múltiples per representar cada pols, es pot aproximar de prop una freqüència. També permet variar el cicle de treball (relació marca / espai dels impulsos de rellotge).

El codi javascript del navegador intenta optimitzar l'elecció dels paràmetres per donar una coincidència propera a qualsevol freqüència seleccionada.

Tot i que el propòsit principal és generar rellotges, també és possible produir trens d’impulsos més complexos posant una definició en un fitxer d’impulsos que després controla les dades que es generaran i es posaran al buffer circular. Els detalls es troben a l'exemple de fitxers de pulsació inclosos.

Pas 3: operació

El funcionament està controlat per la interfície del navegador que es mostra a la imatge principal.

Per a la generació normal de rellotges, només heu de seleccionar el rellotge objectiu i la proporció% de l'espai de marca. Es mostra el rellotge real aconseguit i el seu error. Quan es prem el botó Generar rellotge, els paràmetres s’envien al dispositiu i s’inicia la generació del rellotge mitjançant aquests paràmetres.

En fer clic a la barra avançada es poden veure més detalls.

El rellotge de bits mostra el submúltiple de 160 MHz que s’utilitza.

Els bits de marca i d’espai mostren quants bits s’utilitzen per representar marques i espais.

Div1 i Div2 mostren els dos divisors que s'han triat per generar el rellotge de bits més proper.

Normalment, els dos divisors s’escullen per donar la concordança més propera a la freqüència triada i per maximitzar el nombre de bits de dades utilitzats, cosa que ajuda a proporcionar més flexibilitat a l’hora de permetre diferents cicles de treball. Tanmateix, de vegades la millor coincidència resulta en un recompte de bits baix que deixa poc espai per canviar el cicle de treball. En canviar el valor de% de tolerància, es seleccionaran els divisors per donar una freqüència dins d'aquesta tolerància, però amb potencialment més bits de dades utilitzats. Proveu, per exemple, de configurar la tolerància a 0,5 o 1.

També podeu configurar el número de bits per paraula per controlar l'elecció dels paràmetres. 0 (per defecte) significa triar qualsevol bit per paraula. Un número únic (per exemple, 24) significa només triar paràmetres que coincideixin amb aquest. També podeu incloure un interval (per exemple, 24, 31). Això només funciona per a Hz objectiu superiors a 10 KHz, per sota d'aquesta escala es farà efectiva de manera que el nombre es multipliqui.

La mida de la memòria intermèdia mostra l'espai total de memòria intermèdia utilitzat en paraules de 32 bits. Es tria per garantir que el pols del rellotge forma un ajust circular perfecte a la memòria intermèdia. Internament, aquesta memòria intermèdia es divideix en diversos amortidors per permetre que el DMA encadenat funcioni.

Per al funcionament de polsos, trieu els pulsacions TAB. Mostra els fitxers d’impulsos disponibles i un botó al costat de cadascun que produirà un tren d’impulsos segons la seva definició. Podeu veure el contingut del fitxer fent clic al seu enllaç. Es poden penjar més fitxers pulsats mitjançant el navegador de fitxers ip / edit. Han de començar pel nom de pols.

Recomanat: