Ti_dsp_srio-Doorbell Principle

Source: Internet
Author: User

As mentioned above, SRIo has various types of packages, including the doorbell package. DOORBELL Is a fast notification short message with short headers and carrying information, it is used for the master SRIo device to notify the slave SRIo device. It can be used for message notifications between DSPs or between FPGA and DSPs.

The payload of the doorbell package is 16 bits. For example, the shadow is a valid bit, and the rest is a reserve bit. Five or six bits are used to select the doorbell interrupt Status Register. For the SRIo of ti dsp, four interrupt status registers are included, namely, doorbell [0-3] _ icsr. Each register is only 16 bits in effect, that is, each register can support 16 interrupt sources, so the four registers can support 64 interrupt sources. In the 4-Core DSP of Ti nyquest, in use, we can configure an icsr register for each core, so that when a location of the corresponding register is reached, the corresponding core will be interrupted. Four registers corresponding to iscr are four doorbell [0-3] _ ICCR registers, which correspond to icsr one by one and are used to clear the interrupt request bit in the iscr register.

For example, if dsp a wants dsp B to send a doorbell notification message, on DSP A, you can configure the doorbell effective bit in the lsux_reg3 register as 1, this indicates that the 16bit doorbell_info in the lsux_reg5 register is valid. We can set doorbell_info to 0x25. When lsux_reg0 ~ After the 5 registers are set, SRIo hardware will generate a doorbell package (which contains two types of generated packages, refer to ti_dsp_srio-useful_q & A). When dsp B receives the package, judge that the payload of the doorbell package is 0x25, And the SRIo hardware will set the 5th-bit interrupt request location of the doorbell1_icsr to 1. In this way, the system event bound to the 5th-bit system event is interrupted. In the interrupt function bound to the event, you can run the callback function bound to the 5th-bit doorbell1_icsr register, you can execute CPU tasks in the callback function. (The following describes how doorbell's interruption to core mechanism is implemented ).

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.