diff options
| -rw-r--r-- | .gitignore | 5 | ||||
| -rw-r--r-- | proposal/diagram.fig | 120 | ||||
| -rw-r--r-- | proposal/proposal.tex | 57 |
3 files changed, 182 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..608a69b --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.pdf +*.log +*.aux +*.png +*.bak diff --git a/proposal/diagram.fig b/proposal/diagram.fig new file mode 100644 index 0000000..0be7b07 --- /dev/null +++ b/proposal/diagram.fig @@ -0,0 +1,120 @@ +#FIG 3.2 Produced by xfig version 3.2.9a +#encoding: UTF-8 +Landscape +Center +Metric +A4 +300.00 +Single +-2 +1200 2 +6 4725 1575 5940 2115 +6 4837 1665 5827 2025 +4 1 0 50 -1 0 12.00 0.0000 4 165 435 5332 1800 CAN\001 +4 1 0 50 -1 0 12.00 0.0000 4 165 945 5332 2010 Transceiver\001 +-6 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 4725 1575 5917 1575 5917 2115 4725 2115 4725 1575 +-6 +6 4725 2565 5940 3105 +6 4860 2655 5805 3015 +4 1 0 50 -1 0 12.00 0.0000 4 165 435 5332 2790 CAN\001 +4 1 0 50 -1 0 12.00 0.0000 4 165 840 5332 3000 Controller\001 +-6 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 4725 2565 5917 2565 5917 3105 4725 3105 4725 2565 +-6 +6 5265 2115 5355 2565 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 5310 2115 5310 2565 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 5355 2295 5265 2385 +-6 +6 5265 3105 5355 3555 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 5310 3105 5310 3555 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 5355 3285 5265 3375 +-6 +6 5265 3960 5355 4410 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 5310 3960 5310 4410 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 5355 4140 5265 4230 +-6 +6 4905 4410 5670 4725 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 4905 4410 5670 4410 5670 4725 4905 4725 4905 4410 +4 0 0 50 -1 0 12.00 0.0000 4 165 570 4995 4635 PROM\001 +-6 +6 4635 3555 6075 3960 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 4635 3555 6075 3555 6075 3960 4635 3960 4635 3555 +4 0 0 50 -1 0 12.00 0.0000 4 165 1290 4725 3825 Microcontroller\001 +-6 +6 3600 3262 4230 3577 +2 2 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 + 3600 3262 4230 3262 4230 3577 3600 3577 3600 3262 +4 0 0 50 -1 0 12.00 0.0000 4 165 435 3690 3487 DAC\001 +-6 +6 1665 1665 2430 2565 +6 1755 1665 2340 2070 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 1755 1665 2340 1665 2340 2070 1755 2070 1755 1665 +4 0 0 50 -1 0 12.00 0.0000 4 165 405 1845 1935 ECU\001 +-6 +6 1665 2250 2430 2565 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 1665 2250 2430 2250 2430 2565 1665 2565 1665 2250 +4 0 0 50 -1 0 12.00 0.0000 4 165 615 1710 2475 Sensors\001 +-6 +2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2 + 2025 2070 2025 2250 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 2070 2115 1980 2205 +-6 +6 1710 3105 2340 4410 +6 1710 3780 2340 4410 +1 3 0 1 0 7 50 -1 -1 4.000 1 0.0000 2025 4095 302 302 2025 4095 2160 4365 +4 0 0 50 -1 0 12.00 0.0000 4 165 540 1755 4140 Gauge\001 +-6 +6 1710 3105 2340 3735 +1 3 0 1 0 7 50 -1 -1 4.000 1 0.0000 2025 3420 302 302 2025 3420 2160 3690 +4 0 0 50 -1 0 12.00 0.0000 4 165 540 1755 3465 Gauge\001 +-6 +-6 +6 2475 3240 2745 4005 +6 2475 3240 2745 3330 +3 2 0 1 0 7 50 -1 -1 4.000 0 0 0 4 + 2475 3330 2565 3240 2655 3330 2745 3240 + 0.000 -0.500 -0.500 0.000 +-6 +6 2475 3915 2745 4005 +2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 7 + 2475 4005 2475 3915 2565 3915 2565 4005 2655 4005 2655 3915 + 2745 3915 +-6 +-6 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 6075 3780 6705 3780 +2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 4 + 4635 3645 4455 3645 4455 3420 4230 3420 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 4410 3375 4320 3465 +2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2 + 3600 3420 2340 3420 +2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 4 + 4635 3870 4455 3870 4455 4095 2340 4095 +2 2 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 5 + 3510 1485 6210 1485 6210 4815 3510 4815 3510 1485 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 2340 1845 4725 1845 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 3150 1800 3060 1890 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 + 6525 3735 6435 3825 +4 1 0 50 -1 0 12.00 0.0000 4 165 795 3060 1710 CAN Bus\001 +4 0 0 50 -1 0 12.00 0.0000 4 165 270 5400 3375 SPI\001 +4 0 0 50 -1 0 12.00 0.0000 4 165 270 5400 4230 SPI\001 +4 0 0 50 -1 0 12.00 0.0000 4 165 390 6300 3690 USB\001 +4 0 0 50 -1 0 12.00 0.0000 4 165 270 4320 3330 SPI\001 diff --git a/proposal/proposal.tex b/proposal/proposal.tex new file mode 100644 index 0000000..528bd7b --- /dev/null +++ b/proposal/proposal.tex @@ -0,0 +1,57 @@ +\documentclass{article} +\usepackage{graphicx} + +\title{ +Analog Gauge Driver with CAN Interface \\ +\large COMP490 Project Proposal +} +\author{ +Sam Anthony 40271987 \\ +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 sofware must be written. +The first runs on the microcontroller. +Essentially, it must communicate with the various peripherals by transforming and transfering 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} |