999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RTThread的CAN轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān)的設(shè)計

2016-05-27 08:42:46李起偉

李起偉

(煤炭科學技術(shù)研究院有限公司,北京 100013)

?

基于RTThread的CAN轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān)的設(shè)計

李起偉

(煤炭科學技術(shù)研究院有限公司,北京 100013)

摘要:為了解決煤礦數(shù)字安全監(jiān)控系統(tǒng)中CAN總線網(wǎng)絡(luò)無法與以太網(wǎng)直接進行數(shù)據(jù)交互的問題,結(jié)合煤礦安全監(jiān)控系統(tǒng)的應(yīng)用要求,設(shè)計了一種以STM32F107VC為控制核心,基于RT-Thread實時操作系統(tǒng)的嵌入式CAN轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān)。詳細介紹了網(wǎng)關(guān)的硬件和軟件設(shè)計,并且為了提高數(shù)據(jù)傳輸?shù)目煽啃院头€(wěn)定性,使用了大容量的外部數(shù)據(jù)存儲器。經(jīng)實際測試,網(wǎng)關(guān)實現(xiàn)了CAN總線網(wǎng)絡(luò)與以太網(wǎng)的互連互通,提高了安全監(jiān)控系統(tǒng)通信的靈活性和可靠性。

關(guān)鍵詞:CAN總線;數(shù)據(jù)交換;網(wǎng)關(guān);RT-Thread;STM32F107VC

引言

相對其他現(xiàn)場總線而言,CAN總線具有傳輸可靠、實時性高、非破壞總線仲裁等優(yōu)勢,在煤礦領(lǐng)域得到廣泛應(yīng)用[1]。

CAN現(xiàn)場總線作為一種面向工業(yè)底層控制的通信網(wǎng)絡(luò),優(yōu)點雖多,但也有其局限性:首先CAN總線在波特率≤5 kbps的情況下,其最大傳輸距離為10 km,而且波特率越高,傳輸距離越短[2],顯然不能提供井下與地面數(shù)據(jù)傳輸時需要的帶寬和傳輸距離;其次,若使用以太網(wǎng)與地面進行數(shù)據(jù)傳輸,則導致CAN總線不能直接與井下以太網(wǎng)進行數(shù)據(jù)交互,無法實現(xiàn)遠程信息共享;再次,它不易與上位機直接通信。因此若想實現(xiàn)兩種網(wǎng)絡(luò)互聯(lián)互通,需要外加轉(zhuǎn)換設(shè)備。

本文結(jié)合煤礦安全監(jiān)控系統(tǒng)的應(yīng)用要求,設(shè)計了一種基于RT-Thread實時操作系統(tǒng)的嵌入式CAN轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān),能夠使兩網(wǎng)數(shù)據(jù)無縫融合。本網(wǎng)關(guān)采用透傳模式,傳輸可靠、配置簡單,具有斷網(wǎng)時數(shù)據(jù)存儲功能,可保證數(shù)據(jù)不丟失,適用于煤礦井下通信環(huán)境惡劣、網(wǎng)絡(luò)易破壞的工作環(huán)境。

1CAN轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān)硬件設(shè)計

本網(wǎng)關(guān)主要由電源電路、主控單元、CAN總線收發(fā)電路、10/100M自適應(yīng)的以太網(wǎng)收發(fā)電路及存儲電路5部分組成。

1.1電源電路

網(wǎng)關(guān)采用DC 21 V本安型電源供電,先經(jīng)過一級緩啟動電路,再經(jīng)過一個DC-DC降低模塊,把DC 21 V降為DC 3.3 V,供給主控單片機、CAN總線驅(qū)動電路及10/100M自適應(yīng)的以太網(wǎng)收發(fā)器電路使用,其中緩啟動電路大大降低了網(wǎng)關(guān)在上電啟動時的沖擊電流,保證了網(wǎng)關(guān)穩(wěn)定、安全、可靠地啟動,電源電路框圖如圖1所示。

圖1 電源電路框圖

1.2主控單元

網(wǎng)關(guān)主控單元采用意法半導體的互聯(lián)型微控制器STM32F107VC作為主控制器,其具有ARM 32位的Cortex-M3內(nèi)核,最高工作頻率為72 MHz,片上資源極為豐富,具有5個USART接口和3個SPI端口,另外還具有2個CAN2.0B接口和1個10/100M以太網(wǎng)MAC,并且此以太網(wǎng)MAC支持MII和RMII接口[3]。

1.3CAN總線收發(fā)電路

由于微控制器STM32F107VC內(nèi)部已經(jīng)集成有2個支持CAN2.0B協(xié)議的CAN控制器,所以只需要在微控制器外圍加上CAN收發(fā)電路即可。

網(wǎng)關(guān)采用廣州致遠電子的CTM8251AT作為CAN收發(fā)器,CTM8251AT是一款隔離收發(fā)器,隔離電壓為2 500 V,并且具有一定的抗電磁干擾功能,單網(wǎng)絡(luò)至少可連接110 個節(jié)點,支持5 Kbps~1 Mbps的波特率,CAN收發(fā)器電路如圖2所示。

圖2 CAN收發(fā)器電路

1.410/100M自適應(yīng)以太網(wǎng)收發(fā)電路

使用TI公司的DP83848I作為以太網(wǎng)PHY控制器,DP83848I同時支持MII (Media Independent Interface) 介質(zhì)無關(guān)接口和RMII(Reduced Media Independent Interface),即簡化的介質(zhì)無關(guān)接口,兩種接口均支持10M或100M的操作。

MII是指不用考慮傳輸媒介是銅軸、光纖還是電纜等,因為這些媒介處理的相關(guān)工作都由PHY或者MAC芯片來完成。一個MII接口由14根數(shù)據(jù)線組成,總線時鐘為25 MHz,RMII接口是從MII簡化而來,需要的數(shù)據(jù)線為MII接口的一半,只需要7根數(shù)據(jù)線即可,總線時鐘為50 MHz[4-5]。

在本網(wǎng)關(guān)中,DP83848I設(shè)置為RMII接口,50 MHz的總線時鐘由STM32F107VC的MCO引腳提供。

采用中山漢仁電子的HR601680作為網(wǎng)絡(luò)隔離變壓器,可起到增強信號、延長傳輸距離的作用,更重要的是可使芯片端與外部隔離,抗干擾能力大大增強,起到了一定的保護作用。以太網(wǎng)收發(fā)電路如圖3所示。

圖3 以太網(wǎng)收發(fā)電路

1.5數(shù)據(jù)存儲電路

在實際使用中,要存儲設(shè)備的配置信息,如IP地址、DNS地址、CAN總線波特率等關(guān)鍵信息,以便下次啟動時可直接加載,因此在本設(shè)備中加入了一片SPI Flash,此存儲芯片采用的是Winbond公司的W25Q16VSSI,內(nèi)置有16 Mb的存儲容量,通過SPI總線與STM32F107VC的SPI1接口通信,SPI Flash存儲電路如圖4所示。

一般情況下,以太網(wǎng)的通信速度是高于CAN的通信速度的,因此在將以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換為CAN總線數(shù)據(jù)時,要加一定的數(shù)據(jù)緩存,防止數(shù)據(jù)丟失,此功能由Microchip公司的23LC1024ISN來實現(xiàn),這是一片SPI SRAM,存儲容量為1 Mb,可存儲約1000余條CAN擴展幀數(shù)據(jù)。STM32F107VC通過SPI2接口將數(shù)據(jù)存儲到23LC1024ISN中,SPI SRAM存儲電路如圖5所示。

圖4 SPI Flash存儲電路

圖5 SPI SRAM存儲電路

2網(wǎng)關(guān)軟件設(shè)計

由于網(wǎng)關(guān)對數(shù)據(jù)轉(zhuǎn)發(fā)的實時性要求很高,所以需要實時操作系統(tǒng)來完成數(shù)據(jù)轉(zhuǎn)發(fā)和任務(wù)調(diào)度,在本網(wǎng)關(guān)中,使用的是RT-Thread實時操作系統(tǒng),這是一款開源的、產(chǎn)品級的硬實時操作系統(tǒng),它具備非常優(yōu)異的實時性、穩(wěn)定性、可裁減性,當進行最小配置時,內(nèi)核體積可以被3 KB ROM 和1 KB RAM 占用,它包含實時嵌入式操作系統(tǒng)相關(guān)的各個組件:實時操作系統(tǒng)內(nèi)核、TCP/IP協(xié)議棧、文件系統(tǒng)、libc接口、圖形界面等[6]。

RT-Thread與其他嵌入式實時操作系統(tǒng)相比,有著以下優(yōu)勢[7]:

① 可自由配置和裁減。諸多功能組件可以自由使能和失能,包括文件系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、設(shè)備外設(shè)等都可以根據(jù)需要自由配置。

此外,由于內(nèi)核對象機制的引入,內(nèi)核內(nèi)部各種對象組件可以自由裁減。包括各種進程同步和通信方式,如互斥量、信號量、郵箱、消息隊列等都可以根據(jù)需要自由裁減。另外,還支持多種內(nèi)存管理方式,減少內(nèi)存的碎片化。

② 可移植性強。系統(tǒng)采用內(nèi)核與 BSP 分離的方式,其內(nèi)核采用標準 C 語言編寫,具備優(yōu)秀的可移植性,適合于多種體系結(jié)構(gòu)和編譯器。抽象出的 BSP 層采用標準 C 和匯編混合編寫,目前 RT-Thread 已經(jīng)支持STM32F107VC。

③ 可靠性高。內(nèi)核和用戶線程的調(diào)度、各線程間的通信等功能是內(nèi)核來完成的,某一個功能組件的崩潰不會影響到其他組件,很多時候內(nèi)核的崩潰是由于驅(qū)動程序出錯導致的,在RT-Thread 中,驅(qū)動程序的出錯不會導致內(nèi)核崩潰,因而具備了較高的可靠性。

2.2TCP/IP協(xié)議棧

在本應(yīng)用中,采用的是一種輕型TCP/IP協(xié)議?!狶wIP(Light-weight IP),LwIP TCP/IP實現(xiàn)的重點是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對RAM的占用,一般它只需要幾十KB的RAM和40 KB左右的ROM就可以運行,這使LwIP協(xié)議棧適合在低端嵌入式系統(tǒng)中使用。LwIP的特性如下:支持多網(wǎng)絡(luò)接口下的IP轉(zhuǎn)發(fā),支持ICMP協(xié)議,包括實驗性擴展的UDP(用戶數(shù)據(jù)報協(xié)議),包括阻塞控制、RTT估算、快速恢復和快速轉(zhuǎn)發(fā)的TCP(傳輸控制協(xié)議),提供專門的內(nèi)部回調(diào)接口(RAW API)用于提高應(yīng)用程序性能,并提供了可選擇的Berkeley接口API[8]。

RT-Thread實時操作系統(tǒng)采用了LwIP做為TCP/IP協(xié)議棧,同時根據(jù)小型設(shè)備的特點對LwIP進行了再次優(yōu)化,使其資源占用體積進一步縮小,RAM 的占用可縮小到5 KB左右。

在本網(wǎng)關(guān)中,傳輸層協(xié)議采用的是UDP傳輸方式,即用戶數(shù)據(jù)包協(xié)議,UDP 不是一種基于連接的通信方式,它不能保證發(fā)往目標主機的數(shù)據(jù)包被正確接收,所以在對可靠性要求較高的場合需要通過上層的通信協(xié)議來保證數(shù)據(jù)正確。但是,因為UDP 方式是一種較簡單的通信方式,它不會增加過多的額外通信量,可以提供比 TCP 方式更高的通信速度,以保證數(shù)據(jù)包的實時性。事實上,在網(wǎng)絡(luò)環(huán)境比較簡單,網(wǎng)絡(luò)通信負載不是太大的情況下,UDP 工作方式并不容易出錯[9]。工作在這種方式下,設(shè)備的地位都是相等的,不存在服務(wù)器和客戶端。

2.3主要線程設(shè)計

圖6 系統(tǒng)初始化線程流程圖

為實現(xiàn)CAN總線與以太網(wǎng)之間的數(shù)據(jù)互通,主要設(shè)計了3個線程,分別是系統(tǒng)初始化線程、以太網(wǎng)發(fā)送線程和CAN發(fā)送線程。

① 系統(tǒng)初始化線程的主要功能為上電時初始化必要的外設(shè)、內(nèi)核組件,以及LwIP和Finsh Shell等系統(tǒng)組件,流程圖如圖6所示。

② 以太網(wǎng)發(fā)送線程的主要功能是從CAN總線接收到數(shù)據(jù)后,將數(shù)據(jù)整定為特定格式,并存放在環(huán)形緩存中,再去獲取可用的UDP Socket,若成功則用互斥鎖上鎖,再調(diào)用LwIP提供的API函數(shù)lwip_sendto()完成數(shù)據(jù)的發(fā)送并釋放這個互斥鎖。流程圖如圖7所示。

③ CAN發(fā)送線程的主要功能是從以太網(wǎng)接收數(shù)據(jù)后,把數(shù)據(jù)整定為一定格式并存儲到環(huán)形緩存中,然后去獲取CAN設(shè)備狀態(tài),若CAN設(shè)備空閑可用,則給CAN設(shè)備上鎖并啟動發(fā)送,數(shù)據(jù)發(fā)送完成后釋放互斥鎖,以便CAN設(shè)備下次可用。具體流程圖如圖8所示。

圖7 以太網(wǎng)發(fā)送線程流程圖

圖8 CAN發(fā)送線程流程圖

結(jié)語

在設(shè)計CAN總線轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān)過程中,為了防止數(shù)據(jù)丟失,使用了一片外部SRAM作為數(shù)據(jù)緩存,并采用環(huán)形存儲的方式提高了數(shù)據(jù)緩存的利用率。為加快數(shù)據(jù)的接收和發(fā)磅速度,減小CAN網(wǎng)絡(luò)和以太網(wǎng)數(shù)據(jù)接收與發(fā)送的時間差,使用了UDP數(shù)據(jù)傳輸模式,使數(shù)據(jù)延遲時間減到最小,并加入了一定的數(shù)據(jù)檢驗功能,提高了數(shù)據(jù)的正確率。

通過本網(wǎng)關(guān)可使CAN總線與以太網(wǎng)兩網(wǎng)互連互通,且通信安全可靠,可應(yīng)用于煤礦安全監(jiān)控系統(tǒng)、多媒體調(diào)度通信、礦井人員管理系統(tǒng)甚至煤礦應(yīng)急救援系統(tǒng)中,提高了礦井數(shù)據(jù)通信的靈活性和可靠性。經(jīng)測試,在實際應(yīng)用中,本網(wǎng)關(guān)響應(yīng)速度快、誤碼率極低,完全可以滿足煤礦井下的通信要求。

參考文獻

[1] 朱小三.基于CAN總線的煤礦安全監(jiān)控系統(tǒng)的研究與實現(xiàn)[D].西安:西安電子科技大學,2007.

[2] 周霞,魏臻,胡曉健.基于CAN總線的煤礦安全監(jiān)控系統(tǒng)網(wǎng)絡(luò)通信設(shè)計[J].工礦自動化,2005(3):39-40.

[3] 意法半導體(中國)投資有限公司.STM32 Reference Manual(RM0008)[EB/OL].(2010-01-10)[2015-12].http://www.stmicroelectronics.com.cn/web/cn/home.html.

[4] 于春雪.基于STM32F107的高速以太網(wǎng)接口設(shè)計與應(yīng)用[J].電聲技術(shù),2011(9):63-67.

[5] 吳俊杰,吳建輝.以太網(wǎng)MAC控制器的MII接口轉(zhuǎn)RMII接口的實現(xiàn)[J].電子器件,2008(2):712-715.

[6] 李云紅,田冀達,陳航.RT-Thread操作系統(tǒng)的電池管理系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015(7):14-17.

[7] 邱祎.嵌入式實時操作系統(tǒng)RT-Thread的設(shè)計與實現(xiàn)[D].成都:電子科技大學,2007.

[8] 胡亦萬.基于Cortex-M3的LwIP移植以及嵌入式WEB的應(yīng)用研究[D].南昌:南昌大學,2013.

[9] 王坤,皮亦鳴.基于ARM Cortex-M3的嵌入式網(wǎng)絡(luò)播放系統(tǒng)[J].電子設(shè)計工程,2010(1):71-73.

李起偉(碩士),主要從事嵌入式系統(tǒng)與煤礦安全監(jiān)測監(jiān)控系統(tǒng)的研究工作。

Design of CAN-Ethernet Gateway Based on RT-Thread

Li Qiwei

(China Coal Research Institute,Beijing 100013,China)

Abstract:In order to solve the problem that CAN bus can not exchange data with Ethernet in the coal mine digital monitoring system,an embedded CAN-Ethernet gateway is designed which takes STM32F107VC as the control core and is based on RT-Thread real-time operating system.In the paper,the hardware and software design of the gataway are introduced.A large-capacity data memory is used to improve the stability and reliability of data transmission.The actual test results show that the gateway can implement the interconnection between CAN bus and Ethernet,and it enhances the communication’s flexibility and reliability of the safety monitoring system.

Key words:CAN bus;data transmission;gateway;RT-Thread;STM32F107VC

收稿日期:(責任編輯:楊迪娜2015-12-21)

中圖分類號:TP271

文獻標識碼:A

主站蜘蛛池模板: 欧美精品导航| 欧美日韩北条麻妃一区二区| 国产欧美日韩在线一区| av一区二区无码在线| 97亚洲色综久久精品| 激情综合网址| 成人一级免费视频| 国产三级成人| 色综合国产| 婷婷五月在线| 国产精品久久自在自线观看| 一级爱做片免费观看久久| 精品丝袜美腿国产一区| 亚洲美女一级毛片| 人妻熟妇日韩AV在线播放| 国产jizz| 欧美三級片黃色三級片黃色1| 久久99热66这里只有精品一| 亚洲a免费| 国产va免费精品观看| 久久久91人妻无码精品蜜桃HD| 亚洲欧美日韩成人在线| 99热精品久久| 大陆国产精品视频| 一级成人欧美一区在线观看 | 99久久精品久久久久久婷婷| 免费国产无遮挡又黄又爽| 亚洲91在线精品| 四虎影视永久在线精品| 久久国产精品无码hdav| 无码内射在线| 丁香婷婷激情网| 国产精品无码影视久久久久久久 | 五月天综合网亚洲综合天堂网| 亚洲国产精品久久久久秋霞影院| 激情视频综合网| 国产91高跟丝袜| 亚洲视频在线网| 国产成人艳妇AA视频在线| AV不卡无码免费一区二区三区| 熟女成人国产精品视频| 亚洲天堂网2014| 国产第三区| 99999久久久久久亚洲| 国产激爽大片在线播放| 啪啪永久免费av| 国产菊爆视频在线观看| 欧美日韩成人在线观看| 国产精品冒白浆免费视频| 狠狠亚洲五月天| 欧美色图第一页| 手机精品视频在线观看免费| a毛片免费看| 日本人妻一区二区三区不卡影院 | 亚洲资源在线视频| 天天色天天综合网| 秋霞午夜国产精品成人片| 国产玖玖视频| 国产成人亚洲日韩欧美电影| 国产在线观看第二页| 台湾AV国片精品女同性| 国产va视频| 免费在线观看av| 国产成人精品2021欧美日韩| 国产美女精品在线| 制服丝袜一区| 欧洲高清无码在线| 国产尤物jk自慰制服喷水| 日韩成人在线网站| 看国产毛片| 伊人精品成人久久综合| 亚洲资源站av无码网址| 国产婬乱a一级毛片多女| 999福利激情视频| 亚洲天堂日韩av电影| 婷婷六月综合网| 国产精品自在线天天看片| 国产成人综合亚洲欧美在| 午夜视频免费试看| 欧美无专区| 久青草免费在线视频| 夜色爽爽影院18禁妓女影院|