Domanda:
Eseguire il reverse engineering di un chip o sceglierne uno nuovo e ricominciare da capo?
milesmeow
2012-02-16 04:22:25 UTC
view on stackexchange narkive permalink

Sto lavorando a un prodotto giocattolo esistente e il chip è stato interrotto. Vogliamo ancora produrre più di questo prodotto. Premi una combinazione di pulsanti e ti parla.

Quale sarebbe un approccio più conveniente?

  • Reverse engineering di un chip (una possibilità basata su questo post: È possibile decodificare il progetto di un chip?) e recuperare il programma da esso (è possibile?). Crea un nuovo chip in base a ciò che troviamo.
  • Inizia da zero e verifica se ci sono chip compatibili (assegnazioni pin, caratteristiche, pacchetto o die) con il nostro chip esistente. In questo modo possiamo ancora mantenere il progetto PCB esistente).
  • Inizia da zero e usa un chip completamente diverso, il che significherebbe riprogettazione PCB, programmazione chip, ecc.

Qualcuno può darmi un confronto in ordine di grandezza tra queste opzioni?

Maggiori dettagli Stiamo parlando di:

  • migliaia forse decine di migliaia di unità all'anno
  • 25 tracce audio da 10 secondi (mono)
Fondamentale: quale durata del discorso? / Quale qualità vocale è richiesta? / Quanti messaggi / Qual è il costo accettabile dei materiali per un nuovo design? / Quale volume? / Qual è la tua scala temporale? / [[[Vuoi che lo faccia per te / Quanto vale il lavoro per te? :-)]]] - Guarda [Questo sito per i prodotti Chipcorder ISD Nuvoton] (http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/ConsumerElectronicsIC/ISDVoiceIC/ISDChipCorder/Pages/default.aspx) per vedere una gamma di prodotti che possono servire come base MA ci sono molti modi per farlo e alcuni probabilmente avranno un costo inferiore.
Altrettanto importante: qual è il volume del prodotto? Milioni di unità all'anno? Centinaia di migliaia? migliaia? solo poche decine di unità? Il motivo per chiederlo è che NRE per la creazione di un nuovo chip rischia di dominare il costo se il tuo volume non è 100k o più all'anno.
C'è una cosa che non mi è chiara: hai i binari del software o devi decodificare anche quello? Perché in quel caso è quasi inutile replicare il tabellone ...
Cinque risposte:
user3624
2012-02-16 04:35:31 UTC
view on stackexchange narkive permalink

Supponendo che voi ragazzi siate ingegneri decenti, allora partire da zero sarà l'approccio migliore. Il mio ragionamento per dire questo è semplice: dal momento che hai esperienza con il prodotto precedente e sei ingegneri decenti, e nuovi chip sono usciti da quando è stato progettato il prodotto precedente, allora probabilmente puoi creare un prodotto migliore ora piuttosto che ripetere cosa è stato fatto prima. Inoltre, probabilmente puoi farlo in modo più veloce ed economico rispetto al tentativo di decodificare un chip.

Il reverse engineering di un chip non è facile. Può essere fatto, ma a meno che tu non abbia molto tempo in più e attrezzature molto costose (da centinaia di migliaia a un milione di dollari USA), di solito non ne vale la pena. Questo è doppiamente così se il nuovo prodotto non deve essere compatibile con il vecchio prodotto (cioè, non aderisce a qualche vecchio protocollo o qualcosa del genere).

È difficile fornirti un'analisi comparativa di quanto sarebbe difficile poiché non abbiamo tutti i dati sul vecchio prodotto. Ma supponiamo che sia un semplice giocattolo con alcuni pulsanti, un altoparlante e alcuni LED. Nient'altro. È un prodotto abbastanza semplice. Fare un nuovo prodotto da zero potrebbe costare 1/10 di quanto costerebbe il reverse engineering del vecchio chip. La maggior parte di questo è lavoro, quindi in termini di tempo potrebbe richiedere anche 1/10 del tempo. Il fatto che il nuovo prodotto sia migliore (chip più recenti, software migliore, ecc.) È solo un bonus per te e per i tuoi clienti.

Inoltre, il reverse engineering di un chip è molto, molto più difficile che disporre un PCB. Un semplice PCB richiederà solo pochi giorni per il layout. Quindi non ha senso decodificare un chip per salvare il progetto del PCB.
The Photon
2012-02-16 09:15:37 UTC
view on stackexchange narkive permalink

Consideralo in questo modo: indipendentemente dal percorso scelto, stai decodificando il vecchio design. Prima di poter costruire un nuovo chip, selezionare un nuovo chip standard o progettare un nuovo PCA, dovrai prima determinare quali sono tutti i comportamenti, le caratteristiche e le caratteristiche del vecchio design che devono essere riprodotti in il nuovo design.

Dovrai preparare una specifica dettagliata di ciò che il nuovo design deve fare per riprodurre il comportamento del vecchio design. Dettagliato fino al livello "compatibilità bug". Se un utente preme due pulsanti non correlati contemporaneamente, è necessario riprodurre il vecchio comportamento (forse il vecchio design si blocca quando ciò accade)? Se le batterie vengono inserite al contrario, è necessario riprodurre il vecchio comportamento? Se la registrazione vocale include frequenze normalmente non udibili, è necessario riprodurre il vecchio comportamento?

Una volta che hai una specifica completa e dettagliata per ciò che vuoi costruire, allora sarai in una posizione molto migliore per decidere qual è il percorso migliore per costruirlo.

Se se decidi di riutilizzare un po 'del vecchio design, posso solo offrire un paio di idee:

  • Se vuoi riprodurre un chip, preparati allo shock dell'adesivo. Da quanto mi risulta, per il tipo di chip personalizzato dal costo più basso (ASIC strutturato) NRE addebita inizia a $ 100.000. Se non stai salvando qualcosa nel raggio di 6 mesi di ingegnere (o acquisendo un comportamento che non è assolutamente riproducibile in nessun altro modo) seguendo questa strada, probabilmente non è fattibile.

  • Dato l'elevato NRE per un chip personalizzato, per i vostri volumi una soluzione FPGA o CPLD potrebbe essere competitiva in termini di costi (a un rischio molto inferiore) con un nuovo design del chip. Ma un nuovo design del microcontrollore avrà probabilmente un costo dei materiali molto inferiore rispetto a entrambi.

  • Se vuoi trovare un sostituto form-fit per il vecchio chip da montare sul PCB esistente, considera l'idea di una scheda figlia con pin o pad che si montano sul vecchio footprint. Su questa scheda figlia potresti includere più di una parte, una nuova parte in un pacchetto diverso o una nuova parte con i suoi pin reindirizzati in modo che corrispondano al vecchio footprint.

spearson
2012-02-16 13:34:07 UTC
view on stackexchange narkive permalink

La prima soluzione dovrebbe essere quella di accumulare l'IC fuori produzione prima che scompaia completamente. Contattare direttamente il produttore di circuiti integrati e setacciare i loro distributori. Esistono anche broker di componenti specializzati in parti fuori produzione. Acquista tutto quello che riesci a trovare. A seconda del prezzo del chip, un ordine di diecimila potrebbe valere una corsa speciale per il produttore di circuiti integrati.

A seconda del tuo successo, questo potrebbe fornire uno stop gap alla fornitura durante la riprogettazione del prodotto, oppure puoi acquistarne abbastanza per controllare il ciclo di vita.

Come avvertimento per gli altri, quando possibile imposta avvisi e-mail per componenti critici in un progetto. Quando alcune parti passano da attive a interrotte, è il momento di andare a fare acquisti.

Questo è un ottimo suggerimento. So che al momento abbiamo una piccola scorta, ma dovremmo sicuramente cercarne di più per farci guadagnare tempo !!!
Russell McMahon
2012-02-16 05:21:18 UTC
view on stackexchange narkive permalink

Consulta questo sito per prodotti Chipcorder ISD Nuvoton per vedere una gamma di prodotti che possono fungere da base. Questi coprono diverse tecnologie e metodi, lunghezza della parola, qualità e facilità di programmazione.

MA

Ci sono molti modi per farlo e alcuni probabilmente avranno un costo inferiore.
Le domande cruciali includono:

  • Quale durata discorso?
  • Quale qualità vocale è richiesta?
  • Quanti messaggi
  • Qual è un costo accettabile dei materiali per un nuovo design?
  • Quale volume?
  • Qual è la tua scala temporale?

[[[Vuoi che lo faccia io per te / Quanto vale il lavoro per te? :-)]]]

Wouter van Ooijen
2012-02-16 20:50:53 UTC
view on stackexchange narkive permalink

Immagino che una qualità vocale del telefono sia sufficiente? La velocità DS0 (http://en.wikipedia.org/wiki/DS0) è di 64 kbit / sec. Per i tuoi 25 x 10 secondi sarebbero necessari 16 Mbit = 2 Mbyte. La decodifica DS0 è quasi banale. Un chip di memoria SPI da 16 Mb dovrebbe essere inferiore a $ 1 (ad esempio SST25VF080B-80-4I-SAE su mouser). Un semplice microcontrollore (PIC, AVR, Cortex) costerà più o meno lo stesso nelle vostre quantità. Usa un convertitore DA economico o PWM direttamente dal microcontrollore al transistor che guida l'altoparlante. A me sembra un progetto relativamente semplice.

Per uno sforzo più ingegnoso, esegui la compressione mpeg sui tuoi soundbites per adattarli agli 0,5 Mb comunemente disponibili sui microcontrollori a 32 bit. Non sono sicuro che ne valga la pena.

Per avere il meglio di entrambi i mondi, inizia con un PCB che ha sia un chip CortexM0 che un chip FLASH, e decidi in seguito di fare il trucco MPEG e andartene il chip FLASH fuori.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...