pic diversi?

Esiste qualche differenza particolare tra i pic 16f628 e il 16f628A? Io riesco a trovare solo il datasheet del secondo.

Reply to
zoidberg
Loading thread data ...

zoidberg ha scritto:

Scarica questo....

formatting link

All'interno parla del 627 e del 628

Reply to
Cibri

Cibri ha scritto:

Grazie.

Reply to
zoidberg

pinout e instruction-set sono identici

se ben ricordo è come per il 16f84(A): non ci sono differenze lampanti e se hai in mano il sorgente non c'è nessun problema, basta ricompilarlo senza alcuna modifica

se invece disponi solo del .HEX non sempre riesci a scambiare la versione -A con quella senza -A... uno dei motivi è che l'algoritmo interno di scrittura della flash è diverso per cui nascono problemi

-ice-

Reply to
ice

=_NextPart_000_00DB_01C71B7A.6D22B660 Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: quoted-printable

"zoidberg" ha scritto=20

Io=20

Eccolo sul sito Microchip

formatting link

Sul sito Microchip c'=E8 un elenco completo di tutti i datasheet

formatting link

1434

Comunque se ti guardavi bene quello del 16F628A trovavi:

"APPENDIX C: DEVICE MIGRATIONS This section describes the functional and electrical specification = differences when migrating between functionally similar devices. (such = as from a PIC16F627 to a PIC16F627A).

C.1 PIC16F627/628 to a PIC16F627A/628A

  1. ER mode is now RC mode.=20
  2. Code protection for the program memory has changed from code-protect = sections of memory to code-protect of the whole memory. The = configuration bits CP0 and CP1 in the PIC16F627/628 do not exist in the = PIC16F627A/ 628A. They have been replaced with one configuration bit = CP.
  3. "Brown-out Detect (BOD)" terminology has changed to "Brown-out Reset = (BOR)" to better represent the function of the Brown-out circuitry.
  4. Enabling Brown-out Reset (BOR) does not automatically enable the = Power-up Timer (PWRT) the way it did in the PIC16F627/628.
  5. INTRC is now called INTOSC.
  6. Timer1 Oscillator is now designed for 32.768 kHz operation. In the = PIC16F627/628,the Timer1 oscillator was designed to run up to 200 kHz.
  7. The Dual-Speed Oscillator mode only works in the INTOSC oscillator = mode. In the PIC16F627/ 628, the Dual-Speed Oscillator mode worked in = both the INTRC and ER oscillator modes."

Altrimenti con il datasheet del 16F628 cosa fai?=20 Ti metti a confrontare pagina per pagina (178 pagine), riga per riga, = per trovare queste 7 differenze?

La A indica una nuova revisione del silicio e le differenze in genere = sono poche e molto particolari come puoi vedere.

Reply to
Marco

"ice" ha scritto

se

versione -A

Il file Hex è un file che contiene i valori esadecimali da scrivere a determinati indirizzi della memoria del micro. Dato che la mappa di memoria dei 2 micro è la stessa, ammesso pure che l'algoritmo di scrittura della flash è differente nei 2 micro, se nella fase di programmazione si seleziona il device corretto (quello con la A), non ci sono problemi a fare la programmazione del file Hex. Alla fine si riesce a scrivere il file hex nella memoria del micro. Sono solo byte da scrivere nella memoria, se si usa l'algoritmo corretto di scrittura della flash, l'operazione riesce sempre.

I problemi possono eventualmente esserci se il SW utilizza delle funzionalità del micro che hanno subito una qualche modifica nel passaggio dalla versione senza la A a quella con la A.

Ad esempio nel caso in oggetto una differenza tra le 2 versioni è: "Timer1 Oscillator is now designed for 32.768 kHz operation. In the PIC16F627/628,the Timer1 oscillator was designed to run up to 200 kHz" Se il SW usava il Timer 1 a 200 KHz, con il micro versione A non potrà funzionare.

Quindi non è neanche vero che "se hai in mano il sorgente non c'è nessun problema, basta ricompilarlo senza alcuna modifica". L'esempio sopra ne è una prova.

Comunque in genere per i vari micro, essendo poche e molto particolari le differenze nel passaggio da una versione del silicio ad un'altra, quasi sempre si riesce a migrare senza fare alcun intervento.

Reply to
Marco

si certo, si scrive correttamente... ma anche se selezioni 16f628 anzichè

16f84 programmi senza errori

l'algoritmo di lettura è lo stesso per tutti i pic 14-bit mentre quello di scrittura cambia Ad esempio per il pic16f877 si scrive 1 word/ciclo mentre per il pic16f877A si scrivono 4 word/ciclo

come esempio posso dirti che il fw scritto per 16f84 dell'ICD1 lo scrivi senza problemi su un 16f84A ma l'ICD1 non va è un problema noto quando si parla di ICD1

ok

hai ragione ma forsre non mi sono spiegato bene: prima secondo me si valuta la compatibilità hardware poi, se ok, si passa al firmware

ricordo solo che il datasheet del 16f628 (niente -A) diceva chiaramente che il timer1 oscillator block era inteso per un uso con quarzo da 32khz ma che arrivava fino a 200khz per cui la modifica non è necessaria perchè se tu prendi un 16f628A e ci metti un quarzo da 200khz lavori fuori specifica (sempre se va) per cui il problema della modifica fw non si pone neppure. E' la modifica hw che non è permessa

-ice-

Reply to
ice

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.