80C166單片機(jī)PEC服務(wù)的PROFIBUS-FDL從站協(xié)議實(shí)現(xiàn)_第1頁(yè)
80C166單片機(jī)PEC服務(wù)的PROFIBUS-FDL從站協(xié)議實(shí)現(xiàn)_第2頁(yè)
80C166單片機(jī)PEC服務(wù)的PROFIBUS-FDL從站協(xié)議實(shí)現(xiàn)_第3頁(yè)
80C166單片機(jī)PEC服務(wù)的PROFIBUS-FDL從站協(xié)議實(shí)現(xiàn)_第4頁(yè)
80C166單片機(jī)PEC服務(wù)的PROFIBUS-FDL從站協(xié)議實(shí)現(xiàn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C166單片機(jī)PEC服務(wù)的PROFIBUS-FDL從站協(xié)議實(shí)現(xiàn)摘要:在詳盡西門子80C166單片機(jī)PEC服務(wù)工作機(jī)制和PROFIBUS-FDL幀格式的根底上,提出了基于該種單片機(jī)PEC服務(wù)機(jī)制的PROFIBUS-FDL從站協(xié)議的實(shí)現(xiàn)方法,并在實(shí)際工作中得到成功應(yīng)用.關(guān)鍵詞:80C166PEC服務(wù)PROFIBUS-FDL

當(dāng)前工業(yè)設(shè)備制造技術(shù)正向高性能、專用化、分布式、網(wǎng)絡(luò)化方向發(fā)展.以前,大量使用PLC實(shí)現(xiàn)的控制系統(tǒng),實(shí)踐證明雖然安全可靠,但由于PLC本身的技術(shù)原因,很難到達(dá)更迅速的實(shí)時(shí)控制要求它們正被高性能的嵌入式專用控制器替代.這種專用控制器的設(shè)計(jì),可以進(jìn)一步提升設(shè)備的控制性能;引入現(xiàn)場(chǎng)總線技術(shù),保證專用控制器的系統(tǒng)可集成性,以適應(yīng)當(dāng)前分布式、網(wǎng)絡(luò)化的應(yīng)用趨勢(shì).

本文是在研制棒材生產(chǎn)線飛剪的專用控制器時(shí)涉及的一個(gè)子課題.為保證該控制器能與現(xiàn)有PLC網(wǎng)連接以及與遠(yuǎn)程操作站通信,在幾乎不增多硬件的根底上,利用核心CPU——西門子80C166所具有的一個(gè)相似DMA的功能高效率地實(shí)現(xiàn)PROFIBUS-FDL從站協(xié)議.

1西門子80C166單片機(jī)

80C166單片機(jī)是西門子C166系列16位嵌入式微控制器的第一代產(chǎn)品.其體系構(gòu)造如圖1所示.它結(jié)合RISC處理器的優(yōu)勢(shì),克服了CISC處理器在嵌入式應(yīng)用中的瓶頸;在25MHz時(shí)鐘頻率下,可到達(dá)12.5MIPS,幾乎所有的指令執(zhí)行時(shí)間小于80ns;在指令處理上,采用四級(jí)指令流水線管道構(gòu)造;在存儲(chǔ)管理上,統(tǒng)一線性地址空間可達(dá)256KB,具有段代碼、頁(yè)數(shù)據(jù)式管理機(jī)制;采用存放器池,上下文切換時(shí)間只要80ns;16位乘法400ns,32位除法800ns,間斷響應(yīng)時(shí)間最慢400ns;外部事件控制器PEC服務(wù)具有好似DMA的功能,可實(shí)現(xiàn)存儲(chǔ)器與外設(shè)之間的高速數(shù)據(jù)傳輸;豐富的在片外設(shè):1KBRAM、10路A/D、76路I/O、7個(gè)定時(shí)器/計(jì)數(shù)器、16個(gè)比較/捕獲單元、2個(gè)串行通信接口、在片的WATCHDOG等.

圖1西門子80C166體系構(gòu)造

280C166的PEC服務(wù)

2.180C166的PEC服務(wù)機(jī)制

PEC是外部事件控制器的英文縮寫.PEC服務(wù)是80C166提供的一種特殊數(shù)據(jù)傳輸機(jī)制.其目的是在原有的間斷控制器根底上,用較小的硬件代價(jià)、盡或者少占用途理機(jī)周期實(shí)現(xiàn)內(nèi)存與外部設(shè)備的迅速數(shù)據(jù)交換雷同DMA,但無(wú)需專用的DMA控制器.80C166有8路PEC服務(wù)通道.用PEC服務(wù)開展一次數(shù)據(jù)傳輸,僅占用途理機(jī)一個(gè)機(jī)器周期20MHz時(shí)100ns,且不影響當(dāng)前程序的執(zhí)行.

2.2PEC服務(wù)的工作過(guò)程

通常,當(dāng)普通間斷事件發(fā)生時(shí),系統(tǒng)將保存當(dāng)前CPU狀況PSW和程序的地址;然后,憑據(jù)不同的間斷源,開展上下文切換,裝載相應(yīng)的間斷矢量,執(zhí)行相應(yīng)的間斷服務(wù)程序;執(zhí)行完后,恢復(fù)被間斷程序的上下文,繼續(xù)執(zhí)行被間斷程序.

對(duì)于某一PEC服務(wù),它老是與一具體間斷源、間斷矢量或間斷服務(wù)相連系.在80C166中,當(dāng)一個(gè)間斷的間斷優(yōu)先級(jí)為最高級(jí)14或15且定義了與之有關(guān)聯(lián)的PEC服務(wù)通道時(shí),該間斷就具有PEC服務(wù)功能.這時(shí),當(dāng)該間斷請(qǐng)求發(fā)生時(shí),將不觸發(fā)間斷服務(wù)程序的執(zhí)行,而是觸發(fā)PEC服務(wù).當(dāng)PEC服務(wù)經(jīng)過(guò)設(shè)定的若干次的外部事件觸發(fā)后,再觸發(fā)執(zhí)行相應(yīng)的間斷服務(wù)程序(一個(gè)普通間斷過(guò)程).

如圖2所示.一次PEC服務(wù)的工作過(guò)程是由PEC控制存放器定義的,其中計(jì)數(shù)位域(8位傳送計(jì)數(shù)器)COUNT定義了PEC服務(wù)的數(shù)據(jù)傳輸次數(shù);源指針、目的指針指明具體的數(shù)據(jù)傳輸來(lái)源和目的;PEC服務(wù)的數(shù)據(jù)傳輸過(guò)程完全由硬件執(zhí)行:當(dāng)間斷請(qǐng)求發(fā)生時(shí),由硬件將源指針?biāo)竼卧膬?nèi)容傳給目的指針?biāo)傅膯卧?然后由PEC控制存放器相應(yīng)定義位控制是源指針還是目的指針增多1或2,同時(shí)COUNT值減1;當(dāng)多次間斷請(qǐng)求使COUNT減為0時(shí),PEC服務(wù)完成,觸發(fā)與之關(guān)聯(lián)的間斷服務(wù)程序.

2.3PEC服務(wù)應(yīng)用優(yōu)點(diǎn)

以串口接收一幀16字節(jié)的數(shù)據(jù)為例.若采用傳統(tǒng)的串口接收方式,每接收到一字節(jié),形成一個(gè)間斷;在間斷服務(wù)程序中,要將它從串口接收緩沖器中取出,順序放到幀接收緩沖區(qū)相應(yīng)單元中;當(dāng)接收滿16字節(jié)后,開展幀處理.

如果采用PEC服務(wù)的方式,只要事先定義好PEC通道就可以了.最初,定義串口接收間斷優(yōu)先級(jí)為14或15以及與之有關(guān)聯(lián)的PEC通道.即定義相應(yīng)PEC通道控制存放器為:COUNT為16字節(jié)傳輸,源指針為串口接收緩沖器,目的指針為幀接收緩沖區(qū)首址且每次傳輸完成后,目的指針加1.如此,串口每接收到一字節(jié),將觸發(fā)一次PEC服務(wù),由硬件將數(shù)據(jù)從串口接收緩沖器中取出,順序放到幀接收緩沖區(qū)相應(yīng)單元中,但當(dāng)前執(zhí)行的程序并不被間斷;當(dāng)16字節(jié)完全接收完成后,觸發(fā)串口接收間斷服務(wù)程序,開展幀的處理.

與傳統(tǒng)的串口接收方式相比較,PEC服務(wù)方式在開展數(shù)據(jù)傳輸時(shí)不間斷當(dāng)前程序的執(zhí)行,因此節(jié)省了大量的上下文切換時(shí)間,處理機(jī)效率得到大大升高.

下面鉆探采用80C166的PEC服務(wù)實(shí)現(xiàn)PROFIBUS-FDL從站協(xié)議的方法.

3PROFIBUS-FDL幀構(gòu)造

3.1PROFIBUS-FDL幀構(gòu)造

PROFIBUS幀的格式有多種形式,但對(duì)于從站來(lái)說(shuō),只要處理三種幀即可.

.無(wú)數(shù)據(jù)且長(zhǎng)度固定的幀:

.帶數(shù)據(jù)域且長(zhǎng)度固定的幀:

.帶數(shù)據(jù)域且長(zhǎng)度可變的幀:

其中,各字段說(shuō)明如下:

SD1:無(wú)數(shù)據(jù)幀的開始定界符,#10H;

SD2:可變長(zhǎng)度幀的開始定界符,#68H;

SD3:固定長(zhǎng)度幀的開始定界符,#A2H;

ED:結(jié)束定界符,#16H;

LE與LEr:LE與LEr一樣,都表示長(zhǎng)度占一個(gè)字節(jié),它是DA+SA+FC+DATA-UNIT的字節(jié)數(shù)總數(shù);

DA與SA:DA目的站地址與SA源站地址各占一個(gè)字節(jié);

FCS:校驗(yàn)段,占一個(gè)字節(jié),它采用不計(jì)進(jìn)位的求和運(yùn)算得到校驗(yàn)碼.校驗(yàn)域?yàn)椋模粒樱粒疲茫模粒裕粒眨危桑?

FC:幀控制字字段,占一個(gè)字節(jié);

SYN:同步字段,至少33空閑位(邏輯電平1),但僅在請(qǐng)求幀及令牌幀前出現(xiàn),不允許在字符之間出現(xiàn).

3.2PROFIBUS幀構(gòu)造的特點(diǎn)

從上面的幀格式可以看出幀的長(zhǎng)度不固定.發(fā)送時(shí),幀的長(zhǎng)度是已知的;但接收時(shí),幀的長(zhǎng)度是未知的.因此,要提升接收效率,只能采用分段方式接收,隨時(shí)解析和保存關(guān)鍵信息,并確定隨后接收的字節(jié)數(shù).

4PROFIBUS-FDL從站協(xié)議的PEC服務(wù)實(shí)現(xiàn)

PROFIBUS-FDL從站的數(shù)據(jù)接收及應(yīng)答過(guò)程分三個(gè)階段完成:第一階段,幀的完整接收;第二階段,憑證接收到的FC幀控制字字段,判斷主站正在開展怎樣的數(shù)據(jù)請(qǐng)求;第三階段,從站組織應(yīng)答幀,啟動(dòng)幀的發(fā)送過(guò)程.

第二階段的幀控制字處理請(qǐng)參考PROFIBUS標(biāo)準(zhǔn)的有關(guān)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論