本文是對TI的TMS320C645x DSP SRIO User’s Guide中5.15~5.20節內容的搬運
與2.3.4節、2.3.6節、第4章大部分內容相關
一、門鈴中斷
門鈴中斷狀態寄存器(DOORBELLn_ICSR)
n爲0~3,因此共有4個寄存器,但和SRIO的4個端口並沒有對應關係。
該寄存器中的相應的位是門鈴事務接收的標識,每個寄存器中有16個標誌位,分別指示16種不同的門鈴中斷。4個寄存器總共能夠指示64種門鈴中斷。
64種門鈴中斷只能區分不同的6位二進制數。但是門鈴事務包中的Info字段共有16位,所以只有特定的字段內容會產生門鈴中斷。可以觀察例子得出具體字段內容和中斷源的對應關係。
- 最左側四列表示的是Info字段16位二進制數的表示,可以看出,第5、6位對應寄存器號;從最後一列可以看出,[3:0]這四位的值對應寄存器中16箇中斷源之一。
- 第5列爲門鈴事務Info字段的十六進制表示
- 倒數第二列爲中斷源對應的中斷路由寄存器內具體的位置。(中斷路由寄存器中每4位的內容值指定該中斷源的中斷目的,共有8箇中斷目的,後續細說)
門鈴中斷清除寄存器(DOORBELLn_ICCR)
該寄存器與門鈴中斷狀態寄存器一一對應,某位置一後,則可以將門鈴中斷狀態寄存器中的相應位清零
中斷路由寄存器(DOORBELLn_ICRR and DOORBELLn_ICRR2)
ICRx的值與中斷目的對應關係
ICRx的值 | 中斷目的 |
---|---|
0000b | INTDEST0 |
0001b | INTDEST1 |
0010b | INTDEST2 |
0011b | INTDEST3 |
0100b | INTDEST4 |
0101b | INTDEST5 |
0110b | INTDEST6 |
0111b | INTDEST7 |
1xxxb | 保留 |
DOORBELL中斷小總結
共64箇中斷源,8箇中斷目的。4個門鈴中斷寄存器,每個寄存器對應16箇中斷源。
ICSx、ICCx、ICRx有一一對應的關係,分別是中斷狀態、中斷標識清除和中斷目的路由。
二、CPPI中斷
CPPI接收/發送中斷狀態寄存器(RX_CPPI_ICSR、TX_CPPI_ICSR)
CPPI(Communications Port Programming Interface)是專用於消息(MESSAGE)事務傳輸的模塊
消息事務總共有16個接收隊列和16個發送隊列,對應這裏的16箇中斷狀態標識。隊列中存放的消息通過緩衝描述符來描述,一旦有一段完整的消息存放到隊列中或者有一段完整的消息被髮送,就會產生中斷標識。
CPPI接收/發送中斷清除寄存器(RX_CPPI_ICCR、TX_CPPI_ICCR)
與接收/發送中斷狀態寄存器對應,某一位置一,可以使相應爲清零
CPPI接收/發送中斷路由寄存器(RX_CPPI_ICRR 、RX_CPPI_ICRR2 and TX_CPPI_ICRR 、TX_CPPI_ICRR2)
與門鈴中斷相同,將16箇中斷源指向8箇中斷目的之一。