Implementing clock synchronization over USB using data rate matching via asynchronous feedback channels
2024 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE credits
Student thesis
Abstract [en]
Software security is becoming a more important factor than ever when developing embedded devices. As devices lean more into Internet of Things (IoT) functionality, the possible attack surface on these devices increase. An attacker now has the option to compromise a device remotely without ever being in its vicinity, as these devices can be reached over the internet. Software validation and in-depth testing of embedded devices is therefore now a must.
One proposed solution for more secure software in embedded devices is the programming language Rust. This language prioritizes strictly statically typed variables and memory safety, which can be validated during compilation.
While the Rust language offers many desirable features for embedded applications, its tooling and ecosystem still require further development to become a viable alternative for the industry at large. A lot of peripheral application needs to be implemented and improved for it to be versatile and usable on a large scale.
This project will attempt to tackle one small piece of this puzzle: The Audio Class functionality of the embedded USB device implementation. The USB protocol is widely used for embedded devices to communicate with host computers, such as personal computers and smartphones. It includes functionality for effectively streaming data to and from devices, making it highly suitable for sound cards.
The audio functionality for USB in Rust is already partly implemented, but features such as clock synchronization and rate feedback matching are currently not supported by the existing implementations of the USB device driver and the accompanying Audio Class device implementation. This project will attempt to address this by adding the required functionality and implementing a synchronization strategy for asynchronous devices called data rate matching.
Place, publisher, year, edition, pages
2024. , p. 60
Keywords [en]
USB, Rust
National Category
Computer Systems
Identifiers
URN: urn:nbn:se:ltu:diva-109953OAI: oai:DiVA.org:ltu-109953DiVA, id: diva2:1897053
Educational program
Computer Science and Engineering, master's level
Supervisors
Examiners
2024-09-252024-09-112024-09-25Bibliographically approved