Friday, February 15, 2013

The third lab day

Today, we offically begin to write the code for our vending machine.
1. The first decision we made is to write the code in VHDL. After doing the research, we found that VHDL is easier to write and more efficiency.

2. Then we try to design the top level structure of the vending machine. We think that there should be five components for the vending machine. Coin receiver, product selector, controller, product dropper and the coin changer. We decided to write separated codes for each part and then combine them into a single simple package.

3. In this project, we use the softeware Altera Quartus II and the DE1 development board.

Thursday, February 14, 2013

The basic flow chart for the operation of this machine

After having a short conversation with our supervisor, he suggested us to draw a flow chart for the machine. The graph can help us to write the code for the machine.

The flow chart is shown below.
The flow chart for the machine
 

Wednesday, February 13, 2013

Two resources which are inspiring

When we are doing the project, it is very necesary to study others works to improve our own works.

There are two materials that I found quite useful.

The first material helps me know better about the structure of the vending machine.

The Internet address is http://www.cse.sc.edu/~jimdavis/Courses/2003-Fall%20CSCE%20491/VendingMachine-031015.pdf.

The second material helps me know better about how to draw the state diagram.
The Internet address is https://coefs.uncc.edu/sjkuyath/files/2012/04/VendingMachine1.pdf.

Friday, February 8, 2013

The second lab day

Today, we have a longest discussion with our supervisor. We now have a more clear understand the structure of the vending machine. It consists two parts the controller and the architecture. The architecture is used to calculate the total money entered. And it should be able to control the 7 segment displays.

Tuesday, February 5, 2013

Input coins and Product price

Today, we draw the flow chart for the vending machine controller. It is the basic concept for this vending machine. If there is something wrong, we will improve it later. And we want to add the cancel function if the time allows.

The flow chart
 

Sunday, February 3, 2013

The knowledge about finite state machine

The vending machine controller can be seen as a finite state machine. We try to find some detailed explanation about the FSM on the Internet. I listed some key points I found useful.
 
1. Finite-state machine (FSM) is a mathematical model used to design both computer programs and sequential logic circuits.
 
2. A unique FSM is defined by a list of states and corresponding triggering conditions.
 
3. The machine can only be at one state at a time. The machine needs the triggering condition to move from current state to next state.
 
4. In our course ELEC211, we study two kinds of FSM including Mearly and Moore machine.
We separatly studied each kind of machine. For our project, I am wondering that it is possible to combine these two kinds of machines so that the ASM chart can be more precise.
 
5. Finite-state machines can be used to model many problems including electronic design automation (this is the area that our project links), communication protocol design, language parsing and so on.

Here is the website address. http://en.wikipedia.org/wiki/Finite-state_machine

Friday, February 1, 2013

The first lab day

Today, we had our first lab day. After the discussion with the supervisor, we now clearly know what the goal of the experiment and the steps to finish the project.

The basic aim of this project is to simulate the core of vending machine so that this FPGA device can do some functions as real machine.

Today, our job is to decide the design specifications for the machine. And then we attempt to draw the state diagram for the machine. In fact, the process to decide the number of state is very hard. For different products and coins, the combination is very complex. In the weekend, we still need some time to draw the diagram.