Title: Sin ttulo de diapositiva
1Fonaments i mercat actual
- Estandarditzar les targes daplicació
(producció benefici ) - Prototipatge. -
Possibles modificacions i ajustos
post-installació.
- Processador Sistema de control dedicat
(reconfiguració dinàmica) - EPROM Sistema
autònom (no reconfiguració dinàmica )
- La solució és molt més complexa que en sistemes
digitals - Menys volum dintegració. - Menys
mercat ( els dissenyadors analògics no estan
habituats a aquesta opció ). - Hi ha poques
opcions a escollir i algunes delles són molt
específiques. - Rangs de freqüència de treball
baix.
2Opcions
FIPSOC
TRAC020
AN10E40
www.anadigm.com
ispPAC
- Microcontrolador memòria . - FPGA - FPAA -
Software propi
ispPAC10 condicionador de senyal ispPAC20
monitorització i control ispPAC80 Ultra
flexible.Temps continu. ispPAC30 Nou
component.
Filtres passa-baix.
- 20 blocs configurables - Poques opcions
possibles - No hi ha control intern
www.sidsa.es
www.fas.co.uk
www.latticesemi.com
3Estructura
AN10E40. La FPAA d'Anadigm (Arquitectura,
Software i Programació).
CAB
AnadigmDesigner
CA
CI
CB
CC
CD
- Capacitats commutades - Nou component amb
programació sense posar - Llibreria amb molts
components les sortides en alta impedància. -
Connexió interna de mòduls - Ajust molt bo dels
paràmetres i repetibilitat. - Buffers I/O
opcionals - 4 freqüències de treball per a les
capacitats commutades
4Capacitats commutades
Configuració parallel
Configuració sèrie
qC1 C vi qi
qC1 C ( vo-vi )
qC2 C vo qo
qC2 0
?q qi - qo C (vi - vo )
?q qC1 - qC2 C (vi - vo )
5Estructura programació
13 85 02 B7 codi ID dispositiu 00 Tipus de
dada ....... 78 1 bytes ( fila 0 ) ....... 78
1 bytes ( fila 1 ) ....... 78 1 bytes ( fila
2 ) ....... 78 1 bytes ( fila 3 ) ....... 78
1 bytes ( fila 4 ) ....... 78 1 bytes ( fila 5
) ....... 78 1 bytes ( fila 6 ) ....... 78
1 bytes ( fila 7 ) ....... 78 1 bytes ( fila 8
) ....... 78 1 bytes ( fila 9 ) ....... 78
1 bytes ( fila 10 )
Veure transparència 3_FPAA_1 - 3
6 Programació
7 Programació
include ltconio.hgt include ltdos.hgt include
ltstdlib.hgt include ltstdio.hgt include
ltstring.hgt definePP1_BASE 0x378 unsigned
char error (void) int x char terror void
no_busy (void) unsigned char f do
f inp(PP1_BASE1) 0x80 while
(f 0x00) unsigned char llegir
( unsigned char rs) unsigned char f,g
ginp(PP1_BASE2) g g 0x20outp(
PP1_BASE2,g) g(g 0x0F) 0xF4outp(
PP1_BASE2,g) g(g 0xFA) rs
0x01outp(PP1_BASE2,g) gg 0x08 outp(
PP1_BASE2,g) SELECT_IN1 finp( PP1_BASE)
gg 0xF7 outp(
PP1_BASE2,g) SELECT_IN0 gg 0xFE outp(
PP1_BASE2,g) return (f) unsigned
char error (void) unsigned char f f
llegir(4) if ((f 0x01) 0x01) ((f
0x02) 0x02) printf("Error \n") return (f
0x07)
escriure (0,0x02,1) strcpy( codi, "0x"
) for(x0xlt874x) fgets(
codi2, 4, fp) codi4 0 fstrtol( codi,
codi3, 16 ) escriure(4,f,1) if
(terror0x01) break fclose(fp)
while( terror ! 0x00 ) escriure(0,0x10,1) pri
ntf("OK!.\n")
void escriure ( unsigned char rs,unsigned char
byte,int err) int f,g g
inp(PP1_BASE2) g g 0xCF outp(
PP1_BASE2,g) outp( PP1_BASE,byte) g (g
0x0F) 0xF4 outp( PP1_BASE2,g) g(g 0xFA)
rs 0x01 outp(PP1_BASE2,g) gg 0x02 outp(
PP1_BASE2,g) gg 0xFD outp(
PP1_BASE2,g) gg 0xFE outp(
PP1_BASE2,g) no_busy() if (err ! 0)
if (error()) terror 0x01 void
main ( void ) unsigned char f char
codi8 int correc FILE fp char NomArxiu
256 char NomVellArxiu 256 charCamiArxiu
256 strcpy( NomArxiu, "" ) strcpy(Arxiu,
"file.AHF" ) do terror0x00
if ((fp fopen( Arxiu,"rt")) NULL)
printf("Error \n")exit(0)
escriure (0,0x01,1) escriure
(0,0x00,1