久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: POWERLINK協(xié)議源碼(最新)在stm32單片機上的移植指南 [打印本頁]

作者: qq8864    時間: 2023-5-15 11:37
標題: POWERLINK協(xié)議源碼(最新)在stm32單片機上的移植指南
最近著了powerlink的道,連續(xù)幾晚十二點前沒睡過覺。不得不說興趣這東西勁太大了,讓人睡不著。喜歡上研究POWERLINK,最新版的源碼結構挺清晰的,移植并測試了嵌入式linux作為從站和電腦主站之間的通信,挺有趣的。接下來想嘗試下在單片機上的移植,降低POWERLINK協(xié)議的使用門檻,讓POWERLINK協(xié)議可以用的更廣泛,算是件有意義的事。

以下分享下openPOWERLINK最新源碼v2.7.2在單片機上的移植思路。

使用倒推法(由編譯結果去推導需要依賴的代碼文件),能夠直觀的看到平臺差異性相關的文件。因此移植也很簡單,照著以下指南來,肯定沒問題。

openPOWERLINK最新源碼地址:openPOWERLINK :: openPOWERLINK

powerlink不錯的協(xié)議,但大都去卷ethercat了。我想powerlink這么好的協(xié)議真沒啥難的,了解后會覺得比485總線還好用。之前就難資料太少,沒人去研究推動和分享,我想趁我興致正濃就多輸出幾篇分享給大家。


前提條件
openPOWERLINK源碼要想成功運行在單片機上,需要一定的前提條件。最起碼單片機板子上得有以太網(wǎng)功能吧。至于是否得有tcp/ip協(xié)議棧才能運行powerlink? 這個是非必要的,也就是說即便單片機板子上只有MCU+MAC+PHY芯片,沒有移植lwip協(xié)議棧也是可以的。

如果是單片機mcu內核涵蓋MAC鏈路層功能,則直接外接一顆PHY芯片即可。這需要單片機具備mac接口,一般像stm32F4系列以上的稍微高端點的單片機才具有mac功能。

媒體訪問控制(MAC,Media Access Control),又稱作介質訪問控制,簡稱MAC,是局域網(wǎng)中數(shù)據(jù)鏈路層的下層部分,提供地址及媒體訪問的控制方式,使得不同設備或網(wǎng)絡上的節(jié)點可以在多點的網(wǎng)絡上通信,而不會互相沖突,上述的特性在局域網(wǎng)中格外重要。早期網(wǎng)絡發(fā)展時以MAC判別各個網(wǎng)絡接口的位置,但后來互聯(lián)網(wǎng)發(fā)展后,才有IP的制定與使用。若只是兩臺設備之間全雙工的通信,因為兩臺設備可以同時發(fā)送及接收數(shù)據(jù),不會沖突,因此不需要用到MAC協(xié)議。

媒體訪問控制MAC子層負責解決與媒體接入有關的問題,在物理層的基礎上進行無差錯的通信。

MAC子層是網(wǎng)絡與設備的接口,它從網(wǎng)絡層接收數(shù)據(jù)幀,然后通過媒體訪問規(guī)則和物理層將數(shù)據(jù)幀發(fā)送到物理鏈路上。它也從物理層接收數(shù)據(jù)幀,再送到網(wǎng)絡層。總的來說,MAC有三大功能:

1.決定節(jié)點何時發(fā)送數(shù)據(jù)包。
2.將數(shù)據(jù)幀發(fā)送到物理層,然后發(fā)送到物理鏈路。
3.從物理層接收數(shù)據(jù)幀,然后送給網(wǎng)絡層處理。
其中最重要的是第一點:決定節(jié)點何時發(fā)送數(shù)據(jù)包。對于每一種媒體訪問控制技術,用來控制節(jié)點發(fā)送時機的規(guī)則叫做媒體訪問規(guī)則。局域網(wǎng)上的節(jié)點不能想要發(fā)送數(shù)據(jù)就發(fā)送,節(jié)點只能在輪到它的時候才發(fā)送。

僅有STM32自帶的MAC還不能做網(wǎng)絡通信,還需要外接以太網(wǎng)PHY芯片才可以,如同RS485通信一樣,僅有一個串口是不行的,還需要外接RS485的PHY芯片。

PHY(Port Physical Layer),可稱之為端口物理層,是一個對OSI模型物理層的簡稱,F(xiàn)在常用于STM32的有DP83848,LAN8270,DM9161/9162等。這些PHY芯片都大同小異,基本寄存器都是一樣的,只有擴展寄存和廠商專門設置的寄存器不同。如果用戶將其中一個PHY驅動成功了,驅動另一個也是非常方便的。

如果低端點兒單片機沒MAC功能呢?如何外接以太網(wǎng)芯片?辦法也是有的,現(xiàn)在有的廠商提供集成的模塊兒,自帶MAC和PHY芯片的功能,對外通過SPI接口操作訪問。如常用的芯片w5500芯片,就是一顆集成了MAC和PHY功能的芯片,通過SPI接口可以訪問和使用。SPI接口幾乎高低端的單片機都有的常見接口。W5500 芯片是一款集成全硬件 TCP/IP 協(xié)議棧的嵌入式以太網(wǎng)控制器,同時也是一顆工業(yè)級以太網(wǎng)控制芯片。是韓國WIZnet(微知納特)發(fā)布全硬件TCP/IP協(xié)議棧以太網(wǎng)接口芯片。W5500 支持高速標準4線SPI接口與主機進行通信,該 SPI 速率理論上可以達到 80MHz;蛘逤H395芯片,也是SPI接口連接MCU,它是沁恒公司的一款以太網(wǎng)協(xié)議棧管理芯片。CH395 芯片自帶10/100M以太網(wǎng)介質傳輸層(MAC)和物理層(PHY),完全兼容IEEE802.310/100M 協(xié)議,內置了PPPOE、IP、DHCP、ARP、ICMP、IGMP、UDP、TCP 等以太網(wǎng)協(xié)議棧固件。


綜上所述,POWERLINK協(xié)議棧源碼對單片機的要求并不高,一般的單片機都能滿足,無論單片機mcu上是否具備MAC接口。協(xié)議棧源碼也不是很大,不過當然mcu性能越高越好了。

此外對單片機的要求是最好具備嵌入式操作系統(tǒng)如Rtx,rtthread,freeRTOS或ucosII等多任務系統(tǒng),這樣才更容易移植和使用。嵌入式系統(tǒng)最好具備軟件定時器功能,方便實現(xiàn)用戶層的定時器功能。

還有需要注意,如果單片機是使用的三方庫提供的接口操作以太網(wǎng)模塊,需要確認下接口是否具備直接操作發(fā)送mac幀的能力。因為powerlink的鏈路層可沒有走tcp/ip協(xié)議棧,直接操作的mac報文幀。

mac幀模式介紹

可以使用wireshark工具抓包,看看發(fā)送的mac幀報文是不是正確的。以下舉例一包arp協(xié)議請求包的完整mac幀格式如下:

//以太網(wǎng)首部(14Byte)

0000: ff ff ff ff ff ff                                 //目的主機為廣播地址

0006: 84 c2 e4 f0 08 ef                      //源主機MAC地址為84-C2-E4-F0-08-EF

000c: 08 06                                            //上層協(xié)議類型0x0806表示ARP或RARP

//ARP請求(28Byte)

000e: 00 01                                           //硬件類型0x0001表示以太網(wǎng)

0010: 08 00                                           //協(xié)議類型0x0800表示IP協(xié)議

0012: 06 04                                           //MAC地址長度為6; IP地址長度為4

0014: 00 01                                           // op為0x0001表示請求目的主機的MAC地址

0016: 84 c2 e4 f0 08 ef                      //源主機MAC地址為00-1C-23-17-4A-CB

001c: c0 a8 01 65                                 //源主機IP地址(192.168.1.101)

0020: 00 00 00 00 00 00                   //目的主機MAC地址未知,全0待填寫

0026: c0 a8 01 67                                 //目的主機的IP地址(192.168.1.103)

//填充數(shù)據(jù)(18Byte)

002c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

003c: 00 00

原文鏈接:https://blog.csdn.net/yyz_1987/article/details/130648388
移植完成,歡迎交流





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产欧美一区二区三区视频在线观看 | 成人一区二区视频 | 夜夜嗨av一区二区三区网页 | 亚洲免费播放 | av网站免费在线观看 | 国产一区欧美 | 精品一区二区在线播放 | 中文字幕二区 | 黄色一级片免费看 | 日本在线www | 国产精品免费一区 | 亚洲狠狠干 | 天天拍天天干 | 亚洲免费福利视频 | 国产天堂在线 | 国产伦精品 | 国产激情视频在线 | 中文在线字幕免费观 | 日本在线看 | 国产伦精品一区二区三区照片 | 人人射人人干 | 天天看天天干 | 欧美日韩高清在线 | 免费观看黄色av | av免费在线观看网站 | 精品一区二区三区在线观看 | www操| 日本黄a三级三级三级 | 国产aaaaaa| 色婷婷av一区二区三区之e本道 | 国产黄色三级 | 日韩精品综合 | 日韩精品在线一区二区 | 精品国产99 | 久草免费福利视频 | 日本欧美在线 | 亚洲成人黄色 | 久久久久一区二区三区 | 中文在线字幕观看 | 精品国产一区二区在线观看 | 久久综合久|