• 沒有找到結果。

高精密運動控制之 DSP 硬體實現

本章中將介紹 DSP 運動控制板之製作與功能。在第一節中將對整個實 驗的硬體架構做說明,在第二節中將介紹實現本文控制架構的德州儀器公 司(Texas Instrument)出產之 TMS320F2812 DSP 晶片,第三節為介紹此 DSP 之週邊電路設計。

4-1 實驗系統之硬體架構

近幾年來由於超大型積體電路(VLSI)技術的蓬勃發展,使得數位訊號 處理器(digital signal processor, DSP)的運算速度及週邊處理的功能有大幅 的改善,它更取代了傳統的微處理器(micro processor)的市場,在各種應用 場合如行動通訊、資訊家電與馬達驅動器都被廣泛的使用。因此本論文採 用 TMS320F2812 這顆 DSP 做為控制器,它是德州儀器器公司最新研發出 來專門針對馬達控制而記計的一顆定點 16 與 32 位元並容的運算單晶片,

其執行速度較早期的 TMS320F240 DSP 晶片快 7 倍以上(指令週期為 150MHz),其有二種針對換流器的六個開關元件所設計的 PWM 輸出通 道,可以經由設定改變換流器每一支臂上下開關的空白時間(dead time);

也可以外接數位/類比轉換器與光學編碼器的輸入介面做轉矩模式的控 制,使得馬達的控制變得較為簡單易行。以此顆 DSP 當作控制器的核心配 合週邊電路與馬達驅動器(driver)即構成一完整的機台控制器,完整的硬體 架構如圖 4-1 所示,實驗環境如圖 4-2。

圖 4-1 實驗系統之硬體架構

圖 4-2 實驗 CNC 及其週邊控制設備 F2812 DSK board

PRT

PC

Control Algorithm

signals

Data and

Address buses F2812 Peripheral board

D/A converter

Encoder Interface DYNA

MYTE 1007

QEP

Directional Keypad

O.T. release

Emergency Stop

Machine control board

I/O

4-2 TMS320F2812 之功能介紹

應用 DSP 於運動控制,主要就是希望充份利用 DSP 強大的數學運算 功能,而以最少的硬體週邊元件來實現馬達控制所需的所有功能。在此條 件下,能充份了解系統所需實現的功能以及 DSP 軟硬體設計的配合就顯得 格外重要。本文所使用的 TMS320F2812 DSP 晶片是德州儀器公司生 產’C2x 系列 DSP 控制器中目前最高等級的元件,專為馬達控制所設計,

因此它訂了一套單晶片數位式控制的標準。’F2812 可以在一秒鐘執行 15,000 萬個指令(150MIPS),幾乎所有指令都可以在單一 6.67ns 的時脈週 期內執行完畢,速度是 TI 早期出產之 DSP ’C240 的 7 倍,約為傳統 8051 單晶片之 600 倍左右。與一般處理器比較,微處理器都有一個固定的架構:

廣大的記憶體空間,多樣的定址模式豐富的指令集等。而 DSP 晶片卻有較 少的定址空間,有限的定址模式,少量且特殊的指令集以及特殊的硬體架 構。較舊型的 DSP 大部份是採用分離式的程式記憶體與資料記憶體,甚至 還有 I/O 記憶體,但近年來新的 DSP 卻走向單獨的記憶體空間,裡頭包含 了這三種記憶體,使用起來更為有彈性,也可減少不同記憶體之間般動資 料的指令集。F2812 所採取的硬體架構是以 16 位元與 32 位元共容的資料 處理單元,採用 32 位元的資料、位置匯流排與暫存器,其核心為 32 位元 的算術運算邏輯單元(ALU)與累積器(ACC),並以硬體方式來實現不同的功 能,如乘法器、位移器,以提升其計算速度。在整數計算方面,為了減少 數值計算所衍生的問題如溢位(overflow),採用硬體式的位移暫存器來提高 軟體執行的精確度,這些位移暫存器可以配合其他指令一起使用,並不需 要耗費額外的執行時間。為了加快其計算速度,在指令集的設計上也加入 許多巧思,以配合高速信號處理的需求。數位運算中的位時間延遲運算元 (operator)可以單一指令 DMOV 完成,而 MACD 指令則可以同時完成四個 操作:兩個數的相乘、移動資料與前一筆資料累加、載入下一個暫存器。

TMS320 系列 DSP 的乘法器是以硬體方式實現,僅要一個指令週期 (instruction cycle)即可完成乘法運算。此外 TMS320 系列 DSP 以累加器飽 和模式來解決溢位的問題,使數值運算更為穩定。

TMS320F2812 除了有一般數位訊號處理器的快速運算能力外,最重要 的是它還有和一般微處理器和微控制器一樣的強大週邊支援能力,如 UART 序列通訊、控制區域網路(control area network, CAN)、串列週邊介 面(Serial Peripheral Interface, SPI)、多通道緩衝串列埠(multichannel buffered serial port, McBSP)、A/D converter 和一般用途 I/O(general purpose I/O, GPIO),其架構方塊如圖 4-3 所示。論細說明請看附錄 A。

圖 4-3 TMS320F2812 架構方塊

4-3 TMS320F2812 週邊電路設計

因為 F2812 Ez DSK 板的功能較為陽春(詳細 DSK 板功能請看附錄 B),週邊電路並不像 EVM 板那樣的完整,若要達到可以控制機台的目標,

則必需外加 D/A 轉換器及光耦合介面電路。但為了往後的應用用途,在 週邊電路設計使其能更完整,因此多增加了 RS-232 通訊介面及 CAN 介面。

■ D/A 轉換器電路製作:

本文所採用之 D/A 轉換器為 Burr-Brown 公司出產專門用於馬達 控制用途之 DAC7625,內部方塊圖如圖 4-4 所示,其主要的特色如下:

● 單極性(unipolar)與雙極性(bipolar)運作模式。

● 穩定時間(settling time)為 10us。

● 12 位元,4 通道。

● 資料讀回(data readback)功能。

● 雙緩衝(double-buffered)資料輸入區。

圖 4-4 DAC7625 內部方塊圖

因為此 DAC 數位端的輸出電壓為 5V,而 DSP 的擴充週邊接腳只允許 3.3V 的電壓輸入,所以在 DAC 和 DSP 之間必須做電壓轉換,在本文中為 使用 74LVTH245 bus transceivers 來完成此工作,它允許 5V 的輸入電壓,

而輸出則轉為 3.3V。

本文中將此 DAC 設計在 DSP 外部擴充介面的 Zone 0,在 DSP 的設計 中,外部週邊 Zone 0 和 Zone 1 是共同使用一個 chip select 訊號,只有在指 令存取此 Zone 0 或 Zone 1 資料時,XZCS0AND1n-訊號才會被拉為 Low。

又因 DAC 俱有 4 個通道,故須 2 條位址線來指示選擇哪一個通道,在本 設計中,Zone 1 並沒有用到,所以可以直接把 DSP 位址訊號 A0 和 A1 直 接拿來當成通道的選擇訊號。其系統接法如圖 4-5 所示。

在 DAC7625 的設計中,其高參考電壓(VREFH)與低參考電壓(VREFL)分 別對應到資料匯流排的 0x3FF 和 0x000。參考電壓的設計如圖 4-6 所示因 為本文主要為控制 CNC 機台,而 DYNA 機台的 Driver 在轉矩模式下其輸 入電壓的範圍為+10V~-10V,因此 DAC7625 的 VREFH 給+2V,VREFL給 -2V,再經由外部 OP 電路放大五倍,即可以得到最大範圍。如圖 4-7 所示。

圖 4-5 DAC7625 設計示意圖

D0~D7

D8~D11

D0~D11

Control signals

TMS320F2812

74LVTH245

DAC7625

2 MAX3223,選用此顆 IC 的原因為此 IC 是 3.3V-compatible,可與 F2812 Ez DSK 板直接溝通,不須電壓轉換,接線如圖 4-8 所示,其主要的特

● ±15KV 之 ESD 保護。

● 符合 TIA/EIA-232-F and ITU v.28 標準。

● 運作電壓可為 3.3V 至 5.5V 之間。

● 最高傳輸率為 250kbit/s。

● 兩組接收器與發射器。

● 1uA 的待運轉(Standby)電流。

● 在 3.3V 的運作電壓下允許 5V 電壓之輸入。

● 需外接 4 個 0.1uF 的電容器。

● 俱有電源管理模組,可設定成 auto-powerdown,當 RS-232 接頭拔 除 時 會 自 動 powerdown , 當 偵 測 到 正 常 的 傳 輸 訊 號 時 會 自 動 power-on。

● 偵測到異常訊號時,會由 Invalid 接腳發出訊號,使用者即可知道 有錯誤訊號產生。

圖 4-8 RS-232 transceiver MAX3223 接線圖

To DSP SCIRXD To DSP SCITXD 3.3V

■ Encoder 介面製作:

本 文 所 使 用 的 enecoder 介 面 為 德 州 儀 器 (TI) 公 司 所 出 產 之 AM26LV32,主要的功能為將馬達光耦合介面所產生之 RS-422 訊號,

轉換成為 single-end 3.3V 訊號,才能送至 DSP 的接腳,接線如圖 4-9 所示,其主要特色如下:

● 切換率(witching rates)高達 32MHz。

● 3.3V 運作電壓。

● 超低(ultra-low)功率消秏,典型消秏功率為 27mW。

● 開路、短路和終端 Fail-Safe 功能。

● -0.3V to 5.5V 共模範圍。

● 在 3.3V 的運作電壓下容許 5V 邏輯電壓輸入。

● 輸入磁滯電壓典型值為 50mV。

● 4 個 receiver 一起運作在 32MHz 底下只消秏 235mW。

圖 4-9 AM26LV32 RS-422 Receiver 接線圖 X 軸 A,B

相 RS-422 訊號

Y 軸 A,B 相 RS-422 訊號

F2812 DSK

■CAN 介面製作:

在現今的工業界,常常在控制的過程中不容許發生錯誤,然而若需使用 到分散式控制時,目前較受歡迎的即為 CAN bus,典型的 CAN bus 架構如圖 4-10 所示,其最主要的優點仍為可靠。本文 DSP 週邊的設計中亦將此 CAN bus 放在設計中,因 F2812 已經把 CAN 的控制器都 embedded 在晶片裡,所以我 們只要接上 CAN 的 transceiver 即可,使用的為 TI 公司出產之 3.3V CAN transceiver SN65HVD230,接線示意圖如圖4-11 所示,其主要特點如下:

● 3.3V 工作電壓。

● Bus/Pin ESD 保護超過 16KV。

● 高輸入阻抗,容許一條 bus 線有 120 個節點。

● 被控制的驅動器輸出轉換時間,以增加訊號品質。

● 未供給電源的節點不會干擾 bus。

● 相容於 ISO 11898 標準的需求。

● 低等待(standby)模式電流,典型值為 370uA。

● 低睡眠模式(sleep mode)電流,典型值為 40nA。

● 最高傳輸率為 1Mbit/second(Mbps)。

● 過熱自動 shutdown 保護。

● 開路 fail-safe 設計。

● glitch-free 的 power-up 與 power-down 保護,可用於熱插(hot-plugging)應 用。

圖 4-10 典型的 CAN bus 架構

圖 4-11 SN65HVD230 CAN transceiver 與 F2812 間之接線示意圖

相關文件