国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

先楫單片機使用SPI驅動網絡接口芯片W5xxx(wiznet)

先楫半導體HPMicro ? 2023-11-01 08:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

本文應用主要是使用SPI驅動wiznet的網絡接口芯片W5xxx,根據wiznet提供的ioLibrary_Driver庫支持W5100、W5100S、W5200、W5300、W5500。主要從以下幾點進行說明:

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

ioLibrary_Driver的底層讀寫相關操作接口注冊對接。

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

本文不做wiznet芯片相關寄存器闡述,只簡單闡述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構建,所以在移植的過程中,建議使用cmake框架加入開源項目。本文以對接wiznet的ioLibrary_Driver作為例子供開發者相關參考。

wiznet的ioLibrary_Driver倉庫地址:

https://github.com/Wiznet/ioLibrary_Driver

里面包含了w5xxx的驅動程序以及應用程序協議,使用該庫基本可以很快能對接好相應的功能實現。

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

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

1、芯片讀寫操作層加入

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

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

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

2、Ethernet文件加入

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

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

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

3、APP加入ioLibrary_Driver相關文件。

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

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

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

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

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

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

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

可以看到ioLibrary_Drivers對應的目錄和文件都已經添加到SES。

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

如此編譯也Ok

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


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

在ioLibrary_Drivers的config上,需要接口注冊的主要是臨界區、CS片選操作、單字節收發、塊收發傳輸接口。在該庫中也有對應的注冊接口wizchip_conf.h中。

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

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

1、臨界區注冊

這里臨界主要做全局中斷的使能和禁止,可根據自身應用添加

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

2、CS片選信號操作注冊

在這里為了避免CS拉低后存在較高的間隔,實際的拉低在actual_cs_sel API操作,就是在開啟SPI傳輸的時候調用,具體請詳見 玩轉先楫SPI外設系列 文章,這里不做闡述說明。

cs操作接口使用sdk對應的board的cs操作API,可自行根據應用更改。

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

3、讀寫單字節操作注冊

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

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

4、塊讀寫傳輸操作注冊

DMA相關的操作請詳見 玩轉先楫SPI外設系列 文章,這里同樣不做闡述說明。

5、注冊相關操作接口

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


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

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

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

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

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

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

在本文所實現的例子實現中,可通過cmakelists開啟或者關閉DHCP,或者開啟和關閉tcp iperf測試。默認都是開啟。

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

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

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

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

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

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

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


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

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

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

三、總結

在ioLibrary_Driver庫下,hpm的SPI驅動W5500的網絡性能可以達到17Mbps,與wiznet官方的15Mbps保持一致。


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


對于HPM6200,HPM5300等先楫通用MCU沒有以太網接口,但是有實際以太網需求或者方案平替,可以選擇SPI驅動相關的芯片網絡接口。

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

    關注

    463

    文章

    54007

    瀏覽量

    465949
  • 單片機
    +關注

    關注

    6076

    文章

    45494

    瀏覽量

    670272
  • 網絡
    +關注

    關注

    14

    文章

    8264

    瀏覽量

    94710
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1885

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    重磅更新 | 半導體HPM_APPS v1.10.1發布

    重磅更新 | 半導體HPM_APPS v1.10.1發布
    的頭像 發表于 12-26 08:33 ?860次閱讀
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體HPM_APPS v1.10.1發布

    廣州唯創電子單片機語音芯片:智能設備的聲音靈魂與技術核心

    一、揭開單片機語音芯片的神秘面紗1.從基礎概念認識核心技術在智能化設備普及的今天,單片機語音芯片已成為人機交互的重要橋梁。要理解這一技術,首先需要明確其兩大核心組成部分:
    的頭像 發表于 11-25 09:07 ?798次閱讀
    廣州唯創電子<b class='flag-5'>單片機</b>語音<b class='flag-5'>芯片</b>:智能設備的聲音靈魂與技術核心

    國產芯片賦能機器人創新 | 半導體亮相ROSCon China 2025

    機器人技術前沿趨勢與實踐突破。上海半導體科技有限公司(半導體,HPMicro)作為機器人領域國產核心芯片及嵌入式解決方案提供商,攜其
    的頭像 發表于 11-03 12:07 ?1039次閱讀
    國產<b class='flag-5'>芯片</b>賦能機器人創新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體亮相ROSCon China 2025

    半導體完成B+輪融資,中移和創投資加持

    創投集團與張江科投、張科垚坤、元禾控股和雷賽智能等知名機構和上市公司。企業表示本輪融資將重點投向機器人應用領域的芯片研發及解決方案的規模化應用,積極投入機器人
    的頭像 發表于 09-11 08:32 ?1441次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體完成B+輪融資,中移和創投資加持

    半導體獲浦東產業基金戰略投資,深入布局機器人賽道創“芯”領域

    2025年9月5日,上海浦東新區|國產高性能微控制器產品及嵌入式解決方案提供商“上海半導體科技有限公司”(半導體,HPMicro)宣
    的頭像 發表于 09-05 08:33 ?2114次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體獲浦東產業基金戰略投資,深入布局機器人賽道創“芯”領域

    單片機怎么驅動電機?

    在各類自動化設備和智能裝置中,電機是重要的執行部件,而單片機作為控制核心,需要通過特定的方式驅動電機運轉。單片機驅動電機并非直接連接即可,而是要根據電機類型和功率,搭配合適的
    的頭像 發表于 07-25 09:31 ?895次閱讀

    單片機和伺服有什么區別

    : 1. 定義與功能 特性 單片機(Microcontroller) 伺服系統(Servo System) 定義 一種集成CPU、內存、I/O接口的微型計算機芯片,用于控制設備。 一種由伺服電機、編碼器
    的頭像 發表于 05-26 09:18 ?849次閱讀

    國產“HPM芯”賦能機器人關節,半導體亮相松山湖IC創新論壇

    。高性能微控制器產品及嵌入式解決方案提供商“上海半導體科技有限公司”(半導體,HPMicro)受邀參會,設立專題展臺并進行了主題為《
    的頭像 發表于 05-14 15:53 ?1421次閱讀
    國產“HPM芯”賦能機器人關節,<b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體亮相松山湖IC創新論壇

    半導體HPM6E8Y:實時控制芯片驅動的機器人關節“芯”時代

    及產品總監費振東帶來了一款實時控制芯片驅動——HPM6E8Y。 ? ? 據費振東介紹,半導體HPM6E8Y系列高性能MCU芯片為機器人關
    發表于 05-13 11:50 ?1797次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體HPM6E8Y:<b class='flag-5'>先</b><b class='flag-5'>楫</b>實時控制<b class='flag-5'>芯片</b><b class='flag-5'>驅動</b>的機器人關節“芯”時代

    重磅更新 | 半導體HPM_APPS v1.9.0發布

    重磅更新 | 半導體HPM_APPS v1.9.0發布
    的頭像 發表于 05-13 11:29 ?1784次閱讀
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體HPM_APPS v1.9.0發布

    即刻啟程,踏上W55MH32高性能以太網單片機學習之路!

    即刻啟程,踏上W55MH32高性能以太網單片機學習之路!即刻開啟W55MH32學習之旅!本教系列程配套官方手冊與W55MH32L開發板,從外設功能框圖解析到代碼實操,助你掌握高性能以太
    的頭像 發表于 05-07 18:51 ?1230次閱讀
    即刻啟程,踏上<b class='flag-5'>W</b>55MH32高性能以太網<b class='flag-5'>單片機</b>學習之路!

    WIZnet高性能以太網單片機W55MH32重磅發布!

    WIZnet高性能以太網單片機W55MH32重磅發布!本文詳細解析了W55MH32芯片的高性能網絡
    的頭像 發表于 05-07 16:17 ?1583次閱讀
    <b class='flag-5'>WIZnet</b>高性能以太網<b class='flag-5'>單片機</b><b class='flag-5'>W</b>55MH32重磅發布!

    【強勢上新】HPM5E00:EtherCAT運動控制MCU,半導體再拓工業總線產品新版圖

    2025年5月6日上海|高性能微控制器及嵌入式解決方案提供商“上海半導體科技有限公司”(半導體,HPMicro)正式發布新一代Eth
    的頭像 發表于 05-06 11:09 ?1328次閱讀
    【強勢上新】HPM<b class='flag-5'>5</b>E00:EtherCAT運動控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b>半導體再拓工業總線產品新版圖

    STM32F10xxx單片機編程手冊

    電子發燒友網站提供《STM32F10xxx單片機編程手冊.pdf》資料免費下載
    發表于 04-14 14:56 ?17次下載

    STC15W4K32S4單片機原理圖

    STC15W4K32S4 單片機原理圖
    發表于 04-10 17:51 ?32次下載