一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

MSI中斷簡介和生成方法

Hack電子 ? 來源:Hack電子 ? 2024-02-25 09:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MSI中斷簡介

Xilinx PCIE IP中MSI中斷相關(guān)的地址如下圖1所示,如果想要成功產(chǎn)生中斷,MSI Control, Message Address (Lower), Message Address (Upper)和Message Data這四個字段是必須要進行配置的,此四個字段均可通過主機的軟件或者Xilinx的RP(root port)IP進行配置。

3064ed72-d2bb-11ee-a297-92fbcf53809c.png

圖1

PCIE的協(xié)議對MSI Control字段的定義如圖2所示,其中的MSI Enable必須使能,否則EP(endpoint)無法發(fā)送中斷。Message Address (Lower), Message Address(Upper)和Message Data分別指的是memory write的TLP包的地址和數(shù)據(jù)。

308694fe-d2bb-11ee-a297-92fbcf53809c.png

圖2

MSI中斷的生成

在生成MSI中斷時,首先需要打開IP的MSI功能,以AXI Bridege IP為例,如圖3所示勾選Enable MSI Capability Structure。

3091ce96-d2bb-11ee-a297-92fbcf53809c.png

圖3

用于產(chǎn)生中斷的信號如下圖4所示,要發(fā)送MSI中斷之前需要確定msi_enable是否被拉高,如果msi_enable沒有被拉高,IP是無法發(fā)送中斷的。Usr_irq_req需要一直保持為高直到確認中斷已被成功處理,這里需要設置一個·機制,需要軟件配合進行實現(xiàn),如軟件在處理完中斷后要向FPGA內(nèi)與邏輯約定好的寄存器寫1,邏輯在檢查到此寄存器被寫1后,再將usr_irq_req置低。

30aa494e-d2bb-11ee-a297-92fbcf53809c.png

圖4

通常邏輯在發(fā)送MSI中斷時不會檢測msi_enable信號,此信號一般不會由EP端進行控制,使能MSI功能通常在軟件側(cè)進行操作,在linux系統(tǒng)中使用lspci -vvvs 指令即可查看MSI功能是否被使能,若打印信息如下圖5所示,顯示MSI:Enable-,則表示MSI功能未被使能,此時邏輯即使拉高usr_irq_req信號,主機也不會接收到中斷。用戶可以通過使用setpci指令來使能MSI功能。從圖1和圖2可得,Xilinx Pcie EP的MSI Enable在4a的第一位,可以使用setpci –s 24:00.0 4a.w=1 指令來使能MSI功能。使用上述指令寫完4a寄存器后,圖5的MSI:Enable-會變至MSI:Enable+,表示MSI功能使能成功。

30b65aa4-d2bb-11ee-a297-92fbcf53809c.png

圖5

在Pcie鏈路穩(wěn)定后,RP端將會發(fā)送配置寫對EP端進行配置,圖6為RP側(cè)對EP側(cè)中Pcie MSI的message address和message data字段的配置,RP首先對EP的4C寄存器全寫0,表示Message Address(Lower)為全0,隨后RP對EP的50寄存器寫32‘h800,即Message Address(Upper)的值為32’h800,寫完這兩個寄存器后,RP也需要寫對應的寄存器來進行記錄,當隨后接收到地址為64’h800_0000_0000 memory write TLP包后,會將此包解析為中斷請求。RP在配置EP的message字段時,只需要將所要的message data寫入到54寄存器,如圖6所示,RP將32’h54寫入到了EP的message data字段中,完成了EP側(cè)的message address和message data的配置。

30c47ef4-d2bb-11ee-a297-92fbcf53809c.png

圖6

30da4e96-d2bb-11ee-a297-92fbcf53809c.png

圖7

RP對EP的MSI功能的使能,可通過對EP的48寄存器寫32’h10000即可,本篇文章參考的是PG213中Register(Type0:Enpoint)表格,不同廠商的MSI寄存器所在的位置通常不同,在配置時需要參考對應廠商的IP手冊。如圖7所示,RP側(cè)在配置完EP的MSI control寄存器后,EP的msi_enable會變?yōu)楦?,至此RP完成了EP側(cè) MSI功能的必要配置。

在完成上述配置后,用戶邏輯在拉高usr_irq_req后,會發(fā)現(xiàn)usr_irq_ack隨后被拉高,這表示IP已完成中斷的發(fā)送,如果在拉高usr_irq_req后,usr_irq_ack沒有被拉高,又或者usr_irq_fail拉高,這種情況大概率是EP msi_enable沒有被成功使能。在EP端拉高usr_irq_req信號一段時間后,會發(fā)現(xiàn)RP側(cè)的interrupt_out信號拉高,如圖8所示,表RP側(cè)接收并識別了EP發(fā)送的中斷信號。

30f1a636-d2bb-11ee-a297-92fbcf53809c.png

圖8

圖9為在Pcie RP IP接口截取的TLP包,EP發(fā)送MSI中斷即為發(fā)送memory write的TLP包到RP,RP在接收到此特定地址和數(shù)據(jù)的TLP包后,會將其解析為中斷,Pcie的CQ接口接收到的包為對端發(fā)送的request 包,即EP側(cè)發(fā)送的memory write TLP包可在此接口截取到。

30fc0554-d2bb-11ee-a297-92fbcf53809c.png

圖9

在EP發(fā)送中斷后,RP的m_axis_cq_tvalid會拉高,此時會收到TLP包,經(jīng)過解析后發(fā)現(xiàn)此包的Request_Type為4’h1,在圖10中查找,可發(fā)現(xiàn)此包為memory write類型的包,此包的地址在m_axis_cq_tdata的前64bit,地址為64’h800_0000_0000,與PR寫入至EP配置空間的4C(Message Address (Lower))和50(Message Address (Upper))寄存器的數(shù)值一致。RP收到的第一拍數(shù)據(jù)byte_en為0,表示第一拍中不存在數(shù)據(jù)載荷,在第二拍中可以看到byte_en的數(shù)值為32’hf,表示此拍存在數(shù)據(jù),m_axis_cq_tdata的前64bit即圖中addr字段的顯示的數(shù)值為64’h54,表示memory write的數(shù)據(jù)為54,與RP寫入到EP配置空間的54(Message Data)寄存器的內(nèi)容一致。

310f5b68-d2bb-11ee-a297-92fbcf53809c.png

圖10

MSI和MSI-X中斷都是EP端向RP端發(fā)送memory write的TLP包,所以bus master的功能也需要打開,在bus master打開后EP才可以主動發(fā)送request到RP端。

311a5fd6-d2bb-11ee-a297-92fbcf53809c.png

圖11

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618645
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    905

    瀏覽量

    42812
  • msi
    msi
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    30144
  • AXI
    AXI
    +關(guān)注

    關(guān)注

    1

    文章

    136

    瀏覽量

    17263

原文標題:如何使用AXI Bridge IP 發(fā)送MSI中斷

文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    PCIE MSI中斷的配置

    小弟學習K1_STK(從官網(wǎng)下的最新的例程keystone軟件開發(fā)包)里面的PCIE(例程),這個是例程里面RC端和EP端用的是MSI中斷。PCIE_int_cfg.number_tx_MSI
    發(fā)表于 06-21 03:49

    PWM生成方法

    目錄一.PWM簡介PWM生成方法二、PWM控制單色LED—單色呼吸燈硬件說明代碼分析進行驗證示波器查看波形呼吸燈一.PWM簡介PWM是 Pulse Width Modulation 的縮寫,中文
    發(fā)表于 08-09 08:34

    OTA完整包與差異包的生成方法分別是什么

    OTA完整包的生成方法是什么?OTA差異包的生成方法又是什么?
    發(fā)表于 02-10 07:04

    PCIe設備發(fā)出MSI-X中斷請求的方法

    x86處理器如何處理MSI-X中斷請求PCIe設備發(fā)出MSI-X中斷請求的方法與發(fā)出MSI
    發(fā)表于 02-16 06:36

    基于TPS54x60的電壓軌生成方法

    圖 1 所示參考設計便使用了 TPS54x60,其顯示了一種更為簡單的清潔電壓軌生成方法。利用這種電路,通過一個開關(guān)轉(zhuǎn)換器來構(gòu)建正負電壓軌。
    發(fā)表于 12-29 16:56 ?1654次閱讀
    基于TPS54x60的電壓軌<b class='flag-5'>生成方法</b>

    兩種空間矢量脈寬調(diào)制生成方法的分析與比較

    兩種空間矢量脈寬調(diào)制生成方法的分析與比較
    發(fā)表于 03-30 18:24 ?11次下載

    一種多尺度多視點特性視圖生成方法的研究和應用_謝冰

    一種多尺度多視點特性視圖生成方法的研究和應用_謝冰
    發(fā)表于 03-15 09:27 ?0次下載

    一種新穎的自動化攻擊圖生成方法_武健

    一種新穎的自動化攻擊圖生成方法_武健
    發(fā)表于 03-19 11:45 ?0次下載

    一種新的DEA公共權(quán)重生成方法

    針對傳統(tǒng)數(shù)據(jù)包絡分析(DEA)公共權(quán)重生成方法不同時具備線性、規(guī)模無關(guān)優(yōu)點的問題,根據(jù)軍事訓練績效評估需求,提出了一種新的DEA公共權(quán)重生成方法。該方法以DEA有效單位為計算基礎,首先對訓練數(shù)據(jù)進行
    發(fā)表于 01-13 11:03 ?0次下載

    PCIe中斷機制介紹(MSI

    當Mask Bits將相關(guān)的中斷向量(Interrupt Vector)屏蔽后,該MSI將不會被發(fā)送。軟件可以通過這種方式來使能或者禁止某些MSI的發(fā)送。如果相關(guān)中斷向量沒有被屏蔽,則
    的頭像 發(fā)表于 08-31 15:07 ?2.1w次閱讀
    PCIe<b class='flag-5'>中斷</b>機制介紹(<b class='flag-5'>MSI</b>)

    教大家如何處理x86處理器中MSI-X中斷請求

    x86處理器如何處理MSI-X中斷請求PCIe設備發(fā)出MSI-X中斷請求的方法與發(fā)出MSI
    的頭像 發(fā)表于 08-12 11:23 ?7629次閱讀

    簡述MSIMSI-X中斷機制

    MSIMSI-X中斷機制 在PCI總線中,所有需要提交中斷請求的設備,必須能夠通過INTx引腳提交中斷請求,而
    的頭像 發(fā)表于 08-10 17:54 ?6300次閱讀

    基于Python-casacore的射電測量集文件生成方法

    基于Python-casacore的射電測量集文件生成方法(開關(guān)電源技術(shù)試卷)-該文檔為基于Python-casacore的射電測量集文件生成方法講解文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣的可以下載看看………………
    發(fā)表于 09-15 13:11 ?3次下載
    基于Python-casacore的射電測量集文件<b class='flag-5'>生成方法</b>

    x86處理器如何處理MSI-X中斷請求

    x86處理器如何處理MSI-X中斷請求PCIe設備發(fā)出MSI-X中斷請求的方法與發(fā)出MSI
    發(fā)表于 12-17 18:28 ?9次下載
    x86處理器如何處理<b class='flag-5'>MSI</b>-X<b class='flag-5'>中斷</b>請求

    PWM信號生成方法 PWM調(diào)制原理講解

    PWM(脈沖寬度調(diào)制,Pulse Width Modulation)是一種重要的模擬信號電平數(shù)字編碼方法,在電子技術(shù)和控制領域具有廣泛應用。以下是對PWM信號生成方法和PWM調(diào)制原理的介紹: PWM
    的頭像 發(fā)表于 11-28 16:34 ?4839次閱讀