Experimenta el F373

Taller d’iniciació per a experts. PCB i chip disponible. També es fabrica sota comanda i especificacions.

 

Categoria:

Descripció

Processador de Senyal Digital (DSP) STM32F373CCT6 sobre placa adaptadora DIL40 per a muntar en sòcol. És un desenvolupament realitzat conjuntament amb el dissenyador i músic Jaume O. (Olitronik.com) per a posar a prova els nostres coneixements en Síntesi d’Àudio Digital.

L’experiència és positiva, doncs, podem generar qualsevol forma d’ona amb 360 punts per cicle i en tot l’espectre auditiu. Això ocupa només tres dels pins del xip i amb una programació molt lleugera que deixa marge per a més funcions.

La capacitat d’interfície es superior a la dels Arduino UNO i MEGA clarament, ja que pot processar senyals analògiques de 12 bits tant d’entrada com de sortida (16 entrades ADC i 3 sortides DAC, ràpides). Els 72MHz de rellotge del bus intern l’hi permeten dibuixar, literalment, els punt de la forma d’ona, des d’una taula de valors als DAC a cicle de “While” en codi C++. Amb 360 valors per cicle d’àudio podem cobrir tot l’espectre d’àudio al límit del cicle “While”. Endemés, amb el mecanisme de DMA directe al DAC el xip deixe el cicle “While” lliure per a poder processar altres funcions.

També disposa de 3 ADC de 16 bits (Sigma-Delta), més lentes però molt adequades per instrumentació.

Per si tot això fos poc, 16 timer de 32 bits poden simular funcions DAC per PWM, que poden generar senyals d’àudio alternatives, de menor resolució però adequades per a síntesi modular.

Una nota negativa, no tot havia de ser tan bo, és no poder executar totes les funcionalitats USB, al menys amb les configuracions DSP que hem provat tal i com indiquen els “datasheets”. Sempre seria millor disposar d’un convertidor extern USART a USB, que hi ha de molt barats. Els tres USART estarien disponibles conjuntament amb les funcions DSP i com a alternativa podria treballar en I2C o SPI i sobre DMA, tal com hem pogut provar.

A veure, caldria provar si es pot realment implementar un USB 2.0 al complet, és a dir OTG, però passa el mateix que amb el RTOS. Ambdues són estructures molt complexes que fan difícil la gestió global del xip. Endemés, mengen molts recursos DMA, i de temps de processador. És millor programar una mica en C++ i solucionar l’aplicació a la manera MAKER.

Una altra solució que no hem provat és la programació en codi màquina de funcions a mida. Les LL són funcions properes al nivell baix, però ens ha semblat excessiu per al projecte d’àudio. No obstant no descartem el codi màquina per a generar funcions substitutives de processadors antics per a evitar desenvolupaments costosos sobre FPGA.

NOTES: Requereix ST-Link V2 o placa Nucleo-64 i un cable passiu per programar “in circuit”, no inclosos en el Core-32 V0.0 Aquest cable implica els senyals SWCLK, SWDTA, NRESET i GND. Cal tenir en compte si alimentem el xip directament de l’aplicació o del ST-Link. Alimentació entre 2,8 i 3,6V, porta regulador intern en el xip. Molts senyals són 5V TTL tolerants, no tots. Consulteu-nos.

Us desitgem molts èxits!

contacta amb nosaltres

 

Informació addicional

Pes 0,0088 kg