關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > SERCON816型SERCOS總線控制器及其應用

        SERCON816型SERCOS總線控制器及其應用

        作者: 時間:2006-02-22 來源:網絡 收藏
        摘要:介紹的功能及使用方法,詳細闡述電路在開發過程中的外圍電路連接、控制寄存器的設置及初始化軟件的設計。

        關鍵詞:

        1 引言

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

        2 SERCON816簡介

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

        3 SERCON816的應用

        3.1 SERCON816與微處理器的接口

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

        表1 SERCON816與微處理器接口

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

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

        總線復用模式主要是為了與8位微處理器進行接口。在這種模式下,片外數據總線首先傳送地址信號,穩定后,打開內部鎖存器將地址輸入到內部地址總線,隨后鎖存器關閉,將地址鎖存,最后再從片外數據總線將8位數據傳入內部數據總線。由于內部寄存器或RAM單元由高、低二個字節構成,讀/寫時總是一個字節一個字節的進行,次序由BYTEDIR的設寫與A0的變化來確定。值得注意的是,當與Motorola微處理器或8051系列微處理器進行接口時,BYTEDIR通常被設為1;而當與非8051系列的其它Intel微處理器接口時,BYTEDIR通常被設為0。

        SERCON816總線的讀寫控制可選用Intel或Motorola二種標準之一,具體說明見表2。

        表2 讀寫操作的標準說明

        BUSMODEOBUSMODE1標準WRNRDN
        0XIntelWRNRDN
        10MotorolaR/WN低電平WRN有效
        11MotorolaR/WN高電平WRN有效

        當BUSMODE0為0時,采用Intel標準。此時,若WRN為低、RDN為高,進行寫操作;若RDN為低、WRN為高,進行讀操作。當BUSMODE0=1時,采用Motorola標準,只有在這種標準下,BUSMODE1才有意義。如果此時的BUSMODE1=0,說明當控制線RDN上出現低電平時,控制線WRN的控制信號有效;而如果BUSMODE1=1,說明當控制線RDN上出現高電平時,控制線WRN的控制信號有效。當WRN有效時,高電平表示讀,低電平表示寫。

        SERCON816內部有2048字的雙口RAM和大量的控制寄存器。由于對它們訪問的地址上有重疊,所以必須事先確認訪問的是雙口RAM還是控制寄存器。當MCSN0=0,MCS=1時,對RAM進行讀寫操作;而當PCSN0=0,PCS1=1時,則對寄存器進行讀寫操作。

        圖2

        3.2 時鐘與復位

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

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

        3.3 通信波特率的設置

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

        表3 通信波特率的設置

        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)

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

        實際應用中,會出現波特率的實際值與設置值不相等的情況。造成這種情況的實際值與設置值不相等的情況。造成這種情況的原因可能是由于信號變形過大或通訊回路堵塞。此時,在SERCON816內部會產生相同的中斷和錯誤標志,用戶由此可以判斷錯誤產生的原因。在通信正常以后,錯誤標志會自動復位,而中斷標志則必須通過軟件來清除。

        3.4 輸入/輸出引腳的設置

        SERCOS總線一般采用光通訊的方式,以提高抗干擾能力。接口的光電轉換通過光電接頭自動完成。為了能調節輸出電流的大小,使得輸出信號具有不同的驅動能力,SERCON816提供了6個輸出引腳。這樣便可以通過使能輸出引腳的多少來調節輸出電流的大小。通常將6根輸出引腳并聯起來,可以得到60mA的最大靜態輸出電流和120mA的最大動態輸出電流。另外還需在每一根輸出引腳上外接一個電阻器和并聯一個RC電路,其目的是來用電阻器傳遞靜態電流,利用RC電容來穩定信號快速變化時產生的動態電流。

        SERCON816與51單片機接口連接如圖2所示。

        3.5 軟件設計

        軟件設計主要集中在對SERCON816進行初始化。初始化主要包括:RAM報文數據初始化、硬件配置初始化和通訊初始化。其流程圖如圖3所示。

        硬件配置初始化和通訊初始化主要通過設置控制寄存器中的相應位來完成,推薦的寄存器配置見表4,而RAM的初始化則是按照電路要求的數據結構在RAM開辟特定的數據空間。

        表4 控制寄存器的配置

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

        4 結束語

        SERCON816是實現SERCOS通訊的核心電路,使SERCOS總線在國際數控領域得到了很好的應用。筆者近一二年通過對SERCOS總線的研究,在實際的開發過程中深感此芯片的重要性,希望上述心得能為國內相關人士的深入研究提供一個參考。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 雅江县| 海晏县| 凤冈县| 石泉县| 霍林郭勒市| 车致| 开化县| 当涂县| 伊宁市| 陆河县| 高州市| 洞头县| 墨玉县| 宜州市| 灌南县| 巍山| 新蔡县| 黔西| 综艺| 福州市| 揭西县| 子长县| 梅河口市| 鄯善县| 扎鲁特旗| 龙游县| 贵阳市| 宝坻区| 顺义区| 炉霍县| 临武县| 凤冈县| 原阳县| 夏津县| 辽阳县| 西盟| 云安县| 大埔县| 莱阳市| 杂多县| 汕头市|