本站小編為你精心準備了SERCOS主站接口設計與實現參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
本設計采用SERCON816作為接口控制芯片。運動控制器的微處理器通過數據、地址、控制總線控制SERCON816的讀寫,并通過中斷信號響應SERCON816的處理請求。運動控制器的總體設計圖如圖2所示。SERCOS主站接口硬件設計的關鍵是SER-CON816電路設計,SERCON816關鍵電路原理圖如圖3所示,主要包括總線接口設計、中斷復位時鐘設計、串行接口設計。
/1.1總線接口設計總線接口的設計主要是數據、地址、控制線的連接。數據線為D[15:0],地址線為A[15:0],控制線主要是ALEL、ALEH、BHEN、MCSN0、MCSN1、PCS1、ADMUX、BUSMODE0、BUSMODE1、BUSWIDTH和BYTEDIR。本設計采用獨立的地址數據總線(AD-MUX=0,ALEL=1,ALEH=1),Intel總線模式(BUSMODE0=0,BUSMODE1=X),16位寬數據總線(BUSWIDTH=1),D[7:0]傳輸低字節(BYTEDIR=0)。本設計只用于16位傳輸,A[0]和BHEN都接地。SERCON816集成雙端口RAM和控制寄存器,本設計選用組合式片選方法,當CS為低電平時,選中芯片,地址線A12用于區分訪問雙端口RAM和控制寄存器,A12為0時,訪問雙端口RAM,A12為1時訪問控制寄存器。
1.2中斷復位時鐘設計SERCON816有2個中斷輸出引腳,INT0和INT1,微處理器也可以通過查詢控制寄存器查詢中斷情況,本設計通過查詢方式檢查中斷反饋。若使用硬件復位RSTN,需要使該引腳保持低電平至少50ns,也可通過軟件復位實現復位,本設計采用軟件方式實現復位。SERCON816有2個輸入時鐘:SCLK和MCLK。SCLK時鐘頻率需為64MHz,MCLK最高頻率允許為32MHz,可以由SCLK進行2分頻或4分頻得到,SCLK的2分頻或4分頻分別由引腳SCLK02和SCLK04輸出,可以將2個引腳的輸出作為MCLK的輸入,同時,為了使SCLK02和SCLK04有效,需將OUTZ引腳接地。
1.3串行接口設計SERCON816的數據傳輸率由引腳SBAUD和SBAUD16以及控制寄存器中的控制位決定,本設計選用4M的數據傳輸率,對應SBAUD設置為0,SBAUD16設置為1。串行接口關鍵的功能之一是中繼器功能,其開閉由控制位REPON決定,該位的復位值由引腳TM0和TM1決定,本設計設置為TM0=1,TM1=1,即復位時中繼器打開,但是建立通信時主站中繼器應關閉,防止主從站之間來回中繼。串行發送接口對應引腳為TxD1~TxD6,用于輸出數據到串行發送器。串行接收接口對應引腳為RxD,作為串行接收器的輸出。串行接口有幾個指示引腳:錯誤標志引腳L_ERRN,接收標志引腳RECACTN,發送狀態標志IDLE,可用于狀態指示。串行接口連接的串行發送器和接收器采用收發一體的OCM3351,硬件連接方便且可靠,電路圖如圖4所示。
2、SERCOS主站接口軟件設計
上述硬件設計構建了SERCOS協議的硬件環境,在此基礎上,還需要在微控制器上編寫控制驅動程序,實現SERCOS應用層協議。SERCOS接口通訊過程的建立要經過5個階段CP0~CP4。主站寫入階段信息到MST并發送給各從站,啟動新周期同步控制。在CP0段,主站發送MST檢查環路閉合情況,所有從站作為中繼器,若主站收到MST次數不小于10次,則表示環路閉合,可進入CP1。在CP1段,主站分別發送MDT給每個從站用于識別對應伺服,MDT中含有待識別伺服地址信息,控制對應伺服的從站收到MDT后與自身控制伺服地址比較,若匹配則處理MDT,并在下一個周期發送AT應答,沒有被尋址的伺服對應從站作為中繼器工作,收到所有伺服的正確應答后,可進入CP2。在CP2段,主站配置伺服參數,過程類似CP1,參數配置好后,主站發送IDN127過程命令判斷配置是否正確,從站給出正應答后可切換到CP3。在CP3段,主站傳輸運行參數,廣播發送MDT,所有從站均會接收并處理MDT,提取屬于自己的數據,并在下一個周期發送AT應答,最后主站發送IDN128過程命令檢查配置,配置正確則可切換到CP4。在CP4段,主站將指令寫入MDT并發送,從站將運行反饋寫入AT并發送,系統進入正常運行。本文從實際開發經驗出發,給出一個具體的參考:控制1個從站,帶1個伺服,地址設置為1,伺服編號為0,使用服務通道0,數據傳輸率為4M。本例有較強代表性,多個伺服控制可參考本例。在通訊階段開始之前,要對控制寄存器和雙端口RAM進行初始化。首先,設置要寫入IDN的參數,如表1所示。其次,對控制寄存器進行設置。主要需要確定與通信相關的參數,如表2所示。最后,進行雙端口RAM設置。RAM中包括的數據段有固定段、ATM段、MDTM段等。除了固定段用戶只能配置數值外,其他段在配置數據的同時還要配置地址。關鍵配置如表3所示。參數均配置好后,就可以進行通訊階段的初始化進而實現正常通信了。每個階段的控制流程圖如圖5、圖6、圖7和圖8所示,按照程序流程圖依次實現通信階段及切換,就可以正常建立SERCOS通信。
3、結語
應運動控制器發展的開放性、通用性趨勢,本文提出了在獨立運動控制器上集成SERCOS主站接口的開放性方案,論文詳細介紹了SERCOS主站的軟硬件設計及實現過程,并重點分析了開發過程中易出現問題的關鍵細節,給出了應用實例。測試結果表明主站實現了對從站的有效控制。SERCOS在獨立運動控制器上的集成在提高開放性的同時,大大提高了控制器性能,具有較好的實際價值和應用前景。
作者:劉娜 王云寬 陸浩 鄭軍 谷曉華 單位:中國科學院 自動化研究所