Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:lab:lab0xc0-1 [2020/03/16 00:39]
dorin_marian.ionita [Intro to HW Design in Proteus ISIS]
pm:lab:lab0xc0-1 [2020/03/17 10:01] (current)
daniel.berbece [Look, Mom! I can shine!]
Line 20: Line 20:
  
 </​hidden>​ </​hidden>​
- 
  
 ====== Enter ISIS ====== ====== Enter ISIS ======
 +
 +<note warning> !!! MAKE SURE THAT YOU GET USED TO THE NOT SO INTUITIVE INTERFACE AND CONTROLS OF PROTEUS ISIS! THIS LAB IS AN ISIS TUTORIAL, THE NEXT ONES ASSUME THAT YOU CAN WORK WITH ISIS ALREADY !!!</​note>​
 +
 +{{ :​pm:​diverse:​carantina-proteus.jpg?​200 |}}
  
 Proteus is what in industry is called an electronic design automation (EDA) tool. What this means is that it facilitates design of electronic schematics and PCBs while it also allows the engineers to simulate their circuites. ​ Proteus is what in industry is called an electronic design automation (EDA) tool. What this means is that it facilitates design of electronic schematics and PCBs while it also allows the engineers to simulate their circuites. ​
Line 50: Line 53:
 In order to remove an element in Isis right click the element then press delete.</​note>​ In order to remove an element in Isis right click the element then press delete.</​note>​
  
-{{:​pm:​diverse:​carantina-atmega.png?​800|}}+{{ :​pm:​diverse:​carantina-atmega.png?​800 |}}
  
 <note warning>​VCC and GND of the controller are automatically connected and not shown in the schematic. Don't make the mistake to connect the AVCC pin to VCC - that pin is intended for ADC (analog to digital conversion) and we don't do that in the session this week. </​note>​ <note warning>​VCC and GND of the controller are automatically connected and not shown in the schematic. Don't make the mistake to connect the AVCC pin to VCC - that pin is intended for ADC (analog to digital conversion) and we don't do that in the session this week. </​note>​
Line 56: Line 59:
 2. Connect a generic LED to a GPIO-capable pin of the controller. Make sure that the schematic will later allow you to light the LED when putting a positive tension on the pin. 2. Connect a generic LED to a GPIO-capable pin of the controller. Make sure that the schematic will later allow you to light the LED when putting a positive tension on the pin.
  
-{{:​pm:​diverse:​carantina-animated-led.png?​800|}}+{{ :​pm:​diverse:​carantina-animated-led.png?​800 |}}
  
 <note important>​ You can use "​+"​ and "​-"​ keys to rotate the device before inserting it.</​note>​ <note important>​ You can use "​+"​ and "​-"​ keys to rotate the device before inserting it.</​note>​
 <note important>​ You can add VCC or GND points by right click on empty space in your schematics > Place > Terminat > Select Power or GND. </​note>​ <note important>​ You can add VCC or GND points by right click on empty space in your schematics > Place > Terminat > Select Power or GND. </​note>​
  
-{{:​pm:​diverse:​carantina-gnd.png?​450|}}+{{ :​pm:​diverse:​carantina-gnd.png?​450 |}}
  
 <note warning> Make sure you don't overvoltage the LED! How can you get rid of excess voltage? ​ <note warning> Make sure you don't overvoltage the LED! How can you get rid of excess voltage? ​
 </​note>​ </​note>​
 +
 +{{ :​pm:​diverse:​carantina-resistor.png?​800 |}}
  
 3. Connect a push-button to a(nother) GPIO-capable pin of the controller. 3. Connect a push-button to a(nother) GPIO-capable pin of the controller.
  
-{{:​pm:​diverse:​carantina-push-button.png?​450|}}+{{ :​pm:​diverse:​carantina-push-button.png?​450 |}}
  
 <note important>​ If you are unsure about what electric potentials you need to have on each side of the button remember that on AtMega324 pull-up resistors are already included in the controller and they can be connected or disconnected from SW.</​note>​ <note important>​ If you are unsure about what electric potentials you need to have on each side of the button remember that on AtMega324 pull-up resistors are already included in the controller and they can be connected or disconnected from SW.</​note>​
Line 75: Line 80:
 ====== Integrating binaries with ISIS ====== ====== Integrating binaries with ISIS ======
  
-1. Allright, time to code! Write a program that lights that led if you push the button. In order for the Makefile to work, name your source demo.c.+1. Allright, time to code! Write a program that lights that led if you push the button. In order for the Makefile to work, name your source demo.c. The Makefile is in the archive at the bottom of this page.
  
 2. Compile your source code to binary (a hex file). 2. Compile your source code to binary (a hex file).
Line 82: Line 87:
  
 <note important>​Right click on the uC in your schematic -> Edit Properties -> Program File -> Browse for your binary file -> OK. </​note>​ <note important>​Right click on the uC in your schematic -> Edit Properties -> Program File -> Browse for your binary file -> OK. </​note>​
 +
 +{{ :​pm:​diverse:​carantina-edit-prop.png?​600 |}}
 +
 +{{ :​pm:​diverse:​carantina-load-hex.png?​600 |}}
  
 ====== Look, Mom! I can shine! ====== ====== Look, Mom! I can shine! ======
  
 1. On the bottom left corner of your ISIS window, you have a Play button. Press it to start the simulation. 1. On the bottom left corner of your ISIS window, you have a Play button. Press it to start the simulation.
 +
 +{{ :​pm:​diverse:​carantina-play.png?​300 |}}
  
 <note important>​Note that you can't modify any of the parameters of your circuit or the schematics itself while the simulation is running (you have to press STOP for that).</​note>​ <note important>​Note that you can't modify any of the parameters of your circuit or the schematics itself while the simulation is running (you have to press STOP for that).</​note>​
Line 96: Line 107:
  
 <note important>​Right click on empty space in your schematic -> Place -> Virtual Instrument -> DC Voltmeter.</​note>​ <note important>​Right click on empty space in your schematic -> Place -> Virtual Instrument -> DC Voltmeter.</​note>​
 +
 +{{ :​pm:​diverse:​carantina-dc-volt.png?​400 |}}
  
 <note warning> [BASIC HW DEBUGGING] When you debug SW you try to see if the model you have in mind agrees with the reality (your code). The same goes for HW. In order to see values in software you use prints or debuggers, in order to see values in a circuit you use measuring instruments.</​note>​ <note warning> [BASIC HW DEBUGGING] When you debug SW you try to see if the model you have in mind agrees with the reality (your code). The same goes for HW. In order to see values in software you use prints or debuggers, in order to see values in a circuit you use measuring instruments.</​note>​
  
  
 +----
  
-Responsabili:​[[dorin.marian.ionita@gmail.com | Dorin Ionita]]+  ​Lab archive (Makefile): {{:​pm:​diverse:​carantina-lab0xc0.zip|}} 
 +  * Virtual Machine: https://​ctipub.sharepoint.com/​sites/​CS-L-A3-S2-PM-CA-CB-CC/​Shared%20Documents/​General/​PM-VM-FULL-SETUP.zip  
 +  * Author:​[[dorin.marian.ionita@gmail.com | Dorin Ionita]]
pm/lab/lab0xc0-1.1584311941.txt.gz · Last modified: 2020/03/16 00:39 by dorin_marian.ionita
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0