《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > Linux和S3C2410的PROFIBUS-DP主站平臺設(shè)計
Linux和S3C2410的PROFIBUS-DP主站平臺設(shè)計
摘要: 本文設(shè)計了基于Linux操作系統(tǒng)的PROFISBUS —DP主站。在硬件上采用ARM9內(nèi)核的處理器S3C2410,同時將Linux操作系統(tǒng)移植到此硬件平臺上,在此基礎(chǔ)上,完全由軟件編程實現(xiàn)了整個PROFIBUS—DP的主站功能,能夠與標(biāo)準(zhǔn)PROD—IBUS—DP從站設(shè)備進(jìn)行通信。
Abstract:
Key words :
  PROFIBUS是面向工廠自動化、流程自動化的一種國際性的現(xiàn)場總線標(biāo)準(zhǔn),是一種具有廣泛適用范圍的、開放的數(shù)字通信系統(tǒng),適用于快速、時間要求嚴(yán)格和可靠性要求高的各種通信任務(wù)。PROFIBUS現(xiàn)場總線分3種:PROFIBUS—FMS、PROFIBUS—DP和PROFIBUS—PA。其中,PROF-IBUS—DP是一種高速的低成本通信連接,用于設(shè)備級通信系統(tǒng)與分散式通信。

  PROFIBUS—DP現(xiàn)場總線由主站和從站組成。對于從節(jié)點的研究,國內(nèi)科研院所很早就開始研究,現(xiàn)已有多家企業(yè)能夠自主研制從站產(chǎn)品。但是對于主站,由于其技術(shù)復(fù)雜、開發(fā)難度大,目前國內(nèi)只有北京和利時技術(shù)有限公司、浙大中控等少數(shù)幾家公司開展相關(guān)的技術(shù)研究與開發(fā),并只實現(xiàn)了部分子集功能。大部分產(chǎn)品主要由國外幾家大公司壟斷。同時,隨著PROFIBUS在國內(nèi)市場上的迅速推廣,許多企業(yè)和科研單位開始了對PROFIBUS協(xié)議的研究,并展開了使用PROFIBUS通信協(xié)議的智能節(jié)點的研究。但是,目前國內(nèi)業(yè)界對于PROFIBUS—DP的研究和相關(guān)產(chǎn)品的開發(fā)都是基于國外提供的專用協(xié)議芯片(主站多數(shù)采用西門子推出的ASPC2,從站多采用SPC3等智能通信芯片),即集中在從站設(shè)計領(lǐng)域,而沒有主站樣機(jī)開發(fā)的相關(guān)報道。對于主站的開發(fā),國內(nèi)一些科研院所(北航、中科院、浙大等)也曾利用可編程邏輯器件配合MCU設(shè)計出簡單主站的試驗產(chǎn)品,但是這些產(chǎn)品僅能實現(xiàn)簡單的主站功能,對于組成強(qiáng)大的PROFIBUS—DP網(wǎng)絡(luò)還望塵莫及。

  本文正是針對上述的問題,為避免采用協(xié)議芯片、增加主站智能功能和后續(xù)擴(kuò)展性研究的需要,設(shè)計了基于Linux操作系統(tǒng)的PROFISBUS —DP主站。在硬件上采用ARM9內(nèi)核的處理器S3C2410,同時將Linux操作系統(tǒng)移植到此硬件平臺上,在此基礎(chǔ)上,完全由軟件編程實現(xiàn)了整個PROFIBUS—DP的主站功能,能夠與標(biāo)準(zhǔn)PROD—IBUS—DP從站設(shè)備進(jìn)行通信。

  1 PROFIBUS—DP主站通信機(jī)制

  PROFIBUS—DP的主要目的是在功能強(qiáng)大的主站與若干簡單的從站之間進(jìn)行循環(huán)的數(shù)據(jù)交換。因此系統(tǒng)主要使用主-從類型通信服務(wù)。

  PRIFIBUS—DP總線系統(tǒng)設(shè)備包括主站和從站,而主站則包括1類主站和2類主站。1類主站能夠?qū)恼驹O(shè)置參數(shù),檢查從站的通信接口配置,讀取從站診斷報文,并根據(jù)已經(jīng)定義好的算法與從站進(jìn)行用戶數(shù)據(jù)交換,同時,1類主站還能用一組功能與2類主站進(jìn)行通信。2類主站則是一個編程器或一個管理設(shè)備,可以執(zhí)行一組DP系統(tǒng)的管理與診斷功能。由于2類主站不能單獨作為一個主站對從站進(jìn)行管理,加上本系統(tǒng)采用的是單主站結(jié)構(gòu),所以本系統(tǒng)設(shè)計的是一個1類主站。

  PROFIBUS—DP的1類主站主從通信過程,大致分為以下幾個階段:詢問從站是否在線,主站對從站的第一次診斷,參數(shù)化從站,通信接口配置從站,主站對從站的第二次診斷和主站與從站之間的循環(huán)數(shù)據(jù)交換。

  為了保證幀在總線上的正確傳輸,PROFIBUS—DP對幀的結(jié)構(gòu)及相應(yīng)的時序關(guān)系做了嚴(yán)格的規(guī)定,且定義了12個參數(shù)以限定及保證幀間隔時間和可允許的最大等待時間等。一次典型的主從站數(shù)據(jù)交換過程在發(fā)出每一個幀前,須有一個同步期TSYN,即在每一報文幀發(fā)出前加入一段總線休息時間,其長度固定為33Tbit時間。

  在TSYN后,通信的發(fā)起方發(fā)出請求幀到響應(yīng)者(從站)。接收方從接到該請求到產(chǎn)生響應(yīng)數(shù)據(jù)的間隔時間定義為TSDR,該參數(shù)的大小反映了該響應(yīng)方從站的計算能力大小和資源多少。有些站點沒有采用專用的通信ASIC芯片,或者宿主MPU的計算能力較低都會使響應(yīng)時間較長。 PROFIBUS—DP協(xié)議中規(guī)定了響應(yīng)時間的上、下限值即:min TSDR,max TSDR。其中:min TSDR=11Tbit,maxTSDR=60Tbit~850Tbit。

  在通信的發(fā)起方(主站)一側(cè),從主站發(fā)出請求幀的最后一位到收到響應(yīng)幀的第一位之間的時間間隔被定義為Slot Time,它從另一個方面反映了一個系統(tǒng)的實時性能的好壞。此設(shè)計中定義了一個重要的參數(shù)TSL,即為允許的最大的Slot Time,如果通信的發(fā)起方主站在超過TSL后,還未收到接收方的響應(yīng),則認(rèn)為系統(tǒng)出錯,或重發(fā)請求幀(重發(fā)請求數(shù)不超過Max Retry Limit參數(shù)限制),或上交此錯誤給FDL層。

  2 硬件系統(tǒng)設(shè)計

  本PROFIBUS—DP主站硬件平臺由于目標(biāo)是完全采用自主技術(shù),不依靠國外的產(chǎn)品和技術(shù),所以本系統(tǒng)選用的是第一種方案(即由處理器運行完整的協(xié)議來實現(xiàn));同時,基于S3C2410芯片的強(qiáng)大功能,本平臺不但移植了Linux操作系統(tǒng),并且還編寫了網(wǎng)絡(luò)接口和USB口的驅(qū)動,這對于平臺的多功能性和以后性能的擴(kuò)展都有一定的意義,其總體結(jié)構(gòu)如圖1所示。

a.JPG

  此硬件平臺以S3C2410處理器為核心,通過編程實現(xiàn)DP協(xié)議棧的功能,完成與上位機(jī)和DP從站設(shè)備的通信功能。同時,針對S3C2410處理器的功能,使用外圍芯片DM9000實現(xiàn)了以太網(wǎng)通信功能,并根據(jù)USB的特點,以特定的I/O口實現(xiàn)USB的從設(shè)備功能。由于需要移植Linux操作系統(tǒng),所以需要用外圍芯片擴(kuò)展內(nèi)存。在本試驗平臺中,通過串口1實現(xiàn)了DP通信,通過串口2實現(xiàn)了該硬件平臺與上位機(jī)的通信。

  3 系統(tǒng)軟件設(shè)計

  為了提高該試驗平臺的可靠性,軟件設(shè)計方面將本系統(tǒng)分為兩個子系統(tǒng),一個子系統(tǒng)負(fù)責(zé)與上位機(jī)進(jìn)行通信,另一個子系統(tǒng)則負(fù)責(zé)PROFIBUS—DP的通信。其中,與上位機(jī)通信的程序流程如圖2所示。DP網(wǎng)絡(luò)通信程序流程如圖3所示。

b.JPG

c.JPG

  DP網(wǎng)絡(luò)通信模塊和上位機(jī)通信接口模塊是兩個獨立的模塊,他們共享硬件相關(guān)的函數(shù)庫和從站相關(guān)數(shù)據(jù)結(jié)構(gòu)。這兩個模塊還互為生產(chǎn)者和消費者的關(guān)系,上位機(jī)通信模塊為DP網(wǎng)絡(luò)通信模塊提供從站相關(guān)的組態(tài)(GSD文件相關(guān))信息和從站輸出數(shù)據(jù);DP網(wǎng)絡(luò)通信模塊為用戶通信模塊提供從站輸入數(shù)據(jù)及從站運行狀態(tài)相關(guān)信息。

  4 系統(tǒng)可靠性分析

  軟件的穩(wěn)定性和抗干擾性是衡量系統(tǒng)可靠性的重要指標(biāo)。本主站在軟件實現(xiàn)中所采取的保證可靠性措施主要有防錯設(shè)計、糾錯設(shè)計、故障恢復(fù)設(shè)計等。

  防錯設(shè)計:主要體現(xiàn)在系統(tǒng)程序自檢技術(shù)及數(shù)據(jù)封裝方面。系統(tǒng)軟件設(shè)計過程中采用分層結(jié)構(gòu),與硬件操作相關(guān)的層的通信采用單獨通信模塊完成,這些層次之間通過層間接口進(jìn)行通信,層間接口在設(shè)計過程中對輸入的參數(shù)全部進(jìn)行有效性檢查(指針有效性、數(shù)值有效性、邏輯有效性檢查等)。在數(shù)據(jù)封裝方面,對與上位機(jī)通信和DP網(wǎng)絡(luò)通信兩個子系統(tǒng)分別進(jìn)行編程,分別提供各個子系統(tǒng)的私有數(shù)據(jù),私有數(shù)據(jù)供模塊內(nèi)部調(diào)用,并提供模塊間訪問接口實現(xiàn)相關(guān)數(shù)據(jù)的共享,這樣便可以防止出現(xiàn)模塊間數(shù)據(jù)重名以及編程過程中誤修改產(chǎn)生的問題。

  糾錯設(shè)計:網(wǎng)關(guān)通信過程中不管是和上位機(jī)的通信還是DP網(wǎng)絡(luò)的通信,采用的都是半雙工的RS485通信。相關(guān)通信能否順利進(jìn)行,取決于數(shù)據(jù)的正確性和時間兩個方面。無論是與上位機(jī)通信,還是DP網(wǎng)絡(luò)的通信,每次對于傳輸進(jìn)來的數(shù)據(jù)都有專門的數(shù)據(jù)校驗?zāi)K進(jìn)行校驗,這就避免了在數(shù)據(jù)有誤的情況下仍然進(jìn)行通信。同時,針對接收超時等問題,也有專門的模塊進(jìn)行處理。

  故障恢復(fù)設(shè)計:采用看門狗技術(shù)。系統(tǒng)軟件在運行過程中開啟硬件看門狗,軟件必須在一定的時間內(nèi)“喂狗”,否則就會導(dǎo)致看門狗對系統(tǒng)的復(fù)位。這樣防止了因程序跑飛而導(dǎo)致無法恢復(fù)的錯誤。

  5 系統(tǒng)實時性

  PROFIBUS—DP現(xiàn)場總線作為應(yīng)用在設(shè)備的公共總線,必須解決各節(jié)點的網(wǎng)絡(luò)使用權(quán)競爭問題,同時保證通信的實時性。PORFIBUS—DP系統(tǒng)的實時響應(yīng)時間依賴于max TSDR、采用的傳輸速率、要交換的數(shù)據(jù)長度和數(shù)量、min_slave_Interval(某一個從站前后2次被主站輪詢的最小間隔時間)4個參數(shù)。系統(tǒng)的測控周期(又稱訪問周期)是指控制系統(tǒng)周期性訪問網(wǎng)絡(luò)上同一個節(jié)點的時間間隔,是衡量PORFIBUS—DP實時性能的一個重要指標(biāo)。

  一次典型的主從數(shù)據(jù)交換過程如圖4所示。

d.JPG

  其中,Tbit表示在總線上傳輸1位所耗用的時間,是其他時間參數(shù)的計量單位。由于PROFIBUS—DP采用UART編碼方式,每個字符由11位組成,所以傳輸一個字符需要11Tbit。

  TID1定義了一個發(fā)送節(jié)點在獲得相應(yīng)信號后的再次發(fā)送下一個信息幀所需的最短時間。

  從圖4可知,一個報文循環(huán)由主動幀(請求或發(fā)送/請求幀)和回答幀組成。循環(huán)時間由幀傳輸時間、傳輸延遲時間和站延遲時間組成。

e.JPG

  其中:TReq=a×11Tbit,a為請求/發(fā)送幀中的字符個數(shù);TRes=b×11Tbit,b為應(yīng)答幀中的字符個數(shù);TAsk=1×11Tbit,短應(yīng)答幀;TS-DR為站延遲時間,指接收方從接到請求到產(chǎn)生響應(yīng)數(shù)據(jù)的時間間隔;TTD為傳輸間隔時間,指一個幀在傳輸時在發(fā)送器和接收器之間的傳輸介質(zhì)上經(jīng)過的最大時間。

  本硬件平臺中PROFIBUS—DP總線傳輸速率設(shè)置為9.6 kbps,由于是近距離傳輸,所以TTD=OTbit,Tsdr=11Tbit,TID1=37Tbit,和主站通信的從站最多有244個數(shù)據(jù)(根據(jù):PROFIBUS—DP協(xié)議規(guī)定)輸入/輸出,請求幀中有11個字符數(shù)據(jù),則報文循環(huán)時間最長為:

g.JPG

  可見,在傳輸速率為9.6 kbps的情況下,一次報文循環(huán)的最長時間為297.3ms;從上面這些參數(shù)中可以發(fā)現(xiàn),只有TID1能夠由主站平臺的性能決定,普通的MPU調(diào)度所需時間為24.66μs。而在移植Linux操作系統(tǒng)后,由于采用的2.6版本的Linux操作系統(tǒng)使用了新的0(1)的調(diào)度算法,大大提高了進(jìn)程調(diào)度能力,同時對于多從站的通信的任務(wù)能進(jìn)行很好的管理和調(diào)度,大大增強(qiáng)了主站平臺的功能。

  5 主站平臺性能分析及調(diào)試

  PROFIBUS—DP主站的主從通信性能主要體現(xiàn)在主從通信速度的快慢和支持的從站數(shù)目上。由于本實驗室的從站數(shù)目有限,搭建的測試平臺目前只有3個PROFIBUS—DP從站(ET200S、MM420和自主設(shè)計的從站),如圖5所示。

h.JPG

  本次測試的傳輸速率選定為9.6 kbps,同時對3個從站進(jìn)行組態(tài),分別測試移植Linux操作系統(tǒng)前主站從接收到數(shù)據(jù)到有數(shù)據(jù)發(fā)出之間的時間ttop,到移植Linux操作系統(tǒng)后主站的響應(yīng)時間tend;通過實驗,從示波器上的測試的圖形可以看出ttop的寬度是大于tend的寬度的,具體測量后可知無操作系統(tǒng)下ttop≈4 015.4μs,Linux操作系統(tǒng)tend≈70μs。可見移植Linux操作系統(tǒng)后能使主站的響應(yīng)時間大大縮短,提高對從站的管理效率。



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
美女久久网站| 欧美性一区二区| 亚洲免费视频在线观看| 亚洲精品社区| 亚洲人精品午夜| 亚洲成色www8888| 久久国产夜色精品鲁鲁99| 欧美一区二区三区四区夜夜大片 | 久久野战av| 欧美在线|欧美| 欧美在线一二三| 欧美自拍偷拍午夜视频| 久久成人精品视频| 久久久精品一品道一区| 久久久久国内| 麻豆成人在线播放| 欧美大片免费久久精品三p | 欧美午夜久久久| 欧美日韩在线视频观看| 欧美午夜在线视频| 国产精品都在这里| 国产精品丝袜久久久久久app | 亚洲国产精品免费| 老牛国产精品一区的观看方式| 久久激情五月激情| 一区二区三区日韩欧美| 国产精品mv在线观看| 狂野欧美激情性xxxx| 亚洲欧美日韩在线播放| 欧美在线观看一区二区三区| 久久精品国产久精国产爱| 久久天堂国产精品| 欧美国产精品久久| 日韩一区二区精品视频| 日韩一级精品| 亚洲人成人一区二区在线观看| 91久久久一线二线三线品牌| 国产亚洲美州欧州综合国| 一区二区在线视频| 日韩视频第一页| 亚洲特级片在线| 欧美中文字幕精品| 亚洲精品一区二区三区四区高清| 夜夜嗨av一区二区三区四区| 亚洲一区二区三区在线观看视频| 欧美在线播放高清精品| 麻豆久久精品| 欧美系列一区| 在线观看视频亚洲| 一本大道av伊人久久综合| 亚洲欧美经典视频| 亚洲国产精品成人综合| 亚洲小视频在线| 久久精品免费观看| 欧美高清不卡| 国产精品视频久久| 亚洲第一毛片| 亚洲一区观看| 亚洲日本在线视频观看| 亚洲欧美清纯在线制服| 美脚丝袜一区二区三区在线观看| 欧美日韩p片| 国产亚洲欧美日韩日本| 亚洲毛片av在线| 欧美一区中文字幕| 在线一区观看| 久久视频在线视频| 国产精品国产福利国产秒拍| 激情文学综合丁香| 亚洲图片欧洲图片av| 亚洲黄色免费网站| 午夜亚洲伦理| 欧美日韩八区| 在线精品亚洲| 亚洲欧美视频一区| 一区二区av| 老牛国产精品一区的观看方式| 国产精品免费aⅴ片在线观看| 亚洲国产高潮在线观看| 亚洲综合视频在线| 亚洲视频www| 欧美成人精品激情在线观看| 国产情人综合久久777777| 日韩视频在线观看| 91久久香蕉国产日韩欧美9色| 欧美亚洲免费在线| 欧美视频一区二区三区| 亚洲大胆女人| 久久gogo国模啪啪人体图| 亚洲一区在线观看视频| 欧美激情按摩| 精品二区视频| 欧美一区高清| 欧美一区二区三区精品| 欧美日韩精品综合| 亚洲国产毛片完整版| 亚洲大黄网站| 久久精品主播| av不卡在线| 亚洲欧美日韩综合aⅴ视频| 欧美国产欧美综合 | 国产女同一区二区| 一本久道综合久久精品| 亚洲欧洲日韩综合二区| 香港成人在线视频| 亚洲一区二区三区在线观看视频| 欧美日韩国产经典色站一区二区三区| 在线精品国精品国产尤物884a| 亚洲欧美日韩综合国产aⅴ| 亚洲欧美怡红院| 欧美亚洲不卡| 亚洲午夜精品一区二区| 亚洲欧美另类久久久精品2019| 欧美日韩一级视频| 99re国产精品| 久久狠狠亚洲综合| 欧美中文字幕在线播放| 国产欧美一区二区色老头| 亚洲视频免费| 国产精品黄视频| 欧美一区三区二区在线观看| 欧美一级播放| 欧美日本二区| 国产日韩欧美不卡| 欧美一区二区成人| 久久久亚洲影院你懂的| 国产一区二区三区在线观看网站| 西西人体一区二区| 久久久久久久一区二区| 韩国v欧美v日本v亚洲v| 久久国产精品一区二区三区| 老色鬼久久亚洲一区二区| 激情久久久久久| 亚洲精品欧美日韩| 欧美精品aa| 亚洲最新在线| 香蕉久久久久久久av网站| 国产欧美精品| 亚洲福利视频网站| 欧美成人一区在线| 日韩一二三区视频| 午夜精品久久久久久久99黑人| 国产欧美一区视频| 久久激情综合网| 女人香蕉久久**毛片精品| 亚洲麻豆视频| 欧美一区二区日韩| 一区二区三区在线视频观看| 91久久精品日日躁夜夜躁欧美| 欧美精品在线观看播放| 一区二区三区不卡视频在线观看| 亚洲欧美一区二区激情| 国外成人免费视频| 日韩亚洲在线观看| 国产精品久久久久久户外露出| 亚洲欧美成人网| 另类图片国产| 国产人久久人人人人爽| 亚洲国产精品成人精品| 欧美日韩亚洲一区二区三区四区| 亚洲午夜日本在线观看| 久久久久久久久久码影片| 亚洲国产天堂久久综合| 亚洲午夜电影| 国外成人在线| 亚洲社区在线观看| 国产在线国偷精品产拍免费yy| 亚洲破处大片| 国产精品第一区| 亚洲国产福利在线| 国产精品99免费看| 亚洲高清一区二区三区| 欧美体内谢she精2性欧美| 欧美一区二区在线免费观看 | 欧美精品v日韩精品v韩国精品v| 一本久道久久综合婷婷鲸鱼| 久久精品国产一区二区三区免费看| 久久久久久噜噜噜久久久精品| 国产精品免费看| 久久本道综合色狠狠五月| 欧美日韩mv| 国产一区二区三区在线观看免费视频 | 欧美激情无毛| 亚洲欧美经典视频| 欧美激情一二三区| 欧美一区二区三区久久精品茉莉花 | 亚洲一区在线免费观看| 海角社区69精品视频| 亚洲剧情一区二区| 国产精品一区二区视频| 欧美一级片在线播放| 蘑菇福利视频一区播放| 亚洲欧美日韩国产中文在线| 欧美日韩成人一区二区| 亚洲国产一区二区三区高清 | 国产一区免费视频| 亚洲综合色丁香婷婷六月图片| 久久久久久久久久久久久女国产乱 | 久久精品综合网| 亚洲视频国产视频|