電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1452|回復(fù): 0
收起左側(cè)

基于AM57x的ARM與FPGA通信測(cè)試

[復(fù)制鏈接]

678

主題

902

帖子

8293

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
8293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-21 10:58:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
通過ARM燒寫SPI FLASH
表 1
開發(fā)板型號(hào)
是否支持本實(shí)驗(yàn)
TL570x-EVM
不支持
TL5728-EasyEVM
不支持
TL5728-IDK
不支持
TL5728F-EVM
支持

本實(shí)驗(yàn)在Linux系統(tǒng)下,由ARM通過SPI2總線燒寫固化.bin文件到FPGA端的SPI FLASH中運(yùn)行。
將TL5728F-EVM開發(fā)板FPGA端撥碼開關(guān)撥為Master SPI模式(01),將由FPGA工程編譯生成的.bin文件復(fù)制到文件系統(tǒng)“/opt/tools”目錄下,例如LED工程的LED.bin文件。進(jìn)入開發(fā)板文件系統(tǒng)“/opt/tools”目錄,執(zhí)行腳本文件將LED.bin文件固化到FPGA端的SPI FLASH。
Target#cd /opt/tools/
Target#./flash-fpga-spiflash.sh LED.bin
​

圖 1

串口打印“FPGA reload app successfully!”信息表示成功將LED.bin文件固化到SPI FLASH,可以觀察到開發(fā)板LED在FPGA控制下流水燈閃爍。
FPGA與ARM基于IC通信測(cè)試
表 2
開發(fā)板型號(hào)
是否支持本實(shí)驗(yàn)
TL570x-EVM
不支持
TL5728-EasyEVM
不支持
TL5728-IDK
不支持
TL5728F-EVM
支持

本測(cè)試程序?qū)PGA模擬成I2C設(shè)備,設(shè)備地址為0x2A,ARM使用I2C4總線對(duì)此I2C設(shè)備進(jìn)行讀寫。
將TL5728F-EVM開發(fā)板FPGA端撥碼開關(guān)撥為Master SPI模式(01),將FPGA光盤I2C_SLAVE工程“fordownload\I2C_SLAVE.bin”文件復(fù)制到文件系統(tǒng)“/opt/tools”目錄下,I2C_SLAVE.bin文件主要實(shí)現(xiàn)FPGA和ARM的I2C通信功能。
進(jìn)入開發(fā)板文件系統(tǒng)的“/opt/tools”目錄,執(zhí)行如下指令由ARM通過SPI2總線燒寫.bin文件到FPGA端的SPI FLASH中運(yùn)行。串口打印“FPGA reload app successfully!”信息表示燒寫成功。
Target#./flash-fpga-spiflash.sh I2C_SLAVE.bin
​

圖 2

執(zhí)行如下命令查看掛載到I2C4總線的I2C設(shè)備地址,此處查詢到FPGA的地址為0x2A。
Target#i2cdetect -r -y 3
​

圖 3

執(zhí)行如下指令讀取FPGA I2C設(shè)備寄存器的值:
Target#i2cdump -f -y 3 0x2a
​

圖 4

寄存器00讀寫測(cè)試執(zhí)行如下命令對(duì)FPGA I2C設(shè)備0x00地址寫0x55:
Target# i2cset -f -y 3 0x2a 0x00 0x55
執(zhí)行如下命令讀取FPGA I2C設(shè)備0x00地址的值:
Target# i2cget -f -y 3 0x2a 0x00
​

圖 5

寄存器01測(cè)試執(zhí)行如下指令往FPGA I2C設(shè)備的地址0x01寫0xc0,可以看到開發(fā)板FPGA端的兩盞藍(lán)色LED會(huì)點(diǎn)亮:
Target# i2cset -f -y 3 0x2a 0x01 0xc0
往0x2a I2C設(shè)備的地址0x01寫0x00,開發(fā)板FPGA端的兩盞藍(lán)色LED會(huì)熄滅:
Target#  i2cset -f -y 3 0x2a 0x01 0x00
​

圖 6

寄存器02測(cè)試執(zhí)行如下指令讀取FPGA I2C設(shè)備的地址0x02的初始值為“0xc0”。
Target# i2cget -f -y 3 0x2a 0x02
分別長(zhǎng)按FPGA用戶按鍵KEY6(USER0)、KEY7(USER1)不放,依次讀取0x02地址寄存器的值,分貝為“0x80”和“0x40”。
Target# i2cget -f -y 3 0x2a 0x02
​

圖 7

嵌入式DSP、ARM、FPGA多核技術(shù)開發(fā),學(xué)習(xí)資料下載:http://site.tronlong.com/pfdownload

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表