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