基于PCI總線(xiàn)的STM32運動(dòng)控制卡的設計
摘要:在深入分析了意法半導體公司推出的STM32、高速PCI總線(xiàn)以及運動(dòng)控制卡的功能和結構特點(diǎn)的基礎上,設計了一款可直接插在PCI插槽中的伺服運動(dòng)控制卡。不僅可大大降低了成本,更為開(kāi)放式數控系統的研究提供了一個(gè)全新的思路。結果表明,本文所設計的伺服控制卡滿(mǎn)足了目前控制系統的性能和要求。
關(guān)鍵詞:PMSM;STM32;運動(dòng)控制卡;PCI
伴隨著(zhù)計算機的普及,PC的性能、可靠性及應用環(huán)境也已經(jīng)今非昔比,在工業(yè)領(lǐng)域方面PC擁有大量的支持軟件用以改善用戶(hù)界面、圖形顯示、動(dòng)態(tài)仿真、故障診斷、網(wǎng)絡(luò )通訊等諸多功能,此外,在總線(xiàn)的開(kāi)發(fā)也因PC豐富的接口資源和模塊化設計而變得簡(jiǎn)單。因此,基于PC的開(kāi)放式數控系統絕對是未來(lái)控制系統主流主流方向,發(fā)展開(kāi)放式和形成具有自主產(chǎn)權軟件型數字控制系統,是我國數控發(fā)展邁出實(shí)質(zhì)性突破和趕超世界先進(jìn)水平的一次良機。因此,文中研究課題主要對數控系統實(shí)際要求出發(fā),結合PC和高性?xún)r(jià)比的ARM系列芯片,利用模糊控制算法,設計一款性能穩定,高精度的伺服控制器,為推進(jìn)伺服技術(shù)的發(fā)展具有重要意義。
1 系統結構
本系統采用的是“PC+運動(dòng)控制卡”形式。其中,計算機機作為上位機,可以滿(mǎn)足控制環(huán)節多、軌跡復雜、強柔性的設備的控制要求。
以ARM為核心的控制卡作為下位機,主要負責總線(xiàn)通信、步進(jìn)和伺服電機的控制,這樣就形成了以ARM的CPU和計算機CPU主從式雙CPU控制模式。計算機的多任務(wù)調度和強大的處理能力,加上微處理芯片的現場(chǎng)適應能力及高性?xún)r(jià)比,使得系統開(kāi)放性好,可靠性高,并基本滿(mǎn)足現階段絕大多數工業(yè)控制的要求。
2 運動(dòng)控制卡硬件設計
2.1 雙口RAM與STM和CH365的連接
本文基于PCI總線(xiàn)的運動(dòng)控制卡硬件方面主要包括2個(gè)部分:1)STM32最小系統,2)PCI總線(xiàn)。選用雙口RAM芯片IDT7025作為STM32與CH365雙向通訊的緩沖芯片。
本設計中,雙口RAM IDT7025作為STM32與PC都可以讀寫(xiě)RAM中的數據,RAM右端與PCI通信芯片CH365連接,這樣就可以映射到CH365的存儲空間;左端口則與STM32相連,便于STM32的隨時(shí)訪(fǎng)問(wèn)。其中IDT7025需要5 V電壓供電,而ARM芯片的供電電壓時(shí)3.3 V,所以需要電壓轉換,這里選擇了SN74LVTH16245。這部分的連接如圖2所示。本文將雙口RAM分成兩個(gè)獨立的存儲空間;高4 k空間用于計算機向STM32傳送控制指令,低4 k空間用于STM32向PC傳遞反饋的數據。
2.2 CH365與PCI接口實(shí)現
CH365與PCI部分的連接如圖3所示。圖中,電容C1~C4完成電源的去耦,C2~C4是大小為0.1 μF的高頻瓷片電容,PCB設計過(guò)程中就近并聯(lián)在芯片CH365的三組電源輸入輸出引腳上。而地址線(xiàn)A15~A0作為偏移地址,數據總線(xiàn)D7~D0配置為讀操作時(shí)的數據輸入,以及寫(xiě)操作時(shí)的數據輸出。IOP_RD為提供I/O讀操作時(shí)片選脈沖信號,同樣,IOP_WR用于提供I/O寫(xiě)操作時(shí)的片選信號,MEM_RD用于提供存儲器讀選通脈沖信號,MEM_WR用于提供存儲器寫(xiě)選通脈沖信號,上述引腳的讀寫(xiě)選通脈沖信號都是低電平有效。在I/O讀寫(xiě)過(guò)程中,CH365的A7~A0輸出I/O端口提供給其他設備的有效的位偏移地址,偏移地址也可以被譯碼產(chǎn)生二級片選信號去適應控制的要求。同樣,在I/O讀寫(xiě)過(guò)程當中,CH365的A15~A10的電平保持恒定,內部寄存器可以在輸出之前決定要輸出狀態(tài),A9~A8負責完整的輸出PCI總線(xiàn)地址,通過(guò)對CH365的A9~A0的輸出地址的譯碼就可以使用芯片擁有的本地硬件定址功能,通過(guò)MER_WR引腳向CH365芯片發(fā)送本地定址的請求,最終實(shí)現與ISA總線(xiàn)相兼容的地址范圍內的I/O端口定址。因此,在讀寫(xiě)操作發(fā)生的過(guò)程中,CH365的A14~A0輸出提供的有效偏移地址;CH365的A15電平維持不變,由內部寄存器提前設定電平高低,用實(shí)現地址線(xiàn)擴展或者頁(yè)面選擇;而區分各個(gè)端口則通過(guò)CH365的A7~A0的地址譯碼來(lái)完成。
3 運動(dòng)控制卡軟件設計
3.1 參數自調整在線(xiàn)插值模糊控制算法
經(jīng)典的在線(xiàn)模糊PID算法的實(shí)現實(shí)質(zhì)上是一個(gè)查表輸出的過(guò)程,因為誤差與誤差變化率均被不可避免的模糊量化相對取整,使控制器凋節出現死區,控制參數的分區會(huì )引起的調節不細。從理論上講,只要不斷增加控制模糊化量個(gè)數,進(jìn)行等級細分,但它勢必受計算機字長(cháng)限制,使模糊控制沒(méi)有了優(yōu)勢。
在線(xiàn)插值算法等同于將論域內的分檔趨于無(wú)窮大,即通過(guò)線(xiàn)性插值的方式在控制規則表相鄰分檔之間增添無(wú)窮個(gè)新的、細分化的控制規則,對原有的控制規則加以完善,是一種快速精確的而且切實(shí)可行的控制算法。
參數自調整在線(xiàn)插值模糊控制器如圖4所示。量化參數、比例系數Ku都會(huì )影響系統動(dòng)、靜態(tài)性能,調節比例因子的因果關(guān)系很直觀(guān),最終也會(huì )起到影響Ke和Kec的作用,選擇在線(xiàn)自調整Ku值能夠起到良好的效果,不至系統過(guò)于復雜而影響實(shí)時(shí)性。
文中利用在線(xiàn)差值控制算法的特點(diǎn),設計了算法實(shí)現的軟件流程,如圖5所示。
3.2 操作系統下的功能實(shí)現
為滿(mǎn)足多任務(wù)的調度和系統實(shí)時(shí)性的要求,軟件的整體實(shí)現,本設計引入μC/OS-Ⅱ操作系統。
3.2.1 RTL8019AS底層驅動(dòng)程序
通常情況下,用戶(hù)根據硬件芯片型號找到RTL8019AS底層驅動(dòng)程序庫的編寫(xiě)所需要的文檔資料即可編寫(xiě)相關(guān)的底層函數,其主要功能函數如下:
NicInit()一RTL8019AS的初始化;
NicClose()一關(guān)閉RTL8019AS芯片數據收發(fā)功能;
NicReset()一復位RTL8019AS芯片;
EtherOutput()一數據包輸出;
Etherlnput()一數據包接收。
網(wǎng)絡(luò )通信還需要底層RTL8019AS驅動(dòng)程序支持,參考R,rL8019AS以及AT91FR40162,即可編寫(xiě)出針對此系統的RTL8019AS底層驅動(dòng)程序。
3.2.2 基于μC/OS-Ⅱ實(shí)時(shí)操作系統主函數及相關(guān)任務(wù)的編寫(xiě)與嵌入
4 結束語(yǔ)
對上述的程序進(jìn)行調試后,并結合硬件調試表明文中所設計的運動(dòng)控制卡能夠實(shí)現準確的位置及速度控制,受控電機運行平穩,基本能實(shí)現對電機的控制功能,通信穩定。對于長(cháng)期的穩定性測試,現在浙江紹興某襪機公司的試著(zhù)運營(yíng)階段,初期表現良好。
- STM32單片機中文官網(wǎng)
- STM32單片機官方開(kāi)發(fā)工具
- STM32單片機參考設計
評論