Ingegnere Elettronico, non fare niente di stupido!

Gli ingegneri elettronici, i tecnici elettronici e tutti i progettisti elettronici in genere, a volte, fanno qualcosa di stupido. A chi non è mai capitato di realizzare un importante progetto elettronico in poco tempo ma poi per una cavolata perdere l'intero pomeriggio.... e non è sempre colpa dei datasheet!

Purtroppo a volte facciamo qualcosa di stupido.

Spesso dipende da come vengono scritti i datasheet (a volte bisogna interpretare alcune frasi considerando l'origine della casa costruttrice. Stati Uniti, piuttosto che Asia o Europa) ma spesso è colpa nostra!

Comunque, questo elenco nasce dalla mia esperienza (si, la maggior parte degli errori sono miei) ma anche da richieste di aiuto di vari amici progettisti, anche Senior (ogni riferimento a persone del Blog è puramente casuale Smile) ed alla partecipazione a vari Forum e Newsgroup di elettronica, dove ciclicamente si ripetono alcune domande.
Alcune domande sembreranno stupide (appunto) ma leggendo la lista sono sicuro che vi riconoscerete in almeno una di esse. Se cosi non è vi pregherei di lasciare un commento con il vostro "momento dello stupido ingegnere" , la comunità ve ne sarà grata!

La lista stupida

  • Alcuni pin della portaA di alcuni PICmicro (con i comparatori interni) non funzionano come uscita
    Bisogna settare prima i comparatori su off, se si vuole usare l'uscita come general purpose.

  • In alcuni PICmicro, il pin RA4, se configurato come uscita, non fornisce lo stato positivo (+5V)
    Certo, l'uscita è Open Drain, quindi può solo "chiudere a massa". Se volete anche il positivo, ci vuole il pull-up esterno.

  • Nei micro ATMEL (in particolare ATMEGA) bisogna settare lo stack pointer all'inizio del programma L'ATMEGA non è il PIC. Ha uno stack pointer che deve essere configurato, in genere alla fine della RAM (RAMEND)
    ;***; set up Stack
    ldi R16, low(RAMEND);
    out SPL, R16
    ldi R16, high(RAMEND)
    out SPH, R16
    Basta poco, ma bisogna farlo!

  • L'autobaud nei DSPic va in conflitto con il capture compare
    Fermato da un datasheet di un microcontrollore Freescale

  • Istruzioni LPM e LD nei microcontrollori Atmel.
    LPM si usa per caricare i dati dalla Program Memory (FLASH)
    LD si usa per caricare i dati dalla memoria (RAM)
    .

  • Come si impostare l'oscillatore esterno durante il debug con JTAG-ICE mkII negli ATMEGA.
    Si deve uscire dalla modalità DEBUG ed entrare in programmazione AVRISP.
    Poi configurare i FUSES.

  • In MPLAB i file del progetto non vengono compilati.
    In "Project" settare la giusta path (percorso) "language tool locations".

  • In MPLAB, con il C18 alcune variabili maggiori di 256 byte non funzionano
    (editare il linker)

Da pochi giorni abbiamo realizzato un sito sui datasheet (Un'altro??? SI! Un altro ma con alcune caratteristiche che riteniamo interessanti) dove speriamo di creare una comunità di Ingegneri, Tecnici ed Hobbisti in grado di commentare i vari datasheets evidenziando subito le possibili incomprensioni che un pdf di 500 pagine a volte può creare. DATASHEET 2.0

Ora tocca a voi.... inserite le vostre esperienze! Fare "outing" aiuta, a non rifarle!
Datasheet

Scarica subito una copia gratis

2 Commenti

  1. Avatar photo Stefano Saccucci 18 Ottobre 2010
  2. Avatar photo andreapg 21 Ottobre 2010

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend