Answered step by step
Verified Expert Solution
Question
1 Approved Answer
2. You have a global variable state in your PS0C 6 program that you would like to monitor during execution for debug purposes: uint8
2. You have a global variable state in your PS0C 6 program that you would like to monitor during execution for debug purposes: uint8 state; You would like its value to be reflected on one of the LEDS on the board, so that when state is non-zero, the LED will light up. Unfortunately, there is no way to detect a write to a specific memory location in the PSOC directly using hardware, but you can periodically monitor the memory location, and if you do it fast enough (say within a millisecond), the delay between the value changing in memory and the LED responding to it will not be noticed. Ideally, you would like to do this without slowing down the program substantially. (a) Explain how you can make the value assigned to the variable state reflect on the LED using interrupts. You may use other components such as timers, counters, control and status registers, etc. Describe your scheme with a block diagram of the components and its operation. You don't need to actually design the scheme in PSOC Creator and you don't need to provide any C code. (b) Can you achieve the same result without using interrupts, using DMA instead? Describe your scheme with a block diagram of the components and its operation. Explain how you will set up descriptors for the DMA channel. You don't need to actually design the scheme in PSOC Creator and you don't need to provide any C code. (c) Which approach is superior? Why?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
a We can connect the LEDs to an 8bit control register One way to make the outputs reflect the state ...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started