當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]摘要:本文提出了一種基于TMS320F2812 的PCI 總線通用運動控制卡的設(shè)計方案。詳細介紹了運動控制卡的硬件結(jié)構(gòu),并對控制卡的配置進行了深入分析,給出了具體的配置參數(shù)。最后,介紹了板卡驅(qū)動程序的設(shè)計方法。采用DS

摘要:本文提出了一種基于TMS320F2812 的PCI 總線通用運動控制卡的設(shè)計方案。詳細介紹了運動控制卡的硬件結(jié)構(gòu),并對控制卡的配置進行了深入分析,給出了具體的配置參數(shù)。最后,介紹了板卡驅(qū)動程序的設(shè)計方法。采用DSP 和PCI 結(jié)合的方式,實現(xiàn)了上下位機的高速通訊,并充分發(fā)揮了DSP 強大的運算能力和極高的處理速度,以保證控制卡對實時性和精度的苛刻要求。

1 引言

隨著 DSP 技術(shù)的飛速發(fā)展,以其為核心的多軸運動控制卡越來越廣泛的應(yīng)用在運動控制系統(tǒng)中。上位機只需對被控對象實施總體的控制和管理,而位置反饋信號的采集、閉環(huán)控制的計算和控制量的輸出均由運動控制卡完成,這極大地提高了運算速度和控制響應(yīng)速度。本文設(shè)計的運動控制卡以TI 公司的32 位定點DSP TMS320F2812 為核心處理器,輔以運動控制器LM628,通過PCI 總線專用接口芯片PCI9052 與上位機通信,實現(xiàn)3 軸(可擴成多軸)伺服電機的控制,完成位置、速度控制以及直線、圓弧插補功能。本文將對運動控制卡的硬件設(shè)計進行詳細的介紹。

2 運動控制卡的硬件結(jié)構(gòu)

TMS320F2812 是基于TI 公司最新的C28x 內(nèi)核而設(shè)計的。與其他的處理器相比,其具有如下一些特點:采用低功耗設(shè)計,核心電壓僅1.8V~1.9V,顯著降低了功耗,指令周期可達6.67ns;新增了擴展控制寄存器以實現(xiàn)各種增強功能;多達128K×16 位的Flash 存儲器,足夠用于存儲程序和數(shù)據(jù)變量;56 個可編程或復(fù)用的通用I/O。

LM628 是NSC 公司專為使用增量式編碼器作為位置反饋的伺服機構(gòu)而設(shè)計的一種芯片,其集成度高,需要外圍部件少,易于調(diào)試。主要特點如下:具有32 位位置、速度和加速度寄存器;帶有16 位參數(shù)的可編程數(shù)字PID 控制器;可編程微分采樣間隔;運動過程中可改變速度、預(yù)期位置和PID 控制器參數(shù);實時可編程的主機中斷。

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

 

 

圖 1 運動控制卡的總體硬件結(jié)構(gòu)

從圖中可以看出 PCI 接口芯片的PCI 總線端直接與金手指相連,局部總線端則通過雙端口RAM 與DSP 相連,構(gòu)成16 位存儲轉(zhuǎn)換電路。DSP 分別與三片LM628 相連,與其配合以實現(xiàn)3 軸運動控制。這樣既解決了DSP 因系統(tǒng)資源不足不能控制多軸的問題,又彌補了LM628 單獨控制時總線傳輸延時的缺點。LM628 的數(shù)字量輸出經(jīng)數(shù)/模轉(zhuǎn)換和電壓放大后轉(zhuǎn)換為交流伺服驅(qū)動器可以接收的模擬電壓信號(-10V~+10V)。而伺服電機增量式光電編碼器的反饋經(jīng)差分電路濾波并合成單端信號接入到LM628 中,以構(gòu)成位置閉環(huán)控制。

 

 

圖 2 PCI 總線接口框圖

2.1 PCI 總線接口

PCI 總線是一種高性能、32 位地址/數(shù)據(jù)復(fù)用總線,數(shù)據(jù)傳輸速率高達132MB/s。目前實現(xiàn)PCI 接口的有效方案有使用可編程邏輯器件和使用專用接口芯片兩種。前者實現(xiàn)PCI接口比較靈活,但是設(shè)計難度很高。后者雖沒有前者那么靈活,但其優(yōu)越性非常明顯:能夠有效降低接口設(shè)計的難度,縮短開發(fā)時間,同時其還具有較低的成本和通用性,并能夠優(yōu)化數(shù)據(jù)傳輸,提供配置空間等。這里采用PCI9052 實現(xiàn)PCI 總線接口,并選用EEPROM93LC46B 對其進行配置,電路框圖如圖2 所示。中斷信號這里只用到一條中斷線INTA#。

2.2 局部總線接口

為了滿足DSP 與上位機之間大量數(shù)據(jù)的高速交換,這里采用主從式共享雙口RAM 的通信方案,接口電路如圖3 所示。由于IDT7133 是2K×16 位的SRAM,因此將PCI9052的局部總線設(shè)置為16 位寬的數(shù)據(jù)總線,即將LBE1#單獨接到IDT7133 的A0L 端。BUSYL經(jīng)非門接到PCI9052 的LRDYi#端,這是因為當(dāng)BUSYL 為高時才允許外部設(shè)備訪問,而局部總線準(zhǔn)備好信號LRDYi#為低電平有效。BUSYR 經(jīng)電平轉(zhuǎn)換后直接接到TMS320F2812 的READY 端。當(dāng)BUSYL 或BUSYR 任何一個引腳被置低,其所屬設(shè)備就等待一個訪問周期,直到BUSY 被拉高,即雙口RAM 不再忙,這樣便保證了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和可靠性。因此,采用雙口RAM 通信不但簡化了接口電路的設(shè)計,而且提高了上下位機數(shù)據(jù)交換的速度。

 

 

圖 3 局部總線接口電路

2.3 LM628 伺服控制單元

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

 

 

圖 4 運動控制卡的一路實現(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 兩級運算放大成-10V~+10V 電壓信號送往交流伺服驅(qū)動器,從而驅(qū)動電機運轉(zhuǎn)。電阻R26 和R27 用來調(diào)整滿刻度輸出電壓和抑制零點漂移,電容C38 則用來加快DAC變換速度和對其輸出進行頻率補償。最終輸出電壓Vout1 可由式(1)計算得出:

 

 

2.5 差分電路

在噪聲比較大的環(huán)境中,為了解決干擾和遠距離傳輸?shù)葐栴},通常采用差動信號傳輸,如圖4 中虛線框(3)所示。為了進一步消除干擾,在每個輸入端都接入一個濾波電容,同時在每一對差動信號輸入線之間接一個用于線路阻抗匹配的電阻。差動信號(IN+、IN-、A+、A-、B+、B-)經(jīng)差動線路接收器SN75175 和高速光電耦合器6N137 轉(zhuǎn)換為單端信號(IN、A、B)輸入到LM628 中,以實現(xiàn)閉環(huán)控制。

2.6 譯碼電路

如圖 4 中虛線框(4)所示,采用一片3/8 譯碼器74LS138 對地址譯碼,實現(xiàn)對控制卡3路伺服單元的片選,而XA0 則專門用于對LM628 進行讀寫控制,這樣得出的地址信號是連續(xù)的(0XF60~0XF65)。另外,采用一片四位二進制碼比較器74LS85 實現(xiàn)DSP 對雙口RAM的讀寫片選。片選地址信號范圍為0~7FF,這剛好尋址雙口RAM 2K 范圍內(nèi)的所有空間。

此外,由于TMS320F2812 要從雙口RAM 讀出大量的運動軌跡數(shù)據(jù)并存儲,而其片內(nèi)只有18KB 的空間,遠不能滿足要求,同時為了方便程序調(diào)試和修改,均需要DSP 擴展一片存儲器。這里選用CYPRESS 公司的256K×16 位的SRAM CY7C1041CV33,其讀寫周期時鐘最快可達12ns,因此可與DSP 進行零等待狀態(tài)接口,保證了DSP 的運算速度。

3 運動控制卡的配置

配置空間是 PCI 總線所特有的一個空間,其通常與接口芯片相關(guān),包括一系列的PCI配置寄存器。PCI9052 的配置寄存器分為PCI 配置寄存器和局部配置寄存器,兩者都可以由PCI 總線和串行EEPROM 訪問。

3.1 PCI 配置寄存器及其配置

在 PCI 配置寄存器中的設(shè)備ID、制造商ID、版本號、首區(qū)類代碼、類別代碼、指令寄存器和狀態(tài)寄存器等在所有的PCI 設(shè)備中都必須實現(xiàn)。操作系統(tǒng)通常使用其內(nèi)容來決定為該PCI 設(shè)備加載驅(qū)動程序。此外,PCI 配置寄存器還提供6 個基地址寄存器,其中BASE0 和BASE1 是分別映射到內(nèi)存和I/O 的基地址,可固定用于對PCI9052 的寄存器操作。而BASE2~BASE5 最多可訪問局部端所接的4 個設(shè)備,實現(xiàn)其局部地址空間的訪問。PCI 總線對局部端設(shè)備的局部地址映射是通過1 個寄存器組(包括PCI 基地址寄存器、局部范圍寄存器、局部基地址寄存器和局部總線區(qū)域描述符)來實現(xiàn)的。它定義了每個空間及其特性,并將局部端設(shè)備通過局部端地址翻譯為PCI 總線地址,即將本地設(shè)備映射到系統(tǒng)的內(nèi)存或I/O端口。而片選信號寄存器則用來選定這些設(shè)備。這樣,用程序操作這一段內(nèi)存(或I/O)實際上就是對本地設(shè)備的操作。這些寄存器的內(nèi)容必須在設(shè)備復(fù)位時通過串行EEPROM 加載。

3.2 局部配置寄存器及其配置

在這里,選取 LAS0(Local Address Space 0)訪問局部端雙口RAM,與其相關(guān)的寄存器為LAS0 范圍寄存器、LAS0 局部基地址寄存器、LAS0 局部總線區(qū)域描述符和片選0 基地址寄存器。LAS0 范圍寄存器用于定義板卡上資源所占地址空間的大小。由于板卡需要2KB的內(nèi)存空間,而計算機預(yù)留了32KB 空間(即8000H),因此寫入寄存器的值為0xFFFF8000H;LAS0 局部基地址寄存器用來定義板卡資源所占的基地址,它將其重新映射到PCI 地址空間中,以使PC 機能對板卡進行訪問。由于基地址必須是地址空間范圍的整數(shù)倍,又因局部地址空間位0 為使能位,因此,寫入寄存器的值為00008001H;LAS0 局部總線區(qū)域描述符用來定義地址空間0 的具體工作特性。由于板卡數(shù)據(jù)總線采用16 位,工作方式定義為不使能突發(fā)和不可預(yù)取,因此寫入寄存器的值為4043A1C0H;片選0 基地址寄存器用來確定片選信號有效的地址范圍,其既確定了片選信號的基地址又確定了片選信號的地址范圍。

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

4 驅(qū)動程序的開發(fā)

為了從 PCI 總線配置寄存器中獲得上位機動態(tài)分配的映射基地址,并對映射端口進行讀寫,必須編寫驅(qū)動程序。編寫時可以使用DDK,但是難度較大,需要做很多通用的基礎(chǔ)性工作。為簡化驅(qū)動程序開發(fā),可以采用NuMega 公司開發(fā)的DriverStudio 中的DriverWorks工具包進行WDM 驅(qū)動程序設(shè)計。由于其被嵌入到VC 中,因此可更方便的用于開發(fā)和調(diào)試驅(qū)動程序。實踐表明,DriverStudio 并沒有通過犧牲系統(tǒng)性能來換取驅(qū)動程序的快速開發(fā)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉