OpenSPARC T1處理器Cache機制研究及優(yōu)化
摘要:在詳細研究了數(shù)控系統(tǒng)及CAN總線的基礎(chǔ)上,根據(jù)特定的系統(tǒng)需求,提出并成功開發(fā)了以微型計算機為上位機、以CAN總線為現(xiàn)場設(shè)備通信平臺的開放式數(shù)控系統(tǒng)。
1. 引言:
隨著微電子技術(shù)、計算機技術(shù)、自動控制和精密測量技術(shù)的不斷發(fā)展和迅速應(yīng)用,在制 造業(yè)中,數(shù)控技術(shù)和數(shù)控機床不斷更新?lián)Q代,正向著高速度、多功能、智能化、開放型以及 高可靠性等方面迅速發(fā)展。數(shù)控機床的生產(chǎn)量和數(shù)控技術(shù)的應(yīng)用已成為衡量一個國家工業(yè)化 程度和技術(shù)水平的重要標志。 開放式、網(wǎng)絡(luò)化數(shù)控系統(tǒng)已成為當(dāng)前數(shù)控技術(shù)發(fā)展的主要趨勢。CAN 總線適用于數(shù)據(jù) 交換簡短而頻繁的場合,是解決工業(yè)控制設(shè)備之間數(shù)據(jù)通信的有效方式,可以方便有效地構(gòu) 成分布式實時過程檢測與控制系統(tǒng)。由于基于CAN 總線的數(shù)據(jù)通信具有高可靠性、實時性 和靈活性等特點,特別適合于工業(yè)現(xiàn)場自動化設(shè)備的互連,在汽車工業(yè)等領(lǐng)域得到了廣泛的 應(yīng)用。
CAN 總線標準也是現(xiàn)場總線的國際標準之一(ISO11898)。 本文針對一個需要上位機與下位機進行現(xiàn)場通信的數(shù)字控制系統(tǒng),根據(jù)數(shù)據(jù)量和通信速 率的要求,采用基于CAN 總線作為通信平臺。整個系統(tǒng)能夠在4ms 的控制周期內(nèi),完成對 7 個伺服軸和一個主軸的位置和速度控制,系統(tǒng)性能達到了預(yù)期的目標。
2. 數(shù)控機床的組成
數(shù)控機床一般由輸入輸出設(shè)備、CNC 裝置(或稱CNC 單元)、伺服單元、驅(qū)動裝置(或 稱執(zhí)行機構(gòu))、可編程控制器PLC 及電氣控制裝置、輔助裝置、機床本體及其測量裝置組成。 圖1 是數(shù)控機床組成框圖,其中除機床本體之外的部分統(tǒng)稱為計算機數(shù)控(CNC)系統(tǒng)。
開放式數(shù)控系統(tǒng)的關(guān)鍵技術(shù)是建立開放的數(shù)控體系結(jié)構(gòu),并確定開放式的標準。在結(jié)構(gòu)上向趨于裁剪、擴展和升級的方向發(fā)展;形式上向可靈活組成不同檔次、不同類型的方向進行邁進。
3. 系統(tǒng)設(shè)計
3.1 硬件平臺設(shè)計
根據(jù)開放式數(shù)控系統(tǒng)的可裁減要求,數(shù)控系統(tǒng)最大控制能力為七軸五聯(lián)動。具體的控制 量為:外接數(shù)字IO 數(shù)量不少于340 個,其中輸入不少于200 個,輸出不少于140 個,不少 于80 個繼電器輸出,并且有不少于40 個繼電器輸出指示燈。 本系統(tǒng)要求能夠控制七個伺服軸和一個主軸,設(shè)置控制周期為 4ms,因此要在4ms 的 控制周期內(nèi)完成對8 個軸的控制,其中每個軸的控制字為4 字節(jié),再加上本系統(tǒng)設(shè)計時所使 用的外接數(shù)字IO 為360 個,則控制字需要360/8=45 個字節(jié),因此通訊速度至少為(4*8+45) /0.004=19.25 Kb/s。在通信距離不超過40m 時,can 總線數(shù)據(jù)傳輸速率可高達1Mb/s,我們 系統(tǒng)設(shè)計所要求的最大傳輸距離為30m ,因此完全可以滿足要求。為了增強通訊的可靠性, 使用雙CAN 通信,其中第2 路can 總線作為系統(tǒng)的冗余。
如果把上位機(PC104+CAN 通信卡)和下位機(PC104+位控卡+IO 卡)插在一起或疊 在一起,會限制數(shù)控系統(tǒng)結(jié)構(gòu)安裝的靈活性。另外,如果上位機和下位機擁擠安置在操作盒 內(nèi),不利于散熱;而且運動控制板卡也安裝在操作盒內(nèi),接口線纜密集,不利于拆裝。在此, 希望設(shè)計一種通訊結(jié)構(gòu)能夠使上位機和下位機分開安裝,而且兩者之間以較少的通訊線連接 進行長距離通訊,所以此處考慮到采用CAN 總線的串行通信方式。
圖 2 為CAN 總線的開放式數(shù)控系統(tǒng)架構(gòu)。
圖中,上位機系統(tǒng)為思泰基公司的SB610(PC104)主板,外加2 路can 總線(用 SJA1000+82C250)構(gòu)成,采取內(nèi)存影射方式讀寫數(shù)據(jù),經(jīng)can 總線將數(shù)據(jù)傳送給下位機。 上位機由于外接開關(guān)電源不便以及考慮干擾,電源需要從下位機引入24V 電源,經(jīng)24/5V電源模塊輸出供電。
上位機的機箱根據(jù)整個系統(tǒng)的需求,采用外殼為散熱片的鋁殼機箱,前面面板有LCD 窗口,以及其他撥碼開關(guān)等,控制面板鑲嵌在前面板中。后面板有電源(24VDC)輸入, usb 輸入口、CAN 總線通訊口、鍵鼠接口、CRT 接口(調(diào)試需求)和網(wǎng)絡(luò)接口(考慮升級 需求)、手搖脈沖接口等。
下位機系統(tǒng)是由母板、1 塊CPU 板(PC104+2 路CAN 總線)、2 塊位控卡、3 塊IO 卡 構(gòu)成。CPU 板、位控卡、IO 卡用雙排96 針歐式插座(針)成直角插接在母板(孔)上。本系 統(tǒng)設(shè)計的輸入點為216 個,輸出點為144 個,滿足系統(tǒng)I/O 要求。
3.2 CAN 通信鏈路設(shè)計
CAN 數(shù)據(jù)幀的標準格式如下:
其中,我們只需要設(shè)置仲裁段、控制段和數(shù)據(jù)段。仲裁段用來設(shè)置不同類型幀的優(yōu)先級;控 制段由6個位構(gòu)成,用來顯示數(shù)據(jù)段使用的字節(jié)數(shù);數(shù)據(jù)段可包含0~8個字節(jié)的數(shù)據(jù)。
CAN 通過“無損的逐位仲裁”方法來使有最高優(yōu)先權(quán)的報文優(yōu)先發(fā)送。在CAN 總線上 發(fā)送的每一條報文都具有唯一的一個29 位數(shù)字的ID。CAN 總線狀態(tài)取決于二進制0 而不 是1,所以ID 號越小,則報文擁有越高的優(yōu)先權(quán)。
本通信系統(tǒng)共設(shè)置 8 個優(yōu)先級,CNC 系統(tǒng)與主軸之間交換的數(shù)據(jù)設(shè)置為最高優(yōu)先級, 即將其數(shù)據(jù)幀的仲裁段設(shè)置為全0。CNC 系統(tǒng)與七個伺服軸之間交換的數(shù)據(jù)的優(yōu)先級被分 別依次設(shè)置為優(yōu)先級1~7。
本通信系統(tǒng)所傳送的每一幀數(shù)據(jù)段只用了 8 字節(jié)其中的3 字節(jié),后5 字節(jié)保留未用,其 中,第一字節(jié)表示當(dāng)前數(shù)據(jù)幀的類型,接下來的2 個字節(jié)是本數(shù)據(jù)幀需要傳輸?shù)臄?shù)據(jù)。具體 設(shè)置如下:
(1)CNC 系統(tǒng)要向伺服驅(qū)動器發(fā)送的信息主要包括控制信號和位置/速度增量。 當(dāng)數(shù)據(jù)類型為 0x01 時,對應(yīng)的數(shù)據(jù)內(nèi)容為對伺服驅(qū)動器的控制信號。該信號在下述3 種情況下發(fā)送:開機(或重啟動)初始化完成時;當(dāng)CNC 系統(tǒng)要改變對伺服驅(qū)動器的控制 時;發(fā)生報警時。
當(dāng)數(shù)據(jù)類型為 0x02 時,對應(yīng)的數(shù)據(jù)內(nèi)容為實時控制伺服運動的位置/速度增量值,2 字 節(jié)16 位帶符號數(shù)表示范圍是±32767 個增量單位。本數(shù)據(jù)幀CNC 系統(tǒng)每個控制周期向伺服 驅(qū)動器發(fā)送一次。
(2)伺服驅(qū)動器需要向CNC 系統(tǒng)發(fā)送的數(shù)據(jù)信息主要包括狀態(tài)信號和實際(編碼器) 的位置/速度增量以及其他伺服數(shù)據(jù)。
當(dāng)數(shù)據(jù)類型為 0x01 時,對應(yīng)的數(shù)據(jù)內(nèi)容為伺服狀態(tài)信號。該信號在以下幾種情況下發(fā) 送:當(dāng)CNC 系統(tǒng)請求獲得伺服狀態(tài)信號而此時又沒有位置回復(fù)幀時;當(dāng)伺服驅(qū)動器出現(xiàn)報 警時;在CNC 位置廣播后的位置回復(fù)幀中。
當(dāng)數(shù)據(jù)類型為 0x02 時,對應(yīng)的數(shù)據(jù)內(nèi)容為伺服驅(qū)動器反饋的實際位置/速度增量值,2 字節(jié)16 位帶符號數(shù)表示范圍是±32767 個增量單位。本數(shù)據(jù)幀CNC 系統(tǒng)每個控制周期向伺 服驅(qū)動器發(fā)送一次。
4. 基于CAN 總線的數(shù)控系統(tǒng)的控制性能
通常,數(shù)控系統(tǒng)所工作的工業(yè)現(xiàn)場環(huán)境比較復(fù)雜,所以在實際應(yīng)用中對CAN 總線數(shù)據(jù) 傳輸可靠性的要求比較高。在CAN 總線的實際應(yīng)用中,時鐘同步機制在提高系統(tǒng)可靠性方 面發(fā)揮著十分重要的作用。
表 1 總結(jié)了兩種比較常用的有效的CAN 總線時鐘同步方法的主要特點。如下,
通過比較這兩種同步方法的各項性能指標,本文采用的同步方法為OCS-CAN (orthogonal clock subsystem for CAN)。特別的,該時鐘同步方法在容錯性方面有許多優(yōu)點, 容錯性的提高將大大提高系統(tǒng)數(shù)據(jù)傳輸?shù)目煽啃?。該方法在容錯性方面主要基于以下三點:
首先,限制各節(jié)點的錯誤語義轉(zhuǎn)化為突發(fā)錯誤語義。這點是可以做到的,例如,采用[3] 中提到的重復(fù)比較方法。第二,采用主站冗余機制。OCS-CAN定義了大量的備用主站,可 以隨時替換出錯的主站。第三,進行模塊檢測[4]來正式核實容錯機制的正確性。該正式核 實考慮到大量的錯誤模型,包括可能出現(xiàn)的信息矛盾。
試驗證明,該方法不僅可以提高系統(tǒng)數(shù)據(jù)傳輸?shù)木群涂煽啃?,而且可以將成本控制?一個合理的水平,是一種經(jīng)濟有效的CAN 時鐘同步方法。
5.結(jié)論:
基于 CAN 總線的數(shù)控機床網(wǎng)絡(luò)解決了局域網(wǎng)型數(shù)控機床的缺點,結(jié)構(gòu)簡單、實時性好、 可靠性高、通信距離長、連接設(shè)備多。本文的設(shè)計結(jié)果表明,對一個控制量多、實時性要求 嚴格的數(shù)字控制系統(tǒng),基于CAN 總線的通信完全能夠滿足要求。
本文作者創(chuàng)新點:利用CAN 總線構(gòu)成了一個全閉環(huán)的開放式數(shù)控系統(tǒng),并且本數(shù)控系 統(tǒng)的最大控制能力為能夠控制七個伺服軸和一個主軸。
xiaobai