Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Problem z symulacja w ISIS Professional

terran* 05 Jun 2010 20:55 3135 2
Computer Controls
  • #1
    terran*
    Level 11  
    Witam

    W szkole na zajeciach z systemow wbudowanych, uzywamy do symulacji ISIS Proffesional 7.4 SP i robiac prace zaliczeniowa napotkalem na bardzo dziwny problem i chyba jednoczesnie bug ISIS`a.
    Ponizszy schemat dostalismy gotowy a naszym zadaniem napisac jest soft wykorzystujacy dolaczone peryferia i komunikacje miedzy kontrolerami.

    dla jasnosci: U1=proc1 U8=proc3 U5=proc4
    proc1 @ 11.0592MHz
    proc3 @ 1.3824MHz
    proc4 @ 22.1184MHz
    Predkosc transmisji UART 1200b (ustawiona prawidlowo) .
    Transmisje podgladam na ISIS`owych terminalach.

    Problem tkwi wlasnie w komunikacji a sytuacja wyglada tak:
    -proc1 i proc3 ustawiaja max785 w tryb odbioru (RE=DE=0)
    -proc4 ustawia max785 w tryb nadawania (RE=DE=1)
    -proc3 wlacza odbior magistrali szeregowej i kazdy bajt jaki odbierze wyswietla na lcd jako ASCII
    -proc4 po wlaczeniu wysyla przez UART jeden znak "4" (0x34)

    Problem: proc3 zamiast "4" odbiera smieci. terminal3(przy proc3) takze odbiera smieci. Jednak co czyni problem dziwnym to to ze terminal1 odbiera prawidlowo "4". Wnioskuje z tego ze proc4 wysyla poprawnie z poprawna predkoscia.
    Co jeszcze dziwniejsze, jesli zmienie predkosc taktowania proc3 na 11.0592MHz to wtedy transmisja dziala prawidlowo (na terminalu, po zmianie programu na procku tez).
    Dodam jeszcze ze nie moge zmieniac f taktowania kontrolerow i musze uzyc te podane wyzej.

    schemat:
    Problem z symulacja w ISIS Professional

    Dolaczam spakowany projekt ISIS`a oraz zrodla programow (kompilowane uVision Keil V3.60 i C51.exe v8.12) ale z duzym prawdopodobienstwem wykluczam blad w kodzie.
  • Computer Controls
  • #2
    Taenia_Saginata
    Level 31  
    Probowaleś symulacji bez niepotrzebnych do transmisji peryferii a zostawić tylko procki i magistrale?
  • #3
    terran*
    Level 11  
    Wlasnie sprawdzilem - rezultat identyczny.
    Dodatkowo z programow wywalilem wszystko poza obsluga uart. Kod zamieszcze jutro bo nie chce juz mi sie odpalac innego systemu (na nim mam toolchain).
    Ale dla proc1 i proc3 jest tam tylko konfiguracja uart i obsluga przerwania portu szeregowego w ktorej P1=SBUF; zeby wiedziec co odebrano. W proc4 natomiast konfiguracja uart, odczekanie az reszta wolniejszych kontrolerow bedzie gotowa, wyslanie "4" i while(1);
    Ustawienia rejestrow sprawdzalem 3x z dokumentacja co zreszta potwierdza symulator w Keilu.