• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于FPGA和TMS320F28335的電機控制實現(xiàn)過程

    2017-07-06 15:01:06姜見龍
    航天制造技術(shù) 2017年3期
    關(guān)鍵詞:控制指令通訊總線

    王 娜 姜見龍

    ?

    一種基于FPGA和TMS320F28335的電機控制實現(xiàn)過程

    王 娜 姜見龍

    (湖北三江航天紅峰控制有限公司,孝感432100)

    提出了一種基于FPGA和TMS320F28335的電機控制實現(xiàn)過程。以FPGA為控制器及CAN總線控制接口實現(xiàn)與測試系統(tǒng)的CAN通訊,并將CAN通訊數(shù)據(jù)以EMIF接口形式與TMS320F28335進行信息交互,TMS320F28335通過接收控制指令和發(fā)送反饋信號實現(xiàn)對電機的控制。使用Verilog HDL硬件描述語言,根據(jù)CAN總線接口協(xié)議CAN2.0B,實現(xiàn)FPGA的CAN總線接口的通訊,及與TMS320F28335的EMIF接口信息交互,并通過了功能仿真;C語言實現(xiàn)電機控制過程和FPGA與TMS320F28335之間的EMIF接口信息交互過程。

    FPGA;TMS320F28335;電機控制;CAN通訊;EMIF接口

    1 引言

    CAN(Controller Area Network)控制局域網(wǎng)是一種串行通訊協(xié)議,是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,廣泛應(yīng)用于汽車行業(yè)、工業(yè)自動化、醫(yī)療器械、船舶、自動化儀表等領(lǐng)域。SCI串行接口通信網(wǎng)絡(luò)中只有一個主機設(shè)備,其余為從機的工作模式,而CAN總線是一種多主的局域網(wǎng),也就是通訊時網(wǎng)絡(luò)中的各個設(shè)備均可以在主機模式工作。CAN通訊總線的數(shù)據(jù)傳輸速率可高達1Mbps,從而易于實現(xiàn)系統(tǒng)的實時控制。另外,CAN總線硬件的錯誤檢定特性增強了CAN總線通訊過程中的抗電磁干擾能力。

    EMIF(External Memory Interface)外部存儲器接口,也就是TMS320F28335所具有的外部接口(XINTF),一種與外進行信息交互的接口。比如C6000系列DSP的片內(nèi)無FLASH,則需外擴FLASH,其實該過程就是使用EMIF接口實現(xiàn)FLASH擴展。本文使用EMIF接口連接TMS320F28335和FPGA傳遞消息數(shù)據(jù)。由于FPGA芯片的引腳資源比DSP更為豐富,通過FPGA與AD7656等外設(shè)連接,輔控制器FPGA采集的各種外設(shè)信息,及測試系統(tǒng)發(fā)送的控制指令,再通過EMIF接口傳遞給主控制器TMS320F28335。相應(yīng)地,TMS320F28335控制電機轉(zhuǎn)動獲得的電機轉(zhuǎn)動方向、速度等,也通過EMIF接口傳遞給測試系統(tǒng)。

    TMS320F28335為TI推出的一款具有強大控制和信號處理能力的32位浮點型數(shù)字信號處理器,主頻高達150MHz,片上集成了512KByte的FLASH存儲器、68KByte的SARAM、16KByte的Boot ROM以及多種先進的外設(shè),可廣泛應(yīng)用于伺服、電機控制系統(tǒng)中。選用的電機驅(qū)動電路板FPGA軟件運行在Xlinx公司Spartan3系列的FPGA芯片XC3S200上。FPGA具備豐富的I/O資源,編程靈活,可實現(xiàn)任何數(shù)字電路。同時因為其內(nèi)部程序是并行運行的,可同時處理不同的任務(wù),使得FPGA有更高的工作效率。采用Verilog HDL語言,在集成開發(fā)環(huán)境ISE10.1中完成FPGA軟件代碼的設(shè)計開發(fā)與調(diào)試,利用ModelsimSE6.0仿真工具進行仿真驗證,最后將程序加載到FPGA芯片中進行功能驗證。

    2 系統(tǒng)接口設(shè)計

    圖1 FPGA與CAN口通訊的系統(tǒng)結(jié)構(gòu)框圖

    圖2 EMIF接口連接框圖

    本系統(tǒng)接口設(shè)計所用到的CAN總線控制器是Microchip公司的MCP2512,它是一款獨立控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN)協(xié)議控制器,完全支持CAN V2.0B技術(shù)規(guī)范。MCP2515與FPGA的連接通過業(yè)界標(biāo)準(zhǔn)串行外設(shè)接口(Serial Peripheral Interface,SPI)進行數(shù)據(jù)通訊和指令的傳遞。通過MCP2515 CAN驅(qū)動模塊,實現(xiàn)與測試系統(tǒng)的CAN總線通訊過程。FPGA與CAN口通訊的系統(tǒng)結(jié)構(gòu)圖如圖1所示。DSP TMS320F28335的EMIF接口連接圖見圖2。

    3 EMIF接口軟件設(shè)計

    FPGA使用Verilog HDL硬件描述語言設(shè)計XINTF接口,需要在約束條件中對相應(yīng)的IO口的引腳進行定義和約束,具體定義如下:

    NET "XZCS0" LOC = "A13";#TSDCAS

    NET "XRD" LOC = "K17";#TSDRAS

    NET "XWE0" LOC = "A14";#TSDWE

    NET "INT_CANF" LOC = "C6";

    NET "XA<0>" LOC = "B14";

    NET "XA<1>" LOC = "G20";

    ......

    NET "XA<19>" LOC = "H19";

    #####################################

    NET "XD<0>" LOC = "D16";

    ......

    NET "XD<14>" LOC = "A15";

    NET "XD<15>" LOC = "B15";

    設(shè)置好相關(guān)約束后,可以對相應(yīng)的地址線進行操作,此處選用的如往地址上寫數(shù)據(jù),當(dāng)輸入信號片選信號XZCS0為低,讀信號XRD也為低時,DSP軟件即可在給定的地址上讀出FPGA控制軟件所寫數(shù)據(jù)內(nèi)容,具體寫數(shù)據(jù)操作如下:

    assign XD=

    (XZCS0==0 && XRD==0 && TEAB=='h4 && TEAA=='h0)?data[31:16]:

    (XZCS0==0 && XRD==0 && TEAB=='h4 && TEAA=='h2)?{data[15:0]}:

    'hzzzz;

    讀出相應(yīng)地址線上的數(shù)據(jù)也是一樣,當(dāng)輸入信號片選信號XZCS0為低,寫信號XWE0也為低時,F(xiàn)PGA控制軟件讀出DSP所寫數(shù)據(jù)內(nèi)容,并保存,具體讀取數(shù)據(jù)操作如下:

    if(XZCS0==0 && XWE0==0 && TEAB=='h0 && TEAA=='h0)

    begin

    dspbackdata <= XD;

    end

    本文使用的XINTF接口的固定區(qū)域為區(qū)域0(XZCS0),DSP軟件設(shè)計包括:外部存儲接口初始化、和外部存儲接口相關(guān)的GPIO口初始化,將與外部存儲接口有關(guān)的GPIO口設(shè)置為外部接口數(shù)據(jù)線、外部接口地址線、讀寫信號和片選信號,操作步驟如下:

    a. 配置區(qū)域0(XZCS0)寫時序

    XintfRegs.XTIMING0.bit.XWRLEAD=1;

    XintfRegs.XTIMING0.bit.XWRACTIVE=3;

    XintfRegs.XTIMING0.bit.XWRTRAIL=1;

    b. 配置區(qū)域0(XZCS0)讀時序

    XintfRegs.XTIMING0.bit.XRDLEAD=1;

    XintfRegs.XTIMING0.bit.XRDACTIVE=3;

    XintfRegs.XTIMING0.bit.XRDTRAIL=1;

    c. 配置區(qū)域0(XZCS0)數(shù)據(jù)GPIO口

    GpioCtrlRegs.GPCMUX1.bit.GPIO64=3; // XD15

    ......

    GpioCtrlRegs.GPCMUX1.bit.GPIO79=3; // XD0

    d. 配置區(qū)域0(XZCS0)地址GPIO口

    GpioCtrlRegs.GPBMUX1.bit.GPIO40=3; // XA0

    ......

    GpioCtrlRegs.GPAMUX2.bit.GPIO29=3; // XA19

    e. 配置區(qū)域0(XZCS0)讀寫信號和片選信號

    GpioCtrlRegs.GPBMUX1.bit.GPIO34=3; // XREADY

    GpioCtrlRegs.GPBMUX1.bit.GPIO35=3; // XRNW

    GpioCtrlRegs.GPBMUX1.bit.GPIO38=3; // XWE0

    GpioCtrlRegs.GPBMUX1.bit.GPIO36=3; // XZCS0

    完成以上相關(guān)GPIO口和讀寫時序的配置后,DSP控制軟件就可以讀取地址線上的數(shù)據(jù),具體操作如下:

    #define LOW * ((Uint16 * )0x00004400)

    //讀,data高16bit

    #define BISS_HIGH * ((Uint16 * )0x00004402)

    //讀,data低16bit

    DSP控制軟件往地址線上寫數(shù)據(jù),具體操作如下:

    #define CMD_ACK * ((Uint16 * )0x00004000)

    //寫,指令類型回應(yīng)

    綜上所述,DSP控制軟件對XINTF接口進行讀寫操作的流程圖如圖3所示。

    圖3 XINTF接口讀寫操作流程圖

    4 ModelSim SE 6.2b仿真

    CAN通訊接口的FPGA軟件設(shè)計過程通過了功能仿真,仿真工具采用的是ModelSim仿真軟件。根據(jù)test_bench編寫的測試程序,對CAN通訊部分進行功能仿真后,F(xiàn)PGA軟件通過CAN總線接收到的數(shù)據(jù)SDO1和發(fā)送出去的數(shù)據(jù)SDI1在時鐘時序的配合下,均有相應(yīng)的數(shù)據(jù)輸出。仿真后得到的仿真波形見圖4。

    圖4 EMIF接口和CAN通訊接口仿真波形

    5 電機控制過程

    該設(shè)計所選用電機的控制是由TMS320F28335和相應(yīng)驅(qū)動芯片控制完成的。這里,F(xiàn)PGA軟件的作用是通過CAN通訊獲得測試系統(tǒng)發(fā)來的控制指令,控制指令通過XINTF接口將控制指令傳遞給TMS320F28335。TMS320F28335采集位置反饋信息,并將采集的數(shù)據(jù)信息,通過FPGA軟件傳給測試系統(tǒng)。位置反饋信息與控制指令進行比較,參與PID控制,形成閉環(huán)控制,產(chǎn)生PWM信號,控制電機的運轉(zhuǎn)。這里不講述電機具體的硬件驅(qū)動過程。

    設(shè)計中,電機控制使用的增強型PWM(ePWM)模塊是ePWM3,首先使能其對應(yīng)的時鐘,實現(xiàn)過程如下,SysCtrlRegs.PCLKCR1.bit.EPWM3ENCLK = 1。

    電機控制過程的流程圖見圖5所示。圖中計算得到的占空比輸出給計數(shù)器比較A寄存器集,具體實現(xiàn)過程為,EPwm3Regs.CMPA.half.CMPA=EPWM3_PRD-fabs(pwm_duty)。

    圖5 電機控制過程流程圖

    6 結(jié)束語

    本文利用FPGA和DSP TMS320F28335的數(shù)據(jù)交互作用,實現(xiàn)了對電機的控制,提高了數(shù)據(jù)通訊的速率。由于FPGA芯片的資源很多,為后續(xù)設(shè)計多功能一體機,再增加更多外設(shè),提供了豐富的接口資源。同時,執(zhí)行效率也相應(yīng)得到提高,在實際應(yīng)用中,具有較強的應(yīng)用推廣價值。

    1 Xilinx. Interfacing Xilinx FPGAs to TI DSP platforms using the EMIF [M]. USA: Xilinx, 2007. 17~22

    2 王念旭. DSP基礎(chǔ)與應(yīng)用系統(tǒng)設(shè)計[M]. 北京:北京航空航天大學(xué)出版社,2001. 391~393

    3 石英,張金鳳,申功勛. 基于FPGA和CAN控制器MCP2515設(shè)計慣導(dǎo)系統(tǒng)的CAN總線接口[C]. 西安:中國航空學(xué)會控制與應(yīng)用第十二屆學(xué)術(shù)年會,2006.

    4 王繼國,吉吟東,孫新亞. CAN總線控制器MCP2515的原理及應(yīng)用[J]. 電測與儀表,2004(1):53~56

    5 劉和平,張學(xué)鋒,嚴(yán)利平,等. TMS320240x DSP結(jié)構(gòu)、原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002. 190~202

    6 Texas Instruments Inc.TMS320F28225, TMS320F28334, TMS320F28332, TMS320F28235, TMS320F28234, TMS320F28232 digital signal processors data manual[R]. USA: Texas Instruments, 2003

    7 方冬,章國寶. 基于EMIF接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計[J]. 電子設(shè)計工程,2011(2):176~177

    A Motor Control Implementation Process Based on FPGA and TMS320F28335

    Wang Na Jiang Jianlong

    (Hubei Sanjiang Space Hongfeng Control Co., Ltd, Xiaogan 432100)

    This paper presented a FPGA and TMS320F28335 motor control implementation process. CAN communication cotroller FPGA and CAN bus control interface implemented CAN buss communication between FPGA and test system. The EMIF interface helped the data information exchange between FPGA and TMS320F28335. Receiving control commands and sending motor status, TMS320F28335 implemented closed-loop control to control motor. In this paper, Verilog HDL hardware description language,according to the CAN bus interface protocol, realized the CAN bus interface communication and EMIF interface information interaction. Finally, the design passed the function simulation. C language realized the motor control process and EMIF interface information interaction.

    FPGA;TMS320F28335;motor control;CAN bus communication;EMIF interface

    王娜(1985),碩士,檢測技術(shù)與自動化裝置專業(yè);研究方向:嵌入式系統(tǒng)。

    2017-03-28

    猜你喜歡
    控制指令通訊總線
    《茶葉通訊》簡介
    茶葉通訊(2022年2期)2022-11-15 08:53:56
    《茶葉通訊》簡介
    茶葉通訊(2022年3期)2022-11-11 08:43:50
    通訊報道
    城軌車輛控制指令試驗裝置研制
    宏指令控制的多軸系統(tǒng)研究及實現(xiàn)
    基于PCI Express總線的xHC與FPGA的直接通信
    機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
    通訊簡史
    高速公路隧道通風(fēng)、照明聯(lián)動控制方案探討
    科技視界(2016年13期)2016-06-13 23:11:43
    多通道ARINC429總線檢查儀
    即墨市| 万宁市| 贺兰县| 耿马| 固阳县| 加查县| 潼南县| 油尖旺区| 高台县| 修文县| 甘孜县| 大理市| 黑水县| 平南县| 宜都市| 龙口市| 鲜城| 阿勒泰市| 河北省| 姚安县| 徐州市| 建湖县| 大石桥市| 维西| 揭东县| 六安市| 彩票| 浦北县| 富川| 郸城县| 顺平县| 六枝特区| 惠来县| 日土县| 宁都县| 临夏市| 定南县| 永靖县| 阿拉善左旗| 墨玉县| 介休市|