在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

先楫單片機使用SPI驅(qū)動網(wǎng)絡(luò)接口芯片W5xxx(wiznet)

先楫半導(dǎo)體HPMicro ? 2023-11-01 08:18 ? 次閱讀

一、概述

本文應(yīng)用主要是使用SPI驅(qū)動wiznet網(wǎng)絡(luò)接口芯片W5xxx,根據(jù)wiznet提供的ioLibrary_Driver庫支持W5100、W5100S、W5200、W5300、W5500。主要從以下幾點進行說明:

使用hpm_sdk的cmake框架對接wiznet的ioLibrary_Driver。

ioLibrary_Driver的底層讀寫相關(guān)操作接口注冊對接。

以ioLibrary_Driver庫測試wiznet的速率性能。

本文不做wiznet芯片相關(guān)寄存器闡述,只簡單闡述W5xxx的通信機制。

本文以W5500作為本文測試芯片。

本文例子倉庫分支地址:

https://github.com/RCSN/hpm_sdk_extra/tree/feature/add_spi_drive_wizchip_w5xxx_sample/spi_drive_wizchip_w5xxx


265194e4-784c-11ee-9788-92fbcf53809c.png

二、流程


(一)使用hpm_sdk的cmake框架對接wiznet的ioLibrary_Driver

在一些開源項目上,可能并沒有使用cmake來進行搭建,而hpm_sdk基于cmake構(gòu)建,所以在移植的過程中,建議使用cmake框架加入開源項目。本文以對接wiznet的ioLibrary_Driver作為例子供開發(fā)者相關(guān)參考。

wiznet的ioLibrary_Driver倉庫地址:

https://github.com/Wiznet/ioLibrary_Driver

里面包含了w5xxx的驅(qū)動程序以及應(yīng)用程序協(xié)議,使用該庫基本可以很快能對接好相應(yīng)的功能實現(xiàn)。

需要關(guān)心的是Ethernet文件夾,里面包含了如W5500,W5300,W5200,W5100,W5100S的讀寫相關(guān)中間層,還提供了socket應(yīng)用層操作接口。

265bbd0c-784c-11ee-9788-92fbcf53809c.png

1、芯片讀寫操作層加入

在此庫中,僅支持一款w5xxx,所以添加到工程,也只能是一個芯片讀寫操作的文件夾。在每個芯片上加入cmakelists文件,把對應(yīng)的頭文件包含以及添加對應(yīng)的C文件。

如以下:比如W5100文件夾,使用sdk_inc和sdk_src命令,把該文件下的所需的文件進行添加以及包含該文件夾的頭文件。

26663494-784c-11ee-9788-92fbcf53809c.png

2、Ethernet文件加入

外層想使用文件夾的時候,可以通過set一個參數(shù)來判斷對應(yīng)的芯片操作選擇,然后再添加ethernet內(nèi)部的socket.c和config.c文件。

通過CONFIG_WIZNET參數(shù)來進行對不同芯片加入篩選,以及加入兩個宏定義,一個是給config表示目前使用的是哪個芯片,一個是讓app知道引用的是哪個頭文件。

267a5848-784c-11ee-9788-92fbcf53809c.png

3、APP加入ioLibrary_Driver相關(guān)文件。

在本文中,使用的芯片是W5500,需要用到DHCP和ioLibrary_Driver里面application的loopback的tcp client接口,那么在app的camkelist可以做以下操作:

(1)set(CONFIG_WIZNET "w5500") 設(shè)置CONFIG_WIZNET為w5500,這樣cmake到ioLibrary_Driver索引時候只添加w5500這個文件夾。

(2)add_subdirectory(ioLibrary_Driver) 加入ioLibrary_Driver文件目錄

(3)sdk_app_src sdk_inc 加入ioLibrary_Driver需要的相關(guān)文件和頭文件

2689c3f0-784c-11ee-9788-92fbcf53809c.png

4、使用sdk_env的start_gui生成工程或者使用命令行生成都可以。這里使用start_gui

2695932e-784c-11ee-9788-92fbcf53809c.png

可以看到ioLibrary_Drivers對應(yīng)的目錄和文件都已經(jīng)添加到SES。

26a7236e-784c-11ee-9788-92fbcf53809c.png

如此編譯也Ok

26b2a9fa-784c-11ee-9788-92fbcf53809c.png


(二)ioLibrary_Driver的底層讀寫相關(guān)操作接口注冊對接

在ioLibrary_Drivers的config上,需要接口注冊的主要是臨界區(qū)、CS片選操作、單字節(jié)收發(fā)、塊收發(fā)傳輸接口。在該庫中也有對應(yīng)的注冊接口wizchip_conf.h中。

26c2e752-784c-11ee-9788-92fbcf53809c.png

26cd3b4e-784c-11ee-9788-92fbcf53809c.png

1、臨界區(qū)注冊

這里臨界主要做全局中斷的使能和禁止,可根據(jù)自身應(yīng)用添加

26d889e0-784c-11ee-9788-92fbcf53809c.png

2、CS片選信號操作注冊

在這里為了避免CS拉低后存在較高的間隔,實際的拉低在actual_cs_sel API操作,就是在開啟SPI傳輸?shù)臅r候調(diào)用,具體請詳見 玩轉(zhuǎn)先楫SPI外設(shè)系列 文章,這里不做闡述說明。

cs操作接口使用sdk對應(yīng)的board的cs操作API,可自行根據(jù)應(yīng)用更改。

26e34808-784c-11ee-9788-92fbcf53809c.png

3、讀寫單字節(jié)操作注冊

需要注意的是,這里為了方便快速操作,比如在讀接口SPI設(shè)置為只讀,然后設(shè)置傳輸長度,復(fù)位FIFO,開啟傳輸,等待數(shù)據(jù)接收完成后讀取數(shù)據(jù)。寫接口也是如此。具體請詳見 玩轉(zhuǎn)先楫SPI外設(shè)系列 文章,這里同樣不做闡述說明。

26ed7f94-784c-11ee-9788-92fbcf53809c.png

4、塊讀寫傳輸操作注冊

DMA相關(guān)的操作請詳見 玩轉(zhuǎn)先楫SPI外設(shè)系列 文章,這里同樣不做闡述說明。

5、注冊相關(guān)操作接口

2703338e-784c-11ee-9788-92fbcf53809c.png


(三)以ioLibrary_Driver庫測試wiznet的速率性能。

W5500官方手冊中,雖然可以支持到80M的SPI SCLK,但官方的建議是33.3M推薦頻率,再高的頻率會出現(xiàn)些許采樣問題,在實際測試的過程中也是如此,hpm_sdk的Board.h默認(rèn)為20M,本文SLCK的頻率調(diào)整為30M左右測試。

在性能上,wiznet官方也出了W5500對應(yīng)的MAX速率為15Mbps。如果需要更高的可以選擇W5100/s

27105ec4-784c-11ee-9788-92fbcf53809c.png

271eaf42-784c-11ee-9788-92fbcf53809c.png

2733fa8c-784c-11ee-9788-92fbcf53809c.png

在本文所實現(xiàn)的例子實現(xiàn)中,可通過cmakelists開啟或者關(guān)閉DHCP,或者開啟和關(guān)閉tcp iperf測試。默認(rèn)都是開啟。

273ee1e0-784c-11ee-9788-92fbcf53809c.png

如果想靜態(tài)IP分配,那么直接在main.c中更改load_net_parameters API里面的ip值即可。

2756005a-784c-11ee-9788-92fbcf53809c.png

這里iperf測試主要測試W5500作為Tcp client的發(fā)送性能。在SPI SCLK 30M下,可以達到17Mbps速度性能,與wiznet官方提供的15Mbsps速率相當(dāng),滿足性能需求。

27620d6e-784c-11ee-9788-92fbcf53809c.png

276d6830-784c-11ee-9788-92fbcf53809c.png

目前ioLibrary_Driver庫性能還能繼續(xù)提升,比如修改socket的send和recv實現(xiàn)邏輯,減少查詢和等待;中間層少數(shù)據(jù)收發(fā)再次封裝等等。


在邏輯分析儀下,socket的發(fā)送接口send,在實際發(fā)送前,會查詢以及等待相關(guān)網(wǎng)絡(luò)狀態(tài)寄存器,占用了不少時間。wiznet提供的15mbps只有理論的一半性能也是這個時間所消耗引起

27852790-784c-11ee-9788-92fbcf53809c.png

27905f70-784c-11ee-9788-92fbcf53809c.png

三、總結(jié)

在ioLibrary_Driver庫下,hpm的SPI驅(qū)動W5500的網(wǎng)絡(luò)性能可以達到17Mbps,與wiznet官方的15Mbps保持一致。


如果需要提高性能,可以選擇wetne其他芯片。或者自身優(yōu)化wiznet的ioLibrary_Driver庫。比如socket的發(fā)送send邏輯。


對于HPM6200,HPM5300等先楫通用MCU沒有以太網(wǎng)接口,但是有實際以太網(wǎng)需求或者方案平替,可以選擇SPI驅(qū)動相關(guān)的芯片網(wǎng)絡(luò)接口。

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

    關(guān)注

    455

    文章

    50816

    瀏覽量

    423613
  • 單片機
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635299
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7565

    瀏覽量

    88788
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1706

    瀏覽量

    91581
收藏 人收藏

    評論

    相關(guān)推薦

    單片機語音芯片中的SPI Flash探秘及其分類詳解

    單片機語音芯片的領(lǐng)域中,SPIflash,即串行外圍設(shè)備接口閃存,扮演著舉足輕重的角色。它是一種時鐘同步的串行通訊接口,如單片機語音
    的頭像 發(fā)表于 12-03 01:01 ?195次閱讀
    <b class='flag-5'>單片機</b>語音<b class='flag-5'>芯片</b>中的<b class='flag-5'>SPI</b> Flash探秘及其分類詳解

    單片機語音芯片中的SPI Flash探秘及其分類詳解

    SPIflash在單片機語音芯片中重要,分NandFlash、NorFlash、AG-ANDFlash。NorFlash有SPIFlash和CFIFlash,以不同接口操作。NandFlash技術(shù)多樣,SLC、MLC、Mirro
    的頭像 發(fā)表于 11-28 14:21 ?275次閱讀

    單片機怎么寫入程序

    單片機(Microcontroller Unit,MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等功能集成在一個芯片上。單片
    的頭像 發(fā)表于 10-21 11:21 ?469次閱讀

    使用wiznet+w5500,打印顯示spi與5500通訊成功,但是shell無法輸入,為什么?

    使用wiznet+w5500,打印顯示spi與5500通訊成功,但是shell無法輸入,插拔網(wǎng)線能顯示link up或者down, main函數(shù)的循環(huán)打印也可以顯示,請問會是什么原因呢~~
    發(fā)表于 09-26 07:09

    51單片機驅(qū)動

    電子發(fā)燒友網(wǎng)站提供《51單片機驅(qū)動.exe》資料免費下載
    發(fā)表于 09-20 11:46 ?5次下載

    單片機SPI通信實現(xiàn)

    在深入探討單片機(如基于STM32、AVR、PIC等)如何通過SPI(Serial Peripheral Interface)進行通信之前,我們概述SPI通信的基本原理,隨后以STM
    的頭像 發(fā)表于 09-09 17:00 ?514次閱讀

    HPM6E00技術(shù)日 | 百人研討共話工業(yè)應(yīng)用創(chuàng)新及發(fā)展趨勢

    豐富的生態(tài)服務(wù)和解決方案。“ 緊接著,華南區(qū)銷售負(fù)責(zé)人、產(chǎn)品總監(jiān)和解決方案專家分別圍繞企業(yè)的發(fā)展概況、HPM6E00系列芯片的優(yōu)勢性能以及該產(chǎn)品在各領(lǐng)域的具體應(yīng)用案例,進行了詳盡的分享。這些內(nèi)容
    發(fā)表于 09-02 10:14

    戰(zhàn)略合作丨華秋商城攜手半導(dǎo)體,共創(chuàng)新篇

    2024年7月24日,上海半導(dǎo)體科技有限公司(半導(dǎo)體,HPMicro)正式授權(quán)深圳華秋電子有限公司代理商,授權(quán)產(chǎn)品為先半導(dǎo)體
    的頭像 發(fā)表于 08-30 12:05 ?591次閱讀
    戰(zhàn)略合作丨華秋商城攜手<b class='flag-5'>先</b><b class='flag-5'>楫</b>半導(dǎo)體,共創(chuàng)新篇

    51單片機(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4參考代碼(v1.3) 硬件SPI方式驅(qū)動大屏顯示

    )_RA8889_HW_SPI4參考代碼(v1.3) 硬件SPI方式驅(qū)動大屏顯示 單片機實際不限,這里采用的STC最新、主推的型號,比如STC8H8K64U、STC8051U34K64
    發(fā)表于 07-17 11:15

    有獎提問!半導(dǎo)體HPM6E00系列新品發(fā)布會!!

    ,推出了集高性能運動控制和高實時性網(wǎng)絡(luò)互聯(lián)于一體的HPM6E00系列微控制器產(chǎn)品,同時分享使用這一系列芯片開發(fā)的運動控制器、驅(qū)動器和傳感器等方案,滿足業(yè)界對拓展工業(yè)自動化和各類型機器人平臺的需求,打造
    發(fā)表于 06-20 11:45

    技術(shù)賦能,攜手共創(chuàng)未來:半導(dǎo)體成功舉辦2024 DFAE培訓(xùn)活動

    2024年5月,半導(dǎo)體HPMicroDFAE(DistributorFieldApplicationEngineer)Level-1培訓(xùn)活動正式收官。本次培訓(xùn)在上海、深圳兩地展開,采用“現(xiàn)場授課
    的頭像 發(fā)表于 05-31 08:17 ?635次閱讀
    技術(shù)賦能,攜手共創(chuàng)未來:<b class='flag-5'>先</b><b class='flag-5'>楫</b>半導(dǎo)體成功舉辦2024 DFAE培訓(xùn)活動

    聚焦工業(yè)多場景應(yīng)用,發(fā)展勢頭銳不可當(dāng)

    位技術(shù)工程師、終端客戶及業(yè)內(nèi)專家學(xué)者的參與。現(xiàn)場氛圍異常活躍,大家圍繞著芯片產(chǎn)品及應(yīng)用進行交流,各種觀點和思想在這里交匯碰撞,激發(fā)出無限的創(chuàng)新火花。研討會上,
    的頭像 發(fā)表于 04-29 08:17 ?440次閱讀
    聚焦工業(yè)多場景應(yīng)用,<b class='flag-5'>先</b><b class='flag-5'>楫</b>發(fā)展勢頭銳不可當(dāng)

    6880如何實現(xiàn)bootload + APP應(yīng)用跳轉(zhuǎn)

    一。bootload + app程序跳轉(zhuǎn)過程講解 1.6880cpu內(nèi)核的啟動流程,目前是支持兩種方式: (1).flash啟動。 (2).emmc啟動。 由于芯片內(nèi)部固化的192K的rom程序
    發(fā)表于 04-26 16:03

    高性能MCU HPM6800系列產(chǎn)品生態(tài)綻放,共鏈未來

    2024年3月28日,上海 - 國產(chǎn)高性能微控制器廠商上海半導(dǎo)體科技有限公司(半導(dǎo)體,HPMicro)攜手生態(tài)合作伙伴芯原、立功科技、順微電子和科宇盛達,于上海浦東成功舉辦《
    的頭像 發(fā)表于 03-29 18:21 ?1066次閱讀

    半導(dǎo)體上海辦公室喬遷大吉

    2024年2月21日,上海-國產(chǎn)高性能微控制器廠商上海半導(dǎo)體科技有限公司(半導(dǎo)體,HPMicro)正式宣布喬遷到新的辦公地點——上海浦東新區(qū)博霞路57號I座1樓。隨著
    的頭像 發(fā)表于 02-22 08:16 ?620次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導(dǎo)體上海辦公室喬遷大吉
    主站蜘蛛池模板: 欧美交片| 国产精品久久久久久久久齐齐 | 色在线免费观看| 深夜福利欧美| 亚洲人成电影综合网站色| 色aaa| 韩国三级理论在线看中文字幕| 999毛片| 精品久久看| 一女被多男玩很肉很黄文 | 亚洲欧美国产高清va在线播放| 欧美日韩不卡码一区二区三区| 高清国产下药迷倒美女| 失禁h啪肉尿出来高h受| 狂野欧美性猛交xxxx免费| 一区二区三区四区精品| 女人被狂躁视频免费网站| 2018国产一级天天弄| 国产在线操| 国产精品一久久香蕉产线看| 毛片在线网站| 天天色天天干天天射| 看5xxaaa免费毛片| 色天使色护士| 成 人色 网 站 欧美大片在线观看 | 九月婷婷亚洲综合在线| 婷婷综合七月激情啪啪| 久久手机免费视频| 天天摸夜夜摸成人免费视频 | 一级片免费在线观看| 国产伦精品一区二区三区网站 | 天天爱夜夜爽| 亚洲色图片区| 日韩黄a级成人毛片| 夜夜爱夜夜爽夜夜做夜夜欢| 日本一区二区视频在线观看| 激情六月婷婷开心丁香开心| 狼人久草| 又潮又黄的叫床视频| 久久久久99精品成人片三人毛片| 国产自产视频在线观看香蕉|