View
6
Download
0
Category
Preview:
Citation preview
Codice ordine:Data: - Rev:04/2014 1.1
1902101004
Manualed’uso e manutenzione
MODULO CPU
DICO 708EX/B
708EX/BL
Sommario1. Introduzione...............................................................................................3
2. Specifiche tecniche..................................................................................3
2.1 Serigrafia DICO708EX/B.............................................................42.2 Serigrafia DICO708EX/BL............................................................42.3 LEDS DICO708EX/B......................................................................52.4 LEDS DICO708EX/BL....................................................................52.5 Connessioni DICO708EX/B.........................................................62.6 Connessione DICO708EX/BL.....................................................7
3. MON-EX Firmware.......................................................................................8
3.1 Cosa fa MON-EX..........................................................................83.2 Le porte di comunicazione di MON-EX....................................93.3 Le segnalazioni luminose di MON-EX......................................93.4 Le E2Prom seriali.......................................................................93.5 Configurazioni di memoria per gli applicativi.......................10
pag. �
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
Storico Revisioni PagineRev. 1.0 Stesura 11
SYSTEM s.p.a. Div. ElectronicsviaGhiarolaVecchia,7341042Fiorano(MO)-Italytel.0536/836111-fax0536/830901www.system-group.ite-mail:info.electronics@system-group.it
Questoprodottosoddisfairequisitidiprote-zioneEMCdelladirettiva2004/108/CE (ex 89/336/CEE) e successive modifiche.
SYSTEM s.p.a. Div. Electronics siriservaildirittodiapportare variazione di qualunque tipo alle specifiche tecnicheinqualunquemomentoesenzaalcunpreavviso.Le informazioni contenute in questa documentazionesono ritenute corrette e attendibili. La riproduzioneancheseparziale,delcontenutodiquestocatalogo,èpermessasolodietroautorizzazionediSYSTEMs.p.a.Div.Electronics.
Ilpresentemanualefariferimentoaiseguenticodici:1902101004 MODULOCPUDICO708EX/B+M011902101013 MODULOCPUDICO708EX/B+M021902101014 MODULOCPUDICO708EX/BL+M011902101011 MODULOCPUDICO708EX/BL+M02
pag. �
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
1. IntroduzioneLaseriedimoduliCPU708EX/Bxsonobasatisuunapotentecpuingradodi interfacciarsiadunPCdisu-pervisionetramiteprotocolliTCP/IPoWeb-ServeredigestiremodulidiI/Oremotoenodiintelligenticonnessisuunoopiùbusdicampo(CANbusoaltro).ConsentonodiprogettarearchitetturedisupervisioneecontrolloevolutesenzalanecessitàdiintrodurresistemiPC-based, con evidenti vantaggi in termini di affidabilità edigestione.Ilmoduloe’disponibileinquattroversioni;duemodellidicpuM01eM02,duemodellidischedacarrier/Be/BL.
2. Specifiche tecniche• Microprocessore DSTni-EX120MHzx86compati-
bileconcapacitàdiindirizzamentoa20e24bits• 2porte ETHERNET10/100Mbps• 2interfacce full CAN 2.0Ae2.0B• 2interfacce RS232/RS422/RS485 (solover./B)• 1interfaccia RS232(solover./BL)• Memoria RAM volatile fino a 4MB (solo ver. M01)• Memoria RAM tamponata 2Mbyte• Memoria FLASH parallela4MB• Memoria EEPROM seriale1KBx2• Alimentazione 24Vdc1A• Watch-Dog• Orologio-Calendario• Possibilitàdiprogrammazione inlinguaggio"C"o
inlinguaggistandardIEC61131-3(soft-PLC)• Temperatura di lavoro: 0…60°C• Umidità: UR85%(senzacondensa)• Dimensioni: 140×60×110mm• Montaggio subarraDINEN50035
Mappa di memoriaAdd20 Size [KB]Memory
0x00000 256On-chip RAM0x40000 BB_SRAM 2560x80000 Sector 00-07 8x80x90000 Sector 08-13 6x640xF0000 Sector 14 480xFC000 On-chip ROM 16
Add240x0000000x0400000x2000000x4000000x800000
0xA000000xC000000xC10000
0xFC00000xFFC000
MemoryOn-chip RAM
Size [KB]256
SRAM1 (*) 1792SRAM2 (*) 2048
BB_SRAM 2048
Sector 00-07 8x8
Sector 08-69 62x64
Sector 70On-chip ROM
4816
Mappa di memoria
Tabella 2.1
Tabella 2.2 (*) Solo M01
pag. �
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
2.1 Serigrafia DICO708EX/B
Figura 2.1.1 Serigrafia DICO708EX/B
Settaggio porte CAN:SLOPE = slopecontrolCANBus(dainserirepervelocità
direteCAN>500KB)TERM = terminazioneCANBUS
Settaggi porte seriali:TERM1 e TERM2 = TerminazioneRS485/422POL1 e POL2 = PolarizzazioneRX422
Settaggi CPU:BATT = 1-2batteria inserita;2-3batterianon inse-
rita20_BIT = Indirizzamento a 20-bits (inserito);
a24-bit(noninserito)B_RDIS = DisabilitazionedelBootstrapon-chip
Settaggi On-chip BootstrapB_ETH = AbilitazioneBootdaETHERNET0DBG_MSG = Abilitazionemessaggididebugdelboot-
strapSP_9600 = PorteSP0/SP1a"9600,N81"(inserito);a
"57600,N81"(noninserito)
2.2 Serigrafia DICO708EX/BL
Figura 2.2.1 Serigrafia DICO708EX/BL
Settaggio porte CAN:SLOPE = slopecontrolCANBus(dainserirepervelocità
direteCAN>500KB)TERM = terminazioneCANBUS
Settaggi CPU:BATT = 1-2batteria inserita;2-3batterianon inse-
rita20_BIT = Indirizzamento a 20-bits (inserito);
a24-bit(noninserito)B_RDIS = DisabilitazionedelBootstrapon-chip
Settaggi On-chip BootstrapB_ETH = AbilitazioneBootdaETHERNET0DBG_MSG = Abilitazionemessaggididebugdelboot-
strapSP_9600 = PorteSP0/SP1a"9600,N81"(inserito);a
"57600,N81"(noninserito)
PWR
1C
AN
1C
AN
0SE
R1
ETH
0
TERM
SLO
PETE
RMSL
OPE
DB
G_M
SGB
_RD
IS20
_BIT
SP_9
600
B_E
TH
SW2
SW1
BATT
ETH
1
SER
2
TERM2 POL2
+PO
L2-
TERM1 POL1
+PO
L1-
BATT2
1
11
PWR
1C
AN
1C
AN
0SE
R0
ETH
0
TERM
SLO
PETE
RMSL
OPE
DB
G_M
SGB
_RD
IS20
_BIT
SP_9
600
B_E
TH
SW2
SW1
BATT
BATT2
ETH
1
1
11
pag. �
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
2.3 LEDS DICO708EX/B
Figura 2.3.1
ETH0 Led Giallo = linkstabilitoETH0 Led Verde = segnalazione di trafficoETH1 Led Giallo = linkstabilitoETH1 Led Verde = segnalazione di trafficoCAN0 = trasmissioneportaCAN0CAN1 = trasmissioneportaCAN1SER1 Led Rosso = trasmissionesuportaserialeSP1SER1 Led Verde = ricezionesuportaserialeSP1SER2 Led Rosso = trasmissionesuportaserialeSP2SER2 Led Verde = ricezionesuportaserialeSP2PWR = LedpresenzaalimentazioneL1 = LedgeneralpurposeL2 = LedgeneralpurposeL3 = LedgeneralpurposeL4 = LedgeneralpurposeL5 = Ledgeneralpurpose
2.4 LEDS DICO708EX/BL
Figura 2.4.1
ETH0 Led Giallo = linkstabilitoETH0 Led Verde = segnalazione di trafficoETH1 Led Giallo = linkstabilitoETH1 Led Verde = segnalazione di trafficoCAN0 = trasmissioneportaCAN0CAN1 = trasmissioneportaCAN1SER0 Led Rosso = trasmissionesuportaserialeSP0SER0 Led Verde = ricezionesuportaserialeSP0PWR = LedpresenzaalimentazioneL1 = LedgeneralpurposeL2 = LedgeneralpurposeL3 = LedgeneralpurposeL4 = LedgeneralpurposeL5 = Ledgeneralpurpose
pag. �
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
2.5 Connessioni DICO708EX/B
Figura 2.5.1
PWR - ALIMENTAZIONE Pin1 +24Vdc Pin2 GND Pin3 PE
CAN0 - CAN BUS porta 0 Pin4 CANH Pin5 CANL Pin6 REF
Pin7 CANH Pin8 CANL Pin9 REF
CAN1 - CAN BUS porta 1 Pin10 CANH Pin11 CANL Pin12 REF
Pin13 CANH Pin14 CANL Pin15 REF
SER1 - Porta Seriale SP1 RS232 RS485 RS422Pin16 TX Data- TX-Pin17 RTS Data+ TX+Pin18 GND GND GNDPin19 CTS NC RX-Pin20 RXD NC RX+
ETH1ETH0
SER2SER1 CAN0 CAN1 PWR
21 22 23 24 25
16 17 18 19 20
7 8 9
4 5 6
13 14 15
10 11 12 1 2 3
SER2 - Porta Seriale SP2 RS232 RS485 RS422Pin21 TX Data- TX-Pin22 RTS Data+ TX+Pin23 GND GND GNDPin24 CTS NC RX-Pin25 RXD NC RX+
ETH0 - Porta Ethernet 0
ETH1 - Porta Ethernet 1
pag. �
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
2.6 Connessioni DICO708EX/BL
Figura 2.6.1
XP1 - AlimentazionePin 1 +24VdcPin 2 GNDPin 3 PE
XP3, XP8 - CAN0Pin 4 CANHPin 5 CANLPin 6 REF
Pin 7 CANHPin 8 CANLPin 9 REF
XP2, XP7 - CAN1Pin 10 CANHPin 11 CANLPin 12 REF
Pin 13 CANHPin 14 CANLPin 15 REF
XP5XP6
(ETH1)(ETH0) XP4
XP8XP3
XP7XP2 XP1
1616 17 18 19 20 4 5 6
7 8 9 13 14 15
10 11 12 1 2 3
(SER0)(CAN0) (CAN1)
(PWR)
XP4 - Porta Seriale SP0 RS232 Pin16 TX Pin17 RTS Pin18 GND Pin19 CTS Pin20 RXD
XP5 - ETH1
XP6 - ETH0
pag. �
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
3. MON-EX FirmwareMON-EX è il firmware standard che viene bruciato nel-la FLASHparallela diDICO708EX/BeDICO708EX/BLdurantelaproduzioneinSYSTEMElectronics.Piùpre-cisamente,laFLASHparallelacontienesialaversionea 24-bit che la versione a 20-bit di MON-EX, comeevidenziatonelleappositetabellecontenentilemappedimemoria.MON-EXvienelanciatodalbootstrapon-chipe,asuavolta,puòfarepartireunaltroapplicativoutenteresi-dente ad un indirizzo fisso in FLASH parallela o scaricato inRAMviaprotocolloBOOTP/TTFTP.SYSTEMElectronicsfornisceapposititoolschepossonovenire usati per comunicare col firmware MON-EX at-traversoleporteSP0,CANbus0eleporteEthernet,seattive.Questitoolspermettonodiconoscerelaversionedi firmware MON-EX che sta girando, di invalidare un'ap-plicazioneesistente,scaricarneunanuovaevalidarla.Inoltre,sonofornitiglistrumentiperutilizzarelasecondaEEPROM seriale, l'utilizzo del Real Time Clock, la lettura/scritturadegliI/Oelaletturadizonedimemoria.IncasosivogliainserireinunaHMIdedicatailnucleodiquestitools,sipossonorichiedereaSYSTEMElectronicsidettaglirelativiaiprotocolliperCANbuseperEther-net/Seriale.MON-EXcontieneancheunWebServerchepermettediinterfacciarsitramiteunbrowserstandard(InternetExplorer,Firefox,Chrome,ecc…)perreperireinforma-zioni,impostareIPeNetmaskdasalvareinmemorianonvolatile,scaricareapplicativi,validarliedinvalidarli.
3.1 Cosa fa MON-EXLaprimissimaazionediMON-EXèleggereunregistroincuilalogicahardwaredellaschedahamemorizzatolacausadiresetdellaCPU(power-up,watch-dogoaltro)e scrivere questa informazione in un area fissa di me-moria(Monitor Exchange Memory)doveunprogrammaapplicativolapossainseguitoreperire.Quindi,MON-EXlegge idip-switchesSW1eSW2persaperecomeprocedere.
Tabella 3.1.1
SW1_1 SW1_2 SW1_3 SW1_4 SW1_5 SW1_6 SW1_7 SW1_8CANbus 0
User defined
Off
Port used bymonitor
IP Mode
Off Off = Class C
Off On = E2PromOn Off = DHCPOn On = BOOTP
(192.168.1.x)or ARP trick
CANbus baudrate
Off Off Off = 1 MbpsOff Off On = 800 KbpsOff On Off = 500 KbpsOff On On = 250 KbpsOn Off Off = 125 KbpsOn Off On = 50 KbpsOn On Off = 20 KbpsOn On On = 10 Kbps
SW2_1 SW2_2 SW2_3 SW2_4 SW2_5 SW2_6 SW2_7 SW2_8
On
Ignoreapplicationprogram
Node ID (CANopen NId or LSB of Class C IP)Off Off Off Off Off Off Off = 0 (No IP; ARP trick enabled)Off Off Off Off Off Off On = 1 (Class C IP = 192.168.1.1)Off Off Off Off Off On Off = 2 (Class C IP = 192.168.1.2)… … … … … … … …On On On On On On On = 127 (Class C IP = 192.168.1.127)
CANbus 0
On
Port can bemanaged byTCPtoCAN /UDPtoCANGateway
User defined
Off
ExecuteApplicationprogram, if
present
Loswitchpiùdiscriminanteè,senzadubbio,SW2_1.QuandoèON,SW2_1diceaMON-EXdiignorarequa-lunqueprogrammaapplicativoeventualmenteresidenteinFLASHparallelaediprocedereaprendouninsiemediportedicomunicazioneattraversocuiriceverecomandidalmondoesterno.QuandoSW2_1èOFF,MON-EXleggelaE2Promserialein cerca di patternsmagici ed altre informazioni cheindichino la presenza di un applicativo utente validonella FLASH parallela (ad un indirizzo fisso dipendente dallamodalitàdiindirizzamentoa20/24bits)edeven-tualmentelolancia.Peridettaglirelativiagli indirizzifissi, si faccia riferimento alle tabelle con le opportune mappedimemoria.È altamente consigliabile che l'applicativo usi i dip-switchesrelativiaNodeIDebaudratedelCANbusnelmedesimo modo di MON-EX e che l'applicativo imple-mentiinqualchemodolafunzionalitàdiinvalidazionedi se stesso (inmodo taledapoter essere indotto asuicidarsiefarripartireMON-EXalsuccessivoreset).
Tabella 3.1.2
Tabella 3.1.3 (*) solo M01
Mappa di memoria di MON-EX-20
Add20 MemoryChip
Chip Size[KB]
Area Size[KB] Area Type
0x00000 1 Interrupt Vectors0x00400 0,75 Reserved0x00700 0,25 Monitor Exchange Memory0x00800
On-chip RAM 256222
Monitor Data(available for application)
0x0380000x40000
BB_SRAM 256224
Monitor Free Memory(application download)
Unused by Mon-EX-20640x700000x80000 Sector 00-03 4x8 Unused by Mon-EX-200x88000 Sector 04-07 4x80x90000 Sector 08-10 3x64
22420-bit Application
(started by Mon-EX-20)0xC0000 Sector 11-13 3x640xF0000 Sector 14 48
240 Mon-EX-20
0xFC000 On-chip ROM 16 16 DSTni-EX Bootstrap
Mappa di memoria di MON-EX-24
Add24 MemoryChip
Chip Size[KB]
Area Size[KB] Area Type
0x000000 1 Interrupt Vectors0x004000 0,75 Reserved0x007000 0,25 Monitor Exchange Memory0x008000
On-chip RAM 256
254Monitor Data
(available for application)
0x400000
BB_SRAM 2048 2048
Monitor Free Memory(application download)
20-bit Application(started by Mon-EX-20)3x64
Sector 00-02 3x8
0x040000SRAM1(*) 1792
33280x2000000x380000
SRAM2(*) 2048512 Unused by Mon-EX-24
0x800000Unused by Mon-EX-24
0xA000000xC00000 Unused by Mon-EX-240xC06000 Sector 03 8 [Eth2Serials Configuration]0xC08000 Sector 04-07 4x8
2240xC10000 Sector 08-100xC40000 Sector 11-14 4x64 256 Mon-EX-200xC80000 Sector 15-66 52x64 3328 24-bit Application
(started by Mon-EX-24)0xFC0000 Sector 67-70 240 Mon-EX-240xFFC000 On-chip ROM
4x6416 DSTni-EX Bootstrap
pag. �
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
3.2 Le porte di comunicazione di MON-EX
QuandoMON-EXignorauneventualeprogrammaappli-cativo,iniziaafarlampeggiareL3edaprealcuneportedicomunicazione su cui attendere comandi dall'esterno.
3.2.1 La porta seriale SP0 (RS232)Laporta seriale SP0 vieneapertaa"38400,N81"indi-pendentementedalsettaggiodegliswitches.
3.2.2 La porta CAN0SeloswitchSW1_1èOFFedilnodeIDèdiversodazero(switchesSW2_2-SW2_8),laportaCANbus 0vieneapertaconlabaudrateimpostatadagliswitchesSW1_6-SW1_8.SegliswitchesSW2_2-SW2_8sonotuttiOFF,ilNodeIDvieneautomaticamenteportatoda0a1.L'impostazione di fabbrica per il Node ID è 1; quella per labaudrateè500Kbps.SeSW1_1èON,laportaCANbus0puòvenireusatacomegatewaytraTCP/UDPeCANbus;laportaCANbus1funzionasemprecomegateway.Dettaglisulprotocollodigatewaysonodisponibilipergliinteressati.
3.2.3 La porta ETH0LeporteEthernetdeidispositiviSYSTEMElectronicshan-noMACdeltipo00-11-63-xx-xx-xx;disolito,laportaEthernet0haunMACaddressparielaportaEthernet1ilMACaddressdispariimmediatamenteseguente.
Seriescearecuperareinqualchemodo(dipendente-mentedallaposizionediSW1_4-SW1_5)unIPedunaNetMask,MON-EXapreanchelaportaEthernet 0.Il settaggiodi fabbricaper IP_ModeèClass C: l'IP è "192.168.1.1" (Node ID, come abbiamo già visto, èimpostatoad1)eNetMaskè"255.255.255.0".Se SW1_1 è ON, l'IP è fissato a "192.168.1.1".SeSW1_1èOFF,unNode IDcompreso tra1e127viene usato come ultimo byte dell'IP; un Node ID nullo, invece,attivailcosiddetto"ARPtrick",chepermettediassegnareunIPtemporaneousandoicomandistandardARPePING.Indettaglio,sitrattadiaggiungeretempo-raneamenteunavocestaticaallatabellaARPdelproprioPCe,successivamente,diusareilcomandoPINGperassegnare temporaneamente l'IP desiderato alla porta ETH0;adesempio,sesivuoleassegnaretemporanea-mente l'IP 10.11.12.13 alla porta ETH0 avente MAC address001163-000100,sidevonodigitaresulproprioPCiseguenticomandi: arp -s 10.11.12 00-11-63-00-01-00 ping 10.11.12.13A questo punto, fino al prossimo spegnimento DI-CO708EX/BoDICO708EX/BLdiventaraggiungibile(adesempio, con un browser) attraverso l'IP fissato.Usandounbrowser,gliIPseleNetMasksperleporteEthernet 0 ed Ethernet 1 possono essere modificati e salvatisuE2Promseriale,inmodocheMON-EXpossadalìleggerliincasoIP_ModevengapostoadE2Prom.
SeIP_ModeèimpostatoaDHCP, l'IP e la NetMask per laportaEthernet0puòessereottenutadaunserverDHCP;intalcasoSYSTEMElectronicssuggeriscecheilserver DHCP venga configurato per usare il MAC address come chiave per l'assegnazione di IP e NetMask.
SeIP_ModeèimpostatoaBOOTP,unappositoserverdeveassegnareIPeNetMaskallaportaEthernet0e,quindi, scaricare un applicativo utente nella RAM diDICO708EX/BoDICO708EX/BL(sivedaMonitor Free Memory nelletabelledellemappedimemoria).
3.3 Le segnalazioni luminose di MON-EX
3.3.1 L5Comegiàaccennato,seMON-EXnondevefarpartireuneventualeprogrammaapplicativo,iniziaafarlam-peggiareL3primadiprocedere.Siconsiglia,dunque,agliapplicatori,dinonusarequelledneiprogrammi,inmodo tale che siano chiaramente distinguibili all'esecu-zionedelMonitorequelladiunapplicativo.
3.3.2 L4SeIP_ModeèimpostatoadE2PromoaDHCPeMON-EXnonriesceadottenereunIPedunaNetMaskvalidi,esso cessa qualunque attività ed entra in un loop infinito facendolampeggiareL2allafrequenzadi1Hz.SeIP_ModeèimpostatoaBOOTPeMON-EXvainti-meout sull'attesa di connettersi ad un server apposito, essoripetecontinuamentelaricercadelserverfacendolampeggiarebrevementeL2adognitentativo.SeIP_ModeèimpostatoaClass Cinmodotaledaattiva-re l'ARP trick, MON-EX attende l'arrivo del comando PING facendolampeggiareL2allafrequenzadicirca2Hz.
3.3.3 L3DurantelacopiaturadaRAMaFlashdiunprogrammaapplicativoinqualchemodoscaricato,MON-EXaccendeL1peruntempo(breve)chedipendedallalunghezzadall'applicativo.
3.4 Le E2Prom serialiDICO708EX/BeDICO708EX/BLmontano2chipdime-moriaE2Promseriali.Nel primo di questi chip, protetto contro qualunquetentativodiscrittura,sonostatimemorizzatialcunidatidifabbricacomei2MACaddressesdelleporteEthernetedaltro.Nelsecondochip,opportunamentescrivibile,possonoinvecevenirmemorizzatidaticomegliindirizziIPelerelativeNetMasks,ivalidatorideglieventualiprogrammiapplicativiresidentiinFlashparallelanonchèunmassi-mo di 32 byte utente, cui l'applicativo può assegnare il significato desiderato.
pag. 10
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
3.5 Configurazioni di memoria per gli applicativi
SYSTEMElectronicsmetteadisposizionedegliutilizzatoridiDICO708EX/BoDICO708EX/BLnonsololelibrerienecessarieacostruireunapplicativo,maancheunesem-piodiprogettocontenenteiltargetMON-EX(completodisorgenti)edalcunialtritargetchefannofunzionareunpiccoloapplicativoinvariemodalità.
Le note seguenti presuppongono la conoscenza del-l'ambiente di sviluppo software Paradigm C/C++ e dei tools messi a disposizione da Lantronix (produttore del chip DSTni-EX).
SenzavoleresauriretuttelepossibilitàoffertedalchipDSTni-EXedalsuobootstrapinterno,nelseguitoverran-no presentate le varie configurazioni di memoria previste nel file APPL001.CFG; ad ognuna di esse è associato un particolarestyle sheet nel file di progetto APPLICATION.PDLProjectDescriptionLong).Alcune di queste configurazioni tengono conto della eventualepresenzadiunMonitora20oa24bits)che,necessariamente,utilizzaalcunedellerisorsedimemoriadisponibili;permaggioridettagli,sifacciariferimentoalletabelle3.1.2e3.1.3delmanuale.Le risorse impegnate dal Monitor sono attualmentelargamente sovrabbondanti rispetto alle sue effettiveesigenze(vediTabella3.5.1)e,dunque,nonsipreve-dechesue futureversionipossanocompromettere ilfunzionamentodi applicativi sviluppati tenendocontodeivincoliattuali.
Tabella 3.5.1
SinotichelospaziodiramusatodalMonitorpuò,ovvia-mente, essere riutilizzato dall'applicativo utente lanciato dalMonitorstesso.SinotiancoracheilMonitornonutilizzaalcunaporzionediramtamponata.Si noti infine che Monitor gestisce un'area di scambio congliapplicativichemandainesecuzione;taleareainizia all'indirizzo fisico 0x00700 ed occupa 256 bytes, cosìsuddivisi:
Tabella 3.5.2
Tutte le configurazioni descritte nel seguito prevedono dunquecheiprimi2KBdellospaziodimemoriasianoriservati:1KBservonoper latabelladeivettoridi in-terrupt,768bytesper lo stackdiPDREM(in casodidebugging) e 256 bytes per l'area di scambio tra Monitor egliapplicativi.
Monitor Dimens. Codice Flash impegnata Dimens. Dati Ram impegnata20 bits ~ 177 KB 240 KB ~ 163 KB 192 KB24 bits ~ 225 KB 240 KB ~ 176 KB 256 KB
0x00700 - 0x007010x00702 - 0x007070x00708 - 0x007090x0070A - 0x0070B0x0070C - 0x007FF
iRestartReasonszMonitorReleaseiCANbus0BaudrateiCANbus0NodeIdReserved
3.5.1 Programma in debuggingSe, nell'ambiente di sviluppo Paradigm, si associa ad un target uno style sheet di debugging (Debug20 oDebug24), viene definito il simbolo __PDREMOTE__; in talcaso,iltooldirilocazione(Locator)vieneistruitodaAPPL001.CFGaconsiderareimpegnatelezonedime-moriaon-chipdedicataaPDREMquandoquestovienescaricatoalbootstrapattraversolaportaserialeSP0(da0x00800a0x03FFFeda0x3F000a0x3FFFF).Se possibile, si consiglia di usare per l'applicativo la medesimazonadimemoriadatichesihaintenzionediusare per il sistema finito.
3.5.2 Programma residente in flash lanciabile dal Bootstrap (esecuzione in flash)Glistyle sheet Flash20 e Flash24 definiscono il simbolo __IN_FLASH__checostringe il locatoragenerareunfile in formato HexIntel (FLASH20.HEX o FLASH24.HEX) chedovràpoiessereprocessatonuovamentedaDSTMK-BIN32 per ottenere il file FLASH20.SPB (o FLASH24.SPB); questo file deve infine essere scaricato sul target medianteDSTniLoader.L'indirizzo iniziale del codice deve rispettare le specifiche del bootstrap on-chip, che ricerca l'intestazione di un ap-plicativo in flash agli indirizzi multipli di 64KB (partendo dal più alto e sino all'inizio dell'upper memory).
3.5.3 Programma residente in flash lanciabile da Bootstrap dopo essere stato copiato in ram o lanciabile da Bootstrap dopo averlo ricevuto at-traverso la seriale SP0 (esecuzione in ram on-chip)Glistyle sheet F2Ram20 e F2Ram24 definiscono il sim-bolo __FLASH_TO_RAM__; il file HexIntel generato dal locator(RAM20.HEXoRAM24.HEX)puòessereproces-satodaDSTMKBIN32induediversimodiegenerareifiles RAM20.SPB e RAM24.SPB oppure i files SERIAL20.SDBeSERIAL24.SDB.I files .SPB devono essere scaricati sul target mediante DSTniLoaderevengonogestitidaBootstrapcheprevedeacopiarliinramon-chipprimadellaesecuzione.In entrambi i casi, l'indirizzo di inizio dell'applicativo deve essere obbligatoriamente 0x00800 e l'intero applicativo (codice più dati iniziali) non deve oltrepassare il confine costituito dall'indirizzo 0x3BFFF (max 238KB); questo limite è dovuto all'utilizzo dell'ultima porzione di ram on-chipdapartedelBootstrape,soprattutto,alfattocheBootstrapprogrammairegistridichipselectinmodotaledaeccederesoloallaramon-chip.
pag. 11
Modulo Cpu dICo 708EX/B - dICo 708EX/Bl
CodICE ordInE 1902101004aprIlE 2014 - rEv. 1.1
3.5.4 Programma residente in flash lanciabile da Monitor (esecuzione in ram)Glistyle sheet F2Ram20eF2Ram24costringonoillo-cator a generare, oltre al file HexIntel di cui si è detto al punto precedente, anche un file binario RBYMON20.BIN o RBYMON24.BIN. Questo file deve essere scaricato in flash al Monitor attraverso la porta 1100 o median-tealWebServer integratonelMonitorstesso.Dopo iltrasferimento in flash, occorre eseguire l'operazione di validazione dell'applicativo, indicando un indirizzo iniziale nonnecessariamenteugualea0x00800.Monitor provvede a copiare l'applicativo in ram prima dell'esecuzione. A differenza dei due casi precedenti, avendo Monitor già sistemato opportunamente i registri che governano i chip select delle memorie, l'applicativo non è limitato ad utilizzare la sola ram on-chip,mapuòoccupare tutta la memoria lasciata libera da Monitor (fino a1536KB[soloperM013328KB]dicodiceapplicativoperlaversionea24-bits).
3.5.5 Programma residente in flash lanciabile da Monitor (esecuzione in flash)Gli style sheets FBYMON20 e FBYMON24 defiscono il simbolo__FLASH_UNDER_MONITOR__;comenelcasoprecedente, il file binario generato dal Locator (FBY-MON20.BINoFBYMON24.BIN)deveesserescaricatoilflash al Monitor attraverso la porta 1100 o mediante il WebServerintegratonelMonitorstesso.Dopoiltrasfe-rimento in flash, occorre eseguire l'operazione di vali-dazione dell'applicativo, indicandone l'indirizzo iniziale (chedeverisiederenellezoneopportunamentemessea disposizione da Monitor). L'esecuzione dell'applicativo avverrà direttamente in flash.
3.5.6 Programma resistente su BOOTP e lanciabile da Monitor (ese-cuzione in RAM)Gli style sheet BbyMon20 e BbyMon24 definiscono il simbolo__BOOTP_UNDER_MONITOR; inquestocaso,il file binario generato dal locator (BBYMON20.BIN o BBYMON24.BIN)deveesserecopiatosuBOOTPServer,da cuiMonitor lo potrà scaricare se opportunamenteconfigurato tramite i dip-switches presenti sulla scheda (vedereTabella3.1.1).Ancheinquestocaso,avendoMonitorgiàsistematoop-portunamenteiregistrichegovernanoichipselectdellememorie, l'applicativo può occupare tutta la memoria lasciataliberadaMonitor.
3.5.7 Le classi MEM4STACKS e MEM4BUFFERSNegliesempicontenutinelprogettoAPPLICATION.PDLsonostatedichiarateduespecialiclassidisegmentipercontenere,rispettivamente, ilpooldimemoriadacuipossonovenireallocatiglistacksdeitasksedilpooldibuffersperiframesscambiatisuEthernet.IlfattocheleclassisianodistintepermettedidarealLocatordirettiveperposizionareglistacksnelleramon-chip(estremamenteveloce)edibuffersdiEthernetinramesterna(leggermentepiùlenta);dipendentementedall'applicativo, potrebbe essere più conveniente portare inramon-chipporzionidicodicedaposizionaretuttoilrestoinramesterna.
3.5.8 Utilizzo del floating pointÈ altresì disponibile la possibilità di utilizzare l'emulazio-nedelcoprocessorematematico,utilizzandolelibreriefloating point presenti in Paradigm C++.Èperòbennotochetalilibrerieutilizzanounaporzionedi memoria allocata all'inizio del segmento contenente lo stack.PoichèlacustomizzazionedelsistemaoperativoDSTniOSoperatadaSYSTEMElectronicsprevedechetuttiglistacksdeivaritaskscondividanoilmedesimosegmento,nederivacheunosolodeitaskspuòeseguireoperazioni floating point.
Recommended