Pierwszą czynnością, jaką wykonuje procesor DSP po włączeniu zasilania rejestratora jest załadowanie programu do pamięci wewnętrznej RAM obszaru P. Program ten zapisany jest na stałe w pamięci flash mikrokontrolera Atmel (którego podstawową funkcją jest pobieranie informacji sterujących z modułów obsługujących linie telefoniczne). Do transferu programu wykorzystany jest interfejs SHI procesora sygnałowego, pracujący z protokołem SPI. Protokół ten jest zaimplementowany programowo w mikrokontrolerze Atmel.
Jednak ze względu na zbyt małą pojemność pamięci flash mikrokontrolera, umieszczony tam został tylko program pomocniczy, którego kod źródłowy boot_4.asm został zamieszczony na dołączonym dysku CD-ROM. Zadaniem tego programu jest załadowanie programu głównego dsp.asm z komputera obsługującego rejestrator za pomocą interfejsu Ethernet.
Program główny przesyłany jest w postaci sekwencji datagramów UDP. W datagramach tych dane zorganizowane są w grupy po 3 kolejne bajty, które są składane przez program boot_4.asm w słowa 24-bitowe, na jakich operuje procesor DSP. Kolejność bajtów w każdej trójce jest taka, że pierwszy stanowi 8 najmłodszych bitów słowa, następny 8 środkowych i ostatni 8 najstarszych.
Pierwsze 6 bajtów pierwszego datagramu, przekształcane zgodnie z powyższą regułą na 2 słowa, stanowi nagłówek. Pierwsze jego słowo zawiera adres w pamięci P, pod który ma być załadowany program, a drugie określa długość programu w słowach. Dalsze bajty oraz pozostałe datagramy zawierają właściwy kod programu.
Przesyłanie odbywa się w ten sposób, że po odebraniu każdego datagramu rejestrator wysyła 1 bajt potwierdzenia, co oznacza dla komputera, że może kontynuować wysyłanie danych. Rejestrator rozpoznaje koniec ładowania programu po odebraniu liczby słów wskazanej w nagłówku. Wówczas następuje skok do programu głównego. Jest on wykonywany począwszy od adresu, pod który załadowano jego pierwsze słowo.
Copyright © 2008-2010 EPrace oraz autorzy prac.