From b8704d98e828c14682187c71f99a02adad94c321 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Mon, 8 Dec 2025 16:10:32 -0500 Subject: move proposal and midterm report to doc/ --- doc/proposal/proposal.tex | 63 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 doc/proposal/proposal.tex (limited to 'doc/proposal/proposal.tex') diff --git a/doc/proposal/proposal.tex b/doc/proposal/proposal.tex new file mode 100644 index 0000000..00aca85 --- /dev/null +++ b/doc/proposal/proposal.tex @@ -0,0 +1,63 @@ +\documentclass{article} +\usepackage{graphicx} + +\title{ +Analog Gauge Driver with CAN Interface \\ +\large COMP490 Project Proposal +} +\author{ +Sam Anthony 40271987 \\ +sam@samanthony.xyz \\ s\_a365@concordia.ca +\and +Hovhannes Harutyunyan, PhD \\ +Department of Computer Science and Software Engineering \\ +haruty@encs.concordia.ca +\and +Concordia University \\ +} + +\begin{document} + +\maketitle + +Installing aftermarket gauges in a car typically requires installing sensors as well. +However, such sensors are often already present, and are used by the ECU (engine control unit). +Thus, the installation of aftermarket gauges can result in duplicate sensors which add complexity without augmenting the functionality or reliability of the vehicle. +Sensors installed like this are not redundant. +In fact, they reduce reliability, because each is a single point of failure. + +The proposed device allows gauges to use the sensors already on the car. +It retrieves sensor data from the ECU via the CAN bus (controller area network bus) and transforms the data into a format that the gauges can understand: a 0--5V analog signal in the case of a temperature or pressure gauge, or a square wave in the case of a tachometer or speedometer. + +The device is an embedded system comprising a microcontroller, a CAN controller and transceiver, several DACs (digital-to-analog converters), and PROM (programmable read-only memory). +The CAN interface is used for retrieving data from the ECU via the bus. +The DACs drive analog signals to the temperature and/or pressure gauges. +The microcontroller has an integrated PWM peripheral for driving a square wave to the tachometer and/or speedometer. +The PROM stores the calibration: a table that maps CAN data values to voltages or frequencies. +The microcontroller has a USB interface for programming the PROM from a computer. + +\begin{figure} + \includegraphics[width=\textwidth]{diagram.png} + \caption{System diagram} +\end{figure} + +The project has three parts: hardware design, software development, and testing. +The hardware and software development can be carried out concurrently. +Testing is the final step. + +Hardware design involves selecting ICs (integrated circuits), creating a circuit schematic, and designing a PCB (printed circuit board). +Once the board design is finalized, it can be sent for manufacturing. + +Two pieces of software must be written. +The first runs on the microcontroller. +Essentially, it must communicate with the various peripherals by transforming and transferring data between them. +It must fetch frames from the CAN controller and decipher them. +The CAN data are used to lookup the output value in the ROM. +Either the PWM peripheral or a DAC is used to send the appropriate signal to the gauge. +The microcontroller uses SPI (serial peripheral interface) to communicate with the peripherals. + +The second piece of software runs on the user's computer. +It programs the PROM with calibration data. +It communicates with the microcontroller using a simple text-based protocol over USB. + +\end{document} -- cgit v1.2.3