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 |
|
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
}