Actions

KAmod CAN TJA1051 (PL): Difference between revisions

From Kamamilabs.com - Wiki

No edit summary
Line 77: Line 77:
[[File:KAmod_CAN_TJA1051_pinout.png|none|600px|thumb|center]]
[[File:KAmod_CAN_TJA1051_pinout.png|none|600px|thumb|center]]
</center>
</center>
===Interfejsy komunikacyjne===
Transceiver TJA1051T wykorzystuje prosty interfejs cyfrowy TXD/RXD do komunikacji z kontrolerem CAN. Linia TXD służy do przekazywania bitów wysyłanych przez kontroler, natomiast linia RXD odzwierciedla stan magistrali CAN i jest przekazywana do kontrolera CAN. Nie jest to UART ani SPI – są to dedykowane sygnały logiczne CAN.
----
===Wymiary===
Wymiary płytki KAmod CAN TJA1051 to 32x19 mm. Na płytce znajdują się 2 otwory montażowe o średnicy 3,2 mm.
<center>
[[File:KAmod_CAN_TJA1051_dimm.png|none|600px|thumb|center]]
</center>
----
===Program testowy===
Program testowy został napisany w środowisku Arduino dla płytki Arduino Uno R4 WIFI. Moduł czujnika '''KAmod CAN TJA1051''' został podłączony poprzez interfejs I2C.
<div style="background: #f8f9fa; border: 1px solid #a2a9b1; padding: 10px; border-radius: 4px; width: 800px">
<syntaxhighlight lang="arduino">
#include <Arduino_CAN.h>
int counter = 0;
void setup() {
  Serial.begin(115200);
  while (!Serial);
  // Inicjalizacja CAN z prędkością 500 kb/s
  if (!CAN.begin(500000)) {
    Serial.println("Inicjalizacja CAN nie powiodła się!");
    while (1);
  }
  // Włączenie wewnętrznej pętli zwrotnej (loopback)
  CAN.enableInternalLoopback();
  Serial.println("CAN gotowy");
}
void loop() {
  // Dane do wysłania: "Hello!"
  uint8_t data[6] = {'H','e','l','l','o','!'};
 
  // Tworzymy wiadomość CAN: id=0x123, długość=6 bajtów, wskaźnik na dane
  CanMsg msg(0x123, 6, data);
 
  // Wysyłamy wiadomość
  CAN.write(msg);
  Serial.print("Wiadomość wysłana ");
  Serial.println(counter++);
  delay(100);
  // Odbieranie wiadomości z CAN (loopback)
  while (CAN.available()) {
    CanMsg rx = CAN.read();
    Serial.print("Odebrano ID: 0x");
    Serial.print(rx.id, HEX);
    Serial.print(" Dane: ");
    // Wyświetlamy wszystkie bajty danych
    for (int i = 0; i < 6; i++) {
      Serial.print((char)rx.data[i]);
    }
    Serial.println();
  }
  delay(2000); // przerwa między wysyłaniem kolejnych wiadomości
}
</syntaxhighlight>
</div>
----

Revision as of 18:01, 18 October 2026

Opis

KAmod CAN TJA1051 - Moduł transceivera CAN z interfejsem logicznym do dowolnego kontrolera CAN

KAmod CAN TJA1051 zawiera transceiver CAN firmy NXP – TJA1051T/3, który umożliwia konwersję sygnałów pomiędzy magistralą CAN a dowolnym kontrolerem CAN. Moduł wyposażono w złącza sygnałowe oraz przełącznik pozwalający dołączyć rezystor terminujący 120 Ω pomiędzy liniami CAN_H i CAN_L, co ułatwia uruchamianie i testy w trybie internal loopback lub w pełnej magistrali CAN.


Podstawowe parametry

  • zasilanie: 5 V
  • Transceiver: NXP TJA1051T/3
  • Obsługa magistrali CAN do 1 Mb/s
  • Złącze wyjściowe: CAN_H, CAN_L
  • Interfejs do mikrokontrolera: RXD, TXD
  • Przełącznik włączający rezystor terminujący 120 Ω pomiędzy CAN_H i CAN_L




Wyposażenie standardowe

Komponent Opis
KAmod CAN TJA1051
  • Zmontowany i uruchomiony moduł
  • 1 x kątowa listwa goldpin 7-pin raster 2,54 mm

Schemat elektryczny


Rozmieszczenie sygnałów na płytce

Oznaczenie Funkcja
VCC Zasilanie 5 V, biegun dodatni
GND Masa zasilania – biegun ujemny
CAN_TX Wejście danych z kontrolera CAN
CAN_RX Wyjście danych do kontrolera CAN
CAN_H Linia CAN High
CAN_L Linia CAN Low

Rozmieszczenie poszczególnych sygnałów zostało opisane na dolnej i górnej stronie płytki modułu oraz na rysunku:

Interfejsy komunikacyjne

Transceiver TJA1051T wykorzystuje prosty interfejs cyfrowy TXD/RXD do komunikacji z kontrolerem CAN. Linia TXD służy do przekazywania bitów wysyłanych przez kontroler, natomiast linia RXD odzwierciedla stan magistrali CAN i jest przekazywana do kontrolera CAN. Nie jest to UART ani SPI – są to dedykowane sygnały logiczne CAN.


Wymiary

Wymiary płytki KAmod CAN TJA1051 to 32x19 mm. Na płytce znajdują się 2 otwory montażowe o średnicy 3,2 mm.


Program testowy

Program testowy został napisany w środowisku Arduino dla płytki Arduino Uno R4 WIFI. Moduł czujnika KAmod CAN TJA1051 został podłączony poprzez interfejs I2C.

#include <Arduino_CAN.h>

int counter = 0;

void setup() {
  Serial.begin(115200);
  while (!Serial);

  // Inicjalizacja CAN z prędkością 500 kb/s
  if (!CAN.begin(500000)) {
    Serial.println("Inicjalizacja CAN nie powiodła się!");
    while (1);
  }
  // Włączenie wewnętrznej pętli zwrotnej (loopback)
  CAN.enableInternalLoopback();
  Serial.println("CAN gotowy");
}

void loop() {
  // Dane do wysłania: "Hello!"
  uint8_t data[6] = {'H','e','l','l','o','!'};
  
  // Tworzymy wiadomość CAN: id=0x123, długość=6 bajtów, wskaźnik na dane
  CanMsg msg(0x123, 6, data);
  
  // Wysyłamy wiadomość
  CAN.write(msg);
  Serial.print("Wiadomość wysłana ");
  Serial.println(counter++);
  delay(100);

  // Odbieranie wiadomości z CAN (loopback)
  while (CAN.available()) {
    CanMsg rx = CAN.read();
    Serial.print("Odebrano ID: 0x");
    Serial.print(rx.id, HEX);
    Serial.print(" Dane: ");

    // Wyświetlamy wszystkie bajty danych
    for (int i = 0; i < 6; i++) {
      Serial.print((char)rx.data[i]);
    }
    Serial.println();
  }
  delay(2000); // przerwa między wysyłaniem kolejnych wiadomości
}