30.08.2013 Views

Untitled - MRTC

Untitled - MRTC

Untitled - MRTC

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Intern realtidskommunikation i framtida Svenska satelliter sid 39<br />

Martin Normark<br />

att passa EDF-CAN-controldesignen kördes samtliga tester med lyckat resultat. Dessutom skapades<br />

nya tester (test 5.1 och test 6.1) vars syfte var att testa funktionen hos initialvärdet (här kallat ”PRIO”),<br />

räknaren (”counter”) och EDF-ID-biten (här kallat”ID_bit_28”). VHDL-koden för testerna 5.1 och 6.1<br />

finns återgivna i Appendix D.<br />

Test 6.1<br />

Nedan (fig 7.6 och 7.7) visas urklipp ur testet 6.1 där CAN-Shellets beteende vid övergång från<br />

nodens lågprio- till högrio-område testas:<br />

Figur 7.6 Simulering av CAN-Shell<br />

• Vid tiden 59300 ns laddas samtliga ID-, Kontroll- och databitar från CAN-Shellet till CAN-<br />

Kärnan i och med att signalen ”load_shift_reg_int” går hög. Observera att vid detta tillfälle är<br />

EDF-biten (”ID_bit_28”) hög vilket innebär att noden jobbar i sitt lågprio-område. Detta<br />

illustreras även med att ”send_identfiier” har värdet ”1000011…”.<br />

• En klockcykel senare vid tiden 59450 beordras CAN-Kärnan, medelst ”tx_request” =1, att<br />

försöka sända det nyss laddade meddelandet på CAN-bussen.<br />

• Vid tiden 60200 är bussen ledig och CAN-Kärnan går ut och arbitrerar på CAN-bussen. Detta<br />

indikeras med att insignalen ”transmitter” sätts hög av CAN-Kärnan.<br />

• ”transmitter” =1 triggar CAN-Shellet att byta state till ”cur_state” = ”0010” –<br />

”Sending_or_Receiving”. Detta leder till att räknaren, ”counter”, räknas ned ett steg till<br />

”0001100b”. Observera att räknarens värde numera överensstämmer med initialvärdets (”PRIO”)<br />

”01100b”

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!