Opis przestrzeni adresowej magistrali CAN
Transkrypt
Opis przestrzeni adresowej magistrali CAN
Opis przestrzeni adresowej magistrali CAN przeznaczonej do obsługi systemów napędowo-pomiarowych montażu „PI of the sky” (v1.0) (Roman Wawrzaszek) 1. Skrótowy opis magistrali. W skład magistrali CAN obsługującej pojedynczy montaż wchodzą (rys.1): - 2 enkodery absolutne (jeden na każdą z 2 osi) - 2 kontrolerów silników krokowych TRINAMIC TMC-111 (jeden dla każdego silnika obsługującego pojedynczą oś) - 1 CAN I/O Expander - przejściówka CAN – Ethernet Za pomocą każdego kontrolera TMC-111 obsługiwane są dodatkowo 2 czujniki krańcowe. Moduł CAN I/O Expandera (oparty o układ MCP25050) służy za interface dla sterowania urządzeniami firmware dedykowanych obsłudze trybów DEEP/WIDE montażu (silnika DC rozchylania kamer, czujników krańcowych rozchylania kamer i in.). Do koncentratora (ethernet) Przedłużenie magistrali do innych montaży CAN BUS CAN/Eth Czujniki krańcowe TMC-111 (oś Ra) ENKODER (oś Ra) TMC-111 (oś Dec) Silnik krokowy Czujniki krańcowe Silnik krokowy ENKODER (oś Dec) CAN I/O Expander Kontroler systemu rozchylania kamer Czujniki krańcowe Rys.1 Schemat magistrali CAN montażu. Silnik DC 2. Przestrzeń adresowa magistrali CAN Przyjęto format ramki CAN ze standardowym ID wiadomości (11bit). Cała przestrzeń adresowa, pozwala na zdefiniowanie 2032 adresów (0x0...0x7F0). Uwzględniając potrzeby narzucone przez wybrane urządzenia, w przestrzeni adresowej wydzielono 3 rodzaje obszarów z przeznaczeniem na identyfikatory wiadomości dla 3 typów urządzeń: kontrolerów TMC−111, sterowników Enkoderów i układów CAN I/O Expanderów. Podział przestrzeni przedstawia rys.2. 0x000 0x001 ... 0x030 0x080 ... 0x0FF Przestrzeń adresowa enkoderów Przestrzeń adresowa sterowników TMC 0x181 ... 0x37F Przestrzeń adresowa CAN I/O Expanderów 0x400 ... 0x580 Przestrzeń adresowa nie przydzielona 0x581 ... 0x67F 0x701 ... 0x77F 0x7F0 Rys.2 Wykorzystanie przestrzeni adresowej magistrali CAN. 3. Organizacja przestrzeni adresowej kontrolerów TMC-111 Każdy kontroler TMC-111 do komunikacji przez magistralę CAN wymaga użycia 2 ID: - 1 ID dla nagłówków wiadomości akceptowanych przez dany kontroler - 1 ID dla nagłówków wiadomości wysyłanych Do obsługi tych urządzeń przewidziano 48 adresów (pozwalają one obsłużyć na jednej magistrali do 12 montaży po 2 osie każdy) z zakresu 0x001 – 0x030, przy czym przyjęto następującą konwencję: Tab.1 Nr montażu 1 2 3 ... 12 Oś Ra odb. 0x001 0x003 0x005 ... 0x017 nad. 0x019 0x01B 0x01D ... 0x02F Oś Dec odb. 0x002 0x004 0x006 ... 0x018 nad. 0x01A 0x01C 0x01E ... 0x030 W przyjętej konwencji, kontroler obsługujący oś rektascensji odbiera wiadomości opatrzone jednym z 12 adresów nieparzystych odpowiadając wiadomością z adresem o 0x18 większym od odbieranego. Osiom deklinacji odpowiadają adresy parzyste. Dla i-tego montażu, zestaw adresów jest następujący: Oś Ra : adrodb_Ra = 2i-1; adrnad_Ra = adrodb_Ra + 0x18 Oś Dec: adrodb_Dec = 2i; adrnad_Dec = adrodb_Dec + 0x18 4. Organizacja przestrzeni adresowej CAN I/O Expander’ów Jako adres bazowy do obsługi CAN I/O Expanderów przyjęto adres 0x400. Sposób tworzenia poszczególnych adresów potrzebnych do komunikacji z expanderem należącym do konkretnego montażu przedstawia tabela 2: Tab.2 Nr montażu Offset 1 2 3 ... 12 0x000 0x020 0x040 ... 0x160 ID dla poleceń żądania informacji 0x408 – 0x40E 0x428 – 0x42E 0x448 – 0x44E ... 0x568 – 0x56E ID odpowiedzi na polecenia żądania inf. 0x400 – 0x406 0x420 – 0x426 0x440 – 0x446 ... 0x560 – 0x566 ID polecenia ID potwierdzeń wpisu do wpisu do rej., zgłoszenia gotowości rejestru i autotransmisji 0x410 – 0x417 0x418 – 0x41A 0x430 – 0x437 0x438 – 0x43A 0x450 – 0x457 0x458 – 0x45A ... ... 0x570 – 0x577 0x578 – 0x57A Do typowej pracy z Expanderem, wystarczy obsługa 4 ID np. dla montażu 1 (offset=0x000): - ID dla zapytania o stan portów i przetwarzanych danych: 0x408, - ID wiadomości zwrotnej z danymi: 0x400, - ID polecenia ustawienia portów expandera (polecenie wpisania wartości do rejestru): 0x410, - ID potwierdzenia realizacji wpisu do rejestru: 0x417. 5. Organizacja przestrzeni adresowej Enkoderów Przestrzeń adresowa enkoderów narzucona została przez wybór urządzenia. Założone przez producenta adresy jakie należy zastosować do komunikacji przedstawia tabela 3: Tab.3 Ogólną zasadę tworzenia ID w przypadku enkoderów wyjaśnia podział pól w 11 bitowym polu adresu, w którym 4 najstarsze bity określają funkcję, natomiast 7 młodszych wskazuje adresata wiadomości (rys.3). Dodatkowo, zmiana trybu pracy wymaga użycia wiadomości z zerowym ID. Rys.3 Konstrukcja nagłówka wiadomości związanych z obsługą enkoderów.