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