新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的智能驅動控制系統設計

        基于FPGA的智能驅動控制系統設計

        作者: 時間:2012-03-09 來源:網絡 收藏

        圖2:基于 Spartan-6 的電機控制板原型

        圖2 中文字:

        SP605 基礎目標設計平臺是一種通用 平臺,在業經驗證的設計實現中集成了一個 Spartan-6 LX45T 和許多常用外設,比如 DDR3 RAM、程序/比特流存儲用閃存、調試用 UART 以及 編程用 JTAG。SP605 及所有最新賽靈思開發板的另一個關鍵元件是 FPGA 夾層卡 (FMC) 接插件,它可以讓設計人員使用定制的功能和接口擴展基礎開發板。

        SP605 的這種特性使我們能夠使用 QDeSys NetMot FMC(www.qdesys.com)的功能來擴展這個基本平臺。QDeSys NetMot FMC 具有電機控制所需要的電力電子元件,比如電壓逆變器,以及用于采集傳感器數據的模數轉換器 (ADC)。可以把電機直接與圖 2 所示的輸入/輸出端相連。NetMot FMC 還通過添加兩個 CAN 接口和兩個以太網物理層接口,擴展了 SP605 的工業網絡連接功能。它們通過 FMC 接插件和 PLC,通過標準接口訪問FPGA。

        測試用 PC 機一方面用作 PLC 軟件的主機,另一方面通過 UART 和 JTAG 接口,用作 FPGA編程/調試平臺。此外,我們還在這臺測試用 PC 機上用賽靈思 ISE?12.1 設計套件為 SP605的 LX45T PFGA 開發 MicroBlazeTM 嵌入式處理器系統。該嵌入式系統負責處理來自 PLC 的命令并相應地對電機進行控制。

        圖 2 所示的 MicroBlaze 軟件應用、網絡和電機控制 IP 模塊代表隨接口(EtherCAT 或 CATopne)和選擇的電機類型會發生變化的設計模塊。賽靈思設計服務部面臨的主要挑戰之一是要確保這些選項之間的切換盡量簡化,從而保證客戶能夠在將來把相同的方法重復用于諸如 Profinet 更先進的工業網絡類型以及新型電機中。

        3 實現細則

        讓我們來詳細查看 Spartan-6 嵌入式系統的各個組成部分。如圖 3 所示,我們使用的電機控制 IP 模塊——賽靈思電機控制庫 (XMCLIB) 在兩個設計版本中是完全相同的。這個定制 IP 核可以直接插在賽靈思嵌入式開發套件 (SDK) 上,讓 FPGA 控制 NetMot FMC 的電機電力電子系統。這樣我們就可以把 IP 核添加到 Xilinx Platform STudio (XPS) 項目的嵌入式設計中,并對其進行配置,使之適用于通過 FMC 接插件連接到 FPGA 的電機。XMCLIB 軟件驅動程序是一套底層功能,使電機控制應用能夠訪問 XMCLIB 寄存器接口。

        圖3:CAN/EtherCAT 嵌入式系統

        另一方面,網絡 IP 核也是兩個系統版本的不同之處。對于 CAN 版設計,我們選擇標準的 LogiCORETM IP XPS 控制器區域網絡,該網絡隨同 ISE 12.1 設計套件提供,并由博世公司許可。對于 EtherCAT 版設計,我們使用倍福公司針對賽靈思 FPGA 開發的 EtherCAT 從控制器IP核 (www.beckhoff.com)。兩種 IP 核在 XPS 工具的 IP 目錄標簽上都有提供,使設計的集成和配置工作異常簡單明了。在本案例中,我們沒有使用簡單的驅動程序來提供對網絡 IP 核的訪問,我們使用了Port 公司 (www.port.de) 提供的 CANopen 和 EtherCAT 協議棧解決方案。該解決方案提供了功能齊全的開箱即用型協議實施方案。

        最終,我們設計出了一種定制嵌入式軟件應用,可以在運行于 MicroBlaze 處理器系統的 Micrium(www.micrium.com)μC/OS-II 上運行。μC/OS-II 是一種嵌入式操作系統,可增強原型系統的實時功能,并提供多任務、消息隊列和信號量等功能。

        我們還意識到,應該讓應用的結構能夠適用于多種不同的網絡接口。為此,我們設計了一個接口抽象層,可以讓我們封裝通信和軟件的電機控制組件。

        在這個接口的一側(圖 4),我們實現了一個網絡模塊(Port 公司的 CANopen 或 EtherCAT),用以管理系統中可用網絡 IP 核的通信。這些模塊可以無縫地插入我們的接口抽象層上。在這些協議棧的頂層,我們把通信和控制數據(比如 PDO、SDO 和 NMT 狀態交易)傳輸到抽象層中,然后抽象層將數據進行轉譯并以諸如啟動/停止、以特定速率旋轉或旋轉到特定位置之類的命令提交給電機控制應用。

        圖4:接口抽象層

        為了為接口抽象層確定一組通用信息和命令,我們研究了工業網絡領域現有的專著,研讀了 IEC 61800-7 標準。對現有的現場總線技術,有幾種用于標準化與驅動設備通信的方案(比如 CANopen 使用的 CiA-402、Profinet 使用的 PROFIdrive)。IEC 68000-7 標準提出了驅動器的通用表達,并計劃提供這種通用表達與現有驅動器特性之間的一組映射。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 垦利县| 化隆| 贵德县| 临江市| 贡山| 义乌市| 三穗县| 运城市| 上栗县| 海南省| 民乐县| 正宁县| 科技| 砚山县| 株洲县| 平度市| 河东区| 嘉义市| 禄丰县| 昌邑市| 榆社县| 高台县| 崇仁县| 邯郸市| 怀化市| 盖州市| 榕江县| 河北区| 虞城县| 文安县| 桂东县| 南木林县| 平湖市| 革吉县| 高阳县| 洮南市| 望奎县| 固阳县| 鸡西市| 象山县| 磐安县|