Linux和S3C2410的PROFIBUS-DP主站平臺(tái)設(shè)計(jì)
摘要:針對(duì)標(biāo)準(zhǔn)PROFIBUS—DP主站在國內(nèi)研究較少,自主研發(fā)產(chǎn)品的功能有限、智能化不足的現(xiàn)狀,進(jìn)行了基于Linux操作系統(tǒng)的PROFIBUS—DP主站的設(shè)計(jì)和研究,實(shí)現(xiàn)了PROFIBUS—DP1類主站的主從通信功能。采用模塊化設(shè)計(jì)思想,從防錯(cuò)設(shè)計(jì)、糾錯(cuò)設(shè)計(jì)、故障恢復(fù)設(shè)計(jì)等方面對(duì)設(shè)計(jì)方案中軟硬件可靠性進(jìn)行了詳細(xì)分析。從響應(yīng)時(shí)間的角度闡述了影響系統(tǒng)實(shí)時(shí)性的關(guān)鍵問題,同時(shí)對(duì)本平臺(tái)的實(shí)時(shí)性進(jìn)行了詳細(xì)分析,并通過實(shí)驗(yàn)測試了該主站的性能參數(shù)。實(shí)驗(yàn)結(jié)果表明,對(duì)于多從站通信,使用Linux操作系統(tǒng)后,性能更優(yōu)越,運(yùn)行更穩(wěn)定。
關(guān)鍵詞:主站;實(shí)時(shí)性;模塊化;Linux操作系統(tǒng)
引言
PROFIBUS是面向工廠自動(dòng)化、流程自動(dòng)化的一種國際性的現(xiàn)場總線標(biāo)準(zhǔn),是一種具有廣泛適用范圍的、開放的數(shù)字通信系統(tǒng),適用于快速、時(shí)間要求嚴(yán)格和可靠性要求高的各種通信任務(wù)。PROFIBUS現(xiàn)場總線分3種:PROFIBUS—FMS、PROFIBUS—DP和PROFIBUS—PA。其中,PROF-IBUS—DP是一種高速的低成本通信連接,用于設(shè)備級(jí)通信系統(tǒng)與分散式通信。
PROFIBUS—DP現(xiàn)場總線由主站和從站組成。對(duì)于從節(jié)點(diǎn)的研究,國內(nèi)科研院所很早就開始研究,現(xiàn)已有多家企業(yè)能夠自主研制從站產(chǎn)品。但是對(duì)于主站,由于其技術(shù)復(fù)雜、開發(fā)難度大,目前國內(nèi)只有北京和利時(shí)技術(shù)有限公司、浙大中控等少數(shù)幾家公司開展相關(guān)的技術(shù)研究與開發(fā),并只實(shí)現(xiàn)了部分子集功能。大部分產(chǎn)品主要由國外幾家大公司壟斷。同時(shí),隨著PROFIBUS在國內(nèi)市場上的迅速推廣,許多企業(yè)和科研單位開始了對(duì)PROFIBUS協(xié)議的研究,并展開了使用PROFIBUS通信協(xié)議的智能節(jié)點(diǎn)的研究。但是,目前國內(nèi)業(yè)界對(duì)于PROFIBUS—DP的研究和相關(guān)產(chǎn)品的開發(fā)都是基于國外提供的專用協(xié)議芯片(主站多數(shù)采用西門子推出的ASPC2,從站多采用SPC3等智能通信芯片),即集中在從站設(shè)計(jì)領(lǐng)域,而沒有主站樣機(jī)開發(fā)的相關(guān)報(bào)道。對(duì)于主站的開發(fā),國內(nèi)一些科研院所(北航、中科院、浙大等)也曾利用可編程邏輯器件配合MCU設(shè)計(jì)出簡單主站的試驗(yàn)產(chǎn)品,但是這些產(chǎn)品僅能實(shí)現(xiàn)簡單的主站功能,對(duì)于組成強(qiáng)大的PROFIBUS—DP網(wǎng)絡(luò)還望塵莫及。
本文正是針對(duì)上述的問題,為避免采用協(xié)議芯片、增加主站智能功能和后續(xù)擴(kuò)展性研究的需要,設(shè)計(jì)了基于Linux操作系統(tǒng)的PROFISBUS —DP主站。在硬件上采用ARM9內(nèi)核的處理器S3C2410,同時(shí)將Linux操作系統(tǒng)移植到此硬件平臺(tái)上,在此基礎(chǔ)上,完全由軟件編程實(shí)現(xiàn)了整個(gè)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ù),檢查從站的通信接口配置,讀取從站診斷報(bào)文,并根據(jù)已經(jīng)定義好的算法與從站進(jìn)行用戶數(shù)據(jù)交換,同時(shí),1類主站還能用一組功能與2類主站進(jìn)行通信。2類主站則是一個(gè)編程器或一個(gè)管理設(shè)備,可以執(zhí)行一組DP系統(tǒng)的管理與診斷功能。由于2類主站不能單獨(dú)作為一個(gè)主站對(duì)從站進(jìn)行管理,加上本系統(tǒng)采用的是單主站結(jié)構(gòu),所以本系統(tǒng)設(shè)計(jì)的是一個(gè)1類主站。
PROFIBUS—DP的1類主站主從通信過程,大致分為以下幾個(gè)階段:詢問從站是否在線,主站對(duì)從站的第一次診斷,參數(shù)化從站,通信接口配置從站,主站對(duì)從站的第二次診斷和主站與從站之間的循環(huán)數(shù)據(jù)交換。
為了保證幀在總線上的正確傳輸,PROFIBUS—DP對(duì)幀的結(jié)構(gòu)及相應(yīng)的時(shí)序關(guān)系做了嚴(yán)格的規(guī)定,且定義了12個(gè)參數(shù)以限定及保證幀間隔時(shí)間和可允許的最大等待時(shí)間等。一次典型的主從站數(shù)據(jù)交換過程在發(fā)出每一個(gè)幀前,須有一個(gè)同步期TSYN,即在每一報(bào)文幀發(fā)出前加入一段總線休息時(shí)間,其長度固定為33Tbit時(shí)間。
在TSYN后,通信的發(fā)起方發(fā)出請(qǐng)求幀到響應(yīng)者(從站)。接收方從接到該請(qǐng)求到產(chǎn)生響應(yīng)數(shù)據(jù)的間隔時(shí)間定義為TSDR,該參數(shù)的大小反映了該響應(yīng)方從站的計(jì)算能力大小和資源多少。有些站點(diǎn)沒有采用專用的通信ASIC芯片,或者宿主MPU的計(jì)算能力較低都會(huì)使響應(yīng)時(shí)間較長。 PROFIBUS—DP協(xié)議中規(guī)定了響應(yīng)時(shí)間的上、下限值即:min TSDR,max TSDR。其中:min TSDR=11Tbit,maxTSDR=60Tbit~850Tbit。
在通信的發(fā)起方(主站)一側(cè),從主站發(fā)出請(qǐng)求幀的最后一位到收到響應(yīng)幀的第一位之間的時(shí)間間隔被定義為Slot Time,它從另一個(gè)方面反映了一個(gè)系統(tǒng)的實(shí)時(shí)性能的好壞。此設(shè)計(jì)中定義了一個(gè)重要的參數(shù)TSL,即為允許的最大的Slot Time,如果通信的發(fā)起方主站在超過TSL后,還未收到接收方的響應(yīng),則認(rèn)為系統(tǒng)出錯(cuò),或重發(fā)請(qǐng)求幀(重發(fā)請(qǐng)求數(shù)不超過Max Retry Limit參數(shù)限制),或上交此錯(cuò)誤給FDL層。
2 硬件系統(tǒng)設(shè)計(jì)
本PROFIBUS—DP主站硬件平臺(tái)由于目標(biāo)是完全采用自主技術(shù),不依靠國外的產(chǎn)品和技術(shù),所以本系統(tǒng)選用的是第一種方案(即由處理器運(yùn)行完整的協(xié)議來實(shí)現(xiàn));同時(shí),基于S3C2410芯片的強(qiáng)大功能,本平臺(tái)不但移植了Linux操作系統(tǒng),并且還編寫了網(wǎng)絡(luò)接口和USB口的驅(qū)動(dòng),這對(duì)于平臺(tái)的多功能性和以后性能的擴(kuò)展都有一定的意義,其總體結(jié)構(gòu)如圖1所示。
此硬件平臺(tái)以S3C2410處理器為核心,通過編程實(shí)現(xiàn)DP協(xié)議棧的功能,完成與上位機(jī)和DP從站設(shè)備的通信功能。同時(shí),針對(duì)S3C2410處理器的功能,使用外圍芯片DM9000實(shí)現(xiàn)了以太網(wǎng)通信功能,并根據(jù)USB的特點(diǎn),以特定的I/O口實(shí)現(xiàn)USB的從設(shè)備功能。由于需要移植Linux操作系統(tǒng),所以需要用外圍芯片擴(kuò)展內(nèi)存。在本試驗(yàn)平臺(tái)中,通過串口1實(shí)現(xiàn)了DP通信,通過串口2實(shí)現(xiàn)了該硬件平臺(tái)與上位機(jī)的通信。
評(píng)論