精品欧美一区二区三区在线观看 _久久久久国色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精品国产99| 亚洲а∨天堂久久精品喷水| 一区二区三区免费看| 99在线精品视频免费观看软件| 欧美激情视频一区二区三区在线播放| 欧美mv和日韩mv国产网站| 国产原创中文在线观看| 国产精品一级伦理| 国内外成人在线视频| 97免费视频在线| 久久亚洲无码视频| 玖玖玖视频精品| 日韩欧美精品网站| 国产精品久久成人免费观看| 婷婷伊人综合中文字幕| 久久爱www久久做| 97色在线视频| 国产精品嫩草影院俄罗斯| 欧美电影在线观看完整版| 欧美日韩一二区| 男人插女人视频在线观看| 91精彩视频在线观看| 91社区在线播放| 亚洲最大的av网站| 亚洲高清在线看| 国产日韩欧美三区| 久久成人亚洲精品| 成人一级片免费看| 天堂网av成人| 精品国产乱码久久| 一级黄色录像在线观看| 亚洲校园激情春色| 亚洲国产成人porn| 亚洲成人动漫在线| 五月婷婷在线观看| 欧美激情综合五月色丁香小说| 精品午夜一区二区| 黑人精品一区二区三区| 精品一区二区三区欧美| 国产精品久久久久福利| 国产寡妇亲子伦一区二区三区四区| 国产综合亚洲精品一区二| 色妞久久福利网| 1024手机在线观看你懂的| 夜色77av精品影院| 精品一区二区三区四区| 西西大胆午夜视频| 精品女人视频| 欧美精品一区在线观看| 亚洲成人激情小说| 国产69精品久久| 欧美视频在线一区| 污片在线免费看| 久久青草视频| 欧美疯狂做受xxxx富婆| 在线看免费毛片| 午夜精品久久久久久毛片| 欧美精品一二三四| 色噜噜狠狠一区二区三区狼国成人| 日本成人福利| 欧美日韩www| 911av视频| 日韩三级不卡| 亚洲电影天堂av| 少妇精品一区二区| 竹菊久久久久久久| 国产亚洲欧洲在线| 蜜桃av免费观看| 亚洲国产老妈| 久久久女人电视剧免费播放下载| 国产系列精品av| 国产欧美日韩一级| 国产精品黄色影片导航在线观看| 嫩草影院一区二区三区| 久久99最新地址| 97久久人人超碰caoprom欧美| 精品久久久久久亚洲综合网站| 国产69精品久久99不卡| 久久九九视频| 岛国在线视频| 亚洲人成伊人成综合网小说| 17c丨国产丨精品视频| 神马久久午夜| 欧美高清你懂得| 亚洲色图欧美日韩| 蜜臀久久99精品久久一区二区| 在线观看日韩欧美| www.av视频| 亚洲永久视频| 91久久久精品| 五月婷在线视频| 国产精品三级在线观看| 成人在线免费观看网址| 涩涩视频在线| 日韩三级免费观看| 国产精品揄拍100视频| 色小子综合网| 97视频在线观看网址| 中文在线字幕免费观| 国产精品一色哟哟哟| 久久久水蜜桃| 久热国产在线| 色婷婷狠狠综合| aaaaaaaa毛片| 国产中文精品久高清在线不| 久久成年人视频| 成人免费一级片| kk眼镜猥琐国模调教系列一区二区| 欧洲精品亚洲精品| 国产网红在线观看| 欧美日韩国产综合草草| 国产艳俗歌舞表演hd| 久久久久国产| 国产精品99导航| 色一情一乱一区二区三区| 欧美国产日韩亚洲一区| 六月婷婷在线视频| 成人在线视频区| 一区二区亚洲精品国产| 日韩精品一区二区不卡| 国产一区二区看久久| 欧美日韩一区二| 岛国av在线网站| 日韩美女视频在线| 一级免费黄色录像| 日韩精品乱码免费| 久久国产主播精品| 国产盗摄精品一区二区酒店| 欧美一区二区三区婷婷月色| 美女100%露胸无遮挡| 久久成人免费| 久久影院理伦片| √天堂8资源中文在线| 日韩欧美一级精品久久| 成人涩涩小片视频日本| 久久国产婷婷国产香蕉| 色一情一区二区三区四区| 亚洲国产成人二区| 日韩av影视在线| 日本一本高清视频| 成人高清视频免费观看| 女人色极品影院| 麻豆国产一区| 久久的精品视频| 国产日韩精品suv| 中文字幕一区av| 在线能看的av网站| 97视频精品| 亚洲精品日产aⅴ| 成人黄色网址| 日韩欧美亚洲国产精品字幕久久久| 日韩在线视频网址| 精品一区二区三区在线播放视频| 在线视频不卡一区二区三区| 欧美视频免费看| 久久九九国产精品怡红院| 99精品在线视频观看| 亚洲天堂成人在线观看| 少妇丰满尤物大尺度写真| 欧美阿v一级看视频| 91在线观看网站| 成人女同在线观看| 亚洲黄色免费三级| 人妻丰满熟妇av无码区| 日本一区二区三区dvd视频在线| 国产一线二线三线在线观看| 日韩.com| 91免费看蜜桃| 高端美女服务在线视频播放| 国产丝袜高跟一区| 亚洲 小说区 图片区| 国产精品成人免费在线| 性鲍视频在线观看| 伊人久久大香线蕉综合热线| 精品在线视频一区二区| 日韩国产网站| 久久香蕉国产线看观看网| 色综合久久久久久| 91久久久免费一区二区| 一级黄色片日本| av高清久久久| www亚洲成人| 国内精品久久久久久久97牛牛| 美国av一区二区三区| 日本成人在线网站| 久久久欧美一区二区| 成人免费在线观看| 91精品在线观看入口| 精品成人久久久| 欧美激情在线一区二区| 国产精品一级无码| 日日夜夜一区二区| 警花观音坐莲激情销魂小说| 美国一区二区| 91精品国产综合久久男男| 黄页在线观看免费| 在线视频欧美性高潮| 亚洲第一页在线观看| 91黄视频在线| 精品无码m3u8在线观看| 亚洲国产精品ⅴa在线观看| 亚洲精品成人无码毛片| 青青草97国产精品免费观看 | 欧美jjzz| 日本在线一区| 久久精品66| 91香蕉国产在线观看| 中文字幕21页在线看| 久久国产加勒比精品无码| 青青视频在线观| 日韩精品一区二区三区三区免费| 91青青草视频| 亚洲成人自拍网| 乱h高h女3p含苞待放| 国产午夜精品一区二区三区四区| 国产视频精品视频| 国产在线不卡一卡二卡三卡四卡| 国产aaa一级片| 1024日韩| 国产爆乳无码一区二区麻豆| 99精品视频在线观看播放| 欧美一区二区综合| 国产欧美啪啪| 国产精品18毛片一区二区| 2019中文亚洲字幕| 国产免费亚洲高清| 日韩伦理三区| 日本成人免费在线| 九九精品调教| 欧美国产视频一区二区| 成人免费网址| 日韩资源在线观看| a黄色在线观看| 国产亚洲视频在线观看| 久久精品色图| 亚洲男人的天堂网站| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻av无码一区二区三区 | 最新av在线免费观看| 999久久久国产精品| 无码免费一区二区三区免费播放 | 亚洲一区 二区| 91精品国产高清久久久久久91裸体| 日本免费成人| 成人网在线免费看| 日韩一区二区三免费高清在线观看| 国产精品久久一区| 97成人超碰| 国产狼人综合免费视频| 久久精品资源| 亚洲xxx自由成熟| 91欧美极品| 国产中文一区二区| 色婷婷精品视频| 欧美视频1区| 不卡av一区二区| 欧美h视频在线观看| 欧美不卡在线| 无码粉嫩虎白一线天在线观看 | 91欧美在线| 日本三级福利片| 欧美精品导航| 亚洲国产精品成人天堂| 亚洲欧美日韩专区| 男人搞女人网站| 国产在线麻豆精品观看| 亚洲欧洲日韩综合| av欧美精品.com| 欧美精品日韩在线| 亚洲欧美福利一区二区| 国产第100页| 在线亚洲高清视频| 国产精品欧美综合亚洲| 精品对白一区国产伦| 能在线看的av| 精品国产一区二区三区在线观看| 在线āv视频| 韩国三级日本三级少妇99| 精品国产第一福利网站| 91在线免费视频| 日韩av午夜| 久久av秘一区二区三区| 一本久道久久综合狠狠爱| 成人亚洲视频在线观看| 国产伦精品一区二区三区免费迷 | 国产精品理伦片| 麻豆成人在线视频| 日本电影亚洲天堂一区| 99国产精品一区二区三区| 日韩av在线一区| 毛片在线不卡| 日本午夜在线亚洲.国产| 亚洲黑人在线| 欧美成人在线免费观看| 婷婷丁香综合| 男人操女人免费软件| 国产一区二区在线电影| 成人精品在线观看视频| 亚洲欧美日韩国产综合在线| 国产成人无码精品亚洲| 欧美精品黑人性xxxx| 午夜黄色小视频| 久久国产精品久久国产精品| 欧美电影免费观看| 肥熟一91porny丨九色丨| 欧美超碰在线| 国产a级一级片| 粉嫩久久99精品久久久久久夜| youjizz亚洲女人| 欧美色播在线播放| www夜片内射视频日韩精品成人| 亚洲天堂一区二区三区| а√在线天堂官网| 666精品在线| 四季av在线一区二区三区| 成人免费在线小视频| 国产成人综合网| 极品美妇后花庭翘臀娇吟小说| 黑人欧美xxxx| 人妻妺妺窝人体色www聚色窝| 久热精品视频在线免费观看 | 亚洲综合中文字幕在线观看| 欧美色蜜桃97| 国模杨依粉嫩蝴蝶150p| 91在线观看地址| 精品成人免费视频| 精品国产一区久久| 欧美家庭影院| 99高清视频有精品视频| 天天做天天爱综合| 亚洲欧美国产中文| 国产精品丝袜一区| 最好看的日本字幕mv视频大全| 亚洲美女喷白浆| 自拍一区在线观看| 激情视频一区二区| 日韩午夜免费| 亚洲男女在线观看| 婷婷中文字幕一区三区| 亚洲av成人精品一区二区三区在线播放 | 国产成人午夜视频| 日韩一级片av| 日韩视频一区在线观看| 成a人片在线观看| 97超碰人人看人人| 亚洲激情精品| 欧美成人三级伦在线观看| 黑人巨大精品欧美一区二区免费| 涩涩视频在线观看免费| 日本视频久久久| 不卡在线一区二区| 中文字幕亚洲欧洲| 亚洲欧美乱综合| 亚洲乱码国产乱码精品精软件| 欧美日韩第一页| 欧美黑白配在线| 欧美精品一区二区三区免费播放| 久久免费精品国产久精品久久久久| 亚洲乱码国产乱码精品| 伊人青青综合网站| 欧美日韩破处视频| 9l视频自拍9l视频自拍| 成人免费高清视频| 天天操天天操天天操天天| 国产亚洲精品久久久久久| 国产国产一区| 成人午夜免费剧场| av中文字幕在线不卡| 黄色片视频免费| 日韩在线免费高清视频| 日本免费一区二区视频| 黄网站欧美内射| 国产蜜臀av在线一区二区三区| 亚洲一卡二卡在线观看| 欧美猛男性生活免费| 欧美尿孔扩张虐视频| 日日摸天天爽天天爽视频| 中文字幕亚洲视频| 成人午夜免费福利| 国产成人精品电影久久久| 婷婷综合亚洲| 日本不卡视频一区| 在线影视一区二区三区| а√天堂官网中文在线| 九色视频成人porny| 久久精品国产99久久6| 国产一级视频在线播放| 永久免费看mv网站入口亚洲| 99国产精品免费网站| 国产福利一区视频| 一区二区三区成人| 国产中文字幕在线看| 999日本视频| 日韩成人av影视| 黄色一级片免费看| 日韩视频中文字幕| 日韩影视高清在线观看| 99久久99精品| 91国在线观看| zzzwww在线看片免费| 久久久国产精华液999999|