Question: Consider a UART in a microcontroller configured with a 64-byte transmit FIFO. You need to transmit a sequence of 4096 bytes stored in memory through

 Consider a UART in a microcontroller configured with a 64-byte transmit

Consider a UART in a microcontroller configured with a 64-byte transmit FIFO. You need to transmit a sequence of 4096 bytes stored in memory through the UART. You would like to transmit the bytes continuously with no gaps to maximize the efficiency of the communication link. Your software is using interrupts. An interrupt from the transmitter causes the ISR to be invoked immediately, which can then move one or more bytes into the transmit FIFO. You would like to use a scheme that minimizes the number of times the interrupt occurs, so as to minimize the overhead of processing interrupts. Assume that you have configured the transmitter to interrupt on the FIFO Not Full condition. What is the minimum number of times your program will need to service an interrupt to transmit the entire 4096-byte array? Now assume that the interrupting condition is changed to FIFO Empty. What is the minimum number of times your program will need to service an interrupt to transmit the entire 4096-byte array? For this part, assume that, when an interrupt occurs, the processor takes 200 microseconds to complete the task it is working on before responding to the interrupt. The transmission time of a byte on the serial link is 25 microseconds, including all the overhead bits(the overhead bits are start, stop and parity). Determine the total time taken to transmit the entire 4096-byte array for the two interrupting conditions, FIFO Not Full and FIFO Empty a. b. c. Consider a UART in a microcontroller configured with a 64-byte transmit FIFO. You need to transmit a sequence of 4096 bytes stored in memory through the UART. You would like to transmit the bytes continuously with no gaps to maximize the efficiency of the communication link. Your software is using interrupts. An interrupt from the transmitter causes the ISR to be invoked immediately, which can then move one or more bytes into the transmit FIFO. You would like to use a scheme that minimizes the number of times the interrupt occurs, so as to minimize the overhead of processing interrupts. Assume that you have configured the transmitter to interrupt on the FIFO Not Full condition. What is the minimum number of times your program will need to service an interrupt to transmit the entire 4096-byte array? Now assume that the interrupting condition is changed to FIFO Empty. What is the minimum number of times your program will need to service an interrupt to transmit the entire 4096-byte array? For this part, assume that, when an interrupt occurs, the processor takes 200 microseconds to complete the task it is working on before responding to the interrupt. The transmission time of a byte on the serial link is 25 microseconds, including all the overhead bits(the overhead bits are start, stop and parity). Determine the total time taken to transmit the entire 4096-byte array for the two interrupting conditions, FIFO Not Full and FIFO Empty a. b. c

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!