精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

詳解STM32網絡之DMA控制器

網絡 網絡管理
DMA具有自主的發送和接收引擎,還有一個CSR(控制和狀態寄存器)空間。發送引擎將數據從系統存儲器傳送到 TxFIFO,而接收引擎將數據從Rx FIFO傳送到系統存儲器。

 [[380257]]

 STM32網絡控制器框圖如下:


前面的文章我們已經講解了:

①External PHY Intereface:《STM32網絡電路設計》

②MAC控制器:《STM32MAC控制器》

下面我們講解第③部分,STM32網絡的DMA控制器。

01DMA控制器操作

DMA具有自主的發送和接收引擎,還有一個CSR(控制和狀態寄存器)空間。發送引擎將數據從系統存儲器傳送到 TxFIFO,而接收引擎將數據從Rx FIFO傳送到系統存儲器。

控制器(也就是DMA)利用描述符有效的將數據從源地址移動到目的地,很小的CPU干預。DMA專為面向包的數據傳送(如以太網中的幀)而設計。

控制器可以編程去打斷CPU,例如完成幀發送和接收傳送操作時以及其它正常/錯誤條件下。

DMA和STM32F20x 和STM32F21x通過以下兩種數據結構進行通信:

  1. 控制和狀態寄存器 (CSR)
  2. 描述符列表和數據緩沖區。

DMA控制器發送接收到的數據幀到STM32F20x的接收緩存中和STM32F21x存儲器中,也可以發送數據幀從STM32F20x的存儲器的發送緩存,位于STM32F20x存儲器的描述符指向這些緩存。

這里有兩個描述符列表:一個用于接收,一個用于發送。

DMA描述符如下圖,左邊是環形結構,右邊是鏈式結構。


02DMA描述符

在ST提供的以太網驅動庫stm32f2x7_eth.c中使用是鏈接結構,鏈接結構如下:

 

描述符注意事項:

1、一個以太網數據包可以跨越一個或多個DMA描述符

2、一個DMA描述符只能用于一個以太網數據包

3、DMA描述符列表中的最后一個描述符指向第一個,形成鏈式結構!

描述符有分為增強描述符和常規描述符,我們只講常規描述符!因為我們的網絡例程只使用到了常規描述符。常規描述符和增強描述符的結構體成員變量不同。常規描述符只使用了描述符的前4個成員變量。

注意:這里說的描述符,沒有硬件結構,不是寄存器,它完全是純軟件的概念。

那么描述符怎么和硬件關聯的呢?

描述符的本質就是我們自己用結構體來實現這個描述符,然后將描述符的首地址寫入到【ETH_DMATDLAR】寄存器中,STM32就知道這片內存是用來作為發送描述符了。

常規描述符和增強描述符又有發送描述符和接收描述符兩種。

下圖是常規TxDMA描述符:

 

TDES0主要用來表示描述符的狀態和控制信息。

TDES1表示該描述符緩沖區數據的有效長度。

TDES2表示描述符緩沖區的地址,我們要發送的數據,就是放在這個地址所指向的內存中。

TDES3表示下一個描述符的地址。

 

發送過程:

1、當OWN位為0的時候,表示CPU可以將要發送的數據拷貝到描述符中,拷貝完成以后,我們手動將描述符的OWN位設置為1,以此來告訴DMA控制器,我已經拷貝完數據了,你可以從描述符中取出數據進行發送了。

2、這時候DMA就會取出描述符中的數據,將數據發送出去,DMA在操作完描述符以后,自動將OWN位設置為0,告訴CPU,我DMA已經發送完數據啦,你可以拷貝下一幀數據到描述符上了。

3、這個時候OWN為0了,重復步驟1

整個發送的過程就是這樣配合的。這樣DMA和CPU之間就不會搶占數據了。

DES 0中的位20 TCH:鏈接的第二個地址(Second address chained)

用來表示描述符中的第二個地址是用來保存下一個描述符地址還是第二個緩沖區的地址。

該位置1時,表示描述符中的第二個地址是下一個描述符地址,而非第二個緩沖區地址。也就是上ST使用的鏈式結構。

常規RxDMA描述符如下

 

常規RxDMA描述符中RDES1的bit14用來表示描述符中的第二個地址是用來保存一個描述符地址還是第二個緩沖區的地址。

描述符在代碼中的表現,在stm32f2x7_eth.h文件中。

  1. /**--------------------------------------------------------------------------**/ 
  2. /**  
  3.   * @brief                           DMA descriptors types 
  4.   */  
  5. /**--------------------------------------------------------------------------**/ 
  6.  
  7. /**  
  8.   * @brief  ETH DMA Descriptors data structure definition 
  9.   */  
  10. typedef struct  { 
  11.   __IO uint32_t   Status;                /*!< Status */ 
  12.   uint32_t   ControlBufferSize;     /*!< Control and Buffer1, Buffer2 lengths */ 
  13.   uint32_t   Buffer1Addr;           /*!< Buffer1 address pointer */ 
  14.   uint32_t   Buffer2NextDescAddr;   /*!< Buffer2 or next descriptor address pointer */ 
  15. /* Enhanced ETHERNET DMA PTP Descriptors */ 
  16. #ifdef USE_ENHANCED_DMA_DESCRIPTORS 
  17.   uint32_t   ExtendedStatus;        /* Extended status for PTP receive descriptor */ 
  18.   uint32_t   Reserved1;             /* Reserved */ 
  19.   uint32_t   TimeStampLow;          /* Time Stamp Low value for transmit and receive */ 
  20.   uint32_t   TimeStampHigh;         /* Time Stamp High value for transmit and receive */ 
  21. #endif /* USE_ENHANCED_DMA_DESCRIPTORS */ 
  22. } ETH_DMADESCTypeDef; 

03ST提供的庫中描述符

ST官方以太網庫stm32f2x7中使用鏈接結構的DMA描述符,那么在以太網描述符結構體ETH_DMADESCTypeDef中Buffer1Addr就是緩沖區的地址,Buffer2NextDescAddr就是下一個描述符的地址,

如下圖。

在stm32f2x7_eth.c中定義了兩個DMA描述符數組,一個用于DMA接收,一個用于DMA發送,如下:


接收和發送描述的大小通過宏ETH_RXBUFNB和ETH_TXBUFNB來定義,默認都為5。

我們知道以鏈接結構太網描述符的Buffer1Addr成員用來存放緩沖區地址,那么數據緩沖區在哪里?這個數據緩沖區也是定義為數組的,如下:

把他們聯系在一起的代碼,把描述符和緩沖區聯系起來,也就是下面的函數把描述符標構成鏈式結構。

在ethernetif.c的low_level_init函數中


解析如下

 

全局描述符指針,用來記錄當前使用的描述符


描述數據包的描述符(英文:用于保存最后一個接收的包描述符信息的結構。)


結構體


第一個表示數據包的第一個描述符,第二個表示數據包的最后一個描述符,第三個表示數據包描述符的個數。

最終的效果如下:


04FIFO

從STM32網絡控制器框圖中可以看到兩個2KB的FIFO,一個發送FIFO,一個接收FIFO。

發送FIFO

提供兩種FIFO數據模式用于幀傳輸

  1. 閾值模式:當達到閾值后,盡快傳輸數據。
  2. Store-and-Forward mode:FIFO中會存儲一個完整的幀結構。

STM32的發送FIFO采用Store-and-Forwardmode模式。


接收FIFO

接收FIFO采用Store-and-Forwardmode模式。

 

 

責任編輯:姜華 來源: 知曉編程
相關推薦

2021-01-20 09:51:25

STM32網絡接口

2021-02-05 08:41:44

STM32網絡中斷

2021-05-20 07:26:22

DMASTM32數據

2021-05-06 08:54:39

串口DMASTM32

2013-12-19 09:32:01

SDN南向網絡控制

2021-08-26 06:29:47

STM32DWT數據觀察點觸發

2013-02-27 09:50:48

網絡展望控制器SDN

2021-12-26 00:01:44

元宇宙SDN控制器

2011-07-12 09:29:10

主域控制器備份域控制器

2011-07-13 10:29:44

域控制器

2021-06-26 07:50:20

STM32串口開發環形緩沖區

2011-10-20 15:20:38

A10網絡公司應用交付

2021-02-26 08:46:46

PHY寄存器網絡

2009-06-18 15:23:49

緩存控制器模式Ajax模式

2011-07-13 13:43:30

2011-07-14 10:28:54

額外域控制器

2011-11-11 09:58:00

OpenFlowOpenFlow控制器

2023-06-20 09:38:13

2010-04-22 16:05:46

網絡負載均衡配置

2022-10-10 08:24:15

編程數據邏輯語句
點贊
收藏

51CTO技術棧公眾號

成人做爰视频网站| 91 在线视频观看| 男女av在线| 日韩和欧美的一区| 久久影视免费观看| 中文在线观看免费视频| 欧美黑人疯狂性受xxxxx野外| 国产三级欧美三级| 亚洲影影院av| 伦av综合一区| 欧美日韩国产精品一区二区亚洲| 亚洲精品少妇网址| 少妇黄色一级片| 50度灰在线| 久久综合九色综合久久久精品综合 | 国产精品99久久久久久久久| 成人信息集中地| 久9re热视频这里只有精品| 欧美中文字幕一二三区视频| 国产成人免费高清视频| 飘雪影视在线观看免费观看| 国产一区二区电影| 国产成人精品一区二区在线| 久久久精品人妻一区二区三区四| 精品国产1区| 亚洲白拍色综合图区| 天堂视频免费看| 日本免费一区二区三区四区| 亚洲综合无码一区二区| 一区二区三区四区不卡| 神马电影在线观看| 国产成人av资源| 国产精品视频一区二区三区四| 国产精品日日夜夜| 91精品国产乱码久久久久久久| 亚洲精品综合精品自拍| 精品国产aⅴ一区二区三区东京热| 成人国产精品一区二区免费麻豆| 天涯成人国产亚洲精品一区av| www亚洲国产| jizz在线观看中文| 91蝌蚪porny九色| 成人在线视频电影| 99视频国产精品免费观看a| 日韩不卡免费视频| 欧美与欧洲交xxxx免费观看| 中文字幕一区二区三区手机版| 欧美一区免费| 久热爱精品视频线路一| 黄色激情小视频| 国产一区二区三区电影在线观看 | 极品中文字幕一区| 久久国产色av| 希岛爱理中文字幕| 久久精品免费一区二区三区| 中文字幕日韩av电影| 日本xxxxxxxxx18| 国产一区三区在线播放| 精品无人国产偷自产在线| 中国免费黄色片| 动漫av一区| 亚洲国产精品一区二区久| 中文字幕天堂网| 精品女人视频| 日韩精品中文字幕久久臀| 黄色性生活一级片| 久久不卡国产精品一区二区 | 久久久久久国产精品无码| 日本欧美高清| 亚洲精选在线观看| www色com| 真实国产乱子伦精品一区二区三区| 视频直播国产精品| 成人免费毛片xxx| 综合视频在线| 午夜精品久久久久久久白皮肤| 亚洲国产精品成人无久久精品| 最新国产拍偷乱拍精品| 91禁国产网站| а中文在线天堂| 国产最新精品精品你懂的| 97久久精品午夜一区二区| 高潮毛片7777777毛片| 99re亚洲国产精品| 日韩片电影在线免费观看| 看黄网站在线| 亚洲高清在线视频| 能看的毛片网站| 国产精品视频一区视频二区| 精品国产成人系列| 黄色aaa视频| 欧美在线影院| 欧洲美女7788成人免费视频| 亚洲综合精品国产一区二区三区 | 在线观看亚洲精品视频| 91视频这里只有精品| 999久久精品| 国产一区二区日韩| 唐朝av高清盛宴| 毛片一区二区| 91在线视频免费| 五月婷婷六月丁香综合| 国产精品丝袜黑色高跟| 久久精品无码中文字幕| av在线一区不卡| 精品国产在天天线2019| av男人的天堂av| 激情欧美一区二区三区| 国产精品视频一区国模私拍| 黄色片一区二区| 国产精品美女一区二区在线观看| 97超碰国产精品| 2019年精品视频自拍| 日韩精品中文字幕一区二区三区| 91成人在线免费视频| 欧美精品一卡| 国产精品久久久91| 天天操天天舔天天干| 亚洲欧洲国产日本综合| 久久人妻精品白浆国产| 国产精伦一区二区三区| 色先锋资源久久综合5566| 欧美一区二区激情视频| 国产麻豆91精品| 水蜜桃一区二区| 在线观看v片| 亚洲精品一区二区三区四区高清| 永久免费看片直接| 青青草91视频| 欧美精品一区在线| 欧美三级网站| 精品成人在线观看| a级片在线观看免费| 另类小说视频一区二区| 日韩wuma| 欧美日韩电影免费看| 日韩av一区在线| 日韩三级视频在线播放| 国产sm精品调教视频网站| 2021狠狠干| 欧美亚洲黄色| 中文字幕亚洲字幕| 伊人网av在线| 国产精品天干天干在线综合| 密臀av一区二区三区| 久草成人资源| 日本高清视频精品| 青青草娱乐在线| 欧美日韩亚洲系列| 黄瓜视频污在线观看| 一本色道精品久久一区二区三区| 国产精品一区二区三区在线观 | 女人18毛片一区二区三区| 亚洲嫩草精品久久| 69久久精品无码一区二区| 91精品国产麻豆国产在线观看 | 欧美精品电影在线| 你懂的网站在线| 欧美日韩免费看| 右手影院亚洲欧美| 久久午夜电影| 亚洲精品8mav| 91国产一区| 欧美另类在线播放| 黄色一级a毛片| 性做久久久久久免费观看欧美| 日本三级日本三级日本三级极| 亚洲高清成人| 欧美日韩日本网| 成人国产一区| 九九精品视频在线观看| 成人毛片在线免费观看| 五月婷婷激情综合网| 亚洲蜜桃精久久久久久久久久久久| 国产日韩一区二区三区在线播放| 久久一区二区三区av| 日韩国产网站| 久久视频国产精品免费视频在线| xxxwww在线观看| 丰满岳妇乱一区二区三区| 免费看黄色的视频| 韩日精品视频一区| 日韩精品一区二区在线视频| 亚州综合一区| 国产日韩在线亚洲字幕中文| 在线三级电影| 亚洲欧美一区二区三区四区| 一区二区国产欧美| 午夜成人免费电影| 免费视频91蜜桃| 国产91高潮流白浆在线麻豆 | 亚洲激情免费观看| 精品人妻一区二区三区潮喷在线| 久久精品欧美日韩| 黄色一级片免费播放| 夜夜嗨一区二区| 亚洲一二区在线| 超碰97成人| 国产精品视频内| 黄视频网站在线观看| 日韩综合视频在线观看| 免费观看国产精品| 欧美日韩国产电影| 日韩欧美一级视频| 中文字幕佐山爱一区二区免费| 亚洲欧美在线不卡| 黄一区二区三区| 国产99久久九九精品无码| 国产韩日影视精品| 欧美大香线蕉线伊人久久国产精品| 日韩成人综合网| 57pao精品| 亚洲夜夜综合| 中文字幕欧美日韩| 日韩成人黄色| 精品国产一区a| 国产精品久久影视| 色综合久久中文字幕综合网| 欧美一级片在线视频| 久久久蜜桃精品| 男男一级淫片免费播放| 国产一本一道久久香蕉| 手机看片福利日韩| 国产农村妇女精品一区二区| 亚洲av综合色区| 欧美成人milf| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 亚洲一级片免费| 一本色道久久综合亚洲精品高清 | 黄色一区三区| 涩涩屋成人免费视频软件| 国产精品女主播| **欧美日韩在线观看| 26uuu久久噜噜噜噜| 91九色国产在线播放| 美女少妇精品视频| 欧美精品电影| 在线播放日韩精品| 青青草av免费在线观看| 亚洲毛茸茸少妇高潮呻吟| 色香蕉在线视频| 亚洲成人免费网站| 黄色a在线观看| 精品成人一区二区三区四区| 亚洲av无码一区二区三区dv| 欧美一级夜夜爽| 99在线无码精品入口| 欧美乱妇一区二区三区不卡视频| а中文在线天堂| 欧美色综合天天久久综合精品| 亚洲天堂五月天| 色婷婷久久99综合精品jk白丝| 日韩精品一区二区亚洲av| 丁香五六月婷婷久久激情| 午夜毛片在线观看| 欧美日韩亚洲系列| 日韩免费av网站| 欧美又粗又大又爽| 91久久精品国产91性色69| 欧美日本免费一区二区三区| 国产又粗又猛又爽又黄的| 91麻豆精品国产91久久久| 精品国自产在线观看| 精品成人佐山爱一区二区| 亚洲色图欧美视频| 亚洲天堂av综合网| 亚洲欧美视频一区二区| 久久成年人视频| 黑人极品ⅴideos精品欧美棵| 午夜精品一区二区三区在线 | 一区二区三区在线| 欧美日韩午夜爽爽| 1024日韩| 美女喷白浆视频| 精品一区二区三区蜜桃| 波多野结衣电影免费观看| 成人国产精品免费观看视频| 国产精品久久无码| 国产亚洲精品超碰| 丝袜美腿小色网| 亚洲v精品v日韩v欧美v专区| 在线观看污污网站| 91精品国产综合久久精品| 日韩在线一区二区三区四区| 亚洲欧美国产日韩天堂区| 91九色在线porn| 欧美大片在线看| 国产日韩电影| 96国产粉嫩美女| 少妇精品导航| 国产成年人在线观看| 亚洲国产专区校园欧美| 青青在线免费观看视频| 国产成人午夜精品影院观看视频 | 欧美日本网站| 日韩中文字幕在线视频| www.色在线| 国产日韩中文在线| 日韩美脚连裤袜丝袜在线| 亚洲亚洲精品三区日韩精品在线视频| 好吊视频一区二区三区四区| 日韩精品无码一区二区三区免费| 国产一区欧美一区| 91精品人妻一区二区三区蜜桃欧美| 亚洲日本在线天堂| 岛国av中文字幕| 日韩精品一区二区三区蜜臀 | 亚洲欧洲日产国码二区| 日韩av在线播放观看| 欧美精品粉嫩高潮一区二区| 亚洲 国产 欧美 日韩| 美日韩精品免费观看视频| se01亚洲视频| 国产在线精品一区二区中文| 97精品一区二区| 日韩中文字幕组| 波多野洁衣一区| 日本高清一二三区| 欧美综合在线视频| 天天干天天操av| 欧美久久精品午夜青青大伊人| 亚洲电影有码| 欧美国产一区二区在线| 亚洲第一在线| 国产老头和老头xxxx×| 中文字幕一区三区| 欧美性猛交xxxx乱大交hd| 亚洲加勒比久久88色综合| a免费在线观看| 成人黄色在线观看| 日韩成人精品一区| 欧美视频免费播放| www.66久久| 久久一二三四区| 日韩欧美另类在线| 黄色片免费在线观看| 国产伦精品免费视频| 精品国内自产拍在线观看视频 | 国产视频自拍一区| 波多野结衣中文在线| www 成人av com| 综合久久99| 女王人厕视频2ⅴk| 亚洲欧美日韩久久| 国产毛片一区二区三区va在线| 中文字幕久久亚洲| 黄色日韩网站| 正义之心1992免费观看全集完整版| 日韩二区在线观看| 亚洲欧美va天堂人熟伦| 日韩欧美在线视频日韩欧美在线视频 | 顶臀精品视频www| 91精品国产综合久久久久久| 国产美女在线观看| 91|九色|视频| 午夜久久tv| 国产在线不卡av| 亚洲成a人片在线观看中文| 偷拍精品一区二区三区| 97超级碰碰人国产在线观看| 亚洲另类av| 天天爱天天操天天干| 国产精品区一区二区三| 97精品人妻一区二区三区在线| 久久香蕉频线观| 一区二区三区在线免费看| 黄色成人在线看| 久久久精品黄色| 中文字幕一区二区久久人妻| www.xxxx精品| 亚洲1区在线| 无码人妻精品一区二区三区在线| 久久久夜色精品亚洲| 一级片视频网站| 久久久久亚洲精品成人网小说| 欧美丝袜足交| 国产理论在线播放| 一区二区三区在线视频观看58| 亚洲毛片欧洲毛片国产一品色| 91精品国产91久久久久久久久| 国产一区二区观看| 手机av在线网站| 午夜精品久久久久久久蜜桃app| 国产在线视频福利| 91免费高清视频| 亚洲国产mv| 日本不卡一区视频| 欧美成人a在线| 嫩草伊人久久精品少妇av杨幂| 久久精品国产精品亚洲精品色| 成人免费视频视频| www.久久视频| 欧美精品18videosex性欧美| 视频一区欧美| 在线观看一区二区三区视频| 色婷婷综合久久久中文一区二区| 成人免费观看视频大全| 九九九九久久久久| 国内一区二区视频| 精品久久久久久久久久久久久久久久 |