upc eetac_1

P_Ch3 project list: a taste of real-world applications


P_Ch3 consist of designing an application where you have to apply knowlege acquired during the course. They can be based either on μC or in PLD.

Unlike the other projects proposed during the course, this one doesn't have to be necessarily completed and fully tested. They are mostly prospective ideas aimed to show the large variety of applications of digital systems in our world.

General conception (mandatory): This project P_Ch3 must be orchestrated as if it had to be the P8B (for VHDL projects) or the P13 (for the μC projects). You must try to copy and adapt tutorials and projects from P6-P7-P8 to become the P8B, or from the P10-P11-P12 to become the P13. Normally so, they will be organised as dedicated processors composed of a datapath and a FSM control unit.

This is the expected outcome from you as a cooperative group: 3 files to be uploaded to Atenea task P_Ch3 before the deadline:

Some ideas on how to organise and assess the oral presentation and the written report for the project P_Ch3.

Examples ideas of projects based on PLD and VHDL

VHDL project will be targeted to a Xilinx, Altera or Lattice Semiconductor CPLD or FPGA. Chips. Some projects are basically based on the analysis of a project already funcioning in CSD. Other project are new developments that has to be designed following the usual planning and organitzation in CSD.

N.

Title

Description and details

1.

Design of a programmable timer

 S, P, D & T. Full project development and testing of the programmable timer already available in P8. It is the analysis of the tutorial circuit.

2.

8-bit hardware series multiplier.

S, P, D & T. This is an analysis problem, because it is completelly solved in this old link. Dedicated processor: FSM + datapath for multiplying sequentially using only adders and data shift registers. 

3.

Serial data transmitter and receiver.

S, P, D & T. Subsystem in VHDL. 9200 b/s, parity odd, 1 bit stop. Basically, the analysis of this problem already solved, tested and mounted in a FPGA training board.

4.

Tachometer up to 999 rpm.

S & P. It is a frequency meter. How to measure the frequency of an external signals using a dedicated processor? The pulsed input will be generated bu means of an inductive sensor connected to the car or byke wheel. Speed computation from the measured frequency of pulses. This is an starting problem solved using classic chips  (1) - (2) to examine.

5.

Bicycle taillights LED sequencer.

S & P. Links of interest (1), (2). This project is like the Johnson Counter in P10, but designed in VHDL. A FSM is required. A ST/SP button click to begin the sequence generation (you can have other input switches to select different LED sequences) and then, clicking again the same ST/SP button the sequence stops when it finishes.

6.

Design of the HH:MM:SS real-time clock.

S & P (or S, P, D & T if you like it). Study the tutorial P8 and attach to it the Hours_Counter tutorial in P7 to be able to enhance the counter up to a modulo 86400.  Which buttons are required to set time?

7.

A stepper motor controller (FSM approach).

S & P. This project, in its first design phase, is practicaly a FSM similar to the ones developed in P6.

8.

LED dimmer.

S & P. The idea behind a LED dimmer or a DC motor speed controller is the PWM generation. Here there is an example in Arduino to figure out how it works. In this case, the PWM generator must be organised as a dedicated processor. For instance an 8-bit vector input can program up to 256 different PWM values. 

9.

TV remote control. PWM generator.

S & P. Very similar to the PWM generator from the LED dimmer. The difference now is that you have for instance 16-key to detect as in P6 registered, and thus, 16 different PWM wave can be generated. for instance, typical blocks that can be used to design this circuit are the FSM and the datapath: (Counter_mod16, Quad_MUX2, Adder_subtractor_4bit, Comp_4bit).

Examples ideas of projects based on Microcontrollers

µC projects will be based on a PIC18F4520 or other devices like PIC16F877A or the Atmege8535. Chips. Some projects are basically based on the analysis of a project already funcioning in CSD, this means that the project must contain all the four design sections (S, P, D & T). Other project are new ideas or applications that has to be designed following the usual planning and organitzation in CSD (S & P) and so they do not include code development and test.

N.

Title

Description and details

10.

6-bit Johnson counter.  

S, P, D & T. Using the TMR2 to generate the CLK signal and a switch to select between internal or external CLK. This s approximately the continuation of P12. 

11.

Design of the HH:MM:SS real-time clock.

S & P. The idea is to study the P8 programmable timer and organise this real-time clock in the same way: a dedicated processor with a FSM and a datapath (the counter modulo 86400) that later on has to be translated into C. These are the sample schematic (1) and the C code (2)  to develop the phase 1. This is an example schematic to start planning the next design step (3). This is another multiplexed digit system that can be used after replacing the classic internal design using TTL chips by a microcontroller. 

12.

(S&P). Design of a programmable timer.

S & P. The circuit is organised like a FSM + datapath dedicated processor as in P8.

13.

Serial data transmitter and receiver.

S & P.Microcontroller peripheral. 9200 b/s, parity odd, 1 bit stop. A very interesting material to start learning about serial communications is this problem solved using VHDL.

14.

Temperature acquisition  system based on a µC. A thermometer from -10 °C to +40 °C. A/D.

S & P. The key point, in order to plan it as if it had to be the P13 or P14 in CSD, which is what we have in mind, you have to study previously the new peripherals and the new sensor.

- Timer0 (or Timer1 or Timer2) to generate the sampling frequency for the A/D converter, for instance 2 Hz, this is 2 temperature samples per second.

- A/D converter, to be able to convert an analogue value from 0V to 5V into a digital 12-bit (or 10-bit) vector variable representing the value (Var_meas_Temp). The A/D technology: analogue multiplexer, successive approximations conversion, etc.

- The equations in int-float that has to be implemented in the code, to be able to deduce the temperature (Var_Temp) form this Var_meas_Temp. Indeed, you can deduce 2 formulas, one to obtain the temperature in ºC and another formula for calculating the temperature in Fahrenheit.

- The sensor and its signal conditioner or amplifier. Technology, calibration curves, precision, range, resolution, etc. And, once all these notions are clear, you can prepare the project in similar section as in P12 to obtain a FSM. 

15.

Tachometer. 999 rpm.

S & P. It is a frequency meter. How to measure the frequency of an external signals using the Timer/counter peripherals? The pulsed input will be generated bu means of an inductive sensor connected to the car or byke wheel. Speed computation from the measured frequency of pulses.

16.

Digital altimeter based on an absolute pressure sensor.

S & P. Possibly, this transducer already contains the sensor, the signal conditioner (the resistor's bridge), the amplifiers, the A/D and the digital circuit to generate a high-level digital output ready for the I2C interface. SCL and SDA outputs is what you must connect to a micro-controller I2C bus. And study how this bus works and how it is implemented in the uC peripheral, and where to find a XC8 library to talk to the sensor and etc. with the FSM. The sensor variables, for instance: Var_meas_Temp and Var_meas_Pressure will be read in the ISR() function at a given sampling rate provided by a timer interrupts.

17.

Digital compass.

S & P. Very similar to the digital altimeter. The sensor required (based on a MEMS magnetometer) probably will have a I2C interface.

18.

16-key matrix keyboard based on μC.

S & P.Study the new peripheral or mechanism associated with detecting the pushing of multiple keys. In Microchip PIC, this port is the PB, its Pull-Up resistors, and the interrupt flag RBIF (The interrupt-on-change feature is recommended for wake-up on key depression operation and operations where PORTB is only used for the interrupt-on-change feature.) Read the datasheet and find similar applications on books or the web. The objective is to design using a μC the same circuit studied in P6: a matrix key encoder or similar. For instance, use the data from the keyboard to turn on a DC motor or to open a door when a 4-digit pin matches an internal password.

19.

Bathroom or kitchen electronic scale.

S & P. Comercial scale. Pressure sensors or load cells. Signal conditioners, Whetstone bridges, OpAmps.A/D converter for 1 or 4 legs, sampling frequency, using a timer and the ISR(), FSM, RAM variables, weight or mass calculation from preasure measurements, etc.

20.

Dot-matrix driver.

S & P. An starting problem to organise this dot-matrix driver is here.

21.

A stepper motor controller (FSM approach).

S & P. The basics of this problem is basically a FSM like in P6 which here has to be adapted for a uC. This final bachelor degree thesis is an good starting point.

22.

LED dimmer.

S & P. The idea behind a LED dimmer or a DC motor speed controller is the PWM generation. Here there is an example in Arduino to figure out how it works. In this case, the PIC Timer2 and the PWM module has to be studied.

 

Other materials of interest

This is a page with other project examples and bachelor thesis that you can read and analyse.    

In this page you have some links to read more about this passionate world of microcontrollers and their myriad of  applications in all technological fields. For instance, low power circuits.

A few links on FSM that naturally can be implemented in hardware (VHDL -PLD) or in software (μC): (1) on traffic light controllers; (2) academic; (3) sequence recogniser and vending machines; (4) an excellent table of content and web page of resources (5); (6) academic; (7) a robot that avoid obstacles; (8) hobby robotics; (9) theory from AMD; (10) a complete book; (11) All about circuits FSM & μC (12) Software based FSM using μC (ARM paper); (13) A nuclear reactor shutdown system; (14) stepper motors; (15) Control for mobile robots; etc. etc.