Praca zdalna z sieciami sensorowymi (CC1000)

Do pracy z sieciami sensorowymi został przystosowany zestaw komputerowy fpgalab113, wyposażony w kamerę do monitorowania stanu płytek.

Opis działania stacji referencyjnej

W przypadku zdalnej realizacji, do komputera podłączone są dwie płytki Vivado. Jednej z nich nie należy przeprogramowywać (tej kończącej się adresem ....FDA), bo zawiera ona stację referencyjną. Po podłączeniu się do niej portem szeregowym (115200 8N1, no flow control), powinniśmy zobaczyć komunikaty. W zależności od trybu, stacja może:

  • nadawać pakiety testowe:
          =====> TX(seq=3), RSSI before TX: -78 dBm
          -----------------------------
          |SIZ|DST|SRC|TYP|INF|SEQ|CRC|
          | 16|255|  0| 34| 51|  3| 26|
          -----------------------------
  • odbierać pakiety (obracająca się kreska  lub odebrane pakiety):
          -----------------------------
          |SIZ|DST|SRC|TYP|INF|SEQ|CRC|
          | 16|255|  0| 34| 51| 12|131|
          -----------------------------
          D7=12 D8=13 D9=14 D10=15 D11=16 D12=17 D13=18 D14=19 D15=20
          RSSI=-53 dBm (56mV)
  • testować funkcję opóźniającą (drukowanie * co 1 sekundę).
  • testować działanie przetwornika A/D:
          Reading ADC2... dec=694, hex=0x2B6, 559 mV (Vref=3.3V)

Przełączanie funkcji odbywa się za pomocą przełączników na płytce Zybo lub klawiatury przez port szeregowy:

          Switches: SW0=TX, SW1=RX, SW2=delay test (1s), SW3=ADC test
          Keyboard: '1'=TX, '2'=RX, '3'=delay test (1s), '4'=ADC test, 'r'=reset

Programowanie FPGA w SDK

Aby wybrać inną płytkę, należy postąpić tak, jak pokazano na poniższym rysunku: 

Uruchamianie oprogramowania (wybór płytki dla FPGA device i PS device)

W celu uruchomienia opropgramowania, również należy zadbać, aby działać na właściwej płytce:

Resetowanie płytki:

W konsoli XSCT, należy wyświetlić podłączone układy poleceniem:

          xsct% target

Wyświetli się wtedy lista połączeń. Gwiazdką * oznaczony jest aktywny układ, np:

          xsct% target
            5  APU
               6  ARM Cortex-A9 MPCore #0 (Running)
               7  ARM Cortex-A9 MPCore #1 (Running)
            8  xc7z020
            1  APU
               2  ARM Cortex-A9 MPCore #0 (Running)
               3  ARM Cortex-A9 MPCore #1 (Running)
            4* xc7z020

Aby wybrać inny układ (w powyższym przypadku nr 8), należy wykonać polecenie w konsoli XSCT:

     xsct% target 8

Można wtedy wykonać reset aktywnego układu poleceniem:

     xsct% rst -srst

Resetowanie interfejsu JTAG:

W przypadku występowania problemów z programowaniem/uruchamianiem systemu (błąd "Error while launching program, no targets found..."), należy wykonać reset interfesju JTAG:

 xsct% rst -dap

 

Opracował: dr hab. inż. M. Wójcikowski, 2020r.