This thesis presents the development of a prototype that enables conversion between the CAN J1939 and USB interfaces, encompassing both hardware and software targeted for the STM32F412ZG embedded microcontroller. The software development process involves using the HAL API and implementing the interfaces with code partially generated by the initialization code generator STM32CubeMX. The prototype collects data from messages exchanged from a connected CAN slave, transmitting converted data over USB in the form of Human Interface Device (HID) reports. The microcontroller and its interfaces are used to map data received to their respective data structures and establish connectivity for both data buses. The data structure for HID devices is described by the HID report descriptor, a hard-coded array of bytes describing data packets exchanged between the device and host. The connected CAN device is the Safety Cabin Module connected to a physical controller and features a total of 8 analog and 32 digital inputs. When connected to a USB host, CAN data received on the microcontroller is converted to the data structure defined by the report descriptor and sent to the host as HID reports. The USB Device operates as a multi-axis joystick with 32 digital buttons on a connected Windows PC. / I detta arbete utvecklas en prototyp för att konvertera data som skickas mellan gränssnitten CANJ1939 och USB. Prototypen består av fysisk hårdvara samt mjukvara skriven för mikrokontrollern STM32F412ZG, med delvis generad kod och åtkomst till HAL API med hjälp av programmet STM32CubeMX. Prototypen agerar som en USB-enhet som konvererar CAN J1939 meddelanden och överför dem via USB i form av Human Interface Device (HID) reports, genom användning av mikrokontrollern omvandlas de olika databussarna till dess motsvarande datastruktur. Den datastrukturen för HID reports har benämningen report descriptor, vilket är en hårdkodad array som beskriver de data-paket som skickas mellan en enhet och host. Det använda gränssnittet för CAN produkten är Safety Cabin Module (SCM) vilket har konfigurerats till en fysisk handkontroll med 8 analoga och 32 digitala ingångar, den data som skickasfrån handkontrollen konverteras om till en datastruktur i enlighet med en utvald report descriptor. Efter anslutning till en dator kan handkontrollen användas som en joystick med flertal axlar och 32 knappar.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:umu-226608 |
Date | January 2023 |
Creators | Eriksson, Jonathan |
Publisher | Umeå universitet, Institutionen för tillämpad fysik och elektronik |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0011 seconds