• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      STM32F107平臺(tái)Modbus協(xié)議的嵌入式網(wǎng)關(guān)設(shè)計(jì)

      2019-01-17 03:11:14,,
      關(guān)鍵詞:框圖電路設(shè)計(jì)以太網(wǎng)

      ,,

      (陸軍裝甲兵學(xué)院 信息通信系,北京 100072)

      引 言

      隨著工業(yè)通信技術(shù)的不斷發(fā)展,基于現(xiàn)場(chǎng)總線技術(shù)的控制系統(tǒng)被廣泛應(yīng)用于工業(yè)領(lǐng)域。Modbus協(xié)議作為一種能夠有效控制實(shí)時(shí)網(wǎng)絡(luò)和分布式系統(tǒng)的現(xiàn)場(chǎng)總線技術(shù),以其運(yùn)行穩(wěn)定且實(shí)時(shí)性好等優(yōu)點(diǎn)被越來越多地應(yīng)用于工業(yè)系統(tǒng)中。企業(yè)信息化進(jìn)程的不斷發(fā)展對(duì)實(shí)現(xiàn)企業(yè)上層管理網(wǎng)絡(luò)與現(xiàn)場(chǎng)控制網(wǎng)絡(luò)的無縫連接提出了更高的要求。在工業(yè)自動(dòng)控制領(lǐng)域,工業(yè)系統(tǒng)的網(wǎng)絡(luò)化通信模式已發(fā)展成為一種趨勢(shì),工業(yè)通信技術(shù)正朝著智能化和網(wǎng)絡(luò)化的方向不斷發(fā)展。特別是近幾年來,短程無線通信技術(shù)的崛起,使其也逐步滲透到工業(yè)控制領(lǐng)域。

      如何將現(xiàn)場(chǎng)控制設(shè)備與以太網(wǎng)互聯(lián),完成異構(gòu)網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸,進(jìn)而實(shí)現(xiàn)底層生產(chǎn)與上層管理的緊密集成是當(dāng)前研究的熱點(diǎn)?;诖耍疚奶岢隽艘环N基于Modbus協(xié)議的工業(yè)有線/無線混合網(wǎng)絡(luò)傳輸方案,設(shè)計(jì)了嵌入式網(wǎng)關(guān)的軟硬件以完成Modbus協(xié)議與TCP/IP協(xié)議之間的轉(zhuǎn)換,實(shí)現(xiàn)了Modbus協(xié)議在現(xiàn)場(chǎng)總線網(wǎng)和以太網(wǎng)之間的互聯(lián)。

      1 系統(tǒng)總體設(shè)計(jì)

      Modbus協(xié)議是屬于應(yīng)用層的通信協(xié)議,它與物理層的設(shè)備和電器接口無關(guān),既支持傳統(tǒng)的RS232/RS485通信標(biāo)準(zhǔn),也支持以太網(wǎng)通信標(biāo)準(zhǔn)。所以根據(jù)物理層網(wǎng)絡(luò)的不同,Modbus協(xié)議被分成串行鏈路版本和運(yùn)行在以太網(wǎng)的Modbus/TCP版本。

      網(wǎng)關(guān)又稱網(wǎng)間連接器、協(xié)議轉(zhuǎn)換器,在采用不同體系結(jié)構(gòu)或協(xié)議的網(wǎng)絡(luò)之間進(jìn)行互通時(shí),提供協(xié)議轉(zhuǎn)換、數(shù)據(jù)交換等網(wǎng)絡(luò)兼容功能的設(shè)施。在本設(shè)計(jì)中,網(wǎng)關(guān)的主要功能是將串行鏈路版的Modbus現(xiàn)場(chǎng)總線與基于TCP/IP協(xié)議的以太網(wǎng)連接起來。其總體結(jié)構(gòu)框圖如圖1所示。

      圖1 總體結(jié)構(gòu)框圖

      本設(shè)計(jì)以STM32F107作為主控制器芯片,其上運(yùn)行嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread,負(fù)責(zé)對(duì)各任務(wù)進(jìn)程進(jìn)行調(diào)度,其上加載的LwIP協(xié)議棧完成以太網(wǎng)通信相關(guān)任務(wù)。對(duì)外根據(jù)具體總線的類型選擇收發(fā)芯片,采用物理層收發(fā)芯片結(jié)合RJ-45接口和WiFi芯片完成以太網(wǎng)有線和無線的通信任務(wù)。

      2 硬件設(shè)計(jì)

      2.1 硬件總體設(shè)計(jì)

      系統(tǒng)硬件總體設(shè)計(jì)框圖如圖2所示。

      圖2 系統(tǒng)總體硬件設(shè)計(jì)框圖

      系統(tǒng)采用意法半導(dǎo)體公司基于ARM Cortex-M3內(nèi)核的微控制芯片STM32F107VCT6作為核心處理器。該芯片是一款互聯(lián)型微控制器,性價(jià)比高,內(nèi)核、系統(tǒng)和存儲(chǔ)器體積小;其工作頻率高達(dá)72 MHz,內(nèi)置高速存儲(chǔ)器(256 KB的閃存和64 KB的SRAM),具備豐富的I/O接口及外設(shè)資源。該芯片的運(yùn)行速度可滿足系統(tǒng)的實(shí)時(shí)性多任務(wù)需求,豐富的對(duì)外通信接口可滿足多種應(yīng)用場(chǎng)合的需求??傮w設(shè)計(jì)包括基本的核心控制芯片級(jí)周邊外設(shè)、電源模塊、各通信接口、燒錄和調(diào)試程序的JTAG接口;FLASH模塊主要保存各種需掉電保存的參數(shù)配置信息;RTC實(shí)時(shí)時(shí)鐘模塊主要在掉電時(shí)利用鋰電池供電,保持時(shí)鐘與其他系統(tǒng)同步。

      2.2 STM32F107VCT6核心控制芯片電路設(shè)計(jì)

      本設(shè)計(jì)的核心控制芯片STM32F107VCT6芯片為L(zhǎng)QFP100封裝,根據(jù)芯片手冊(cè),采用25 MHz溫補(bǔ)晶振作為基準(zhǔn)時(shí)鐘源,采用32 768 kHz晶振作為外部低速時(shí)鐘源,啟動(dòng)方式配置為上電直接從內(nèi)部啟動(dòng)運(yùn)行(BOOT0引腳下拉接地),采用多種濾波電容把交流噪聲旁路到地,起到穩(wěn)定電壓的作用,在PCB布板時(shí)需要把電容放置在距離芯片電源引腳盡可能近的地方,以達(dá)到更好的濾波效果。該芯片核心工作電壓為+3.3 V,由電源電路提供。程序的燒錄和調(diào)試采用了JTAG模式中的SWJ-DP模式。

      2.3 電源模塊設(shè)計(jì)

      電源模塊采用德州儀器的LM2596電源轉(zhuǎn)換芯片將+12 V電壓轉(zhuǎn)換為+5 V。電路設(shè)計(jì)中加入了保險(xiǎn)絲、瞬態(tài)抑制二極管等元件對(duì)后端電路進(jìn)行保護(hù),防止接反短路。采用了電容、電感等降低電源電路的紋波噪聲,其設(shè)計(jì)如圖3所示。系統(tǒng)中所需要的+3.3 V電壓采用電壓轉(zhuǎn)換芯片ASM1117獲得,該芯片由LM2596產(chǎn)生的+5 V電壓轉(zhuǎn)換為+3.3 V,并在周邊加上各濾波電路,減少噪聲干擾。

      圖3 電源模塊設(shè)計(jì)圖

      2.4 有線以太網(wǎng)接口電路設(shè)計(jì)

      STM32F107系列微控制器內(nèi)部集成了高性能的以太網(wǎng)模塊,提供支持IEEE-802.3-2002的介質(zhì)訪問控制器用于以太網(wǎng)通信,支持10 Mb/s和100 Mb/s兩種速率。該控制器內(nèi)部集成兩個(gè)介質(zhì)無關(guān)接口,分別是工業(yè)標(biāo)準(zhǔn)的介質(zhì)無關(guān)接口(MII-有17路信號(hào)線,時(shí)鐘為25 MHz)和精簡(jiǎn)的介質(zhì)無關(guān)接口(RMII-9路信號(hào)線,時(shí)鐘為50 MHz)。

      STM32F107需要一個(gè)外接物理接口設(shè)備(PHY)連接介質(zhì)無關(guān)端口與物理局域網(wǎng)總線結(jié)合,實(shí)現(xiàn)以太網(wǎng)的功能。本設(shè)計(jì)選用的以太網(wǎng)物理層接口收發(fā)控制器是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的DP83848CVV單端物理層(PHY)芯片。該芯片能耗低、單路高速、魯棒性好、功能全,具有通用的網(wǎng)絡(luò)接口,支持MII(介質(zhì)無關(guān)接口)和RMII(精簡(jiǎn)介質(zhì)無關(guān)接口),還支持10BASE-TX和100BASE-TX的以太網(wǎng)外設(shè),可以兼容其他標(biāo)準(zhǔn)的以太網(wǎng)解決方案,通用性高,這樣可以使設(shè)計(jì)更加簡(jiǎn)單靈活。

      DP83848芯片配合RMII精簡(jiǎn)標(biāo)準(zhǔn)接口提供的連接方案,能夠減少M(fèi)AC與PHY接口的引腳數(shù),使設(shè)計(jì)者在保持IEEE802.3規(guī)范所有特性的同時(shí),也降低了系統(tǒng)設(shè)計(jì)的成本,因此該芯片能夠很好地滿足工業(yè)控制和工廠自動(dòng)化,以及通用嵌入式系統(tǒng)的要求。正是因?yàn)槿绱?,該芯片也是STM32系列互聯(lián)型控制器的推薦芯片型號(hào),該接口芯片與微控制器連接設(shè)計(jì)如圖4所示。

      圖4 DP83848與微控制器連接設(shè)計(jì)圖

      本設(shè)計(jì)選擇與網(wǎng)絡(luò)芯片連接的RJ45接口器件是集隔離變壓器于一體的連接座HR91105,連接座器件帶有黃綠指示燈,其連接關(guān)系設(shè)計(jì)如圖5所示。

      2.5 無線以太網(wǎng)WiFi接口電路設(shè)計(jì)

      本設(shè)計(jì)采用ESP8266作為提供無線以太網(wǎng)連接的接口芯片。ESP8266包含Tensilica L106超低功耗、32位精簡(jiǎn)模式的CPU,主頻為80 MHz,內(nèi)置50 KB SRAM高速緩存,16 MB ROM(外擴(kuò)FLASH芯片),支持ADC/PWM,可支持UART、SDIO、SPI、I2C等多種總線傳輸模式,支持802.11b/g/n協(xié)議,發(fā)射頻率范圍為2.4~2.5 GHz,最大發(fā)射功率可達(dá)+20 dBm。

      圖5 RJ45端口設(shè)計(jì)

      本設(shè)計(jì)中ESP8266芯片通過USART串行接口與STM32F107進(jìn)行通信,完成數(shù)據(jù)交互,通過SPI總線與FLASH芯片(W25Q80)完成通信, FLASH芯片可保存一些參數(shù)配置信息。采用26 MHz高精度溫補(bǔ)晶振為其提供時(shí)鐘源,其電路設(shè)計(jì)如圖6所示。其中ESP8266的天線采用了SMA底座、阻抗匹配為50 Ω的外置射頻天線,在PCB布板時(shí),要注意芯片ANT引腳到射頻底座之間的走線,要盡可能短,如有拐彎的需要,要盡量設(shè)計(jì)成大于90°的弧形走線,以降低功率衰減,獲得更好的無線通信質(zhì)量。

      圖6 無線WiFi接口電路設(shè)計(jì)

      2.6 串行接口電路設(shè)計(jì)

      本設(shè)計(jì)中的串行接口主要是RS-232接口和RS-485接口。設(shè)計(jì)中采用MAX3232作為RS-232接口電路的電平轉(zhuǎn)換芯片。該芯片與STM32F107的串口1和串口4相連,將TTL電平轉(zhuǎn)換為符合RS-232標(biāo)準(zhǔn)的電平,實(shí)現(xiàn)和其他串行接口設(shè)備的通信。

      采用ADM2483完成STM32的串口TTL電平和RS-485差分電平之間的轉(zhuǎn)換。由于485總線采用單工通信方式,在此單獨(dú)使用STM32的一根引腳對(duì)ADM2483的收發(fā)進(jìn)行切換控制。

      2.7 CAN總線接口電路設(shè)計(jì)

      CAN總線作為目前較為流行的控制器局域網(wǎng),廣泛應(yīng)用在多種行業(yè)。本設(shè)計(jì)考慮該網(wǎng)關(guān)的未來功能擴(kuò)展,在此將STM32F107的CAN總線控制功能也設(shè)計(jì)出來,作為預(yù)留接口。STM32F107內(nèi)部包括兩個(gè)CAN控制器,分別連接兩個(gè)CAN收發(fā)器實(shí)現(xiàn)數(shù)據(jù)的傳輸功能。CAN收發(fā)器是CAN控制器和物理總線之間的接口,為CAN控制器提供差分接收、發(fā)送功能,本設(shè)計(jì)選用TJA1050作為CAN收發(fā)器,其設(shè)計(jì)電路如圖7所示。

      圖7 CAN總線接口電路設(shè)計(jì)

      3 軟件設(shè)計(jì)

      嵌入式系統(tǒng)大多對(duì)實(shí)時(shí)性有較高的要求,本設(shè)計(jì)在嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread完成對(duì)各項(xiàng)任務(wù)的調(diào)度。該系統(tǒng)運(yùn)行于STM32F107核心控制芯片上。在此對(duì)其移植過程進(jìn)行簡(jiǎn)要介紹,RT-Thread是一款國(guó)產(chǎn)的嵌入式開源RTOS,支持NXP、ST等多家公司的ARM架構(gòu)芯片,其結(jié)構(gòu)框圖如圖8所示。

      圖8 RT-Thread結(jié)構(gòu)框圖

      在具體硬件平臺(tái)和板級(jí)支持包(BSP)基礎(chǔ)之上,RT-Thread構(gòu)建了一個(gè)內(nèi)核對(duì)象管理系統(tǒng),系統(tǒng)通過它對(duì)內(nèi)核對(duì)象進(jìn)行統(tǒng)一管理,這些對(duì)象包括線程、內(nèi)存塊、信號(hào)量、互斥量等。RT-Thread的外圍組件包括RT-GUI、文件系統(tǒng)、Shell和LwIP。其中,LwIP(Light Weight IP,輕量化IP協(xié)議)是應(yīng)用于嵌入式系統(tǒng)的TCP/IP協(xié)議棧,它實(shí)現(xiàn)了完整的TCP/IP協(xié)議,但是占用資源較少。RT-Thread將其作為默認(rèn)的TCP/IP協(xié)議棧,并進(jìn)行了進(jìn)一步優(yōu)化,可以供用戶直接使用,是完成本設(shè)計(jì)中Modbus協(xié)議與TCP/IP協(xié)議之間轉(zhuǎn)換的重要組成部分。Finish Shell是RT-Thread提供的一個(gè)很方便的應(yīng)用,主要用來調(diào)試、查看系統(tǒng)信息。

      3.1 RT-Thread實(shí)時(shí)操作系統(tǒng)移植

      為了讓RT-Thread能夠在STM32F107核心控制芯片上正常運(yùn)行,必須進(jìn)行移植。RT-Thread支持多種開發(fā)環(huán)境,本設(shè)計(jì)采用Keil MDK4。首先在RT-Thread的官網(wǎng)根據(jù)實(shí)際的硬件開發(fā)平臺(tái)下載對(duì)應(yīng)的版本,本設(shè)計(jì)使用RT-Thread2.0.0穩(wěn)定版,其BSP(板級(jí)支持包)含有所支持的各平臺(tái)的移植代碼(根據(jù)實(shí)際情況可將其他無關(guān)平臺(tái)的內(nèi)容刪除),內(nèi)部包含有兩個(gè)匯編文件:一個(gè)是系統(tǒng)啟動(dòng)初始化文件,另一個(gè)是線程進(jìn)行上下文切換的文件,其他都是C 源文件。在移植時(shí),選好開發(fā)平臺(tái)后僅需修改rtconfig.h 文件使能本設(shè)計(jì)中要使用到的組件LwIP和Finish Shell (其他組件可根據(jù)需要配置) 。

      3.2 RT-Thread初始化

      MDK的用戶程序入口是main()函數(shù),main()函數(shù)調(diào)用rt_thread_startup()函數(shù)(RT-Thread多平臺(tái)下的統(tǒng)一入口點(diǎn)),函數(shù)中包含了RT-Thread操作系統(tǒng)的啟動(dòng)流程:初始化系統(tǒng)相關(guān)的硬件,初始化定時(shí)器、調(diào)度器等系統(tǒng)組件,初始化系統(tǒng)設(shè)備,初始化各個(gè)應(yīng)用線程并啟動(dòng)調(diào)度器。其中用戶代碼入口位置是rt_application_init(),在這個(gè)函數(shù)中可以初始化用戶應(yīng)用程序的線程,當(dāng)打開調(diào)度器后,用戶線程也將得到執(zhí)行。在本設(shè)計(jì)中,主要根據(jù)硬件平臺(tái)具體使用、連接關(guān)系,初始化用到的全部外設(shè)通信接口和工作狀態(tài)指示燈。

      3.3 LwIP協(xié)議棧的初始化及應(yīng)用

      LwIP由協(xié)議的實(shí)現(xiàn)模塊(IP、ICMP、TCP、UDP)、操作系統(tǒng)模擬層、緩沖與內(nèi)存管理模塊、網(wǎng)絡(luò)接口函數(shù)和API接口函數(shù)等獨(dú)立模塊組成。本設(shè)計(jì)中采用TCP協(xié)議完成數(shù)據(jù)通信,利用LwIP提供的輕型BSD Socket API接口函數(shù)調(diào)用實(shí)現(xiàn),其中為大量已有的網(wǎng)絡(luò)應(yīng)用程序提供了兼容接口。

      結(jié) 語

      猜你喜歡
      框圖電路設(shè)計(jì)以太網(wǎng)
      基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      捷豹I-PACE純電動(dòng)汽車高壓蓄電池充電系統(tǒng)(三)
      Altium Designer在電路設(shè)計(jì)中的應(yīng)用
      電子制作(2019年16期)2019-09-27 09:34:58
      負(fù)反饋放大電路設(shè)計(jì)
      電子制作(2019年23期)2019-02-23 13:21:36
      電路圖2017年凱迪拉克XT5
      算法框圖的補(bǔ)全
      談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      基于UC3843的60W升壓電路設(shè)計(jì)
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      聂拉木县| 临清市| 清涧县| 扶绥县| 镇江市| 柘城县| 肇源县| 昌宁县| 宁国市| 商水县| 津市市| 南宁市| 林周县| 石嘴山市| 泊头市| 新兴县| 怀远县| 呼玛县| 本溪市| 喀喇沁旗| 苏州市| 滨州市| 简阳市| 镇坪县| 阿尔山市| 钦州市| 民权县| 化德县| 长子县| 紫阳县| 墨玉县| 塔河县| 杭锦后旗| 华蓥市| 和田市| 大竹县| 玛纳斯县| 万荣县| 鄂伦春自治旗| 锦屏县| 韶关市|