<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

全國產T3+FPGA的SPI與I2C通信方案分享

Tronlong創龍科技 ? 來源:Tronlong創龍科技 ? 作者:Tronlong創龍科技 ? 2024-02-06 10:05 ? 次閱讀

近年來,隨著中國新基建、中國制造2025規劃的持續推進,單ARM處理器越來越難勝任工業現場的功能要求,特別是如今能源電力、工業控制、智慧醫療等行業,往往更需要ARM + FPGA架構的處理器平臺來實現例如多路/高速AD采集、多路網口、多路串口、多路/高速并行DI/DO、高速數據并行處理等特定功能,因此ARM + FPGA架構處理器平臺愈發受市場歡迎。


因此,創龍科技一年前正式推出了國產化率100%的ARM + FPGA工業核心板,它基于全志T3 +紫光同創Logos處理器設計。

全志T3為準車規級芯片,四核ARM Cortex-A7架構,主頻高達1.2GHz,支持雙路網口、八路UART、SATA大容量存儲接口,同時支持4路顯示、GPU以及1080P H.264視頻硬件編解碼。另外,創龍科技已在T3平臺適配國產嵌入式系統翼輝SylixOS,真正實現軟硬件國產化。


紫光同創Logos PGL25G/PGL50G FPGA在工業領域應用廣泛,邏輯資源分別為27072/51360,與國外友商產品pin to pin兼容,主要用于多通道/高速AD采集或接口拓展。因其價格低、質量穩定、開發環境易用等優點,受到工業用戶的廣泛好評。尤其是開發環境,最快3天可完成從國外友商產品到紫光同創產品的切換。

wKgaomXBkqKAfoX7AADt7RF7KLM774.png

圖1 ARM + FPGA典型應用場景

SPI通信優勢與應用場景

SPI(Serial Peripheral Interface)是一種用于串行數據傳輸的通信協議,SPI通信具有帶寬高、實時性強、傳輸速度快、連接簡單、可靠性高和靈活性強等優勢。


SPI協議適用于許多嵌入式系統和外圍設備之間的通信需求,可提供快速、可靠和靈活的數據傳輸,非常適合“小數據-低時延”和“大數據-高帶寬”的應用場景。

wKgaomXBkraAcYS7AAAde1IdMME597.png

圖2SPI通信總線

I2C通信優勢和應用場景

I2C(Inter-Integrated Circuit)是一種串行雙向通信協議,I2C通信具有硬件資源需求低、簡單靈活、可靠性高和支持多種設備類型等優勢。


I2C協議可提供簡單、可靠和靈活的數據傳輸。它廣泛應用于各種傳感器、存儲設備、顯示設備和通信模塊等領域。適用控制命名傳輸和系統配置的應用場景。

wKgaomXBks2AcqyVAACuGUf4tHg267.png

圖3I2C通信總線


國產T3+FPGA的SPI與I2C通信方案介紹

本章節主要介紹全志科技T3與紫光同創Logos基于SPI、I2C的ARM + FPGA通信方案,使用的硬件平臺為:創龍科技TLT3F-EVM工業評估板。

I2C通信案例

案例功能:

實現T3(ARM Cortex-A7)與FPGA的TWI(I2C)通信功能。

FPGA案例源碼為“4-軟件資料Demofpga-demoi2c_slave”,實現I2C Slave功能,并內置用戶可讀寫寄存器、LED寄存器、KEY寄存器。

ARM端作為I2C Master,可通過TWI(I2C)總線讀寫FPGA端用戶可讀寫寄存器0x00、LED寫寄存器0x01(寫1則點亮FPGA端LED,寫0則熄滅),以及查看KEY寄存器0x02檢測FPGA端用戶輸入按鍵狀態。

案例測試:評估板上電,請先加載運行FPGA端可執行程序。執行如下命令可查看到I2C總線上的掛載設備,其中0x2a為FPGA端I2C Slave的地址。


Target#echo "1 4 1 7" > /proc/sys/kernel/printk //屏蔽內核printk打印,避免I2C驅動掃描找不到設備時打印警告信息

Target#i2cdetect -r -y 0


wKgZomXBktuAQlykAAAPZW8FKBI119.png

圖4

執行如下命令,讀寫FPGA端用戶可讀寫寄存器0x00。


Target#i2cset -f -y 0 0x2a 0x00 0x55 //往寄存器0x00寫0x55

Target#i2cget -f -y 0 0x2a 0x00 //讀取寄存器0x00,值為0x55

wKgaomXBkuOAIMBQAAAGj9uCkUI844.png

圖5


執行如下命令,寫FPGA端LED寄存器0x01,實現對FPGA端用戶可編程指示燈控制。


Target#i2cset -f -y 0 0x2a 0x01 0xc0 //往LED寄存器0x01寫0xc0,點亮FPGA端LED3、LED4

Target#i2cset -f -y 0 0x2a 0x01 0x00 //往LED寄存器0x01寫0x00,熄滅FPGA端LED3、LED4

wKgZomXBku2AOFG4AAAGRystjAc109.png

圖6


執行如下命令,讀FPGA端KEY寄存器0x02,實現對FPGA端用戶輸入按鍵的狀態檢測。


Target#i2cget -f -y 0 0x2a 0x02 //讀取KEY寄存器0x02,值為0xe0

wKgaomXBkvmAOY_LAAAF6hKui28694.png

圖7


請按下FPGA端用戶輸入按鍵KEY7并保持按下狀態,再執行如下命令。


Target#i2cget -f -y 0 0x2a 0x02 //讀取KEY寄存器0x02,值為0xc0

wKgaomXBkwGAA9anAAAF3iaBxPw806.png

圖8


請按下FPGA端用戶輸入按鍵KEY8并保持按下狀態,再執行如下命令。


Target#i2cget -f -y 0 0x2a 0x02 //讀取KEY寄存器0x02,值為0xa0

wKgZomXBkw-AEswaAAAF2pdKu3M028.png

圖9

請按下FPGA端用戶輸入按鍵KEY9并保持按下狀態,再執行如下命令。


Target#i2cget -f -y 0 0x2a 0x02 //讀取KEY寄存器0x02,值為0x60

wKgaomXBkxWAZQf3AAAGArivwb0741.png

圖10

基于Linux的SPI通信案例

案例功能:基于Linux系統,實現T3(ARM Cortex-A7)與FPGA的SPI通信功能。


ARM端案例源碼為“4-軟件資料Demomodule-demosspi_rw”,實現SPI Master功能,具體如下:

(1)打開SPI設備節點,如:/dev/spidev0.1。

(2)使用ioctl配置SPI總線,如SPI總線極性和相位、通信速率、數據長度等。

(3)選擇模式為單線模式或雙線模式。當設置SPI總線為雙線模式時,發送數據為單線模式,接收數據為雙線模式。

(4)發送數據至SPI總線,以及從SPI總線讀取數據。

校驗數據,然后打印讀寫速率、誤碼率。


FPGA端案例源碼為“4-軟件資料Demofpga-demosdram_spi”和“4-軟件資料Demofpga-demosdram_spi_dual”,實現SPI Slave功能,具體說明如下:(1)將SPI Master發送的數據保存至DRAM。(2)SPI Master發起讀數據時,FPGA從DRAM讀取數據通過SPI總線傳輸至SPI Master。當SPI總線為雙線模式時,接收數據支持雙線模式,而發送數據僅支持單線模式。

wKgaomXBkyGAc6HHAAA0rFG9eBY280.png

圖11

ARM端程序流程圖

案例測試:

評估板上電,請先加載運行FPGA端可執行程序,若進行SPI單線模式測試,請運行案例"dram_spibin"目錄下的程序可執行文件;若進行SPI雙線模式測試,請運行"dram_spi_dualbin"目錄下的程序可執行文件。同時將ARM端可執行程序spi_rw拷貝至評估板文件系統任意目錄下。

進入評估板文件系統,執行如下命令查看新生成的spidev設備節點。


Target#ls /dev/spidev0.1

wKgZomXBkyqABdsVAAAGIewi9ik254.png

圖12


執行如下命令查詢程序命令參數。


Target#./spi_rw -h


wKgZomXBky-AJ7sUAAApuyBSSQI840.png

圖13


1SPI單線模式


1.1功能測試


執行如下命令運行程序,ARM通過SPI總線寫入1KByte隨機數據至FPGA DRAM,然后讀出數據、進行數據校驗,同時打印SPI總線讀寫速率和誤碼率,最終實測寫速率為2.405MB/s,讀速率為2.405MB/s,誤碼率為0。如下圖所示。


Target#./spi_rw -d /dev/spidev0.1-s 50000000 -OH -m 1 -S 1024-c 2


參數解析:

-d:設備節點;

-s:設置通信時鐘頻率(Hz),本次測試設置SPI總線通信時鐘頻率為50MHz,則SPI單線模式理論通信速率為:(50000000 / 1024 / 1024 / 8)MB/s ≈ 5.96MB/s;

-O:空閑狀態時,SCLK為高電平(CPOL=1);

-H:從第二個跳變沿開始采樣(CPHA=1);

-m:選擇模式傳輸模式(1表示單線模式,2表示雙線模式);

-S:設置傳輸數據大小,單位為Byte;

-c:循環傳輸數據包的次數。

wKgaomXBkziAaIwKAAARktbMZKk558.png

圖14


1.2性能測試


(1)基于50MHz時鐘頻率


執行如下命令運行程序,基于50MHz時鐘頻率、增大讀寫數據量測試SPI總線最高傳輸速率。ARM通過SPI總線寫入1MByte隨機數據至FPGA DRAM,然后讀出數據,不做數據檢驗,最后打印SPI總線讀寫速率和誤碼率,如下圖所示。


備注:本案例設計一次讀寫1KByte隨機數據至FPGA DRAM,因此誤碼率較高。


Target#./spi_rw -d /dev/spidev0.1-s 50000000 -OH -m 1 -S 1048576 -c 2

wKgZomXBkz-ABdA3AAAS8nKJVV4548.png

圖15


本次測試設置SPI總線通信時鐘頻率為50MHz,則SPI單線模式理論通信速率為:(50000000 / 1024 / 1024 / 8)MB/s ≈ 5.96MB/s。從上圖可知,本次實測寫速率為5.757MB/s,讀速率為5.757MB/s,接近理論通信速率。

本次測試SPI使用了DMA傳輸,測得CPU的占用率約為1%,如下圖所示。

wKgZomXBk0aAJGgDAABr-ir_E8o691.png

圖16


(2)基于100MHz時鐘頻率


執行如下命令運行程序,測試基于100MHz時鐘頻率的SPI單線模式的最高通信帶寬。ARM通過SPI總線寫入1MByte隨機數據至FPGA DRAM并讀出數據,不做數據檢驗,最后打印SPI總線讀寫速率和誤碼率,如下圖所示。


備注:本次測試旨在測試SPI的最高傳輸速率,目前SPI速率最大支持50MHz時鐘頻率,當時鐘頻率配置到最大100MHz時速率會出現時序問題,現象是整體往右移了1bit。例如發送10000000,實際接收到01000000,并在測試中出現誤碼。


Target#./spi_rw -d /dev/spidev0.1-s 100000000 -OH -m 1 -S 1048576 -c 100

wKgZomXBk1GAOLtuAAASrpPikPM450.png

圖17

根據官方數據手冊(如下圖),SPI總線通信時鐘頻率理論值最大為100MHz。本次測試設置SPI總線通信時鐘頻率為最大值100MHz,則SPI單線模式理論速率為:(100000000 / 1024 / 1024 / 8)MB/s ≈ 11.92MB/s。從上圖可知,在100MHz下實測SPI單線模式寫速率為:11.331MB/s,SPI單線模式讀速率為:11.331MB/s,接近理論通信速率。

wKgZomXBk1eAQfEHAAGz6MRvHvc680.png

圖18


本次測試SPI使用了DMA傳輸,測得CPU的占用率約為1%,如下圖所示。

wKgZomXBk1-AFJPEAABdt3bZ110945.png

圖19

2SPI雙線模式


2.1功能測試


執行如下命令運行程序,ARM通過SPI總線寫入1KByte隨機數據至FPGA DRAM,然后讀出數據、進行數據校驗,同時打印SPI總線讀寫速率和誤碼率,如下圖所示。


Target#./spi_rw -d /dev/spidev0.1-s 50000000 -OH -m 2 -S 1024-c 1


參數解析:

-d:設備節點;

-s:設置通信時鐘頻率(Hz),本次測試設置SPI總線通信時鐘頻率為50MHz,則SPI雙線模式理論通信速率為:(50000000 / 1024 / 1024 / 4)MB/s ≈ 11.92MB/s;

-O:空閑狀態時,SCLK為高電平(CPOL=1);

-H:從第二個跳變沿開始采樣(CPHA=1);

-m:選擇模式傳輸模式(1表示單線模式,2表示雙線模式);

-S:設置傳輸數據大小,單位為Byte;

-c:循環傳輸數據包的次數。

wKgZomXBk2eALLSCAAAWqUBe1mE808.png

圖20


從上圖可知,本次實測寫速率為2.577MB/s,讀速率為5.222MB/s,誤碼率為0。


2.2性能測試


(1)基于50MHz時鐘頻率


執行如下命令運行程序,基于50MHz時鐘頻率、增大讀寫數據量測試SPI總線最高傳輸速率。ARM通過SPI總線寫入1MByte隨機數據至FPGA DRAM,然后讀出數據,不做數據檢驗,最后打印SPI總線讀寫速率和誤碼率,最終本次實測寫速率為5.892MB/s,讀速率為11.365MB/s。如下圖所示。


備注:本案例設計一次讀寫1KByte隨機數據至FPGA DRAM,因此誤碼率較高。


Target#./spi_rw -d /dev/spidev0.1-s 50000000 -OH -m 2-S 1048576 -c 1

wKgZomXBk3CABcrpAAAaIr2i0Uc822.png

圖21


本次測試設置SPI總線通信時鐘頻率為50MHz,則SPI單線模式理論通信速率為:(50000000/1024/1024/8)MB/s ≈ 5.96MB/s;SPI雙線模式理論通信速率為:(50000000 / 1024 / 1024 / 4)MB/s ≈ 11.92MB/s。


本次測試SPI使用了DMA傳輸,測得CPU的占用率約為0%,如下圖所示。

wKgZomXBk3qATJCHAABaAwqyFKs936.png

圖22

(2)基于100MHz時鐘頻率


執行如下命令運行程序,測試基于100MHz時鐘頻率的SPI雙線模式的最高通信帶寬。ARM通過SPI總線寫入1MByte隨機數據至FPGA DRAM并讀出數據,不做數據檢驗,最后打印SPI總線讀寫速率和誤碼率,最終在100MHz下實測SPI雙線模式寫速率為:11.684MB/s,SPI雙線模式讀速率為:23.432MB/s。如下圖所示。


備注:本次測試旨在測試SPI的最高傳輸速率,目前SPI速率最大支持50MHz時鐘頻率,當時鐘頻率配置到最大100MHz時速率會出現時序問題,現象是整體往右移了1bit。例如發送10000000,實際接收到01000000,并在測試中出現誤碼。


Target#./spi_rw -d /dev/spidev0.1-s 100000000 -OH -m 2-S 1048576 -c 100

wKgaomXBk4aADFQsAAAYcdWmpkA968.png

圖23

根據官方數據手冊(如下圖),SPI總線通信時鐘頻率理論值最大為100MHz。本次測試設置SPI總線通信時鐘頻率為最大值100MHz,則SPI單線模式理論通信速率為:(100000000/1024/1024/8)MB/s ≈ 11.92MB/s;SPI雙線模式理論速率為:(100000000 / 1024 / 1024 / 4)MB/s ≈ 23.84MB/s。

wKgZomXBk1eAQfEHAAGz6MRvHvc680.png

圖24


本次測試SPI使用了DMA傳輸,測得CPU的占用率約為0%,如下圖所示。

wKgZomXBk5SAYGJbAABcSnO8WjA913.png

圖25


基于Linux-RT的SPI通信案例


案例功能:基于Linux-RT實時系統,演示T3(ARM Cortex-A7)與FPGA之間的SPI通信功能。本案例通信數據量少、帶寬低,但實時性高,適用于對通信帶寬要求不高,但通信實時性有嚴格要求的工控場合。


ARM端案例源碼為“4-軟件資料Demomodule-demosrt_spi_rw”,實現SPI Master功能,具體如下:

(1)打開SPI設備節點。如:/dev/spidev0.1。

(2)使用ioctl配置SPI總線。如SPI總線極性和相位、通信速率、數據字長度等。

(3)創建實時線程。

(4)發送數據至SPI總線,以及從SPI總線讀取數據。

(5)打印發送、接收的速率和傳輸耗時。

校驗數據,然后打印讀寫速率、誤碼率。


FPGA端案例源碼為“4-軟件資料Demofpga-demosdram_spi”,實現SPI Slave功能,具體如下:(1)將SPI Master發送的數據保存至DRAM。SPI Master發起讀數據時,FPGA從DRAM讀取數據并通過SPI總線傳輸至SPI Master。

wKgaomXBk5-AF8WbAAAnDa95lAA176.png

圖26

ARM端程序流程圖

案例測試:由于我司默認使用是的Linux內核,因此需參考Linux系統使用手冊文檔中的“替換內核、內核模塊”章節將Linux系統啟動卡替換為Linux-RT系統。


評估板上電,請先加載運行FPGA端可執行程序。將ARM端可執行文件rt_spi_rw拷貝至評估板文件系統任意目錄下,執行如下命令,查看新生成的spidev設備節點。


Target#ls /dev/spidev0.1

wKgaomXBk6WASGU-AAAGR1MDRRI699.png

圖27


執行如下命令,查詢程序命令參數。


Target#./rt_spi_rw -h


wKgZomXBk6qAQFSRAAAqLm5G23w557.png

圖28


1非輪詢方式


執行如下命令運行程序,ARM通過SPI總線寫入隨機數據至FPGA DRAM,然后讀出數據、進行數據校驗,同時打印SPI總線讀寫速率、傳輸耗時和誤碼率,最終實測最小耗時為44us,最大耗時為167us,平均耗時為48us;寫速率為0.076MB/s,讀速率為0.076MB/s,誤碼率為0。如下圖所示。


Target#./rt_spi_rw -d /dev/spidev0.1 -s 50000000 -OH -S 4 -c 1024


參數解析:

-d:設備節點;

-s:設置通信時鐘頻率(Hz),本次測試設置SPI總線通信時鐘頻率為50MHz,則理論通信速率為:(50000000 / 1024 / 1024 / 8)MB/s ≈ 5.96MB/s;

-O:空閑狀態時,SCLK為高電平(CPOL=1);

-H:從第二個跳變沿開始采樣(CPHA=1);

-S:設置傳輸數據大小,單位為Byte;

-c:循環傳輸數據包的次數。

wKgaomXBk7GAOAZFAAAWyIQz500218.png

圖29


2輪詢方式


執行如下命令運行程序,ARM通過SPI總線寫入4Byte隨機數據至FPGA DRAM,讀出數據、進行數據校驗,同時打印SPI總線讀寫速率、傳輸耗時和誤碼率,最終實測最小耗時為27us,最大耗時為152us,平均耗時為30us;寫速率為0.118MB/s,讀速率為0.118MB/s,誤碼率為0。如下圖所示。


Target#./rt_spi_rw -d /dev/spidev0.1-s 50000000 -OHp -S 4 -c 1024


參數解析:

-d:設備節點;

-s:設置通信時鐘頻率(Hz),本次測試設置SPI總線通信時鐘頻率為50MHz,則理論通信速率為:(50000000 / 1024 / 1024 / 8)MB/s ≈ 5.96MB/s;

-O:空閑狀態時,SCLK為高電平(CPOL=1);

-H:從第二個跳變沿開始采樣(CPHA=1);

-p:SPI發送端采用輪詢方式(每次發送數據量≤64Byte);

-S:設置傳輸數據大小,單位為Byte;

-c:循環傳輸數據包的次數。

wKgZomXBk7qAVYiwAAAX8JCo158026.png

圖30


審核編輯 黃宇


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

    關注

    1608

    文章

    21367

    瀏覽量

    594653
  • 芯片
    +關注

    關注

    447

    文章

    48292

    瀏覽量

    411460
  • 寄存器
    +關注

    關注

    30

    文章

    5164

    瀏覽量

    118134
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1625

    瀏覽量

    89880
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    121127
收藏 人收藏

    評論

    相關推薦

    實測52.4MB/s!全志T3+FPGA的CSI通信案例分享!

    支持4路顯示、GPU以及1080P H.264視頻硬件編解碼。另外,創龍科技已在T3平臺適配國產嵌入式系統翼輝SylixOS,真正實現軟硬件國產化。 國產ARM +
    發表于 04-18 10:53

    請問STM32F103 I2C通信SPI通信哪種方式更穩定?

    STM32F103這顆料I2C通信SPI通信哪種方式更穩定?
    發表于 03-22 06:24

    如何通過I2C總線上的uProcessor或FPGA與芯片通信?

    如何通過 I2C 總線上的 uProcessor 或 FPGA 與芯片通信
    發表于 02-26 07:25

    造成FX3 I2C延遲的原因?

    我使用 FX3 的 GPIF2 功能從 FPGA 接收大量數據,然后使用批量路徑通過 USB 將這些數據傳輸到 PC。 在 USB 批量傳輸期間,當使用 FX3
    發表于 02-23 06:39

    請問哪些PSoC 4000設備支持I2C、SPI和UART?

    哪些 PSoC 4 設備支持 I2C、SPI 和 UART? 使用 PSoC Creator 中的設備選擇器會顯示所有 PSoC 4000 設備都有通信塊。設備選擇器并未說明這些通信
    發表于 01-31 07:31

    使用兩片ADU360進行I2C通信,當與從機進行通信時,從機無法進入I2C中斷是為什么?

    問題說明:使用兩片ADU360進行I2C通信,主機使用IO口模擬方式,從機使用內部外設 主機IO口模擬方式,確認是可行,當與從機進行通信時,從機無法進入I2C中斷 以下為
    發表于 01-15 06:47

    全志T113i全國產核心板上市

    超低價、超靈活、超全能!飛凌嵌入式FET113i-S全國產核心板正式發布!整板采用100%國產工業級元器件,含稅價最低僅需88元! FET113i-S核心板基于全志
    發表于 11-20 16:32

    UART、SPI、I2C比較 串口通信介紹

    UART、SPI、I2C比較 I2C線更少,比UART、SPI更為強大,但是技術上也更加麻煩些,因為I2C需要有雙向IO的支持,而且使用上拉
    的頭像 發表于 11-09 18:06 ?831次閱讀
    UART、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>比較 串口<b class='flag-5'>通信</b>介紹

    終于搞清了:SPI、UART、I2C通信的區別與應用!

    電子設備之間的通信就像人類之間的交流,雙方都需要說相同的語言。在電子產品中,這些語言稱為通信協議。 之前有單獨地分享了SPI、UART、I2C通信
    發表于 10-07 17:01

    時鐘延展導致I2C通信不可靠的解決方案

    該問題由某客戶提出,發生在 STM32F103R8T6 器件上。據其工程師講述:其產品中設計中,STM32 與一顆 MPEG 解碼芯片通過 I2C 接口通信。其中,STM32 為 SLAVE 節點
    發表于 09-08 06:58

    全面掌握面試必考題I2C協議 - 第12節

    I2C協議
    充八萬
    發布于 :2023年09月01日 19:07:43

    80 第23.1講 I2C實驗-I2C協議和6U的I2C控制器詳解 - 第3節 #硬聲創作季

    程序代碼I2C協議
    充八萬
    發布于 :2023年08月17日 10:04:23

    80 第23.1講 I2C實驗-I2C協議和6U的I2C控制器詳解 - 第2

    程序代碼I2C協議
    充八萬
    發布于 :2023年08月17日 10:03:33

    基于 FPGA 的模擬 I2C協議系統設計

    今天給大俠帶來基于FPGA的 模擬 I2C 協議設計,由于篇幅較長,分三篇。今天帶來第一篇,上篇, I2C 總線解析以及模擬 I2C 接口程序的基本框架。話不多說,上貨。 這里也給出后
    發表于 08-14 18:21

    I2C通信影響串口中斷怎么解決?

    使用新唐ML51PCOAE的硬件i2c通信時(發送起始位用語句set_I2C0CON_STA; ),影響串口中斷,請高手指導一下。
    發表于 06-19 06:30
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>