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

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

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

AMD Xilinx AC701單板運行IIC EEPROM例程

jf_pJlTbmA9 ? 來源:博客園-HankFu ? 作者:博客園-HankFu ? 2023-07-10 17:03 ? 次閱讀

概述
AMD Xilinx Vitis內(nèi)部集成了各種外設(shè)的例程,為工程師提供了快速上手的代碼。

AMD Xilinx有很多開發(fā)板。各種單板的硬件參數(shù)不一定完全一致,有時需要根據(jù)單板硬件設(shè)計、Vivado中的Block Design設(shè)計,修改外設(shè)例程的參數(shù)。

IIC EEPROM例程
本文描述在如何運行IIC EEPROM例程。

硬件設(shè)計
運行運行IIC EEPROM例程,如果時Zynq-7000/MPSoC, 要在Block Design設(shè)計中使能PS的IIC控制器。如果是傳統(tǒng)FPGA,要在Block Design設(shè)計中添加MicaroBlaze和AXI IIC控制器。然后在Vivado中導(dǎo)出XSA文件,給Vitis后續(xù)設(shè)計使用。

創(chuàng)建Platform
在Vitis中,先使用Vitis創(chuàng)建Platform。具體步驟是,在Vitis的菜單 “File - New ” 中,選擇“Platform Project”, 指定名稱如“ac701_multiboot_hw_platform”, 再選擇對應(yīng)的XSA文件和 Processor 如 “micraoblaze_0”,再點擊“Finish”。

100570959-302544-1.png

導(dǎo)入IIC EEPROM例程
1. 打開hw_platform工程。
2. 雙擊“platform.spr”文件。
3. 雙擊“micraoblaze_0”的 “board support package”。
4. 等待Drivers窗口顯示
5. 點擊axi_iic_0行右邊的import examples
6. 選擇"xiic_eeprom_example"
7. 點擊"OK"

100570959-302545-2.png
100570959-302546-3.png

之后Vitis會創(chuàng)建一個工程,包含文件xiic_eeprom_example.c。

IIC EEPROM例程更改
下面是在AMD Xilinx AC701 單板運行IIC EEPROM例程所需要的更改。

中斷
IIC EEPROM例程使用了中斷,需要根據(jù)AC701 MicroBlaze硬件工程的設(shè)計,修改中斷號。

文件xiic_eeprom_example.c中原來使用的中斷號是XPAR_INTC_0_IIC_0_VEC_ID,要改成新的中斷號。

舊的中斷號參數(shù):

#define IIC_INTR_ID XPAR_INTC_0_IIC_0_VEC_ID

在workspace下,能搜索到文件xparameters.h,包含每個設(shè)備的中斷號。 定義中斷號的宏的名稱,與Vivado硬件工程的BlockDesign中的IP名稱有關(guān),類似如下字符串:

#define XPAR_MICROBLAZE_0_AXI_INTC_AXI_IIC_0_IIC2INTC_IRPT_INTR 2U

因此,新的中斷號參數(shù)設(shè)置為:

#define IIC_INTR_ID XPAR_MICROBLAZE_0_AXI_INTC_AXI_IIC_0_IIC2INTC_IRPT_INTR

IIC MUX
為了節(jié)省管腳,AMD Xilinx開發(fā)板一般使用一個IIC_MUX(IIC Switch),把一路IIC總線擴展成多路IIC總線。比如AC701使用了PCA9548擴展IIC總線。如果使用了IIC_MUX(IIC Switch), 要定義宏IIC_MUX_ENABLE,并且設(shè)置IIC_MUX_ADDRESS、IIC_EEPROM_CHANNEL。定義IIC_MUX_ENABLE后,就使能了函數(shù)MuxInit( )。

IIC_MUX_ADDRESS是IIC_MUX在與MPSoC/MicroBlaze之間連接的IIC總線上的地址,需要根據(jù)AC701的硬件設(shè)計設(shè)置。注意,是7位地址,是8位地址的二分之一。根據(jù)原理圖,AC701 PCA9548的IIC地址是0x74。

IIC_MUX分出多個IIC總線(CHANNEL)。EEPROM所在的IIC總線(CHANNEL)需要根據(jù)AC701的硬件設(shè)計設(shè)置,軟件代碼中對應(yīng)的設(shè)置是IIC_EEPROM_CHANNEL。AC701上,EEPROM的IIC總線(CHANNEL)是3,IIC_EEPROM_CHANNEL設(shè)置成8。這個參數(shù)最后在MuxInit( )中被使用。

/*
* The IIC_MUX_ADDRESS defines the address of the IIC MUX device on the
* IIC bus. Note that since the address is only 7 bits, this constant is the
* address divided by 2.
* The IIC Slaves on the KC705/ZC702/ZC706 boards are connected to an
* IIC MUX.
* IIC_EEPROM_CHANNEL is the Channel number of EEPROM for IIC Mux. On KC705 it
* is 0x08 and ZC702 is 0x04.Please refer the User Guide's of the respective
* boards for further information about the Channel number to use EEPROM.
*/
#define IIC_MUX_ADDRESS 0x74
#define IIC_EEPROM_CHANNEL 0x08

/*
* This define should be uncommented if there is IIC MUX on the board to which
* this EEPROM is connected. The boards that have IIC MUX are KC705/ZC702/ZC706.
*/
#define IIC_MUX_ENABLE

EEPROM_ADDRESS
EEPROM_ADDRESS定義EEPROM在IIC總線上的地址。也請注意,是7位地址,是8位地址的二分之一。根據(jù)原理圖,AC701 EEPROM的IIC地址是0x54。

調(diào)試技巧
剛測試時,不熟悉運行流程。建議在函數(shù)入口處、返回處多加些打印,了解運行流程。

在判斷函數(shù)的返回值時,加入下列打印,能快速了解出錯的代碼和原因。

if (Status != XST_SUCCESS) {
xil_printf("Fail at %s : %drn", __func__, __LINE__ );
return XST_FAILURE;
}

添加打印,成功運行情況的的打印如下:

Begin at XIic_SetAddress : 397
XII_ADDR_TO_SEND_TYPE at XIic_SetAddress : 431
Begin at XIic_SetAddress : 398
XII_ADDR_TO_SEND_TYPE at XIic_SetAddress : 432
SUCCESS at MuxInit : 840
Begin at XIic_SetAddress : 398
XII_ADDR_TO_SEND_TYPE at XIic_SetAddress : 432
Success at IicEepromExample : 465
Successfully ran IIC eeprom Example

本文轉(zhuǎn)載自:博客園

審核編輯:湯梓紅

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

    關(guān)注

    25

    文章

    5376

    瀏覽量

    133382
  • Xilinx
    +關(guān)注

    關(guān)注

    70

    文章

    2137

    瀏覽量

    120396
  • IIC
    IIC
    +關(guān)注

    關(guān)注

    11

    文章

    292

    瀏覽量

    38142
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96176
收藏 人收藏

    評論

    相關(guān)推薦

    視頻:看看Xilinx Artix-7評估套件AC701里面都有些什么

    本視頻是AC701開發(fā)套件的詳細演示。AC701是搭載Xilinx Aritx-7 FPGA的開發(fā)套件,主要面向大批量、成本敏感型應(yīng)用。Artix-7 FPGA具有業(yè)界領(lǐng)先的每瓦性能比優(yōu)勢,A
    發(fā)表于 07-26 19:54

    怎么續(xù)訂AC701許可證

    我的AC701的Vivado許可證版本限制為~2014.5。有沒有更新此許可證,以便我可以使用最新版本的Vivado?以上來自于谷歌翻譯以下為原文My Vivado license for my
    發(fā)表于 12-20 11:18

    AC701能否通過Artix 7的PCIe鏈路與PC通信?

    Artix 7的PCIe鏈路建立Ac701與主機Pc之間的通信。請使用UG964中描述的套件提供的測試示例:我們使用Questasim跟蹤模擬流程,因此我們成功編譯了xilinx庫并啟動
    發(fā)表于 09-10 07:56

    請問AC701AC701 GTP之間的吞吐量有多少?

    我想使用一些AC701開發(fā)板測試一些板對板數(shù)據(jù)傳輸速率和延遲。我真實地期望通過GTP收發(fā)器(SMA)獲得兩個AC701開發(fā)板之間的吞吐量?謝謝
    發(fā)表于 09-10 12:04

    AC701服務(wù)器連接時收到以下錯誤

    你好,連接到AC701板時,我們收到以下錯誤:服務(wù)器上沒有硬件目標[localhost:3121]我們已經(jīng)安裝了硅實驗室的USB-UART設(shè)備驅(qū)動程序,但是在COM& amp; LPT端口。我們會批評您的建議。最好
    發(fā)表于 09-27 09:39

    AC701電路板外設(shè)與KCU105電路板有哪些不同?

    我是AC701主板的快樂擁有者,并通過一些PCI-E教程。我注意到IPI中的電路板選項卡列出了除PCI-E之外的所有AC701電路板外設(shè),與具有它的KCU105電路板不同。我錯過了什么嗎?這是一個
    發(fā)表于 09-29 14:12

    請問有人在ac701中實現(xiàn)SATA3嗎?

    嗨,我對AC701板上的SATA主機控制器實現(xiàn)有點困惑。是否可以實施SATA 3或僅限于SATA2。有些信息令人困惑,因為我看到sata 3它需要速度等級3 ARTIX7。有沒有人在ac701中實現(xiàn)SATA3?謝謝
    發(fā)表于 10-08 10:08

    AC701風扇溫度接近90攝氏度

    嗨,Vivado硬件管理器正在測量我的AC701設(shè)備上接近90攝氏度的溫度。a)這不好嗎?我在數(shù)據(jù)表中讀到,對于C級設(shè)備,溫度額定為85C。b)我在哪里可以訂購兼容的風扇?找不到任何信息。
    發(fā)表于 10-17 08:53

    AC701是否可以將Vadj設(shè)置為1.8V?

    我想通過FMC連接器將我的AC701連接到我的ZCU-102以測試接口。由于我看起來不能將我的ZCU-102 FMC電壓設(shè)置為高于1.8V,因此我需要將AC701 Vadj電壓設(shè)置為驅(qū)動FMC的組
    發(fā)表于 10-22 08:54

    AC701運行雙極時,XADC偏置有問題

    您好,我目前正在幫助我的大學將為Digilent Nexys4設(shè)計的學校項目移植到Xilinx AC701電源評估板上。該項目由聲音效果管道組成,除XADC外,港口的一切工作正常。它配置為使用事
    發(fā)表于 04-02 10:10

    宏基AC701彩顯圖紙

    宏基AC701彩顯圖紙 電視機電路圖 芯片電路圖 顯示器電路圖
    發(fā)表于 10-15 16:03 ?181次下載

    Artix-7 FPGA AC701開發(fā)板-板載Debug Checklist

    Artix-7 FPGA AC701 開發(fā)板 - 板載Debug Checklist。
    發(fā)表于 08-08 18:27 ?100次下載

    Xilinx的Artix-7 FPGA AC701評估套件專門支持高性能系統(tǒng)

    賽靈思公司(Xilinx)今天宣布Artix-7 FPGA AC701評估套件正式推出,專門支持開發(fā)滿足低成本、低功耗應(yīng)用需求的高性能系統(tǒng)。這款最新評估套件配套提供All Programmable
    發(fā)表于 09-26 16:27 ?2362次閱讀

    Artix-7 FPGA AC701評估套件的特點性能與應(yīng)用

    查看Artix-7 FPGA AC701評估套件,該套件具有領(lǐng)先的每瓦特Artix-7系列系統(tǒng)性能,可為您的成本敏感型應(yīng)用提供快速原型設(shè)計。
    的頭像 發(fā)表于 11-21 06:19 ?3726次閱讀

    Artix-7 FPGA AC701 評估套件產(chǎn)品描述

    Artix-7 FPGA AC701 評估套件包含擁有領(lǐng)先單位功耗系統(tǒng)性能的 Artix-7 系列,快速滿足成本敏感型應(yīng)用。該套件包含硬件、設(shè)計工具、IP 核 以及預(yù)驗證參考設(shè)計的所有基本元件。
    的頭像 發(fā)表于 07-31 16:45 ?2618次閱讀