關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > SERCON816型SERCOS總線控制器及其應(yīng)用

SERCON816型SERCOS總線控制器及其應(yīng)用

作者: 時(shí)間:2006-02-22 來(lái)源:網(wǎng)絡(luò) 收藏
摘要:介紹的功能及使用方法,詳細(xì)闡述電路在開發(fā)過程中的外圍電路連接、控制寄存器的設(shè)置及初始化軟件的設(shè)計(jì)。

關(guān)鍵詞:

1 引言

總線是一種連接運(yùn)動(dòng)與驅(qū)動(dòng)器的運(yùn)動(dòng)控制總線。它出現(xiàn)的較晚,但一面世便受到世界各種設(shè)備供應(yīng)商的廣泛關(guān)注。SERCOS總線特有的開放性、同步性與抗干擾性有力支持了目前各先進(jìn)工業(yè)國(guó)家對(duì)開放式數(shù)控系統(tǒng)的研究與,因此其協(xié)議很快便被采納為國(guó)際標(biāo)準(zhǔn)。2002年中國(guó)也正式頒布了SERCOS協(xié)議的國(guó)家標(biāo)準(zhǔn)。在此之前,SERCOS總線已被于實(shí)踐,如今全球有70多家公司能提供帶有SERCOS接口的數(shù)字產(chǎn)品,國(guó)外生產(chǎn)的各類印刷機(jī)、食品包裝機(jī)、裝配機(jī)器人、半導(dǎo)體加工設(shè)備、紡織機(jī)它具有特殊用途的機(jī)器中也不乏SERCOS總線的應(yīng)用。因內(nèi)也開始嘗試應(yīng)用這一后起之秀,相關(guān)的研究也在日益增多。文中從應(yīng)用角度,結(jié)合筆者實(shí)際使用中的經(jīng)驗(yàn),著重介紹一款主流的SERCOS總線控制器一,希望能借此對(duì)國(guó)內(nèi)數(shù)控技術(shù)的發(fā)展起到拋磚引玉的作用。

2 SERCON816簡(jiǎn)介

SERCON816是由歐洲SERCOS協(xié)會(huì)推出的第二代SERCOS總線控制器。該芯片集成了SERCOS總線的數(shù)據(jù)鏈路層,通過設(shè)定片內(nèi)寄存器和讀寫結(jié)構(gòu)化的雙口RAM便可實(shí)現(xiàn)總線的通訊。這款芯片報(bào)文處理的時(shí)鐘頻率最大可達(dá)16MHz,即可在最短為62.5μs的固定周期內(nèi)實(shí)現(xiàn)一主多從的環(huán)形通訊。SERCON816資源豐富,功能強(qiáng)大,內(nèi)部有43個(gè)16位的控制寄存器、2kB的雙口RAM、2個(gè)外部中斷引腳、34個(gè)內(nèi)部中斷源、1個(gè)看門狗定時(shí)器及DMA控制器。另外,該電路的接口方式也靈活多樣,與微處理器互聯(lián)的總線寬度即可為8位,也可為16位;讀/寫控制的模式既可遵循Intel標(biāo)準(zhǔn),也可遵循Motorola標(biāo)準(zhǔn)。而串行接口的通訊也可選用光纖或電纜來(lái)實(shí)現(xiàn)。SERCON816的內(nèi)部功能結(jié)構(gòu)如圖1所示。

3 SERCON816的應(yīng)用

3.1 SERCON816與微處理器的接口

SERCON816以總線的形式與微處理器接口??偩€操作有兩種模式,第一種是總線分離模式。在該模式下,數(shù)據(jù)總線上只傳遞數(shù)據(jù),地址總線上只傳遞地址;第二種是總線復(fù)用模式。此時(shí),對(duì)于片外數(shù)據(jù)總線而言,既傳遞數(shù)據(jù)也傳遞地址,不過,在芯片內(nèi)部通過地址鎖存器將二者分開了,具體說(shuō)明見表1。

表1 SERCON816與微處理器接口

ADMUX0總線分離模式
1總線復(fù)用模式
BUSWIDTH0數(shù)據(jù)總線寬度為8位
1數(shù)據(jù)總線寬度為16位
A0A0、BHEN=00,數(shù)據(jù)總線有效位D0-D15;A0、BHDEN=01,為D0-D7;A0、BHEN=DIR=1,D0-D7代表高字節(jié),D8-D15代表低字節(jié)
BHEN
BYTEDIR16位數(shù)據(jù)總線BYTEDIR=0,D0-D7代表低字節(jié),D8-D15代表高字節(jié),BYTEDIR=1,D0-D7代表高字節(jié),D8-D15代表低字節(jié)
8位數(shù)據(jù)總線BYTEDIR=0時(shí),A0=0傳遞低字節(jié),A0=1傳遞高字節(jié),BYTEDIR=1時(shí),A0=0傳遞高字節(jié),A0=1傳遞低字節(jié)

在總線分離模式下,首先要將BUSWIDTH置1,以選擇16位寬的數(shù)據(jù)總線。然后將A0、BHEN都接地,使數(shù)據(jù)總線16位均有效。還要注意BYTEDIR的選擇,由于內(nèi)部寄存器或RAM單元都是16位的,分離、低二個(gè)字節(jié),當(dāng)BYTEDIR=0時(shí),數(shù)據(jù)總線上傳送的低8位數(shù)據(jù)作為低字節(jié)存入,高8位數(shù)據(jù)作為高字節(jié)存入;而當(dāng)BYTEDIR=1時(shí),低8位數(shù)據(jù)作為高字節(jié)存入,高8位數(shù)據(jù)作為低字節(jié)存入。通常情況下,將BYTEDIR接地。

總線復(fù)用模式主要是為了與8位微處理器進(jìn)行接口。在這種模式下,片外數(shù)據(jù)總線首先傳送地址信號(hào),穩(wěn)定后,打開內(nèi)部鎖存器將地址輸入到內(nèi)部地址總線,隨后鎖存器關(guān)閉,將地址鎖存,最后再?gòu)钠鈹?shù)據(jù)總線將8位數(shù)據(jù)傳入內(nèi)部數(shù)據(jù)總線。由于內(nèi)部寄存器或RAM單元由高、低二個(gè)字節(jié)構(gòu)成,讀/寫時(shí)總是一個(gè)字節(jié)一個(gè)字節(jié)的進(jìn)行,次序由BYTEDIR的設(shè)寫與A0的變化來(lái)確定。值得注意的是,當(dāng)與Motorola微處理器或8051系列微處理器進(jìn)行接口時(shí),BYTEDIR通常被設(shè)為1;而當(dāng)與非8051系列的其它Intel微處理器接口時(shí),BYTEDIR通常被設(shè)為0。

SERCON816總線的讀寫控制可選用Intel或Motorola二種標(biāo)準(zhǔn)之一,具體說(shuō)明見表2。

表2 讀寫操作的標(biāo)準(zhǔn)說(shuō)明

BUSMODEOBUSMODE1標(biāo)準(zhǔn)WRNRDN
0XIntelWRNRDN
10MotorolaR/WN低電平WRN有效
11MotorolaR/WN高電平WRN有效

當(dāng)BUSMODE0為0時(shí),采用Intel標(biāo)準(zhǔn)。此時(shí),若WRN為低、RDN為高,進(jìn)行寫操作;若RDN為低、WRN為高,進(jìn)行讀操作。當(dāng)BUSMODE0=1時(shí),采用Motorola標(biāo)準(zhǔn),只有在這種標(biāo)準(zhǔn)下,BUSMODE1才有意義。如果此時(shí)的BUSMODE1=0,說(shuō)明當(dāng)控制線RDN上出現(xiàn)低電平時(shí),控制線WRN的控制信號(hào)有效;而如果BUSMODE1=1,說(shuō)明當(dāng)控制線RDN上出現(xiàn)高電平時(shí),控制線WRN的控制信號(hào)有效。當(dāng)WRN有效時(shí),高電平表示讀,低電平表示寫。

SERCON816內(nèi)部有2048字的雙口RAM和大量的控制寄存器。由于對(duì)它們?cè)L問的地址上有重疊,所以必須事先確認(rèn)訪問的是雙口RAM還是控制寄存器。當(dāng)MCSN0=0,MCS=1時(shí),對(duì)RAM進(jìn)行讀寫操作;而當(dāng)PCSN0=0,PCS1=1時(shí),則對(duì)寄存器進(jìn)行讀寫操作。

圖2

3.2 時(shí)鐘與復(fù)位

SERCON816需要二個(gè)時(shí)鐘。一個(gè)由SCLK引腳輸入,作為基準(zhǔn)源;另一個(gè)由MCLK引腳輸入,用于報(bào)文處理。作為新一代的SERCOS接口控制器,為了能夠很好地與上一代控制器兼容,SERCON816提供了一個(gè)可選的設(shè)置引腳SBAUD16。通常,將SBAUD16接5V電源,可使SERCON816工作在兼容模式下。注意:SCLK最高輸入頻率為64MHz,MCLK輸入頻率在12MHz~64MHz之間。

SERCON816有硬件復(fù)位和軟件復(fù)位二種方式。硬件復(fù)位是通過在RSTN引腳上加一個(gè)寬度不小于50ns的負(fù)脈沖來(lái)完成。不過,在非兼容模式下或掉電復(fù)位時(shí),負(fù)脈沖的寬度不應(yīng)小于10ms。此外,還要注意在復(fù)位電路中加上具有低通濾波器特性的電路以防止毛刺噪聲的干擾。軟件復(fù)位則是通過向SERCON816的控制寄存器SWRST位寫1來(lái)完成。如果SERCON816未能正常復(fù)位,則可以通過軟件進(jìn)行復(fù)位。

3.3 通信波特率的設(shè)置

波特率也可通過硬件或軟件來(lái)設(shè)置。寄存器ENTSBAUD決定著波特率的設(shè)置方式。當(dāng)ENTSBAUD=0時(shí),通常硬件設(shè)置;而當(dāng)ENTSBAUD=1時(shí),通過軟件設(shè)置,具體見表3,此表是在fmclk=64MHz時(shí)的波特率選擇。

表3 通信波特率的設(shè)置

ENTSBAUDSBAUDSBAUD16SWSABUDSWSBUAD16波特率
011XX2M(fsclk/32)
001XX4M(fsclk/16)
1X11X2M(fsclk/32)
1X10X4M(fsclk/16)
010XX8M(fsclk/8)
000XX16M(fsclk/4)
1X0112M(fsclk/32)
1X0014M(fsclk/16)
1X0108M(fsclk/8)
1X00016M(fsclk/4)

當(dāng)芯片工作在與SERCON410B兼容的模式下時(shí),如果選擇硬件設(shè)置波特率則控制寄存器SWSBAUD和SWSBAUD16無(wú)效,此時(shí),可以通過引腳SBAUD選擇2MHz或4MHz的波特率;如果選擇軟件設(shè)置波特率,則引腳SBAUD無(wú)效,此時(shí),可以通過寄存器SWSBAUD選擇2MHz或4MHz的波特率。同理,可設(shè)置非兼容模式下的波特率。

實(shí)際應(yīng)用中,會(huì)出現(xiàn)波特率的實(shí)際值與設(shè)置值不相等的情況。造成這種情況的實(shí)際值與設(shè)置值不相等的情況。造成這種情況的原因可能是由于信號(hào)變形過大或通訊回路堵塞。此時(shí),在SERCON816內(nèi)部會(huì)產(chǎn)生相同的中斷和錯(cuò)誤標(biāo)志,用戶由此可以判斷錯(cuò)誤產(chǎn)生的原因。在通信正常以后,錯(cuò)誤標(biāo)志會(huì)自動(dòng)復(fù)位,而中斷標(biāo)志則必須通過軟件來(lái)清除。

3.4 輸入/輸出引腳的設(shè)置

SERCOS總線一般采用光通訊的方式,以提高抗干擾能力。接口的光電轉(zhuǎn)換通過光電接頭自動(dòng)完成。為了能調(diào)節(jié)輸出電流的大小,使得輸出信號(hào)具有不同的驅(qū)動(dòng)能力,SERCON816提供了6個(gè)輸出引腳。這樣便可以通過使能輸出引腳的多少來(lái)調(diào)節(jié)輸出電流的大小。通常將6根輸出引腳并聯(lián)起來(lái),可以得到60mA的最大靜態(tài)輸出電流和120mA的最大動(dòng)態(tài)輸出電流。另外還需在每一根輸出引腳上外接一個(gè)電阻器和并聯(lián)一個(gè)RC電路,其目的是來(lái)用電阻器傳遞靜態(tài)電流,利用RC電容來(lái)穩(wěn)定信號(hào)快速變化時(shí)產(chǎn)生的動(dòng)態(tài)電流。

SERCON816與51單片機(jī)接口連接如圖2所示。

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

軟件設(shè)計(jì)主要集中在對(duì)SERCON816進(jìn)行初始化。初始化主要包括:RAM報(bào)文數(shù)據(jù)初始化、硬件配置初始化和通訊初始化。其流程圖如圖3所示。

硬件配置初始化和通訊初始化主要通過設(shè)置控制寄存器中的相應(yīng)位來(lái)完成,推薦的寄存器配置見表4,而RAM的初始化則是按照電路要求的數(shù)據(jù)結(jié)構(gòu)在RAM開辟特定的數(shù)據(jù)空間。

表4 控制寄存器的配置

硬件配置寄存器參數(shù)REGMODE1報(bào)文處理寄存器參數(shù)ENTMT1
SYNCWR1COMBLK00
TXDMODE0COMBLK10
ENTXD1_6111111BPHASO1
TMODE0_2111BPHAS12
REG_06H0008HMSTTCHK0
REG_07H0001H  
REG_09H0223H  
REG-08H4100H  
通訊寄存器參數(shù)REG_09H1MCLKST 6
ENTSBAUD0TCNTST 2
SWBAUD1JTSYC1 -1
MSTEN0JTSCYC2 6
REPON1TSCYC0 1000
MCLKDIV15PHAS12 1

4 結(jié)束語(yǔ)

SERCON816是實(shí)現(xiàn)SERCOS通訊的核心電路,使SERCOS總線在國(guó)際數(shù)控領(lǐng)域得到了很好的應(yīng)用。筆者近一二年通過對(duì)SERCOS總線的研究,在實(shí)際的開發(fā)過程中深感此芯片的重要性,希望上述心得能為國(guó)內(nèi)相關(guān)人士的深入研究提供一個(gè)參考。



評(píng)論


相關(guān)推薦

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

關(guān)閉