DS Logic - Better Embedded
Transcript
DS Logic - Better Embedded
DS Logic Multifunction Instruments For Everyone Streaming LIVE Massimiliano D’Ambrosio google.com/+MassimilianoDAmbrosio @iv3unm plus.hacklabudine.it plus.gdgudine.it DSLogic Multifunction Instruments For Everyone DSLogic Multifunction Instruments For Everyone Cos’è? DS Logic è un strumento multifunzionale “openhardware” composto da una board principale basata su una FPGA. Multifunzionale perché grazie a moduli da collegare alla board, la trasformano in uno strumento da laboratorio in grado di coprire diverse esigenze di analisi. Cosa può diventare? Un analizzatore di stati logici e protocollo, un oscilloscopio digitale, RF analyzer… ma grazie sua natura open puoi essere tu stesso a sviluppare dei moduli aggiuntivi in vari settori, per esempio in quello medico. La DSLogic si collega al nostro computer tramite l'USB dove il software permette di acquisire i dati, analisi del protocollo, e la relativa rappresentazione grafica. 4 DSLogic hardware Componenti principali 256Mbits SDRAM (16Mbit per CH) USB Controller FPGA Xilinx Spartan-6 (xc6slx9) USB 2.0 FPGA Field Programmable Gate Array FPGA è la parte cruciale di tutto il sistema. Si occupa della aquisizione del dati. Questi vengono elaborati dal software DSLogic. Nella versione definitiva della board è stato utilizzato un FPGA Xilinx della famiglia Spartan®-6 LX nella versione xc6slx9 Le prestazioni di questo FPGA permettono di avere un Maximum sample rate di 400MHz. Un dispositivo Field Programmable Gate Array è un circuito integrato le cui funzionalità sono programmabili via software. Tali dispositivi consentono l'implementazione di funzioni logiche anche molto complesse, e sono caratterizzati da un'elevata scalabilità. // fonte wikipedia Caratteristiche Interface Specs CH15 ~ CH0: Recommanded input voltage range: -0.6V to +6V Absolute input voltage range: -30V to +30V Input impedance: 250Kohm Maximum Input Bandwidth: 50MHz Compatible voltage systems: 1.8V/2.5V/3.3V/5V Threshold for 1.8V to 3.6V: 0.7V(Low) / 1.4V(High) Threshold for 5V: 1.4V(Low) / 3.6V(High) CLK, TI, TO: Compatible voltage systems: 3.3V Maximum state clock: 50MHz Sample Specs Maximum sample rate: 4 channels @ 400MHz 8 channels @ 200MHz 16 channels @ 100MHz Maximum sample depth: Total 256M (16M samples per channel) DSLogic extension Dei moduli permetto di estendere le funzionalità. Questi si collegano alla board principale. Sono disponibili i moduli oscilloscopio e wireless. Ma possiamo anche noi sviluppare i moduli da abbinare alla DSLogic in base alla nostre esigenze, per analisi e/o rappresentazione dei dati. DSLogic Wireless extension Wireless Specification ● ● ● ● ● ● 300 foot range at 250kbps On-board ceramic 2.4GHz Antenna 250kbps, 1Mbps and 2Mbps on air data rates Auto ACK Auto Re-Transmit 6 data pipe MultiCeiver™ Oscilloscope Oscilloscope Specification: ● ● ● ● ● ● ● Bandwith: 30MHz Max Sampling Rate: 200MHz @ 1 Channel / 100MHz @ 2 Channels Input Channels: 2 Channels Input Range: ±50 mV ~ ±50 V Input coupling: AC / DC Input characteristics: 1 MΩ ∥ 15 pF Overvoltage protection: ±100 V (DC+AC peak) 3 DSLogic software DSLogic Multifunction Instruments For Everyone ● ● ● DSLogic software è opensource rilasciato con licenza GNU General Public License (GPL), versione 3 È disponibile per ○ Windows ○ OS X ○ GNU/Linux e su altri OS e/o su hardware diverso, come ARM, compilando i sorgenti. si scarica da: http://www.dreamsourcelab.com/download.html https://github.com/DreamSourceLab/DSLogic il software DSLogic si basa sul progetto opensource sigrok. È una suite di software per l'analisi del segnale che supporta vari tipi di dispositivi. Logic analyzers Mixed-signal devices Oscilloscopes Multimeters LCR meters Sound level meters Thermometers Hygrometers Anemometers Light meters Energy meters DAQs Dataloggers Function generators RF receivers Spectrum analyzers Power supplies GPIB interfaces Potential other candidates www.sigrok.org sigrok è in grado di decodificare diversi protocolli come: USB I2C I2S SPI CAN 1-WIRE … Per un elenco completo http://www.sigrok.org/wiki/Protocol_decoders ------------------------------------------------------------------------------INSTALL ------------------------------------------------------------------------------Requirements libsigrok4DSLoigc - gcc (>= 4.0) - make - autoconf >= 2.63 - automake >= 1.11 - libtool - pkg-config >= 0.22 - libglib >= 2.32.0 - libzip >= 0.10 - libusb-1.0 >= 1.0.16 - check >= 0.9.4 (optional, only needed to run unit tests) DSLgoic-gui - git - g++ - make - libtool - pkg-config >= 0.22 - cmake >= 2.6 - libglib >= 2.28.0 - Qt >= 4.5 - libboost >= 1.42 (including the following libs): - libboost-system - libboost-thread http://www.dreamsourcelab.com/download.html - libsigrok4DSLogic >= 0.2.0 https://github.com/DreamSourceLab/DSLogic DSLogic-gui Alcune funzione del software Protocol decoders Attualmente decodifica i seguenti bus: I2C, SPI, seriale DMX512 e bus 1-wire. Altri saranno aggiunti anche con l’aiuto della communita. Trigger System Sistema di trigger semplice ed avanzato è supportato da DSLogic. I pulsanti di trigger possono attivare rapidamente flag uno stato alto, basso, fronte di salita o di discesa. Possiamo impostare anche un insieme di trigger per una comparazione. Pattern Search È una caratteristica importante dell’ analizzatore logico. Tuttavia, possiamo solo trovato su analizzatore logico high-end. 2 DSLogic é openharware ? Il progetto DSLogic oggi è openhardware? Hanno promesso che il progetto sia opensource sia per quanto riguarda la parte hardware che software. Per la seconda abbiamo i sorgenti del software. Per la parte hardware attualmente solo gli schemi della board solo in PDF. Questo NON è sufficiente per essere openhardware. Definizione: I principi dell’Open Source Hardware (OSHW) 1.0 http://www.oshwa.org/definition/italian/ 1. La documentazione L’hardware deve essere rilasciato con la documentazione, inclusi i file di progettazione, e deve permettere la modifica e la distribuzione dei file di progettazione. Se la documentazione non è fornita con il prodotto fisico, ci deve essere un modo ben pubblicizzato di ottenere tale documentazione per non più di un ragionevole costo di riproduzione, preferibilmente il download via Internet senza spese. La documentazione deve includere i file del progetto nel formato preferito per apportare modifiche, ad esempio, il formato nativo del file di un programma CAD. File di progettazione volutamente offuscati non sono ammessi. Forme intermedie analogiche al codice informatico compilato, non sono ammessi come sostituti. La licenza può richiedere che i file di progettazione siano forniti in formato open. Leggendo il primo punto della definizione vediamo che manca a. Schema elettrico disponibile in formato CAD scaricabile dal sito del produttore // È disponibile solo in PDF b. Layout del PCB (file gerber) // scaricabile dal sito del produttore c. elenco dei componenti/materiale disponibile in singoli pezzi (Bill of Materials BOM) // normalmente disponibile direttamente da distributori/rivenditori di componenti elettronici... Speriamo che venga rilasciato tutta la documentazione come promesso. DSLogiC + EMBEDDED Sul mercato troviamo diverse board embedded da abbinare al DS Logic ottenendo un sistema completamente aperto. Ottenendo uno strumento da personalizzare in base alle nostre necessità. Possiamo compilare DSLogic su ARM senza problemi. La sua flessibilità ed i bassi costi strizza l’ occhio anche verso i maker. 1 DSLogic un po di storia su come è nato questo progetto https://www.kickstarter.com/projects/dreamsourcelab/dslogic-multifunction-instruments-for-everyone Il progetto è stato lanciato su Kickstarter a dicembre 2013 dalla dreamsourcelab.com Il primo goal a $ 10K raggiunto in pochi giorni (60% nelle prime 24 ore). Hanno definito dei goal successivi con delle modifiche hardware ed opzioni rispetto al progetto originale. Con i 30K c’è stato la modifica più significativa con il cambio della FPGA. questo ha permesso di migliorare le prestazioni del DSLogic 0 domande? massimiliano@beaglebone:~$ cat contact.json { "Name":"Massimiliano D'Ambrosio", "G+":"google.com/+MassimilianoDAmbrosio", "Twitter":"@iv3unm", "HackLab Udine": { "Site":"www.hacklabudine.it", "G+":"plus.hacklabudine.it", "Twitter":"@hacklabudine", "memo":"unOfficial Community BeagleBone Italia" }, "Google Developer Group Udine": { "Site":"www.gdgudine.it", "G+":"plus.gdgudine.it", "Twitter":"@gdgudine" } } massimiliano@beaglebone:~$ sudo shutdown now [sudo] password for massimiliano: Broadcast message from root@beaglebone (pts/0) (Sat May 10 20:33:39 2014): The system is going down to maintenance mode NOW!