基于DSP 的PCI 通用運(yùn)動(dòng)控制卡的硬件設(shè)計(jì)_第1頁
基于DSP 的PCI 通用運(yùn)動(dòng)控制卡的硬件設(shè)計(jì)_第2頁
基于DSP 的PCI 通用運(yùn)動(dòng)控制卡的硬件設(shè)計(jì)_第3頁
基于DSP 的PCI 通用運(yùn)動(dòng)控制卡的硬件設(shè)計(jì)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于DSP 的PCI 通用運(yùn)動(dòng)控制卡的硬件設(shè)計(jì)基于DSP 的PCI 通用運(yùn)動(dòng)控制卡的硬件設(shè)計(jì)類別:單片機(jī)/DSP摘要:本文提出了一種基于TMS320F2812 的PCI 總線通用運(yùn)動(dòng)控制卡的設(shè)計(jì)方案。詳細(xì)介紹了運(yùn)動(dòng)控制卡的硬件結(jié)構(gòu),并對控制卡的配置進(jìn)行了深入分析,給出了具體的配置參數(shù)。最后,介紹了板卡驅(qū)動(dòng)程序的設(shè)計(jì)方法。采用DSP 和PCI 結(jié)合的方式,實(shí)現(xiàn)了上下位機(jī)的高速通訊,并充分發(fā)揮了DSP 強(qiáng)大的運(yùn)算能力和極高的處理速度,以保證控制卡對實(shí)時(shí)性和精度的苛刻要求。 1 引言 隨著 DSP 技術(shù)的飛速發(fā)展,以其為核心的多軸運(yùn)動(dòng)控制卡越來越廣泛的應(yīng)用在運(yùn)動(dòng)控制系統(tǒng)中。上位機(jī)只需對被控對象實(shí)施總

2、體的控制和管理,而位置反饋信號(hào)的采集、閉環(huán)控制的計(jì)算和控制量的輸出均由運(yùn)動(dòng)控制卡完成,這極大地提高了運(yùn)算速度和控制響應(yīng)速度。本文設(shè)計(jì)的運(yùn)動(dòng)控制卡以TI 公司的32 位定點(diǎn)DSP TMS320F2812 為核心處理器,輔以運(yùn)動(dòng)控制器LM628,通過PCI 總線專用接口芯片PCI9052 與上位機(jī)通信,實(shí)現(xiàn)3 軸(可擴(kuò)成多軸)伺服電機(jī)的控制,完成位置、速度控制以及直線、圓弧插補(bǔ)功能。本文將對運(yùn)動(dòng)控制卡的硬件設(shè)計(jì)進(jìn)行詳細(xì)的介紹。 2 運(yùn)動(dòng)控制卡的硬件結(jié)構(gòu) TMS320F2812 是基于TI 公司最新的C28x 內(nèi)核而設(shè)計(jì)的。與其他的處理器相比,其具有如下一些特點(diǎn):采用低功耗設(shè)計(jì),核心電壓僅1.8V1

3、.9V,顯著降低了功耗,指令周期可達(dá)6.67ns;新增了擴(kuò)展控制寄存器以實(shí)現(xiàn)各種增強(qiáng)功能;多達(dá)128K16 位的Flash 存儲(chǔ)器,足夠用于存儲(chǔ)程序和數(shù)據(jù)變量;56 個(gè)可編程或復(fù)用的通用I/O。 LM628 是NSC 公司專為使用增量式編碼器作為位置反饋的伺服機(jī)構(gòu)而設(shè)計(jì)的一種芯片,其集成度高,需要外圍部件少,易于調(diào)試。主要特點(diǎn)如下:具有32 位位置、速度和加速度寄存器;帶有16 位參數(shù)的可編程數(shù)字PID 控制器;可編程微分采樣間隔;運(yùn)動(dòng)過程中可改變速度、預(yù)期位置和PID 控制器參數(shù);實(shí)時(shí)可編程的主機(jī)中斷。 PCI9052 是PLX 公司推出的低成本、低功耗、32 位PCI 總線專用目標(biāo)接口芯片

4、。其兼容PCI V2.1 協(xié)議特性,可與多種局部總線相連;支持復(fù)用或非復(fù)用的8/16/32 位局部總線;支持4 個(gè)局部片選信號(hào)和5 個(gè)局部地址空間;支持兩個(gè)來自局部總線的中斷,可生成一個(gè)PCI 中斷;支持局部總線等待狀態(tài),附加的LRDYi#握手信號(hào)可用于產(chǎn)生各種等待狀態(tài)。運(yùn)動(dòng)控制卡的總體硬件結(jié)構(gòu)如圖 1 所示。其中,DB 為數(shù)據(jù)總線,AB 為地址總線,CB為控制總線,CS-1CS-4 為片選信號(hào),XA0 為DSP 經(jīng)電平轉(zhuǎn)換后的最低位地址線。 圖 1 運(yùn)動(dòng)控制卡的總體硬件結(jié)構(gòu) 從圖中可以看出 PCI 接口芯片的PCI 總線端直接與金手指相連,局部總線端則通過雙端口RAM 與DSP 相連,構(gòu)成1

5、6 位存儲(chǔ)轉(zhuǎn)換電路。DSP 分別與三片LM628 相連,與其配合以實(shí)現(xiàn)3 軸運(yùn)動(dòng)控制。這樣既解決了DSP 因系統(tǒng)資源不足不能控制多軸的問題,又彌補(bǔ)了LM628 單獨(dú)控制時(shí)總線傳輸延時(shí)的缺點(diǎn)。LM628 的數(shù)字量輸出經(jīng)數(shù)/模轉(zhuǎn)換和電壓放大后轉(zhuǎn)換為交流伺服驅(qū)動(dòng)器可以接收的模擬電壓信號(hào)(-10V+10V)。而伺服電機(jī)增量式光電編碼器的反饋經(jīng)差分電路濾波并合成單端信號(hào)接入到LM628 中,以構(gòu)成位置閉環(huán)控制。 圖 2 PCI 總線接口框圖 2.1 PCI 總線接口 PCI 總線是一種高性能、32 位地址/數(shù)據(jù)復(fù)用總線,數(shù)據(jù)傳輸速率高達(dá)132MB/s。目前實(shí)現(xiàn)PCI 接口的有效方案有使用可編程邏輯器件和

6、使用專用接口芯片兩種。前者實(shí)現(xiàn)PCI接口比較靈活,但是設(shè)計(jì)難度很高。后者雖沒有前者那么靈活,但其優(yōu)越性非常明顯:能夠有效降低接口設(shè)計(jì)的難度,縮短開發(fā)時(shí)間,同時(shí)其還具有較低的成本和通用性,并能夠優(yōu)化數(shù)據(jù)傳輸,提供配置空間等。這里采用PCI9052 實(shí)現(xiàn)PCI 總線接口,并選用EEPROM93LC46B 對其進(jìn)行配置,電路框圖如圖2 所示。中斷信號(hào)這里只用到一條中斷線INTA#。 2.2 局部總線接口 為了滿足DSP 與上位機(jī)之間大量數(shù)據(jù)的高速交換,這里采用主從式共享雙口RAM 的通信方案,接口電路如圖3 所示。由于IDT7133 是2K16 位的SRAM,因此將PCI9052的局部總線設(shè)置為16

7、 位寬的數(shù)據(jù)總線,即將LBE1#單獨(dú)接到IDT7133 的A0L 端。BUSYL經(jīng)非門接到PCI9052 的LRDYi#端,這是因?yàn)楫?dāng)BUSYL 為高時(shí)才允許外部設(shè)備訪問,而局部總線準(zhǔn)備好信號(hào)LRDYi#為低電平有效。BUSYR 經(jīng)電平轉(zhuǎn)換后直接接到TMS320F2812 的READY 端。當(dāng)BUSYL 或BUSYR 任何一個(gè)引腳被置低,其所屬設(shè)備就等待一個(gè)訪問周期,直到BUSY 被拉高,即雙口RAM 不再忙,這樣便保證了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和可靠性。因此,采用雙口RAM 通信不但簡化了接口電路的設(shè)計(jì),而且提高了上下位機(jī)數(shù)據(jù)交換的速度。 圖 3 局部總線接口電路 2.3 LM628 伺服控制單元

8、控制卡共有 3 路輸出,其中一路如圖4 中虛線框(1)所示,其余兩路與此類似。XD0XD7為DSP 的低八位數(shù)據(jù)線,LM628 所需的32 位數(shù)據(jù)由其經(jīng)總線驅(qū)動(dòng)芯片SN74LVC4245 分四個(gè)寫周期寫入。DSP 經(jīng)CS-1 選通LM628 后,再結(jié)合XA0 就可實(shí)現(xiàn)對其讀寫。為了提高控制精度,這里采用12 位輸出模式,即在每一個(gè)采樣周期,LM628 的1823 腳輸出兩個(gè)周期,前一個(gè)輸出低6 位數(shù)據(jù),后一個(gè)輸出高6 位數(shù)據(jù)。為了讓12 位數(shù)據(jù)能同時(shí)輸入到后續(xù)的DAC芯片中,這里采用了一片6 位數(shù)據(jù)鎖存器74LS378。當(dāng)LM628 輸出低6 位時(shí),DA0 是輸入觸發(fā)器的時(shí)鐘信號(hào),DA1 是觸

9、發(fā)器的允許信號(hào),此時(shí),鎖存器的G 端為高,數(shù)據(jù)鎖存,接著LM628 輸出高6 位數(shù)據(jù),此時(shí)DA0 是給DAC 芯片的寫信號(hào),DA1 是片選信號(hào),鎖存器的G 端為低,數(shù)據(jù)不鎖存。這樣便從8 位輸出合成了12 位的DAC 輸入信號(hào)DAC0DAC11。 圖 4 運(yùn)動(dòng)控制卡的一路實(shí)現(xiàn)原理圖 2.4 數(shù)/模轉(zhuǎn)換和放大電路 如圖 4 中虛線框(2)所示,DAC 參考電壓Vref 由Maxim 公司的MAX680 提供,而LM358的12V電源則可直接從PCI 插槽獲得。LM628 輸出的12 位數(shù)字量經(jīng)AD7545A 轉(zhuǎn)換為相應(yīng)的模擬量,再由LM358 兩級運(yùn)算放大成10V10V 電壓信號(hào)送往交流伺服驅(qū)動(dòng)

10、器,從而驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)。電阻R26 和R27 用來調(diào)整滿刻度輸出電壓和抑制零點(diǎn)漂移,電容C38 則用來加快DAC變換速度和對其輸出進(jìn)行頻率補(bǔ)償。最終輸出電壓Vout1 可由式(1)計(jì)算得出: 2.5 差分電路 在噪聲比較大的環(huán)境中,為了解決干擾和遠(yuǎn)距離傳輸?shù)葐栴},通常采用差動(dòng)信號(hào)傳輸,如圖4 中虛線框(3)所示。為了進(jìn)一步消除干擾,在每個(gè)輸入端都接入一個(gè)濾波電容,同時(shí)在每一對差動(dòng)信號(hào)輸入線之間接一個(gè)用于線路阻抗匹配的電阻。差動(dòng)信號(hào)(IN、IN、A、A、B、B)經(jīng)差動(dòng)線路接收器SN75175 和高速光電耦合器6N137 轉(zhuǎn)換為單端信號(hào)(IN、A、B)輸入到LM628 中,以實(shí)現(xiàn)閉環(huán)控制。 2.6

11、譯碼電路 如圖 4 中虛線框(4)所示,采用一片3/8 譯碼器74LS138 對地址譯碼,實(shí)現(xiàn)對控制卡3路伺服單元的片選,而XA0 則專門用于對LM628 進(jìn)行讀寫控制,這樣得出的地址信號(hào)是連續(xù)的(0XF600XF65)。另外,采用一片四位二進(jìn)制碼比較器74LS85 實(shí)現(xiàn)DSP 對雙口RAM的讀寫片選。片選地址信號(hào)范圍為07FF,這剛好尋址雙口RAM 2K 范圍內(nèi)的所有空間。 此外,由于TMS320F2812 要從雙口RAM 讀出大量的運(yùn)動(dòng)軌跡數(shù)據(jù)并存儲(chǔ),而其片內(nèi)只有18KB 的空間,遠(yuǎn)不能滿足要求,同時(shí)為了方便程序調(diào)試和修改,均需要DSP 擴(kuò)展一片存儲(chǔ)器。這里選用CYPRESS 公司的256

12、K16 位的SRAM CY7C1041CV33,其讀寫周期時(shí)鐘最快可達(dá)12ns,因此可與DSP 進(jìn)行零等待狀態(tài)接口,保證了DSP 的運(yùn)算速度。 3 運(yùn)動(dòng)控制卡的配置 配置空間是 PCI 總線所特有的一個(gè)空間,其通常與接口芯片相關(guān),包括一系列的PCI配置寄存器。PCI9052 的配置寄存器分為PCI 配置寄存器和局部配置寄存器,兩者都可以由PCI 總線和串行EEPROM 訪問。 3.1 PCI 配置寄存器及其配置 在 PCI 配置寄存器中的設(shè)備ID、制造商ID、版本號(hào)、首區(qū)類代碼、類別代碼、指令寄存器和狀態(tài)寄存器等在所有的PCI 設(shè)備中都必須實(shí)現(xiàn)。操作系統(tǒng)通常使用其內(nèi)容來決定為該P(yáng)CI 設(shè)備加載

13、驅(qū)動(dòng)程序。此外,PCI 配置寄存器還提供6 個(gè)基地址寄存器,其中BASE0 和BASE1 是分別映射到內(nèi)存和I/O 的基地址,可固定用于對PCI9052 的寄存器操作。而BASE2BASE5 最多可訪問局部端所接的4 個(gè)設(shè)備,實(shí)現(xiàn)其局部地址空間的訪問。PCI 總線對局部端設(shè)備的局部地址映射是通過1 個(gè)寄存器組(包括PCI 基地址寄存器、局部范圍寄存器、局部基地址寄存器和局部總線區(qū)域描述符)來實(shí)現(xiàn)的。它定義了每個(gè)空間及其特性,并將局部端設(shè)備通過局部端地址翻譯為PCI 總線地址,即將本地設(shè)備映射到系統(tǒng)的內(nèi)存或I/O端口。而片選信號(hào)寄存器則用來選定這些設(shè)備。這樣,用程序操作這一段內(nèi)存(或I/O)實(shí)際

14、上就是對本地設(shè)備的操作。這些寄存器的內(nèi)容必須在設(shè)備復(fù)位時(shí)通過串行EEPROM 加載。 3.2 局部配置寄存器及其配置 在這里,選取 LAS0(Local Address Space 0)訪問局部端雙口RAM,與其相關(guān)的寄存器為LAS0 范圍寄存器、LAS0 局部基地址寄存器、LAS0 局部總線區(qū)域描述符和片選0 基地址寄存器。LAS0 范圍寄存器用于定義板卡上資源所占地址空間的大小。由于板卡需要2KB的內(nèi)存空間,而計(jì)算機(jī)預(yù)留了32KB 空間(即8000H),因此寫入寄存器的值為0xFFFF8000H;LAS0 局部基地址寄存器用來定義板卡資源所占的基地址,它將其重新映射到PCI 地址空間中,以

15、使PC 機(jī)能對板卡進(jìn)行訪問。由于基地址必須是地址空間范圍的整數(shù)倍,又因局部地址空間位0 為使能位,因此,寫入寄存器的值為00008001H;LAS0 局部總線區(qū)域描述符用來定義地址空間0 的具體工作特性。由于板卡數(shù)據(jù)總線采用16 位,工作方式定義為不使能突發(fā)和不可預(yù)取,因此寫入寄存器的值為4043A1C0H;片選0 基地址寄存器用來確定片選信號(hào)有效的地址范圍,其既確定了片選信號(hào)的基地址又確定了片選信號(hào)的地址范圍。 這里控制卡采用PCI9052 的CS0#作為雙口RAM 的片選信號(hào),則其起始地址和地址范圍都可由片選0 基地址寄存器設(shè)置。由于雙口RAM 容量為2KB,因此設(shè)置CS0#基地址寄存器的

16、第11位為1,又局部總線端空間0 的基地址是0x00008000H,為方便尋址,將CS0#的基地址和局部總線端空間0 的基地址設(shè)為同一值。由于基地址(8000H)是CS0#地址范圍的16 倍,所以將CS0#基地址寄存器的第16 位設(shè)為1,再將位0 設(shè)為1 使能,這樣寫入片選0 基地址寄存器的值為0x00008401H。當(dāng)PC 機(jī)尋址時(shí),地址映射到局部總線端的空間0,從其基地址開始的2K 空間落在CS0#基地址寄存器所設(shè)置的范圍內(nèi),CS0#端則有效,可對雙口RAM各單元進(jìn)行讀寫,這樣就不必根據(jù)地址譯碼得到片選邏輯,簡化了硬件設(shè)計(jì)。此外,PCI9052提供兩種中斷源,即硬件和軟件中斷。這里板卡使用其提供的2 個(gè)局部中斷中的一個(gè),即LINTi1 引腳,通過設(shè)置中斷控制/狀態(tài)寄存器(INTCSR)實(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論