把相對成熟的技術應用到某些特定領域如通訊,視頻,信息處理等等開發出滿足行業需要并能被行業客戶接受的產品這方面主要是FPGA技術和專業技術的結合問題,另外還有就是與專業客戶的界面問題產品設計還包括專業工具類產品及民用產品。FPGA因為具備接口,控制,功能IP,內嵌CPU等特點有條件實現一個構造簡單,固化程度高,功能全面的系統產品設計將是FPGA技術應用最廣大的市場,具有極大的爆發性的需求空間產品設計對技術人員的要求比較高。為解決相關FPGA工程師及愛好者提供相關實際案例和電路參考,電子發燒友網隆重整合推出《FPGA設計實例全攻略》系列,后期會陸續推出相關章節,以饗讀者,敬請關注。
一、遠程在線更新FPGA程序的方法
1 概述
現場可編程門陣列(Field Programmable Gate Array,FPGA)器件具有高密度、低功耗、高速、高可靠性等優點,在航空航天、通信、工業控制等方面得到了大量應用。FPGA的處理器分為軟核和硬核,并且軟核處理器具有高度的靈活性和可配置性。
由于FPGA器件采用的是SRAM工藝,在斷電的情況下FPGA內的配置數據將丟失,所以需要非易失的存儲器來結合FPGA完成嵌入式系統的設計。EPCS(Erasable Programmable Configurable Serial)Flash屬于串行接口Flash,具有接口簡單、體積小、配置方便的特點,通常用來存儲FPGA的配置文件和NiosII的軟件可執行代碼。在經過合理的配置后,系統在上電后就可以從EPCSFlash中讀取這些文件來啟動整個系統。
為了能使系統得到更靈活的應用,充分發揮FPGA的靈活性、高效性,FPGA的軟硬件程序都需要方便的更新和升級功能;而當形成產品后,通過JTAG和NiosII IDE工具來聯合完成對EPCS Flash的更新燒寫很不方便。為此,本文結合Altera公司提供的工具,提出了一種遠程在線更新FPGA配置文件和NiosII程序文件的方法。
2 系統硬件結構
系統硬件結構如圖1所示。系統主要有上位機系統、FPGA系統、EPCS Flash三個主體部分。上位機系統提供人機交互的部分,FPGA系統包括NiosII處理器、EPCS控制器、網絡及串行接口和其他外部接口,EPCSFlash主要用于存儲FPGA的配置文件和Nios程序映像文件。上位機系統通過FPGA集成的網絡及串行接口來完成通信工作。
FPGA采用Altera公司的CycloneIII系統的EP3C40F48417N芯片。它具有低功耗、高集成度、易于使用的特性。EPCS Flash采用Altera公司的EPCS16SI16N芯片,它支持多種可配置的時鐘源,最高支持100 MHz的外部時鐘源,具有16 Mb的存儲空間,足夠滿足一般的FPGA配置文件和Nios程序文件的存儲需要。
3 更新程序處理流程
更新FPGA的配置文件和NiosII的應用程序的流程如圖2所示。
本方法把由NiosII IDE生成的FPGA配置文件和NiosII程序文件合并,并編程為一個可以直接執行的、包含FPGA配置文件和NiosII程序文件的二進制BIN文件。然后把該文件通過X-modem協議由上位機系統傳輸給NiosII的應用程序。NiosII的應用程序接收到完整的BIN文件后,把該BIN文件寫入到EPCS Flash中。最后,Nios II的應用程序停止看門狗,程序重新啟動,即完成了FPGA的遠程在線更新程序的過程。
4 合并程序文件
Nios II的啟動要經歷兩個過程:
?、貴PGA器件本身的配置過程。如果內部邏輯中使用了NiosII,則配置完成的FPGA中包含有NiosII軟核CPU。
②NiosII本身的應用過程。一旦FPGA配置成功后,NiosII就被邏輯中的復位電路復位,從reset地址開始執行代碼。
Nios II IDE將FPGA的配置文件(.sof文件)和應用程序(.elf文件)轉成flash格式文件,轉換后的flash格式文件是一種S-Record格式數據,包含如下區域:《type》《length》《address》《data》《checksum》。各字段的意思分別如下:《type》表示記錄的類型;《length》表示數據的長度;《address》表示數據寫入的起始地址,該字段的長度取決于《type》的取值;《data》表示存儲的數據;《checknum》表示校驗位。
配置文件和應用程序可能有多個段,每個段前面都插有一個“程序記錄”。一個“程序記錄”由2個32位的數據構成,一個是32位的整數,另一個是32位的地址,分別表示程序段本身的長度和程序段的運行時地址。其存儲布局如圖3所示。
為了在更新程序時把FPGA配置文件和Nios II應用程序一起更新,把FPGA配置文件和Nios II應用程序合并成一個文件,并且把合并后的Flash格式的文件轉換成不需要地址解碼就能直接執行的二進制BIN文件。具體處理流程如圖4所示。
在合并程序的過程中,去掉了flash文件中的長度、目的地址等用于解析程序的信息,并且把程序映像由字符格式轉換為二進制格式。合并后的BIN文件包含FPGA配置文件和Nios II應用程序,并且Nios II應用程序緊挨在FPGA配置文件的后面,其存儲布局如圖5所示。
5 Nios II更新程序模塊處理
Nios II程序中的更新程序模塊主要負責從上位機接收合并后的可執行BIN文件,并把該BIN文件寫入EPCSFlash,處理流程如圖6所示。
5.1 程序文件的傳輸
Nios II應用程序中的更新程序模塊和上位機系統采用X-modem協議傳輸程序文件,X-modem協議是一種網口和串口通信中廣泛用到的異步傳輸協議。
如果在程序傳輸過程中出現錯誤,更新程序模塊能夠通過設置超時來退出更新程序的狀態。
5.2 對EPCS Flash的讀寫
由于EPCS Flash的串行配置器件定義了特殊的讀寫協議,所以Nios II程序只能通過Altera提供的HAL API(Application Program Inter face,應用程序接口)來完成讀寫Flash。打開、關閉Flash設備的API為:alt flash open_dev()和alt_flash_close_dev()。操作Flash讀寫
的API為:alt_read_flash()和alt_write_flash_block()。清除Flash的API為alt_erase_falsh_block()。
結語
本文以提高FPGA遠程更新程序的方便性為目標,提出了一種基于EPCS Flash的遠程在線更新FPGA程序的方法,從而在應用中能夠使基于FPGA的產品更加方便地維護升級。
二、利用FPGA實現與DS18B20的通信功能
1、概述
本文介紹利用ACTEL公司的ProASICplus系列FPGA實現與DS18B20的通信功能。FPGA可以將讀出DS18B20的48位ID號和12位溫度測量結果保存在內部寄存器中,微處理器可以隨時快速地從FPGA寄存器中讀取這些信息。
一般在使用DS18B20時往往采用微處理器的I/O端口實現與該器件的通信,這種方法雖然比較容易和方便,但是,因為DS18B20的一線式串行總線對時序要求比較嚴格,因此,為了保證與DS18B20的通信可靠性,微處理器與DS18B20通信時需要采用關閉中斷的辦法,以防止操作時序被中斷服務破壞。
利用FPGA實現與DS18B20通信不存在被迫關閉中斷的情況,可以滿足對實時性要求嚴格的應用要求。
2 ProASICplus系列FPGA簡介
ProASICplus系列FPGA是ACTEL公司推出的基于Flash開關編程技術的現場可編程門陣列,包括從7.5萬門的APA075型到100萬門的APAl000型,具有高密度、低功耗、非易失、含有嵌入式RAM及可重復編程等特點。
因為ProASICplus系列FPGA基于Flash技術,利用Flash開關保存內部邏輯,因此不需要另外的器件。由于不需要上電配置過程,因此具備上電就立即工作的特點。不用配置器件,系統的保密性提高。
筆者在電力監控的產品中利用APA150型FPGA實現了邏輯控制、A/D采樣控制和FIFO存儲等功能,并利用剩余的資源實現了DS18B20的通信功能。APA150在整個系統中充當協處理器,使主CPU從繁重的實時處理中解脫出來。
3 DS18B20簡介
3.1內部結構
DS18B20的內部結構如圖1所示,主要由以下幾部分組成:64位ROM、溫度傳感器、非揮發的溫度報警觸發器TH(溫度高)和TL(溫度低)、配置寄存器、暫存寄存器(SCRATCHPAD)、存儲器控制邏輯。DQ為數字信號輸入/輸出端。
ROM中的64(8位產品家族編號、48位ID號、8位CRC)位序列號是出廠前刻好的,這64位序列號具有惟一性,每個DS18B20的64位序列號均不相同。
8位CRC生成器可以完成通信時的校驗。
暫存寄存器有9個字節,包含溫度測量結果、溫度報警寄存器、CRC校驗碼等內容。
3.2操作步驟
對DS18B20的操作分為3個步驟:初始化、ROM命令和DS18B20功能命令。
3.2.1初始化
FPGA要與DS18B20通信,首先必須完成初始化。FPGA產生復位信號,DS18B20返回響應脈沖。
3.2.2ROM命令
該步驟完成FPGA與總線上的某一具體DS18B20建立聯系。ROM命令有搜尋ROM(SEARCH ROM)、讀ROM(READ ROM)、匹配ROM(MATCH ROM)、忽略ROM(SKIP ROM)、報警查找等命令(ALARM SEARCH)。
這里,FPGA只連接1個DS18B20,因此只使用讀ROM命令,來讀取DS18B20的48位ID號。
3.2.3 DS18B20功能命令
FPGA在該步驟中完成溫度轉換(CONVERTT)、寫暫存寄存器(WRITE SCRATCHPAD)、讀暫存寄存器(READ SCRATCHPAD)、拷貝暫存寄存器(COPYSCRATCHPAD)、裝載暫存器寄存器(RECALL E2)、讀供電模式命令(READ POWER SUPPLY)。
文中不用溫度報警功能,因此在本步驟中只需完成溫度轉換,然后通過讀暫存寄存器命令完成溫度轉化的結果。
3.3操作時序
2所示。從時序圖中可以看出,對DS18B20的操作時序要求比較嚴格。利用FPGA可以實現這些操作時序。
4 FPGA與DS18B20的通信
4.1DS18B20的操作模塊
FPGA需要完成DS18B20的初始化、讀取DS18B20的48位ID號、啟動DS18B20溫度轉換、讀取溫度轉化結果。讀取48位ID號和讀取溫度轉換結果過程中,FPGA還要實現CRC校驗碼的計算,保證通信數據的可靠性。
以上操作反復進行,可以用狀態機來實現。狀態機的各種狀態如下:
RESET1:對DS18B20進行第一次復位,然后進入DELAY狀態,等待800μs后,進入CMD33狀態。
CMD33:對DS18B20發出0×33命令,讀取48位ID值。
GET_ID:從DS18B20中讀取48位ID值。
RESET2:對DS18B20進行第二次復位,然后進入DELAY狀態等待800μs后,進入CMDCC狀態。
CMDCC:向DS18B20發出忽略ROM命令,為進入下一狀態作準備。
CMD44:向DS18B20發出啟動溫度轉換命令,然后進入DELAY狀態等待900ms后進入下一狀態。
RESET3:對DS18B20進行第三次復位。
CMDCC2:
向DS18B20發出忽略ROM命令,為了進入下一狀態作準備。
GET_TEMP:從DS18B20中讀取溫度測量數值。
DELAY:等待狀態。
WRITE_BIT:向DS18B20中寫入數據位狀態。
READ_BIT:從DS18B20中讀取數據位狀態。在該狀態中每讀取1位數據,同時完成該數據位的CRC校驗計算。所有數據都讀取后,還要讀取8位CRC校驗位。這8位校驗位也經過CRC校驗計算,如果通信沒有錯誤,總的CRC校驗結果應該是0。這時可將通信正確的數據保存到id和temp_data寄存器中。
設計中采用Verilog語言建立DS18B20操作模塊”DS18B20_PROC”。在該模塊中實現以上的狀態機功能。該模塊的定義為module DS18B20?PROC(sysclk,reset,dq_pim,id,temp_data,dq_ctl)。
從仿真波形可以看出,系統上電后的10ms左右,FPGA可以讀出DS18B20的48位ID值,這樣,主CPU在系統復位后很短的時間內就可以讀取ID值,進行相應的處理。
4.2FPGA與CPU的接口
在FPGA中,要實現對DS18B20的通信處理,主模塊要實現對DS18B20_PROC模塊的調用及建立與CPU之間的接口。
與CPU之間的接口通過建立若干寄存器實現。溫度測量值和48位ID可以用4個16位寄存器保存。CPU通過讀取這些寄存器可以獲得溫度測量數值和48位ID值。
CPU、FPGA及DS18B20的連接原理如圖4所示。
5結束語
在系統中,FPGA可以分擔許多主處理器的工作,提高整體實時性,降低CPU處理的嚴格實時約束,從而降低CPU軟件處理的難度。同時,由于ACTEL公司的ProASICplus系列FPGA的保密特性,可以增強產品知識產權的保護。
三、片上芯片SoC挑戰傳統測試方案
SoC廠商如何在提高復雜器件傳輸速度的同時降低測試成本?
隨著先進的集成電路(IC)設計方法和高密度生產技術的使用,半導體廠商能夠把不同的數字和模擬電路集成在極小芯片上,其尺寸之小、功能之全尚無先例,我們稱之為系統芯片。盡管具有先進的設計和制造能力,可是IC廠商在對這些多元器件進行快速而又低成本地批量生產時,面對 空前的挑戰。當把若干功能單元結合在一個單獨器件上時,今天的SoC器件為減少批量生產時間和測試成本,向傳統的測試方法發起挑戰。結果是,廠商們將更廣泛地研究新方法,這些新方法通過在設計和測試之間的有效平衡,提供了一個更有效地從事SoC設計、生產和測試的方案,并能夠同時做到減少其生產時間和測試費用。
特殊的挑戰
就SoC廠商來說,在一個競爭激烈的市場上,消費者對其在功能、性能和費用等方面的要求,又給他們平添了持續的壓力。SoC廠商將復雜的數字核與模擬功能集成在單芯片中,在功能和性能上能夠應對市場多種用途的需求??墒窃谥圃爝^程中,SoC廠商發現設計和測試復雜性經常會導致故障。隨 工藝技術的研制費用接近100萬美元,每次故障都使得成本負擔雪上加霜,并且拖延交貨期,加劇經濟受損。工程師們發現在這樣的壓力下,無法充分發揮先進的工藝技術和制造水平的潛力。
對測試工程師來說,他們的測試面對 非常嚴峻的挑戰,一是受測器件龐大的數量,二是多種受測電路復雜的程度。然而,測試工程師必須保證以最優化的測試程序,采用最少最便宜的測試設備,在短時間內完成測試。測試工程師還需要功能更強的混合信號測試儀來處理高端界面。而傳統的連續開發方法中測試故障的費用上升首先導致器件開發延遲,SoC廠商也將為此增加測試時間和費用及生產成本。
SoC測試中當前的困境大多是由于采用早期幾代IC對測試要求不高而造成的。最新的設計雖提高了易測程度但仍缺乏應對當前流程中普遍問題的能力。在傳統的連續開發流程中(圖1a),設計工程師設計時所掌握的有關信息很少,可利用的測試設備也有限,因而可能在最終開始測試后很久才會發現所遇到的問題,造成額外費用并拖延時間。
SoC器件目前不斷增加的復雜程度,促使主要的廠商青睞采用更有效的SoC生產導向設計測試流程法(圖1b)。該方法使各個測試小組分工明確,測試研發工作平行展開。各測試小組集中攻關的結果是同步拿出最優化的設計方案和更有效的測試程序。工程師們在轉移到大批量生產之前,就已充分掌握了器件性能。制造商可以有效平衡高配置的SoC平臺的靈活性,使其滿足不同新產品類型組合的需要,在實現快速批量供應的同時,全面降低測試成本。
早期試驗進展
新測試流程建立在測試開發工具和設計工藝技術之上。多年來,工程師們倚賴專用的內部工具將仿真向量轉變成測試設備使用的模式。SoC顯著地增加了這一轉變過程的復雜性。今天,更加先進的測試工具能夠與主要的電子設計自動化(EDA)供應商所提供的流程一起運行。加上先進的循環運算法則,這些工具能夠把與各種復雜程度的電路相關聯的數據組合起來,并且制作一個單獨的測試模式和定時文檔。手頭掌握了這些統一的結果,測試工程師的工作會更有效。
圖1 生產測試和工程確認的常規流程(a)和平行流程(b)
新SoC生產導向設計測試流程法的一個最重要特點是它能夠在開發循環的早期校驗測試程序。過去,測試工程師需要獲得第一塊芯片和可以排除故障的測試設備后才可以開始測試工作,這將把產量拖沿數星期。而今,由于具有了當前先進的測試開發環境,測試工程師能夠利用數字式虛擬測試儀(DVT)的性能,提前進行調試試驗。虛擬測試法最適合數字電路。但EDA軟件現有的能力已有很大提高,EDA公司與測試公司已有很好的協作。因此,設計和測試工程技術能力擴展至模擬設計也就有了保障。
經過改進的測試開發能力對所有SoC廠商都至關重要,對于無生產線的IC設計公司尤為重要。由于相比較而言,IC設計公司對外界的依賴程度高,因為在設計和測試之間存在一個地理上的差距,存在 交流困難問題。經由外界的設計方案會加劇測試難題對生產延期和生產費用的影響。虛擬測試法讓IC設計公司在其現有的設計環境下進行調試試驗,以保證測試程序運轉正常并能更好地s了解潛在的測試設備問題。
交互式工程設計確證
對不知名的半導體公司和集成器件制造商(IDMs)來說,復雜的設計和先進的工藝技術的結合,要求提高與自動測試儀(ATE)上進行的生產測試截然不同的測試驗證能力。隨 工藝技術達到0.13μm或更細的線寬,先進的器件展示出不斷增加的效能,事實上也限制了多數生產用自動測試儀(ATE)在檢測更細微故障時的有效性。對許多廠商而言,復雜的SoC已致使傳統的測試方法愈加無效,并給生產和成本問題造成嚴重的瓶頸影響。
優化的工程設計驗證測試系統的出現,提供了與生產測試儀明顯有別的能力,達到了大幅度提高生產量的要求。工程技術系統為生產測試儀是非結果的判斷提供了詳細的原因分析。事實上,今天領先的工程設計驗證系統具有的記憶特性,能夠保留所有器件管腳上的完整數據,以便工程師更容易地對器件功能做解剖研究--這是傳統的生產用自動測試儀(ATE)所無法達到的。
生產用自動測試儀(ATE)適合批量生產的需要,有賴于高度優化的測試程序來確保采用最少的測試設備和花費最短的時間。相比較,工程技術驗證系統則適合交互式分析,為測試裝置和測量提供圖形用戶界面(GUI)。工程師們在此環境下可以更有效地進行為最優化設計和調試所采用的交互式的假設分析。用在生產過程中,則有助于加速故障分析。當今復雜的SoC需要更加精密復雜的診斷設備,如皮秒圖象電路分析(picosecond imaging circuit anal-ysis),激光電壓探針(laser voltage probe)和電子束系統(e-beam systems)。領先的工程設計系統直接向這類設備提供界面;工程師們借此利用外部的探頭裝置就能夠測試器件。
圖2 測試程序的核查準備
低成本生產測試
SoC生產技術的成功,依靠的是廠商以最低的生產成本實現大量的生產能力。隨 制造商創造了結合先進數字電路和模擬功能的SoC,就需要不斷提高自動測試儀(ATE)的強大功能。芯片內功能提高了數字數據傳輸速率。而今,防火墻、千兆赫茲以太網和圖形加速接口等功能都集于芯片上,因此需要測試儀的數據速率要達到800Mbps或更高。制造商們正在尋找適應性強和容易升級的操作平臺以滿足新要求,而非過去那樣追加投資,開發新一代產品。
對于混合信號的SoC,可配置的ATE系統在經濟上可以承受大批量生產對測試功能和靈活性的要求。模塊式結構是這些系統的核心,為制造商提供了一個適應性強的高性能共享測試平臺。就IC電路的總體而言,大功率多性能ATE能夠滿足SoC日益增加的功能條件,如管腳的增加、速度的提高、對液體冷卻的需求等。好在先進的冷卻設計可以選用空氣冷卻高速高功耗的CMOS電路,而降低了ATE的復雜性。
系統設計和檢測儀表性能的改善顯著地減少了ATE的費用,加上應用了各種程序開發工具語言,增加了測試開發環境的功效。工程師們利用共享圖形用戶界面(GUI)和現有測試程序模板,使現有的測試程序符合特定的測試用途,從而提高了生產效率。這種以模板為基礎的方法把測試開發時間削減了數周,這對于把握SoC市場稍縱即逝的機會格外重要。
在產業開始復蘇的今天,對市場機會的快速應變能力是SoC制造業重于一切的要務。在現有條件下取得最大效益的能力,對于制造商仍然非常關鍵。系統兼容性在高效的開發環境及生產測試設備中是一個日益重要的特性,將有助于使生產能力達到最高水平。廠商通過有效配置所有測試設備,把測試轉移到最有效的平臺上進行,不斷滿足生產條件的變化要求。
四、四軸運動控制器設計方案
引言
運動控制技術是制造自動化的關鍵基礎,其水平高低是衡量一個國家工業現代化的重要標志,研究和開發具有開放式結構的運動控制器是當前運動控制領域的一個重要發展方向。設計了一種基于DSP與FPGA的運動控制器。該控制器以DSP和FPGA為核心器件,針對運動控制中的實時控制、高精度等具體問題,規劃了DSP的功能擴展,并在FPGA上擴展了功能相互獨立的四軸運動控制電路。該電路實現了四路控制信號輸出,四路編碼信號的接收和處理,以及原點信號,正負限位信號等數字量的接收和處理。具有結構簡單、開放性、模塊化等特點,能夠較好的滿足運動控制器的實時性和精確性。
1 系統概述
該四軸運動控制器系統以TI公司C2000系列DSP芯片TMS320F2812和ALTERA公司CycloneⅡ系列FPGA芯片EP2C8F256C6為核心,DSP通過網口接收上位機的控制參數,完成系統位置、速度控制及運動軌跡規劃;FPGA完成運動控制器的精確插補功能和外圍電路的擴展,系統總體框圖如圖1所示。
運動控制器的主要功能包括:4路模擬電壓輸出,電壓范圍為-10~+10V,分辨率為16b;4路脈沖量信號輸出;4路脈沖方向信號輸出;4路驅動復位信號輸出;4路驅動使能信號輸出;4路差分編碼信號輸入;4路驅動報警信號輸入;8路正負限位信號輸入;4路原點信號輸入;16路通用數字量。I/O。
2 DSP模塊設計
DSP根據從上位機接收的運動模式和運動參數實時計算規劃位置和規劃速度,生成所需的速度曲線,實時的輸出規劃位置。TMS320F2812是TI推出的一款專門用于電機控制的32位定點DSP芯片,采用高性能靜態CMOS技術,主頻高達150MHz(指令周期6.67ns),低功耗,核心電壓為1.8V,I/O電壓3.3V,支持JTAG邊界掃描,128K×16b的片內FLASH。有兩個事件管理器(EVA和EVB),它們都是特定的外圍設備,為多軸運動控制器而設計的??赏ㄟ^外部存儲器接口XINTF擴展外部存儲器。DSP外圍模塊設計如圖2所示。
為增強抗干擾性,DSP通過以太網控制器RTL8019AS與上位機連接,RTL8019AS內部含有一個16KB的SDRAM,DSP通過外部存儲器接口對其進行讀寫來接收上位機的命令或向上位機傳送反饋信號。在數據處理過程中要占用大量的存儲空間,DSP內部僅含有18K×16b的SARAM和128K×16b的FLASH,存儲空間顯得過小,所以通過外部接口擴展了256K×16b RAM和512K×16b FLASH,RAM和FLASH芯片分別選擇IS61LV25616 AL、SST39VF800,它們都具有接口簡單、讀寫速度快等優點。SCI模塊用于擴展RS 232串行通信接口,串口芯片使用MAX3232。
運動控制器所需電壓為5V,3.3V,1.8V,1.2V。輸入電壓5V,分別采用穩壓芯片LM1085IS3.3,LM1117-1.8將其轉換成3.3V和1.8V,由于TMS320F2812的I/O電壓3.3V要先于內核電源上電,所以1.8V要由3.3V降壓得到,以確保上電次序。1.2V是FPGA內核所需電壓,由穩壓芯片LM317S穩壓得到,LM317S的輸出電壓范圍為1.2~25V,復位電路采用SP708低功耗微處理器監控器件,此器件有眾多的組件,有效的增強了系統的可靠性及工作效率。
3 FPGA模塊設計
FPGA用于軸資源的擴展,當接收到DSP中的規劃位置后,在軸資源中對其進行變換處理,輸出到伺服控制器中,伺服控制器將規劃位置與編碼反饋的計數位置進行比較,獲得跟隨誤差,并通過伺服控制算法得到實時的控制量,將控制量傳遞給D/A轉換器,由D/A轉換器轉換成控制電壓輸出。
EP2C8F256C6是ALTERA公司CycloneⅡ系列芯片,其特點為高性能低功耗,內核供電電壓為1.2V,8256個邏輯單元(LEs),182個用戶I/O口(項目中使用了157個I/O口),165888b的內部RAM,嵌入了18b的乘法器,每個乘法器又可拆成2個9b的乘法器,芯片內部含有2個鎖相環(PLL),8個全局時鐘(Global Clocks)。該芯片所具有的邏輯單元數、頻率和用戶I/O口等都能很好的滿足設計需求。FPGA的外圍模塊擴展如圖3所示。
3.1 與DSP接口設計
DSP芯片的事件管理器(EVA,EVB)用于和FPGA連接,當輸出脈沖量控制驅動器時,DSP使用兩個事件管理器進行PWM波的控制,當輸出模擬量時,DSP使用GPIOA/GPIOB向FPGA輸出規劃位置。
3.2 模擬信號輸出電路設計
采用D/A轉換器AD669進行模擬信號的輸出,AD669具有兩級鎖存,在設計中,將其四路D/A芯片的第一級鎖存處于透明狀態,第二級鎖存控制信號LDAC連在一起,當四路D/A芯片的數據預裝好后,打開第二級鎖存,四路D/A芯片即可同時轉換,實現了四軸驅動的同時控制。
3.3 脈沖信號輸出電路設計
脈沖輸出電路由FPGA內部精插補器完成,精插補器根據DSP發送來的粗插補數據產生均勻的脈沖輸出,脈沖的輸出有兩種格式:“脈沖+方向”和“正負脈沖”。由于差分信號對外部電磁等信號有很好的抗干擾性,特別是對共模干擾有很好的抑制作用。所以脈沖經過光耦隔離后,再將信號接入差分線驅動器AM26LS31后輸出,差分線驅動器AM26LS31的作用是將輸入的單極性方波信號轉化為一對極性相反的電機驅動信號。
3.4 編碼反饋電路設計
電機編碼信號直接傳入電機驅動器中,電機驅動器將三對差分編碼信號A+,A-,B+,B-,N+,N-作為反饋傳給運動控制器。在電機旋轉時,所發出的編碼信號會出現非常多的毛刺,并且經過驅動器大電源的干擾,如果直接接到FPGA中,可能會引起誤判斷,所以先將三對編碼信號經過差分芯片AM26LS32轉化成單路信號A,B,N后再接入FPGA中。芯片AM26LS32功能是將輸入的一對極性相反的編碼器差分信號轉化成單極性的脈沖信號,與AM32LS31正好相反。
3.5 開關量接口和通用I/O電路設計
輸出信號包括復位信號和使能信號,由FPGA產生,經光耦隔離后直接輸出;輸入信號包括驅動報警信號,正負限位信號和原點信號,這些信號經光耦隔離、電平轉換后再由FPGA接收,當FPGA檢測到這些信號后,確定具體的觸發信號,做出相應的反應。另外運動控制器還提供了八路數字量輸入通道和八路數字量輸出通道,輸入、輸出通道都經光電隔離,以提高抗干擾性。
4 網口模塊設計
DSP通過以太網控制器RTL8019AS與上位機連接,RTL8019AS在一塊芯片上集成了RTL8019AS內核和一個16KB的SDRAM存儲器,兼容RTL8019AS控制軟件和NE20008b或16b傳輸,其接口符合Ethernet2和IEEE802.3標準。RTL8019AS與主機的接口模式有三種模式:跳線模式,PnP模式,RT模式。此運動控制器使用便于DSP應用的跳線模式。DSP與RTL8019AS的連接如圖4所示。
?。?)數據總線和地址總線。RTL8019AS的數據總線和DSP的16位數據總線直接相連即可。RTL8019AS片內NE2000寄存器組都是通過其映射I/O端口進行訪問,I/O端口共32個,地址偏移量為00H~1FH,把I/O基地址設為300H,則對應的I/O端口尋址范圍為:300H~31FH。只需要10根地址線就可以對I/O端口進行尋址,把SA10~SA19接低電平,SA0~SA9按照表1接法即可。
由表1可以看出,只需要5根地址線就可以尋址32位I/O端口,所以可以直接把SA9,SA8接高電平,SA5~SA7接低電平,SA0~SA4與DSP的低5位地址線XA0~XA4相接。
?。?)控制總線。RTL8019AS片選信號AEN使用DSP的擴展片選信號
,IORB、IOWB直接與DSP的讀寫控制信號
相連,中斷輸出引腳INT0與DSP的XINT2相連,高電平有效的復位輸入引腳與監控電路芯片SP708的RST相連,當DSP復位時,RTL8019AS也復位。
?。?)RTL8019AS與網絡介質接口。RTL8019AS可以使用同軸電纜或雙絞線作為傳輸媒介,將其AUI接口接地或懸空,使用BNC接口。BNC接口方式支持8線雙絞線或同軸電纜。20F001N是雙絞線驅動器,為耦合隔離變壓器模塊,通過它可以去除因電路數字特性導致的高次諧波。RTL8019AS與20F001N的連接如圖4所示。其差分輸入信號TPIN+、TPIN-與差分輸出信號TPOUT+、TPOUT-分別與20F001的對應引腳相連。
5 結語
在PC平臺下,充分利用了DSP的數據處理能力和FPGA的硬件特性,使系統既能進行復雜的軌跡規劃、高速插補,又能保證運動控制器的穩定性和精確性,這種運動控制器能應用于數控系統,機器人制造等控制領域。
評論
查看更多