<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應用 > Linux和S3C2410的PROFIBUS-DP主站平臺設(shè)計

          Linux和S3C2410的PROFIBUS-DP主站平臺設(shè)計

          作者: 時間:2011-06-21 來源:網(wǎng)絡(luò) 收藏

          摘要:針對標準PROFIBUS—DP主站在國內(nèi)研究較少,自主研發(fā)產(chǎn)品的功能有限、智能化不足的現(xiàn)狀,進行了基于操作系統(tǒng)的PROFIBUS—DP主站的和研究,實現(xiàn)了PROFIBUS—DP1類主站的主從通信功能。采用模塊化思想,從防錯、糾錯設(shè)計、故障恢復設(shè)計等方面對設(shè)計方案中軟硬件可靠性進行了詳細分析。從響應時間的角度闡述了影響系統(tǒng)實時性的關(guān)鍵問題,同時對本的實時性進行了詳細分析,并通過實驗測試了該主站的性能參數(shù)。實驗結(jié)果表明,對于多從站通信,使用操作系統(tǒng)后,性能更優(yōu)越,運行更穩(wěn)定。
          關(guān)鍵詞:主站;實時性;模塊化;操作系統(tǒng)

          引言
          PROFIBUS是面向工廠自動化、流程自動化的一種國際性的現(xiàn)場總線標準,是一種具有廣泛適用范圍的、開放的數(shù)字通信系統(tǒng),適用于快速、時間要求嚴格和可靠性要求高的各種通信任務。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ā)難度大,目前國內(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)域,而沒有主站樣機開發(fā)的相關(guān)報道。對于主站的開發(fā),國內(nèi)一些科研院所(北航、中科院、浙大等)也曾利用可編程邏輯器件配合MCU設(shè)計出簡單主站的試驗產(chǎn)品,但是這些產(chǎn)品僅能實現(xiàn)簡單的主站功能,對于組成強大的PROFIBUS—DP網(wǎng)絡(luò)還望塵莫及。
          本文正是針對上述的問題,為避免采用協(xié)議芯片、增加主站智能功能和后續(xù)擴展性研究的需要,設(shè)計了基于Linux操作系統(tǒng)的PROFISBUS —DP主站。在硬件上采用ARM9內(nèi)核的處理器,同時將Linux操作系統(tǒng)移植到此硬件上,在此基礎(chǔ)上,完全由軟件編程實現(xiàn)了整個PROFIBUS—DP的主站功能,能夠與標準PROD—IBUS—DP從站設(shè)備進行通信。

          1 PROFIBUS—DP主站通信機制
          PROFIBUS—DP的主要目的是在功能強大的主站與若干簡單的從站之間進行循環(huán)的數(shù)據(jù)交換。因此系統(tǒng)主要使用主-從類型通信服務。
          PRIFIBUS—DP總線系統(tǒng)設(shè)備包括主站和從站,而主站則包括1類主站和2類主站。1類主站能夠?qū)恼驹O(shè)置參數(shù),檢查從站的通信接口配置,讀取從站診斷報文,并根據(jù)已經(jīng)定義好的算法與從站進行用戶數(shù)據(jù)交換,同時,1類主站還能用一組功能與2類主站進行通信。2類主站則是一個編程器或一個管理設(shè)備,可以執(zhí)行一組DP系統(tǒng)的管理與診斷功能。由于2類主站不能單獨作為一個主站對從站進行管理,加上本系統(tǒng)采用的是單主站結(jié)構(gòu),所以本系統(tǒng)設(shè)計的是一個1類主站。
          PROFIBUS—DP的1類主站主從通信過程,大致分為以下幾個階段:詢問從站是否在線,主站對從站的第一次診斷,參數(shù)化從站,通信接口配置從站,主站對從站的第二次診斷和主站與從站之間的循環(huán)數(shù)據(jù)交換。
          為了保證幀在總線上的正確傳輸,PROFIBUS—DP對幀的結(jié)構(gòu)及相應的時序關(guān)系做了嚴格的規(guī)定,且定義了12個參數(shù)以限定及保證幀間隔時間和可允許的最大等待時間等。一次典型的主從站數(shù)據(jù)交換過程在發(fā)出每一個幀前,須有一個同步期TSYN,即在每一報文幀發(fā)出前加入一段總線休息時間,其長度固定為33Tbit時間。
          在TSYN后,通信的發(fā)起方發(fā)出請求幀到響應者(從站)。接收方從接到該請求到產(chǎn)生響應數(shù)據(jù)的間隔時間定義為TSDR,該參數(shù)的大小反映了該響應方從站的計算能力大小和資源多少。有些站點沒有采用專用的通信ASIC芯片,或者宿主MPU的計算能力較低都會使響應時間較長。 PROFIBUS—DP協(xié)議中規(guī)定了響應時間的上、下限值即:min TSDR,max TSDR。其中:min TSDR=11Tbit,maxTSDR=60Tbit~850Tbit。
          在通信的發(fā)起方(主站)一側(cè),從主站發(fā)出請求幀的最后一位到收到響應幀的第一位之間的時間間隔被定義為Slot Time,它從另一個方面反映了一個系統(tǒng)的實時性能的好壞。此設(shè)計中定義了一個重要的參數(shù)TSL,即為允許的最大的Slot Time,如果通信的發(fā)起方主站在超過TSL后,還未收到接收方的響應,則認為系統(tǒng)出錯,或重發(fā)請求幀(重發(fā)請求數(shù)不超過Max Retry Limit參數(shù)限制),或上交此錯誤給FDL層。

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

          本文引用地址:http://www.ex-cimer.com/article/156156.htm

          a.JPG


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

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();