| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| en:multiasm:exercisesbook:avr:sut [2025/12/12 14:30] – [Hardware reference] pczekalski | en:multiasm:exercisesbook:avr:sut [2026/03/25 12:50] (current) – [Table] pczekalski |
|---|
| * user interface board presented on the image {{ref>sutavrlabimage1}}. | * user interface board presented on the image {{ref>sutavrlabimage1}}. |
| |
| There are 8 laboratory nodes. They can be used independently, but to present collaboration, nodes are interconnected symmetrically with GPIOs presented in a hardware reference section below | There are 10 laboratory nodes. They can be used independently, but for collaboration, nodes are interconnected symmetrically, with GPIOs described in the hardware reference section below. |
| |
| ===== Hardware reference ===== | ===== Hardware reference ===== |
| The table {{ref>sutavrlabtable1}} lists all hardware components and details. Note that some elements are accessible, but their use is not supported via the remote lab, e.g., buttons and a buzzer.\\ The node is depicted in the figure {{ref>sutavrlabimage1}}. | The table {{ref>sutavrlabtable1}} lists all hardware components and details. Note that some elements are accessible, but their use is not supported via the remote lab, e.g., buttons and a buzzer.\\ The node is depicted in the figure {{ref>sutavrlabimage1}} and its interface visual schematic is presented in the figure {{ref>sutavrlabimage1_2}}. The schematic presents only components used in scenarios and accessible via the VREL NextGen environment (controllable and observable via video stream), omitting unused components such as buttons, a buzzer, and a potentiometer. |
| |
| <figure sutavrlabimage1> | <figure sutavrlabimage1> |
| {{ :en:multiasm:exercisesbook:avr:sut_avr_lab_node.png?600 |}} | {{ :en:multiasm:exercisesbook:avr:sut_avr_lab_node.png?600 |}} |
| <caption>AVR (Arduino Uno) SUT Node</caption> | <caption>AVR (Arduino Uno) SUT Node</caption> |
| | </figure> |
| | |
| | <figure sutavrlabimage1_2> |
| | {{ :en:multiasm:exercisesbook:avr:untitled.png?600 |}} |
| | <caption>SUT node's visual interface components schematic</caption> |
| </figure> | </figure> |
| |
| <table sutavrlabtable1> | <table sutavrlabtable1> |
| <caption>AVR (Arduino Uno) SUT Node Hardware Details</caption> | <caption>AVR (Arduino Uno) SUT Node Hardware Details</caption> |
| ^ Component ID ^ Component ^ Hardware Details (controller) ^ Control method ^ GPIOs (as mapped to the Arduno Uno) ^ Remarks ^ | ^ Component ID ^ Component ^ Hardware Details (controller) ^ Control method ^ GPIOs (as mapped to the Arduno Uno) ^ Remarks ^ |
| | | | | | | | | | D1 | LED (red) | direct via GPIO | binary (0->on, 1->off) | GPIO13 | | |
| | | | | | | | | | D2 | LED (red) | direct via GPIO | binary (0->on, 1->off) | GPIO12 | | |
| | | | | | | | | | D3 | LED (red) | direct via GPIO | binary (0->on, 1->off) | GPIO11 | | |
| | | D4 | LED (red) | direct via GPIO | binary (0->on, 1->off) | GPIO10 | shared with interconnection with another module | |
| | | LED4 | 4x 7-segment display | indirect, via two 74HC575 registers | serial load to 2 registers, daisy-chained | GPIO8 - serial input of the controller\\ GPIO7 - shift data internally, raising edge (write next bit and shift data in serial)\\ GPIO4 - reset display buffer | | |
| </table> | </table> |
| | |
| |
| ===== Communication ===== | ===== Communication ===== |
| * node 3 with node 4, | * node 3 with node 4, |
| * node 5 with node 6, | * node 5 with node 6, |
| * node 7 with node 8. | * node 7 with node 8, |
| | * node 9 with node 10. |
| |
| Interconnections are symmetrical, so that device 1 can send data to device 2 and vice versa (similar to serial communication). Note that analogue inputs are also involved in the interconnection interface. | Interconnections are symmetrical, so that device 1 can send data to device 2 and vice versa (similar to serial communication). Note that analogue inputs are also involved in the interconnection interface. |
| See image {{ref>sutavrlabimage2}} for details. | See image {{ref>sutavrlabimage2}} for details. |
| <todo @ktokarz>Inject image of interconnection below</todo> | |
| <figure sutavrlabimage2> | |
| |
| | <figure sutavrlabimage2> |
| | {{ :en:multiasm:exercisesbook:avr:sutavrconnections.png?600 |}} |
| <caption>SUT AVR nodes interconnection diagram</caption> | <caption>SUT AVR nodes interconnection diagram</caption> |
| </figure> | </figure> |
| |
| <note tip>Nodes are interconnected in pairs: 1-2, 3-4, 5-6, 7-8. Scenarios for data transmission between MCUs require booking and the use of correct nodes for sending and receiving messages.</note> | The in-series resistors protect the Arduino boards' outputs from excessive current when both pins are configured as outputs with opposite logic states. |
| | |
| | The capacitors on the analogue lines filter the PWM signal, providing a stable voltage for the analogue-to-digital converter to measure. |
| | <table sutavrconnections> |
| | <caption>AVR (Arduino Uno) SUT Node Interconnections</caption> |
| | ^ Arduino Uno pin name ^ AVR pin name ^ Alternate function ^ Comment ^ |
| | | D2 | PD2 | INT0 | Interrupt input | |
| | | D5 | PD5 | T1 | Timer/counter input | |
| | | D6 | PD6 | OC0A | PWM output to generate analogue voltage | |
| | | D9 | PB1 | OC1A | Digital output / Timer output | |
| | | D10 | PB2 | OC1B | Digital output / Timer output | |
| | | A5 | PC5 | ADC5 | Analogue input | |
| | </table> |
| | Such a connection makes it possible to implement a variety of scenarios: |
| | * Connection of OC0A to ADC5 allows you to generate a voltage for measuring on input 5 of the analogue-to-digital converter. |
| | * Connection of OC1A to INT0 allows you to generate a digital periodic signal that can trigger hardware interrupts. |
| | * Connection of OC1B to T1 allows you to generate a digital periodic signal, the pulse count of which can be counted using timer T1. |
| | |
| | |
| | <note tip>Nodes are interconnected in pairs: 1-2, 3-4, 5-6, 7-8, 9-10. Scenarios for data transmission between MCUs require booking and the use of correct nodes for sending and receiving messages.</note> |