版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢 業(yè) 論 文</b></p><p> 基于ARM和FPGA的數(shù)控系統(tǒng)的硬件設(shè)計(jì)</p><p><b> 目 錄</b></p><p> 第一章 緒 論5</p><p><b> 1.1引言5</b></p>
2、<p> 1.2研究背景及國內(nèi)外發(fā)展現(xiàn)狀6</p><p> 1.2.1研究背景6</p><p> 1.2.2國外發(fā)展?fàn)顩r7</p><p> 1.2.3國內(nèi)研究現(xiàn)狀7</p><p> 1.3本論文課題來源和研究內(nèi)容8</p><p> 1.3.1課題來源8</p>
3、<p> 1.3.2研究內(nèi)容8</p><p> 1.4論文結(jié)構(gòu)安排8</p><p> 第二章 體系結(jié)構(gòu)設(shè)計(jì)10</p><p> 2.1 數(shù)控系統(tǒng)體系結(jié)構(gòu)10</p><p> 2.2 技術(shù)要求10</p><p> 2.2.1 主要性能指標(biāo)10</p><p&
4、gt; 2.2.2 系統(tǒng)輸入輸出接口要求12</p><p> 2.2.3 精度指標(biāo)13</p><p> 2.2.4 其他要求14</p><p> 2.3 總體結(jié)構(gòu)分析14</p><p> 2.4 軟硬件功能劃分16</p><p> 2.4.1 軟硬件功能劃分的原則16</p>
5、;<p> 2.4.2 軟硬件功能劃分的具體實(shí)現(xiàn)18</p><p> 2.5 硬件系統(tǒng)劃分19</p><p> 2.6 板級功能劃分21</p><p> 2.6.1 CPU子系統(tǒng)21</p><p> 2.6.2 FPGA子系統(tǒng)21</p><p> 2.6.3 DA轉(zhuǎn)換子系統(tǒng)
6、22</p><p> 2.6.4 信號隔離與轉(zhuǎn)換子系統(tǒng)22</p><p> 2.6.4 電源子系統(tǒng)23</p><p> 2.7 芯片級功能劃分23</p><p> 2.7.1 總線接口模塊23</p><p> 2.7.2 復(fù)位控制模塊23</p><p> 2.
7、7.3 中斷控制模塊24</p><p> 2.7.4 定時(shí)器模塊24</p><p> 2.7.5 鍵盤掃描模塊24</p><p> 2.7.6編碼器計(jì)數(shù)器模塊24</p><p> 2.7.7驅(qū)動器控制模塊24</p><p> 2.7. 8 IO控制模塊25</p><
8、p> 第三章 板級硬件設(shè)計(jì)26</p><p> 3.1 板級設(shè)計(jì)的原則26</p><p> 3.1.1 模塊化設(shè)計(jì)26</p><p> 3.1.2 盡量基于成熟的設(shè)計(jì)26</p><p> 3.1.3 可重構(gòu)原則26</p><p> 3.1.4 兼容性原則27</p>
9、<p> 3.2 性能分析與初步設(shè)計(jì)27</p><p> 3.2.1 CPU計(jì)算能力27</p><p> 3.2.2 實(shí)時(shí)性28</p><p> 3.2.3 存儲能力29</p><p> 3.2.4 FPGA的選擇和IO擴(kuò)展能力29</p><p> 3.2.5 實(shí)現(xiàn)方案30
10、</p><p> 3.3 CPU子系統(tǒng)30</p><p> 3.3.1 ARM子系統(tǒng)30</p><p> 3.3.2 存儲器子系統(tǒng)32</p><p> 3.3.3 通信接口32</p><p> 3.4 LCD接口32</p><p> 3.5 FPGA子系統(tǒng)33
11、</p><p> 3.5.1 配置電路和下載接口33</p><p> 3.5.2 并行接口34</p><p> 3.6 DA轉(zhuǎn)換子系統(tǒng)34</p><p> 3.6.1 隔離34</p><p> 3.6.2 轉(zhuǎn)換34</p><p> 3.6.3 放大35<
12、/p><p> 3.7 信號隔離與轉(zhuǎn)換子系統(tǒng)35</p><p> 3.8 電源子系統(tǒng)37</p><p> 第四章 芯片級硬件設(shè)計(jì)38</p><p> 4.1 FPGA介紹38</p><p> 4.2 FPGA的開發(fā)38</p><p> 4.2.1 HDL語言38&l
13、t;/p><p> 4.2.2 開發(fā)流程與EDA軟件39</p><p> 4.3 ACEX系列FPGA40</p><p> 4.4 功能實(shí)現(xiàn)41</p><p> 4.4.1總線接口模塊41</p><p> 4.4.2 復(fù)位控制模塊42</p><p> 4.4.3 中斷
14、控制模塊42</p><p> 4.4.4 定時(shí)器模塊44</p><p> 4.4.5 鍵盤掃描模塊46</p><p> 4.4.6 計(jì)數(shù)器模塊47</p><p> 4.4.7驅(qū)動器控制模塊48</p><p> 4.4.8 IO控制模塊49</p><p> 4.
15、5 HDL編寫注意事項(xiàng)49</p><p> 4.5.1 HDL的可綜合性49</p><p> 4.5.2 硬件思想50</p><p> 4.5.3 良好的編碼風(fēng)格50</p><p> 4.6 設(shè)計(jì)要點(diǎn)51</p><p> 4.6.1 同步設(shè)計(jì)和異步設(shè)計(jì)51</p><
16、p> 4.6.2 與異步器件的接口問題51</p><p> 4.6.3 面積與速度52</p><p> 第五章 軟件接口設(shè)計(jì)53</p><p> 5.1 uC/OS-II實(shí)時(shí)操作系統(tǒng)53</p><p> 5.2 引導(dǎo)結(jié)構(gòu)54</p><p> 5.3 硬件檢測系統(tǒng)54</p&
17、gt;<p> 5.4 數(shù)控系統(tǒng)程序接口55</p><p> 5.4.1 FPGA接口55</p><p> 5.4.2 電機(jī)運(yùn)動控制57</p><p> 第六章 硬件系統(tǒng)調(diào)試58</p><p> 6.1 CPU子系統(tǒng)58</p><p> 6.2.1 ARM的基本調(diào)試接口JT
18、AG58</p><p> 6.2.2 程序的下載與NOR FLASH的燒寫59</p><p> 6.2.3 ARM系統(tǒng)的調(diào)試步驟60</p><p> 6.2 LCD接口60</p><p> 6.3 FPGA子系統(tǒng)61</p><p> 6.3.1 基本電路61</p><
19、;p> 6.3.2 驅(qū)動器控制模塊61</p><p> 6.4 DA轉(zhuǎn)換子系統(tǒng)61</p><p> 第七章 軟硬件聯(lián)調(diào)和機(jī)床加工試驗(yàn)62</p><p> 7.1 IO控制試驗(yàn)62</p><p> 7.2 DA輸出試驗(yàn)62</p><p> 7.3 編碼器讀取試驗(yàn)62</p&g
20、t;<p> 7.4 電機(jī)控制試驗(yàn)62</p><p> 7.4.1 位置精度試驗(yàn)62</p><p> 7.4.2 轉(zhuǎn)速平穩(wěn)性試驗(yàn)63</p><p> 7.4.3最大速度試驗(yàn)63</p><p> 7.5 加工軌跡圖畫圖試驗(yàn)63</p><p> 7.6 實(shí)際工件加工試驗(yàn)63&
21、lt;/p><p> 7.7 系統(tǒng)長時(shí)間連續(xù)運(yùn)行試驗(yàn)64</p><p><b> 結(jié)束語65</b></p><p><b> 參考文獻(xiàn)66</b></p><p> 攻讀碩士期間論文發(fā)表情況67</p><p> 攻讀碩士期間科研與獲獎(jiǎng)情況67</p
22、><p><b> 致 謝68</b></p><p><b> 第一章 緒 論</b></p><p><b> 1.1引言</b></p><p> 近年來我國企業(yè)的數(shù)控機(jī)床占有率逐年上升,在大中企業(yè)已有較多的使用,在中小企業(yè)甚至個(gè)體企業(yè)中也普遍開始使用。在這些數(shù)控
23、機(jī)床中,除少量機(jī)床以FMS模式集成使用外,大都處于單機(jī)運(yùn)行狀態(tài),并且相當(dāng)部分處于使用效率不高,管理方式落后的狀態(tài)。</p><p> 2001年,我國機(jī)床工業(yè)產(chǎn)值已進(jìn)入世界第5名,機(jī)床消費(fèi)額在世界排名上升到第3位,達(dá)47.39億美元,僅次于美國的53.67億美元,消費(fèi)額比上一年增長25%。但由于國產(chǎn)數(shù)控機(jī)床不能滿足市場的需求,使我國機(jī)床的進(jìn)口額呈逐年上升態(tài)勢,2001年進(jìn)口機(jī)床躍升至世界第2位,達(dá)24.06億美
24、元,比上年增長27.3%。</p><p> 近年來我國出口額增幅較大的數(shù)控機(jī)床有數(shù)控車床、數(shù)控磨床、數(shù)控特種加工機(jī)床、數(shù)控剪板機(jī)、數(shù)控成形折彎機(jī)、數(shù)控壓鑄機(jī)等,普通機(jī)床有鉆床、鋸床、插床、拉床、組合機(jī)床、液壓壓力機(jī)、木工機(jī)床等。出口的數(shù)控機(jī)床品種以中低檔為主。據(jù)專家分析預(yù)測:</p><p> 1、數(shù)控機(jī)床推廣應(yīng)用逐步由經(jīng)濟(jì)型為主向普及型為主轉(zhuǎn)變。據(jù)預(yù)測分析,到2005年我國機(jī)床數(shù)控
25、化率為9.5~%10.36%,到2010年將達(dá)到16.5%~19.27%。在2001~2010年,經(jīng)濟(jì)型所占比重繼續(xù)減少,普及型所占比重繼續(xù)增長,高級型的需求緩慢增長。</p><p> 2、數(shù)控金切機(jī)床的構(gòu)成比逐漸趨于合理。數(shù)控機(jī)床工序集中的加工特點(diǎn),將使具有復(fù)合功能的高效數(shù)控機(jī)床的需求增長,這將導(dǎo)致數(shù)控機(jī)床擁有量和市場消費(fèi)量中各類數(shù)控機(jī)床的構(gòu)成比不同于傳統(tǒng)的機(jī)床構(gòu)成比。</p><p&g
26、t; 3、數(shù)控機(jī)床的應(yīng)用由單機(jī)向單元(系統(tǒng))方向發(fā)展。目前歐、美、日等國應(yīng)用DNC已很普遍,柔性制造單元已占數(shù)控機(jī)床銷售量的30%以上。而我國FMC、FMS和FML的擁有量不足50套,相當(dāng)于日本80年代的水平,占數(shù)控機(jī)床消費(fèi)額不到5%。</p><p> 4、出口前景良好。1998年及前幾年我國機(jī)床工具的出口額徘徊在5億美元左右,2000年上升到7.85億美元,隨著東南亞經(jīng)濟(jì)復(fù)蘇和我國出口多極化市場的形成和鞏
27、固,以及我國加入WTO,今后幾年我國機(jī)床出口將實(shí)現(xiàn)平穩(wěn)、持續(xù)增長。預(yù)計(jì)到2005年出口創(chuàng)匯可達(dá)到12億美元。</p><p> 1.2研究背景及國內(nèi)外發(fā)展現(xiàn)狀</p><p><b> 1.2.1研究背景</b></p><p> 加入WTO后,外資對我國機(jī)械工業(yè)會產(chǎn)生結(jié)構(gòu)性的沖擊,主要表現(xiàn)在以下幾點(diǎn):</p><p&
28、gt; 1、部分行業(yè)發(fā)展主導(dǎo)權(quán)有可能受到?jīng)_擊。在以下行業(yè)將表現(xiàn)得更為突出:一是在國內(nèi)處于市場成長期、外方掌握專有技術(shù)并處于壟斷地位的技術(shù)密集型行業(yè),如燃?xì)廨啓C(jī)、直流輸電關(guān)鍵設(shè)備、半喂入式水稻聯(lián)合收割機(jī)、機(jī)電一體化的汽車發(fā)動機(jī)附配件等;二是單靠有限市場難以發(fā)揮企業(yè)生產(chǎn)能力、迫切需要全球市場支撐的行業(yè),如高壓開關(guān)、大型變壓器、高檔科學(xué)儀器、高檔數(shù)控系統(tǒng)、智能化工業(yè)控制系統(tǒng)等;三是國內(nèi)外制造成本相差較大、外方享有明顯的品牌優(yōu)勢、在華設(shè)廠可以
29、在世界市場獲取豐厚利潤的勞動密集型或易于流通的裝配型產(chǎn)品行業(yè),如照相機(jī)、復(fù)印機(jī)、部分工業(yè)和民用儀表、高品質(zhì)低壓電器等。</p><p> 2、工程成套行業(yè)將面臨更嚴(yán)峻的競爭。隨著服務(wù)貿(mào)易領(lǐng)域?qū)ν忾_放,實(shí)力雄厚的國外公司可能更積極地到國內(nèi)舉辦由其控制的、以工程承包為主要業(yè)務(wù)的工程公司,以其母公司產(chǎn)品為后盾,以熟悉國內(nèi)情況的中方雇員為業(yè)務(wù)骨干,與我內(nèi)資企業(yè)展開激烈的競爭。</p><p>
30、 3、我國機(jī)械工業(yè)自主技術(shù)創(chuàng)新的積極性有可能被抑制。由于外資在華機(jī)械企業(yè)主要承擔(dān)制造車間的角色,技術(shù)來源主要依靠其母公司,而原本就實(shí)力有限的內(nèi)資企業(yè)在完全開放的市場競爭中堅(jiān)持自行研制開發(fā)將冒很大風(fēng)險(xiǎn),為了節(jié)省投入,提高產(chǎn)品的形象,多數(shù)內(nèi)資企業(yè)將盡可能與外方合作,采用國際同行的技術(shù)進(jìn)行生產(chǎn)。</p><p> 4、處于幼稚期的自主產(chǎn)業(yè)的成長環(huán)境趨于嚴(yán)峻。由于國外企業(yè)將更加不愿轉(zhuǎn)讓技術(shù),更愿意通過在華舉辦由他們控制
31、的企業(yè)來與內(nèi)資機(jī)械企業(yè)爭奪中國用戶的訂單,國內(nèi)用戶也有了更多的便利采購?fù)赓Y產(chǎn)品,從而部分處于成長初期的重要產(chǎn)品自主產(chǎn)業(yè)的培育壯大將更困難。</p><p> 在這種嚴(yán)峻的形式下,我們必須發(fā)憤圖強(qiáng),開發(fā)出適合我國國情的具有自主知識產(chǎn)權(quán)的數(shù)控系統(tǒng)。</p><p> 1.2.2國外發(fā)展?fàn)顩r</p><p> 1、國際機(jī)床市場的消費(fèi)主流是數(shù)控機(jī)床。1998年世界機(jī)床
32、進(jìn)口額中大部分是數(shù)控機(jī)床,美國進(jìn)口機(jī)床的數(shù)控化率達(dá)70%,我國為60%。目前世界數(shù)控機(jī)床消費(fèi)趨勢已從初期以數(shù)控電加工機(jī)床、數(shù)控車床、數(shù)控銑床為主轉(zhuǎn)向以加工中心、專用數(shù)控機(jī)床、成套設(shè)備為主。</p><p> 2、國外數(shù)控機(jī)床的網(wǎng)絡(luò)化。隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)日益普遍運(yùn)用,數(shù)控機(jī)床走向網(wǎng)絡(luò)化、集成化已成為必然的趨勢和方向,互聯(lián)網(wǎng)進(jìn)入制造工廠的車間只是時(shí)間的問題。從另一角度來看,目前流行的ERP即工廠信息化對于制造
33、業(yè)來說,僅僅局限于通常的管理部門(人、財(cái)、物、產(chǎn)、供、銷)或設(shè)計(jì)、開發(fā)等等上層部分的信息化是遠(yuǎn)遠(yuǎn)不夠的,工廠、車間的最底層加工設(shè)備——數(shù)控機(jī)床不能夠連成網(wǎng)絡(luò)或信息化就必然成為制造業(yè)工廠信息化的制約瓶頸,所謂的ERP就比較“虛”沒有能夠真正地解決制造工廠的最關(guān)鍵的問題。所以,對于面臨日益全球化競爭的現(xiàn)代制造工廠來說,第一是要大大提高機(jī)床的數(shù)控化率,即數(shù)控機(jī)床必須達(dá)到起碼的數(shù)量或比例;第二就是所擁有的數(shù)控機(jī)床必須具有雙向、高速的聯(lián)網(wǎng)通訊功能
34、,以保證信息流在工廠、車間的底層之間及底層與上層之間通訊的暢通無阻。</p><p> 以FANUC和西門子為代表的數(shù)控系統(tǒng)生產(chǎn)廠商已在幾年前推出了具有網(wǎng)絡(luò)功能的數(shù)控系統(tǒng)。在這些系統(tǒng)中,除了傳統(tǒng)的RS232接口外,還備有以太網(wǎng)接口,為數(shù)控機(jī)床聯(lián)網(wǎng)提供了基本條件。由于國外企業(yè)的發(fā)展水平,數(shù)控機(jī)床的網(wǎng)絡(luò)接口功能被定義為用于遠(yuǎn)程監(jiān)控、遠(yuǎn)程診斷。</p><p> 1.2.3國內(nèi)研究現(xiàn)狀<
35、;/p><p> 1、新產(chǎn)品開發(fā)有了很大突破,技術(shù)含量高的產(chǎn)品占據(jù)主導(dǎo)地位。例如:全長33公里的上海磁懸浮快速列車線,是“十五”期間國家重點(diǎn)建設(shè)項(xiàng)目,其中組成列車線的2550根軌道梁是整個(gè)工程的最關(guān)鍵部分,對加工軌道梁的精度提出了相當(dāng)高的要求。去年年初,沈陽機(jī)床集團(tuán)機(jī)床股份有限公司中捷友誼廠以工期6個(gè)月、標(biāo)的6200萬元在磁懸浮軌道專用數(shù)控機(jī)床項(xiàng)目公開招標(biāo)中折桂,并于8月底將一次性驗(yàn)收合格的8臺數(shù)控鏜銑床組成的軌道
36、梁生產(chǎn)線一次試車成功,目前這套銑鏜加工中心已加工出軌道梁1100根,確保了軌道梁的加工精度和速度,為實(shí)現(xiàn)今年年底試車打下了良好的基礎(chǔ)。</p><p> 2、數(shù)控機(jī)床產(chǎn)量大幅度增長,數(shù)控化率顯著提高。2001年國內(nèi)數(shù)控金切機(jī)床產(chǎn)量已達(dá)1.8萬臺,比上年增長28.5%。金切機(jī)床行業(yè)產(chǎn)值數(shù)控化率從2000年的17.4%提高到2001年的22.7%。</p><p> 3、數(shù)控機(jī)床發(fā)展的關(guān)鍵
37、配套產(chǎn)品有了突破。近年來通過政府的支持,數(shù)控機(jī)床配套生產(chǎn)得到了快速發(fā)展。如北京航天機(jī)床數(shù)控系統(tǒng)集團(tuán)公司建立了具有自主知識產(chǎn)權(quán)的新一代開放式數(shù)控系統(tǒng)平臺;煙臺第二機(jī)床附件廠開發(fā)了為數(shù)控機(jī)床配套的多種動力卡盤和過濾排屑裝置;濟(jì)南第二機(jī)床集團(tuán)公司的數(shù)控龍門鏜銑床、數(shù)控落地鏜銑床及數(shù)控鍛壓設(shè)備等30多個(gè)系列100多個(gè)品種的數(shù)控配套產(chǎn)品。</p><p> 1.3本論文課題來源和研究內(nèi)容</p><p
38、><b> 1.3.1課題來源</b></p><p> 本課題來源于國家863項(xiàng)目“嵌入式機(jī)電控制系統(tǒng)及應(yīng)用”(編號:2003421130)。</p><p><b> 1.3.2研究內(nèi)容</b></p><p> 本文針對嵌入式機(jī)電控制系統(tǒng)底層關(guān)鍵技術(shù),以數(shù)控系統(tǒng)作為對象,設(shè)計(jì)了一套基于ARM和FPGA的
39、開環(huán)數(shù)控系統(tǒng),對基于ARM和FPGA的開環(huán)數(shù)控系統(tǒng)硬件體系結(jié)構(gòu)、FPGA在數(shù)控系統(tǒng)中的應(yīng)用、基于ARM和FPGA的開環(huán)數(shù)控系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)及與基于實(shí)時(shí)操作系統(tǒng)C/OS-II的軟件設(shè)計(jì)等關(guān)鍵技術(shù)進(jìn)行了深入研究。</p><p><b> 1.4論文結(jié)構(gòu)安排</b></p><p> 本文共分為七章。第一章為緒論,說明本課題的研究意義和研究內(nèi)容。第二章先描述整個(gè)數(shù)控
40、系統(tǒng)的體系結(jié)構(gòu),然后對要求進(jìn)行拆分、分析,確定軟硬件所需要實(shí)現(xiàn)的功能,著重說明硬件所需要實(shí)現(xiàn)的功能,對功能進(jìn)行劃分,確定各個(gè)模塊的作用。第三章闡述電路板設(shè)計(jì),包括設(shè)計(jì)原則、性能分析、各個(gè)子系統(tǒng)的詳細(xì)設(shè)計(jì)。第四章闡述FPGA的邏輯設(shè)計(jì),包括FPGA的介紹、開發(fā)流程、各個(gè)功能的實(shí)現(xiàn)方法,最后總結(jié)了使用HDL進(jìn)行FPGA設(shè)計(jì)的注意事項(xiàng)。第五章闡述C/OS-II操作系統(tǒng)的特點(diǎn),軟硬件接口的具體實(shí)現(xiàn)。第六章闡述硬件部分的調(diào)試過程,以及在調(diào)試中出現(xiàn)
41、的問題及其解決方法。第七章記錄了軟硬件聯(lián)調(diào)的情況,測試的結(jié)果和結(jié)論</p><p> 第二章 嵌入式數(shù)控系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)</p><p> 2.1 數(shù)控系統(tǒng)體系結(jié)構(gòu)</p><p> 通常一個(gè)數(shù)控系統(tǒng)的總體框圖如圖2.1所示,由控制系統(tǒng)、伺服驅(qū)動系統(tǒng)和伺服電機(jī)組成??刂葡到y(tǒng)生成的坐標(biāo)軸運(yùn)動指令,由FPGA進(jìn)行細(xì)插補(bǔ),最后形成脈沖串的形式發(fā)送給伺服驅(qū)動系統(tǒng),最后
42、伺服驅(qū)動系統(tǒng)形成運(yùn)動指令控制伺服電機(jī)運(yùn)轉(zhuǎn)。</p><p> 圖2.1 數(shù)控系統(tǒng)的總體結(jié)構(gòu)</p><p><b> 2.2 技術(shù)要求</b></p><p> 本文以一個(gè)三軸開環(huán)數(shù)控系統(tǒng)為應(yīng)用研究對象,擬設(shè)計(jì)一套基于ARM嵌入式微處理器和FPGA的嵌入式數(shù)控系統(tǒng),即圖2.1 的控制系統(tǒng)部分。三軸開環(huán)數(shù)控系統(tǒng)要求如下:</p>
43、<p> 2.2.1 主要性能指標(biāo)</p><p> 2.2.2 系統(tǒng)輸入輸出接口要求</p><p> 注: MI41--MI48, DITW, DIQP, SPEN, STEN, TWT, KPS, X14, X16與UI0—UI15復(fù)用,S01--S08, M41--M48與UO0——UO15復(fù)用。</p><p> 2.2.3 精度指
44、標(biāo)</p><p> 直線插補(bǔ)精度:<0.0003mm</p><p> 圓弧插補(bǔ)精度:<0.0005mm</p><p> 切削進(jìn)給速度誤差(與設(shè)定值):<±3%</p><p> 快速移動速度誤差(與設(shè)定值):<±10%</p
45、><p> G04延時(shí)指令誤差:<5ms</p><p> 加、減速時(shí)間常數(shù)誤差:<5ms</p><p> 系統(tǒng)各種脈沖持續(xù)時(shí)間(與設(shè)置時(shí)間)精度誤差:<5ms</p><p> 2.2.4 其他要求</p><p> ?。?)操作界面和信號接口與廣州數(shù)控的GSK
46、980T一致。</p><p> ?。?)控制系統(tǒng)采用uC/OSII操作系統(tǒng)。</p><p> ?。?)有較大的功能提升空間。</p><p> 2.3 總體結(jié)構(gòu)分析</p><p> 根據(jù)數(shù)控系統(tǒng)所需完成的功能和需求,我們把數(shù)控系統(tǒng)分為五個(gè)任務(wù),即人機(jī)界面管理任務(wù)、數(shù)據(jù)處理任務(wù)、運(yùn)動控制任務(wù)、邏輯控制任務(wù)和輔助控制任務(wù),伺服控制,每個(gè)
47、任務(wù)又可以劃分為更小的子模塊。系統(tǒng)模塊劃分如圖2.2所示</p><p><b> 圖2.2系統(tǒng)模塊圖</b></p><p> 系統(tǒng)的整個(gè)運(yùn)行流程框圖如圖2.3所示。該系統(tǒng)根據(jù)鍵盤操作選擇不同的操作方式。下面以自動運(yùn)行為例,用戶選擇自動運(yùn)行后,按下啟動按鈕則系統(tǒng)相應(yīng)執(zhí)行代碼編譯、刀具補(bǔ)償、速度計(jì)算、插補(bǔ)和位置伺服等各個(gè)階段控制機(jī)床的運(yùn)動。</p>
48、<p> 圖2.3 數(shù)控系統(tǒng)的總體運(yùn)行流程框圖</p><p> 2.4 軟硬件功能劃分</p><p> 2.4.1 軟硬件功能劃分的原則</p><p> 隨著芯片設(shè)計(jì)和制造技術(shù)水平的發(fā)展,微處理器的運(yùn)算速度得到很大提高,因此很多傳統(tǒng)上必須由硬件實(shí)現(xiàn)的功能現(xiàn)在可以使用軟件實(shí)現(xiàn)。與此同時(shí),近年來,F(xiàn)PGA技術(shù)的提高和大容量、低成本的新型FPGA的
49、出現(xiàn),為高性能的數(shù)字控制系統(tǒng)提供了新的實(shí)現(xiàn)方法。可以說,以嵌入式微處理器和FPGA為核心的系統(tǒng)設(shè)計(jì)技術(shù)代表了現(xiàn)代數(shù)控系統(tǒng)的軟件和硬件實(shí)現(xiàn)方法。</p><p> 但是,微處理器的運(yùn)算資源和FPGA的邏輯資源還是有限的,而且微處理器擅長的是串行的數(shù)據(jù)處理,而FPGA擅長的是并行的邏輯處理。因此就出現(xiàn)了功能實(shí)現(xiàn)的軟硬件劃分的問題。</p><p> 需要注意的是,這里所指的有軟硬件劃分需要
50、的功能都是那些既可以用軟件實(shí)現(xiàn)又可以用硬件實(shí)現(xiàn)的功能,具體到實(shí)際的物理系統(tǒng)中,就是那些既可以用微處理器系統(tǒng)實(shí)現(xiàn)也可以用FPGA或者模擬器件實(shí)現(xiàn)的功能。</p><p> 在軟硬件劃分的問題上,一般遵循以下幾個(gè)原則:</p><p> 1.性能原則。不管使用軟件還是硬件實(shí)現(xiàn)特定的功能,首先要滿足性能要求,這是最重要的。比如對于所有的模擬功能,雖然有模擬FPGA出現(xiàn),但是其技術(shù)還不成熟,而
51、數(shù)字脈沖輸出加濾波的方法在相應(yīng)速度、精度上無法與模擬器件相比,因此顯然是必須由模擬器件,也就是硬件來實(shí)現(xiàn)。</p><p> 2.性價(jià)比原則。大容量FPGA理論上和實(shí)際上都可以完成本系統(tǒng)所要實(shí)現(xiàn)的全部數(shù)字功能,但是使用昂貴的FPGA來實(shí)現(xiàn)普通的微處理器就可以實(shí)現(xiàn)的功能是一種巨大的浪費(fèi)。同時(shí),為了讓本系統(tǒng)的某些功能用軟件實(shí)現(xiàn)而采用超高速的微處理器也是一種浪費(fèi)。因此,可以說對于本系統(tǒng)來說,最重要的是分析對于同一個(gè)功
52、能,是用微處理器來實(shí)現(xiàn)所需要的成本低還是用FPGA來實(shí)現(xiàn)所需要的成本低。</p><p> 3.資源利用率原則。新型的微處理器往往集成了大量的外圍器件,比如串口、計(jì)數(shù)器、PWM、AD等等,也就常說的片上系統(tǒng)-SOC(System On Chip),在性能相同的情況下,價(jià)格卻比分立系統(tǒng)低廉。因此,很多系統(tǒng)面臨的情況是使用了SOC芯片以后,不但可以實(shí)現(xiàn)那些符合高性價(jià)比原則的功能,還會有一些剩余的資源,比如微處理器的
53、計(jì)算資源。FPGA的使用特點(diǎn)決定了不能完全按照估計(jì)的實(shí)際邏輯資源使用量去選型,而是要選擇邏輯容量比實(shí)際可能需要的最大容量還要大30%的型號。而同一個(gè)系列的FPGA里雖然有內(nèi)部邏輯資源容量不同的多種型號,但是找到完全符合選型要求的器件的機(jī)會還是比較小的,因此就必須選擇剛好大于選型需求的器件。如此一來,不管是微處理器還是FPGA的資源都會有一些剩余。很多使用軟件和硬件都可以滿足性能要求的功能就必須考慮實(shí)現(xiàn)的方法,比如鍵盤掃描功能。對于這些功
54、能的實(shí)現(xiàn)方法就需要考慮軟件和硬件的利用率原則,即不要把一方的資源用光,盡量使兩方的資源利用率相等。由于微處理器所運(yùn)行的控制軟件的性能與微處理器的使用率有關(guān),當(dāng)使用率越低的時(shí)候,軟件的相應(yīng)速度會越快,或者可以以較低速度來運(yùn)行微處理器。而且F</p><p> 三個(gè)原則之間不是相互獨(dú)立的,而是互相影響的,當(dāng)具體實(shí)施的時(shí)候要同時(shí)考慮這幾個(gè)原則,從而做出最優(yōu)的選擇。</p><p> 2.4.
55、2 軟硬件功能劃分的具體實(shí)現(xiàn)</p><p> 根據(jù)圖2.2的系統(tǒng)模塊框圖,各個(gè)功能的軟硬件分工如下:</p><p> 1.人機(jī)界面。這些功能與運(yùn)動控制沒有直接關(guān)系,絕大多數(shù)使用軟件來實(shí)現(xiàn)。除了鍵盤掃描功能以外。我們使用的10X10的掃描鍵盤,軟件掃描程序的理論分析和實(shí)際測試的結(jié)果都表明,使用軟件進(jìn)行掃描是一項(xiàng)比較浪費(fèi)微處理器運(yùn)算資源的做法。我們在66MHz的ARM7TDMI微處理器
56、加C/OS-II操作系統(tǒng)的平臺上測試中發(fā)現(xiàn),當(dāng)使用軟件進(jìn)行4X4的鍵盤的掃描時(shí),一旦掃描任務(wù)的優(yōu)先級高一些,會明顯感覺到其他任務(wù)受到影響。因此,鍵盤掃描的任務(wù)將由FPGA來實(shí)現(xiàn),當(dāng)FPGA檢測到有按鈕按下時(shí),向CPU發(fā)送一個(gè)中斷。</p><p> 2.邏輯處理,也就是PLC功能。PLC是一項(xiàng)復(fù)雜的功能,涉及復(fù)雜的串行的數(shù)學(xué)運(yùn)算,因此決定使用CPU來實(shí)現(xiàn)。本系統(tǒng)定位在實(shí)現(xiàn)簡單的PLC功能。。</p>
57、<p> 3.運(yùn)動控制。運(yùn)動控制是數(shù)控系統(tǒng)的核心,其中插補(bǔ)又是運(yùn)動控制部分的核心。插補(bǔ)大體可以分為兩級:粗插補(bǔ)和細(xì)插補(bǔ)。相對來說,粗插補(bǔ)負(fù)責(zé)將G代碼轉(zhuǎn)變?yōu)檩^詳細(xì)的軌跡點(diǎn)信息,而細(xì)插補(bǔ)則將這些軌跡點(diǎn)細(xì)化為針對電機(jī)驅(qū)動器的脈沖信號進(jìn)行輸出。從數(shù)學(xué)運(yùn)算上來看,粗插補(bǔ)的運(yùn)算量很大,而細(xì)插補(bǔ)的運(yùn)算量則很小。但是細(xì)插補(bǔ)對時(shí)間的準(zhǔn)確性要求非常高,如果要用微處理器實(shí)現(xiàn),則需要一個(gè)周期非常小的定時(shí)器,而且周期也會不斷變化,這樣會消耗大量的
58、微處理器計(jì)算時(shí)間,甚至微處理器沒有時(shí)間運(yùn)行其他的任務(wù)。對于FPGA來說,實(shí)現(xiàn)這樣的細(xì)插補(bǔ)的功能則非常簡單,只需要很少的邏輯資源,而且脈沖的最大頻率也可以很高,至少可以遠(yuǎn)遠(yuǎn)超過外部接口器件的極限。因此,粗插補(bǔ)將由微處理器負(fù)責(zé),而細(xì)插補(bǔ)理所當(dāng)然由FPGA來實(shí)現(xiàn)。</p><p> 4.輔助控制。這部分功能較為繁瑣,而且?guī)缀跖c硬件沒有任何關(guān)系,所以用微處理器來實(shí)現(xiàn)。</p><p> 5.?dāng)?shù)
59、據(jù)處理。這部分功能也幾乎與硬件沒有任何關(guān)系,所以用微處理器來實(shí)現(xiàn)。</p><p> 6.伺服處理。與運(yùn)動控制的情況類似,伺服算法的實(shí)現(xiàn)需要大量的串行的數(shù)學(xué)運(yùn)算,而信號檢測部分如果用軟件實(shí)現(xiàn)的話則需要微處理器不斷去檢測信號的變化。因此,伺服算法部分由微處理器實(shí)現(xiàn),信號檢測部分由FPGA實(shí)現(xiàn)。</p><p> 2.5 硬件系統(tǒng)劃分</p><p> 雖然如上一
60、小節(jié)所說,很多功能是軟件實(shí)現(xiàn)的,但是軟件也是運(yùn)行在硬件上的,所以說,在進(jìn)行硬件系統(tǒng)的劃分的時(shí)候也必須把軟件的運(yùn)行基礎(chǔ)考慮在內(nèi)。這樣,從硬件設(shè)計(jì)者的角度上去分析,整個(gè)電路板系統(tǒng)可以分為板級系統(tǒng)和芯片級系統(tǒng)。</p><p> 板級系統(tǒng)的設(shè)計(jì)指印刷電路板的設(shè)計(jì),芯片級系統(tǒng)指FPGA內(nèi)部邏輯的設(shè)計(jì)。兩者雖然都是屬于硬件的范疇,但是兩者的設(shè)計(jì)對象、設(shè)計(jì)方法、開發(fā)流程和所需要使用的EDA軟件都完全不同。</p>
61、;<p> 板級系統(tǒng)由微處理器子系統(tǒng),F(xiàn)PGA子系統(tǒng),DA轉(zhuǎn)換子系統(tǒng),信號隔離與轉(zhuǎn)換子系統(tǒng),電源子系統(tǒng)構(gòu)成。微處理器子系統(tǒng)負(fù)責(zé)運(yùn)行數(shù)控的控制軟件,F(xiàn)PGA負(fù)責(zé)脈沖信號的產(chǎn)生和計(jì)數(shù)、鍵盤的掃描和IO的控制,DA負(fù)責(zé)產(chǎn)生主軸變頻器所需要的模擬信號,信號隔離與轉(zhuǎn)換子系統(tǒng)負(fù)責(zé)各類機(jī)床信號的接口處理,電源子系統(tǒng)則為其他系統(tǒng)和繼電器提供電源。結(jié)構(gòu)框圖如圖2.3所示。</p><p> 圖2.3 板級系統(tǒng)框圖
62、</p><p> 芯片級系統(tǒng)由總線接口模塊、復(fù)位控制模塊、中斷控制模塊、定時(shí)器模塊、IO控制模塊、編碼器計(jì)數(shù)器模塊和驅(qū)動器控制器模塊構(gòu)成。其中總線接口模塊負(fù)責(zé)提供FPGA內(nèi)部功能模塊與ARM外部總線的接口,復(fù)位控制模塊為FPGA內(nèi)部功能模塊提供復(fù)位信號,中斷控制模塊用于處理FPGA內(nèi)部功能模塊的中斷信號,定時(shí)器模塊為脈沖發(fā)生器提供定時(shí)信號,IO控制模塊用于控制順序控制IO,鍵盤掃描模塊負(fù)責(zé)控制10×
63、10鍵盤的掃描,編碼器計(jì)數(shù)器模塊用于檢測主軸和手輪的碼盤信號,驅(qū)動器控制器模塊用于產(chǎn)生、檢測電機(jī)驅(qū)動器的信號等8個(gè)模塊構(gòu)成。整個(gè)結(jié)構(gòu)框圖如圖2.4所示。</p><p> 圖2.4 芯片級系統(tǒng)框圖</p><p> 2.6 板級功能劃分</p><p> 2.6.1微處理器子系統(tǒng)</p><p> 微處理器子系統(tǒng)包括ARM子系統(tǒng)、存儲
64、器子系統(tǒng)和LCD接口、通信接口和串行接口,組成框圖如圖2.3所示。</p><p> 圖2.3 微處理器子系統(tǒng)框圖</p><p> 其中,ARM是一種嵌入式處理器,主要負(fù)責(zé)運(yùn)算,存儲器負(fù)責(zé)程序和數(shù)據(jù)的存儲以及文件系統(tǒng),通信接口負(fù)責(zé)加工程序的下載和上傳,并行接口實(shí)現(xiàn)與FPGA的通信,串行接口實(shí)現(xiàn)對DA轉(zhuǎn)換器的控制。</p><p> 存儲器子系統(tǒng)包括FLASH
65、、SDRAM和NVRAM。FLASH存儲程序和文件,SDRAM存儲系統(tǒng)運(yùn)行時(shí)的程序和數(shù)據(jù),NVRAM存儲實(shí)時(shí)的系統(tǒng)狀態(tài)。</p><p> 通信接口實(shí)現(xiàn)與PC機(jī)的基于RS232標(biāo)準(zhǔn)的數(shù)據(jù)通信。并行接口實(shí)現(xiàn)與FPGA的數(shù)據(jù)通信,串行接口實(shí)現(xiàn)對DA轉(zhuǎn)換器控制。</p><p> 2.6.2 FPGA子系統(tǒng)</p><p> FPGA子系統(tǒng)包括FPGA、配置電路、下
66、載接口、并行接口,組成框圖如圖2.4所示。</p><p> 圖2.4 FPGA子系統(tǒng)框圖</p><p> 配置器件用于在上電時(shí)配置FPGA,下載接口用于燒寫配制器件和直接配置FPGA,并行接口實(shí)現(xiàn)與CPU子系統(tǒng)的通信。</p><p> 2.6.3 DA轉(zhuǎn)換子系統(tǒng)</p><p> DA轉(zhuǎn)換子系統(tǒng)由隔離器件、DA轉(zhuǎn)換器和運(yùn)放組成
67、,框圖如圖2.5所示。</p><p> 圖2.5 DA轉(zhuǎn)換子系統(tǒng)框圖</p><p> 隔離器件在CPU和DA轉(zhuǎn)換器之間,屬于數(shù)字隔離方式,與使用模擬光耦或者隔離運(yùn)放相比較,可以降低成本、提高精度,雖然實(shí)際系統(tǒng)模擬輸出的刷新速度會有一些影響,但是對于本系統(tǒng)還是可以滿足要求的。</p><p> 2.6.4 信號隔離與轉(zhuǎn)換子系統(tǒng)</p><
68、p> 信號隔離與轉(zhuǎn)換子系統(tǒng)由低速量輸出隔離,功率放大,低速輸入隔離,高速輸出隔離,單端-差分轉(zhuǎn)換,高速輸入隔離,差分-單端轉(zhuǎn)換組成,框圖如圖2.6所示。</p><p> 圖2.6 信號隔離與轉(zhuǎn)換子系統(tǒng)框圖</p><p> 2.6.4 電源子系統(tǒng)</p><p> 新型的CPU和FPGA的內(nèi)核電壓一般都使是2.5V或以下的,IO電壓一般都使是3.3V
69、,高速光耦一般也需要5V電壓。根據(jù)要求,要使用現(xiàn)有的980T系統(tǒng)的開光電源,該電源可以提供5V,+-12V和24V電源。因此,需要電源模塊使用5V產(chǎn)生3.3V和2.5V,為了隔離的需要,還要使用24V產(chǎn)生另外的一個(gè)5V。</p><p> 2.7 芯片級功能劃分</p><p> 2.7.1 總線接口模塊</p><p> CPU是通過自己的外部總線與FPGA
70、進(jìn)行通信的,因此FPGA需要對CPU的總線信號進(jìn)行分析,然后進(jìn)行CPU所需要的操作。這就需要總線接口模塊實(shí)現(xiàn)對CPU的外部總線的處理,根據(jù)地址產(chǎn)生其他各個(gè)模塊內(nèi)的寄存器的讀寫信號,各個(gè)模塊再根據(jù)這些的讀寫信號進(jìn)行寄存器數(shù)據(jù)的改變或者輸出。</p><p> 2.7.2 復(fù)位控制模塊</p><p> 由于FPGA的特點(diǎn)決定了在FPGA上電完成配置以后,對于很多型號的FPGA其內(nèi)部狀態(tài)是
71、不定的,而且不同型號的FPGA配置完成所需要的時(shí)間也是不同的。因此,根據(jù)外部信號進(jìn)行復(fù)位也是比較麻煩的。而如果FPGA的內(nèi)部處于不定狀態(tài)的話,本系統(tǒng)所需要的IO口的輸出也是不定的,這樣有可能在CPU對其IO控制邏輯進(jìn)行訪問以前會輸出有效的輸出,從而造成機(jī)床的運(yùn)動,這顯然是不允許的。</p><p> 因此,需要有一個(gè)復(fù)位控制模塊,使FPGA在配置完畢后自動進(jìn)入特定狀態(tài),在這種狀態(tài)下,所有的輸出都是無效的。而且可
72、以通過當(dāng)CPU對這一模塊的訪問,使FPGA進(jìn)入正常的工作狀態(tài)。</p><p> 同時(shí),鑒于FPGA的配置方法使其配置信息比較容易被竊取,還可以將這個(gè)模塊用于知識產(chǎn)權(quán)的保護(hù),仿制竊取。</p><p> 2.7.3 中斷控制模塊</p><p> 在FPGA里,定時(shí)器模塊、鍵盤掃描、編碼器計(jì)數(shù)器和驅(qū)動器控制器都會產(chǎn)生中斷信號,共計(jì)7個(gè)中斷信號。但是CPU的外部
73、中斷口線有限,所以需要FPGA有一個(gè)中斷控制器,將這7個(gè)中斷信號變?yōu)橐粋€(gè)中斷信號送往CPU。</p><p> 2.7.4 定時(shí)器模塊</p><p> 本系統(tǒng)已經(jīng)計(jì)劃采用uC/OSII操作系統(tǒng),雖然uC/OSII是專門用于控制的實(shí)時(shí)操作系統(tǒng),但是從外部中斷發(fā)生到任務(wù)切換完成仍然需要一定的時(shí)間,在進(jìn)行高速高精加工時(shí)與不使用操作系統(tǒng)的控制軟件相比是一個(gè)劣勢,為了使本系統(tǒng)有足夠的性能提升空
74、間,在FPGA內(nèi)設(shè)計(jì)了定時(shí)器模塊和脈沖數(shù)據(jù)緩沖功能。</p><p> 定時(shí)器模塊可以產(chǎn)生高精度的中斷信號,這個(gè)中斷可以為3個(gè)驅(qū)動器控制模塊提供準(zhǔn)確的時(shí)間,配合脈沖數(shù)據(jù)的緩沖功能,驅(qū)動器控制器模塊可以立刻開始下一輪的細(xì)插補(bǔ)工作。同時(shí)這個(gè)中斷信號會被發(fā)往CPU,然后CPU將新的數(shù)據(jù)寫入FPGA。這樣降低了對CPU定時(shí)器和實(shí)時(shí)任務(wù)切換的依賴性,提高了脈沖的時(shí)間精度。</p><p> 2.
75、7.5 鍵盤掃描模塊</p><p> 控制10X10的掃描鍵盤,具有自動掃描、去抖、連續(xù)按鍵功能。當(dāng)檢測到按鈕按下時(shí),將掃描碼存入到寄存器內(nèi),同時(shí)產(chǎn)生一個(gè)中斷信號。</p><p> 2.7.6編碼器計(jì)數(shù)器模塊</p><p> 一般的脈沖編碼器輸出的是一對正交編碼信號和一個(gè)一轉(zhuǎn)信號。編碼器計(jì)數(shù)器模塊要實(shí)現(xiàn)對正交編碼信號的譯碼和計(jì)數(shù),計(jì)數(shù)結(jié)果要放在模塊的寄存
76、器內(nèi),隨時(shí)供CPU讀取。</p><p> 2.7.7驅(qū)動器控制模塊</p><p> 驅(qū)動器控制模塊是芯片級系統(tǒng)里最重要的部分了,她實(shí)現(xiàn)細(xì)插補(bǔ)功能,同時(shí)還要檢測和控制一些驅(qū)動器的IO信號。目前的電機(jī)驅(qū)動器已經(jīng)開始大范圍的交流化,通常都可以接受脈沖/方向形式的控制信號。因此,這個(gè)模塊的主要工作就是要以CPU指定的頻率發(fā)送指定數(shù)量的信號。</p><p> 2.
77、7. 8 IO控制模塊</p><p> 目前計(jì)劃的功能只是簡單的實(shí)現(xiàn)IO口的擴(kuò)展。將來對系統(tǒng)升級的時(shí)候可能會加入簡單的PLC功能。</p><p> 第三章 板級硬件設(shè)計(jì)</p><p> 3.1 板級設(shè)計(jì)的原則</p><p> 3.1.1 模塊化設(shè)計(jì)</p><p> 無論是原理圖設(shè)計(jì),還是PCB設(shè)計(jì),
78、都要遵守模塊化設(shè)計(jì)的思想。原理圖模塊化可以使設(shè)計(jì)思路清晰,原理易于掌握,差錯(cuò)容易。PCB模塊化則對于調(diào)試和可靠性的提高都有很大好處。而且模塊化設(shè)計(jì)對于系統(tǒng)以后的維護(hù)、升級都有很多方便。</p><p> 3.1.2 盡量基于成熟的設(shè)計(jì)</p><p> 與廣州數(shù)控的980T系統(tǒng)比較,在總體結(jié)構(gòu)和功能上是類似的,除了CPU、FPGA和DA外,接口電路和電源都沒有很大變化。在CPU和FPG
79、A的選型的時(shí)候要盡量選取自己有過使用經(jīng)驗(yàn)的器件。這樣保證了可以集中精力抓主要矛盾,保證了項(xiàng)目的順利進(jìn)行。</p><p> 3.1.3 可重構(gòu)原則</p><p> 本系統(tǒng)采用的FPGA要具有在系統(tǒng)可編程-也就是ISP(In System Programmable)的能力,因此當(dāng)一套產(chǎn)品生產(chǎn)出來以后,還可以改變FPGA內(nèi)部的邏輯從而實(shí)現(xiàn)FPGA功能的改變。CPU系統(tǒng)也要具有在系統(tǒng)燒寫F
80、LASH的能力,這樣可以在不動器件的情況下改變存儲的程序,從而改變軟件系統(tǒng)的功能。</p><p> 此外,為了將來可能出現(xiàn)的較大規(guī)模的升級,比如添加電機(jī)控制閉環(huán)功能,或者要求能夠多控制一臺驅(qū)動器,還需要將FPGA的一部分備用IO功能的接口電路用背板的形式處理,這樣將來需要使用這些IO口的時(shí)候,可以只添加一塊新的就口電路背板,而不需要重新設(shè)計(jì)整個(gè)主板。</p><p> 3.1.4 兼
81、容性原則</p><p> 由于本項(xiàng)目的特點(diǎn),為了加快開發(fā)速度和便于以后生產(chǎn),要盡量按照980T的現(xiàn)有部件,比如機(jī)箱、開關(guān)電源、LCD、接口電路的器件、接口插件等的標(biāo)準(zhǔn)去設(shè)計(jì),也就是除了控制核心以外,其他的部分都要盡量與980T系統(tǒng)兼容。這樣設(shè)計(jì)出來的系統(tǒng)可以直接使用現(xiàn)有的部件和硬件測試系統(tǒng),能夠大大的方便后期的調(diào)試和產(chǎn)品化工作。</p><p> 3.2 性能分析與初步設(shè)計(jì)</
82、p><p> 3.2.1 CPU計(jì)算能力</p><p> 雖然CPU的計(jì)算能力可以比較準(zhǔn)確的估計(jì),但是由于實(shí)際使用時(shí)的算法不同,所以估計(jì)結(jié)果與最終體現(xiàn)出來的結(jié)果會有很大差距。由于我們以前沒有過具體的測試,所以只能根據(jù)現(xiàn)有系統(tǒng)的計(jì)算能力與實(shí)際實(shí)現(xiàn)結(jié)果的資料推測。</p><p> 目前的980T系統(tǒng)采用的是16位的CPU-Z180,CISC結(jié)構(gòu),主頻為20MHz,
83、可以控制兩個(gè)軸的運(yùn)動和大約40個(gè)IO的順序動作。同時(shí)完成對8×8左右規(guī)模的鍵盤的掃描和LCD的控制。在這些工作中,首先IO順序控制幾乎不需要什么運(yùn)算量,然后LCD采用外部的掃描控制芯片,所需CPU的運(yùn)算極少,再然后是鍵盤的掃描。在我們所作的uC/OS2系統(tǒng)中,鍵盤掃描是作為一個(gè)任務(wù)實(shí)現(xiàn)的,實(shí)際使用的結(jié)果發(fā)現(xiàn),還是需要耗費(fèi)不少CPU的運(yùn)算量的。但是在原先的系統(tǒng)中沒有使用操作系統(tǒng),節(jié)省了很多任務(wù)切換和內(nèi)部信號量處理時(shí)間,所以應(yīng)該不
84、會耗費(fèi)多少CPU的運(yùn)算資源。這樣,絕大多數(shù)運(yùn)算資源是用來實(shí)現(xiàn)兩個(gè)軸的運(yùn)動控制的,而且全部都是4字節(jié)或者8字節(jié)的運(yùn)算。</p><p> 現(xiàn)在是使用32位的CPU替代現(xiàn)有的CPU,具體型號就是S3C44B0X。該CPU屬于ARM7TDMI結(jié)構(gòu),RISC,最高速度66MHz。由于數(shù)控系統(tǒng)的工作條件比較惡劣,所以假設(shè)降頻使用,20KHz。首先,由于S3C44B0X是32位CPU,內(nèi)部有8KB緩存,所以使用緩存時(shí),僅從
85、位數(shù)上來說,運(yùn)算能力差不多是原先CPU的兩倍。但是要考慮如下幾個(gè)不利因素:</p><p> ?。?)ARM7TDMI是RISC結(jié)構(gòu),代碼效率不如CISC,也就是相同頻率、相同位數(shù)的條件下,在運(yùn)行一般程序的時(shí)候,CISC系統(tǒng)可以完成更多的運(yùn)算。</p><p> ?。?)S3C44B0X內(nèi)部帶LCD控制器,當(dāng)LCD刷新時(shí)需要DMA操作,這是就會占用數(shù)據(jù)總線,從而影響CPU的運(yùn)算。</
86、p><p> ?。?)設(shè)想中使用操作系統(tǒng),操作系統(tǒng)通常占CPU時(shí)間資源的3%-5%。</p><p> 以及如下幾個(gè)有利因素:</p><p> ?。?)ARM7TDMI帶有部分DSP指令,這幾條指令對于數(shù)控這樣需要大量數(shù)學(xué)運(yùn)算的應(yīng)用十分有用。</p><p> ?。?)由于可尋址的存儲器大大增加,編程時(shí)可以根據(jù)速度要求優(yōu)化。</p>
87、;<p> (3)ARM7TDMI可以達(dá)到0.9 MIPS/MHz,幾乎都是單周期指令。</p><p> 綜合以上幾個(gè)因素,估計(jì)數(shù)學(xué)運(yùn)算能力,尤其是需要DSP運(yùn)算的數(shù)學(xué)運(yùn)算,ARM7TDMI至少可以達(dá)到2倍于16位CPU的能力。而對于布爾運(yùn)算和位運(yùn)算,由于ARM7TDMI的0.9 MIPS/MHz,優(yōu)勢會更明顯。因此,單從數(shù)學(xué)運(yùn)算角度上分析,可以控制4個(gè)軸的運(yùn)動。</p><
88、;p> 這些都是在20MHz的條件下估計(jì)的,如果將來發(fā)現(xiàn)CPU還是不夠用,可以提高主頻。</p><p><b> 3.2.2 實(shí)時(shí)性</b></p><p> 實(shí)時(shí)性主要包括相應(yīng)時(shí)間和相應(yīng)時(shí)間是否固定兩個(gè)方面。首先,對于LCD的刷新問題,當(dāng)時(shí)用DMA方式時(shí),在DMA傳送過程中不能相應(yīng)中斷,所以將不采用DMA方式。又由于ARM7TDMI的中斷系統(tǒng)復(fù)雜,所以
89、中斷相應(yīng)會比Z180慢,但是肯定可以滿足實(shí)時(shí)性的要求。但是,實(shí)際使用時(shí)是帶操作系統(tǒng)的,這樣就決定了是否實(shí)時(shí)很大程度上依賴于操作系統(tǒng)的實(shí)時(shí)性。uC/OS2是專門用于控制領(lǐng)域的實(shí)時(shí)操作系統(tǒng),他的中斷相應(yīng)時(shí)間是固定的。因此,問題集中在響應(yīng)時(shí)間上。當(dāng)采用不同的軟件結(jié)構(gòu)的時(shí)候,相應(yīng)時(shí)間是不一樣的,這里不想過多討論軟件問題,僅從硬件上討論如何讓軟件有一個(gè)良好的運(yùn)行基礎(chǔ)。</p><p> 本系統(tǒng)的實(shí)時(shí)性最強(qiáng)的任務(wù)就是電機(jī)的
90、運(yùn)動控制。在本系統(tǒng)中,使用FPGA產(chǎn)生脈沖信號。這個(gè)方法與980T使用CPLD-MAX7128產(chǎn)生信號的方法是一樣的,但是現(xiàn)在是使用Acex系列FPGA,其邏輯容量比MAX7128有很大的提高。利用大量的邏輯資源可以實(shí)現(xiàn)很多復(fù)雜的邏輯。首先就是實(shí)現(xiàn)脈沖數(shù)據(jù)的緩沖。由于電機(jī)控制的實(shí)時(shí)性要求,當(dāng)所需要發(fā)的脈沖發(fā)完以后再向CPU中斷,然后CPU再發(fā)送新一組數(shù)據(jù),顯然不合理,而且如果CPU正在中斷處理之中,無法及時(shí)相應(yīng)就更麻煩了。所以在FPGA
91、內(nèi)部添加一級緩沖,也就是當(dāng)FPGA在按照CPU給定的數(shù)據(jù)發(fā)送脈沖的時(shí)候,CPU可以向FPGA寫入下一次要發(fā)送的脈沖的數(shù)據(jù),這樣,當(dāng)FPGA發(fā)送完本次的數(shù)據(jù)后可以立即開始發(fā)送下一個(gè)數(shù)據(jù),可以做到絕對的實(shí)時(shí)。</p><p> 由于有FPGA的緩沖,CPU的實(shí)時(shí)性要求大大降低,對于軟件的規(guī)劃有很大方便之處。</p><p> 3.2.3 存儲能力</p><p>
92、 32位的S3C44B0X與原先的16位CPU Z180-其數(shù)據(jù)、程序存儲器各64KB,相比程序、數(shù)據(jù)存儲能力的擴(kuò)充可以說非常非常大。S3C44B0X的程序、數(shù)據(jù)存儲范圍是256MB,但是由于某些地址被內(nèi)部占用,還有一些受地址總線的限制,實(shí)際所能擴(kuò)充的可尋址范圍要小一些。而且S3C44B0X可以使用SDRAM,大大提高了存儲密度,降低了成本。SDRAM最多可以擴(kuò)充到64MB。這對于高級一些的應(yīng)用是足夠的了。同時(shí),在系統(tǒng)中還有NAND F
93、LASH,這是類似電子盤的器件,容量為16MB,在PCB不變的情況下可以還用128MB容量。</p><p> 3.2.4 FPGA的選擇和IO擴(kuò)展能力</p><p> ACEX1K是Altera公司的基于SRAM技術(shù)的,用于低端應(yīng)用的高性價(jià)比FPGA,分為1K10、1K30、1K50和1K100,容量分別為1萬、3萬、5萬、10萬門,雖然容量不同,但是在相同封裝的情況下管腳兼容(個(gè)
94、別情況出外)。</p><p> 根據(jù)需求,順序控制IO需要72個(gè),鍵盤需要20個(gè),電機(jī)驅(qū)動器接口需要18個(gè),主軸、手輪需要5個(gè),共計(jì)115個(gè)。顯然S3C44B0X自身的IO口線顯然不能滿足要求。本系統(tǒng)采用FPGA來擴(kuò)展IO。采用Acex的1K50或者1K100,208腳PGFP封裝的芯片,共有147個(gè)用戶可用IO。其中,部分用于實(shí)現(xiàn)與S3C44B0X的通信,需要大約30個(gè)。這樣,剩余的IO口可以滿足需要。&l
95、t;/p><p> 為了調(diào)試需要,樣機(jī)會采用1K100,一旦電路成熟以后可以根據(jù)實(shí)際需要采用較小容量的芯片。</p><p> 3.2.5 實(shí)現(xiàn)方案</p><p> 根據(jù)需求,主要器件的選擇方案如下:</p><p> ?。?)CPU采用S3C44B0X,存儲系統(tǒng)包括2MB的FLASH-AM29LV160,用于存儲程序;32MB的SDRA
96、M-HY57V561620,用于存儲運(yùn)行時(shí)的程序和數(shù)據(jù);32KB的NVRAM-DS1230,兩片,用于實(shí)時(shí)保存數(shù)據(jù);16MB的NAND FLASH-K9F2808U,用于實(shí)現(xiàn)文件系統(tǒng);</p><p> (3)FPGA采用208腳的EP1K50,配置存儲器使用EPC2。</p><p> ?。?)DA轉(zhuǎn)換器采用AD7243,0-10V輸出。</p><p> ?。?/p>
97、5)電源模塊采用兩片LM1085和一片LM2575,分別用于產(chǎn)生各種電壓。</p><p> 3.3 CPU子系統(tǒng)</p><p> 3.3.1 ARM子系統(tǒng)</p><p> ARM子系統(tǒng)包括S3C44B0X型嵌入式CPU,時(shí)鐘、復(fù)位電路,JTAG接口和實(shí)時(shí)時(shí)鐘-RTC(Real Time Counter)電路。</p><p>
98、S3C44B0X除了具有ARM7TDMI內(nèi)核以外,還具有多種片內(nèi)外圍設(shè)備,主要包括存儲器接口、LCD控制器、異步串口、同步串口、通用IO等。</p><p> 時(shí)鐘采用的是6MHz外部晶體,利用ARM片內(nèi)的PLL模塊,可以將CPU的運(yùn)行速度提高到66MHz。復(fù)位電路沒有使用普通的阻容復(fù)位,而是采用的復(fù)位專用芯片IMP811T,該芯片具有電壓監(jiān)視和手動復(fù)位輸入功能。當(dāng)供電電壓小于3.08V時(shí)輸出復(fù)位信號。<
99、/p><p> JTAG接口按照ARM公司的建議電路設(shè)計(jì)。要特別說明的是由于ARM7TDMI內(nèi)部JTAG的設(shè)計(jì)不是實(shí)現(xiàn)通過JTAG接口控制整個(gè)芯片的復(fù)位,所以這里把系統(tǒng)的復(fù)位信號通過一個(gè)跳線與nTRST相連,這樣可以讓S3C44B0X里邊的JTAG狀態(tài)機(jī)與其他部分同時(shí)復(fù)位。</p><p> 圖3.1 JTAG接口</p><p> RTC電路用于在掉電時(shí)維持S3
100、C44B0X內(nèi)的實(shí)時(shí)時(shí)鐘電路的運(yùn)行,經(jīng)過軟件的初始化以后,該電路可以為系統(tǒng)提供準(zhǔn)確的絕對時(shí)間。RTC電路的電源部分比較重要,為了長久的使用RTC功能,必須要給在掉電的時(shí)候?yàn)镽TC電路供電的電池充電。RTC電路的電源部分的電路如圖3.2所示,VDD33為3.3V,VDDRTC為2.5,是RTC的電源,VDD5為5伏。</p><p> 圖3.2 RTC供電電路</p><p> 由于二極
101、管的正向壓降與所通過的電流有關(guān),在實(shí)際測試中發(fā)現(xiàn),當(dāng)電池處于電量滿的時(shí)候,上電前DD2005和DD2003總共的壓降為0.8V左右,這樣VDDRTC可以穩(wěn)定在2.8V。上電后每個(gè)DD2004和DD2000總共的壓降為0.2V左右,這樣VDDRTC可以穩(wěn)定在2.9V。仍然處于S3C44B0X數(shù)據(jù)手冊上的說明的工作電壓范圍之內(nèi)。</p><p> 3.3.2 存儲器子系統(tǒng)</p><p>
102、 1.NOR FLASH采用Am29LV160B,2MByte,用于存儲啟動代碼,該代碼完成對S3C44B0x的初始化,然后將主程序從自身復(fù)制到SDRAM里。實(shí)際存儲容量需要根據(jù)主程序存放的位置不同,相差較大,但是為了調(diào)試采用了較大的。由于S3C44B0x復(fù)位后自動從0x00000000開始之行,所以該FLASH使用了BANK0。</p><p> 2.SDRAM采用HY57V561620,32MByte,用于
103、存儲運(yùn)行時(shí)的主程序和常量。由于S3C44B0X的限制,只有BANK6和BANK7可以使用SDRAM,所以,該芯片使用BANK6,起始地址是0xC0000000。</p><p> 3.NAND FLASH采用K9F2808U,16MByte,用于存儲文件和資源,使用BANK1。由于非線性FLASH的特點(diǎn),不是直接的總線訪問,而是類似硬盤的命令訪問,所以還用4個(gè)IO口用于控制。</p><p&
104、gt; 4.NVRAM采用DS1230W,16K字節(jié),用于存儲機(jī)床的狀態(tài),防止突然掉電時(shí)損失數(shù)據(jù)。</p><p> 3.3.3 通信接口</p><p> RS232電平轉(zhuǎn)換使用的是MAX3232,兼容3V-5.5V的電平,可以直接與3.3V的S3C44B0X連接。</p><p><b> 3.4 LCD接口</b></p&
105、gt;<p> LCD接口由控制信號接口電路和24V LCD驅(qū)動電壓產(chǎn)生電路組成。LCD采用的LCD是Lm32019T,其控制信號包括開關(guān)信號、數(shù)據(jù)信號和同步信號。開關(guān)信號使用一個(gè)普通的IO信號,同步信號有VFRAME-幀同步信號,VLINE-行同步和VCLK-列同步信號,這三個(gè)是必須的控制信號,數(shù)據(jù)信號使用VD0-VD3。由于Lm32019T得數(shù)字部分都是5V邏輯,因此,需要一片74LS245進(jìn)行電平轉(zhuǎn)化。</p
106、><p> 24V LCD驅(qū)動電壓產(chǎn)生電路主要包括升壓芯片和可編程電位器。使用CPU的3個(gè)IO輸出信號可以實(shí)現(xiàn)對可編程電位器的控制。電路圖如圖3.x所示。</p><p> 圖3.x LCD驅(qū)動電壓產(chǎn)生電路</p><p> 3.5 FPGA子系統(tǒng)</p><p> 3.5.1 配置電路和下載接口</p><p>
107、 配置芯片和下載配置電路用于使用專用的下載線-ByteBlasterMV對配置芯片進(jìn)行燒寫,對FPGA進(jìn)行在線配置和配置芯片對FPGA進(jìn)行配置。其中ByteBlasterMV對配置芯片進(jìn)行燒寫和對FPGA進(jìn)行在線配置使用的是串行JTAG鏈,而配置芯片對FPGA進(jìn)行配置使用的是專用的配置電路。這樣,可以在不改變硬件的情況下同時(shí)對配置芯片和FPGA進(jìn)行控制,也可以在燒寫配置芯片以后在上電時(shí)由配置芯片配置FPGA,大大方便了調(diào)試和使用。&l
108、t;/p><p> 配置芯片使用的是EPC2,該芯片是實(shí)際上是串行FLASH,通過JTAG接口進(jìn)行燒寫,通過專用信號配置FPGA。</p><p> 配置電路和下載接口的電路如圖3.x所示。</p><p> 3.5.2 并行接口</p><p> FPGA使用S3C44B0X的外部總線與S3C44B0X進(jìn)行通信,需要用到的S3C44B0
109、X的信號有:16根數(shù)據(jù)線、8根地址線、讀、寫、片選、中斷。這樣總共有512字節(jié)的訪問空間。</p><p> 3.6 DA轉(zhuǎn)換子系統(tǒng)</p><p><b> 3.6.1 隔離</b></p><p> 使用高速光耦6N137實(shí)現(xiàn)隔離,不需要復(fù)雜的設(shè)計(jì)6N137的速度接可以達(dá)到1M,傳遞16位數(shù)據(jù)只需要16微秒。需要隔離的信號有3個(gè):同步
110、、時(shí)鐘、數(shù)據(jù),而且都是單向的,所以只用3只6N137就夠了。由于光耦的輸入端電流較大,直接使用S3C44B0X的管教會對S3C44B0X有較大的電流沖擊,所以先用74HC245進(jìn)行驅(qū)動,然后控制6N137。隔離電路如圖3.x所示</p><p> 圖3.x DA轉(zhuǎn)換隔離電路</p><p><b> 3.6.2 轉(zhuǎn)換</b></p><p>
111、; DA轉(zhuǎn)換器采用AD7243,這是一款12位串行DA轉(zhuǎn)換器,具有多種電壓輸出范圍和多種工作模式。</p><p> 圖3.x DA轉(zhuǎn)換隔離電路</p><p><b> 3.6.3 放大</b></p><p> 為了提高模擬輸出的阻抗性能,需要使用運(yùn)算放大器進(jìn)行處理。由于DA轉(zhuǎn)換器輸出是0-10V電壓,所以采用射隨器電路。運(yùn)放使用M
112、C4558,選擇她的原因是在980T系統(tǒng)上就是采用的她。模擬輸出運(yùn)放電路如圖3.x所示。</p><p> 圖3.x 模擬輸出運(yùn)放電路</p><p> 3.7 信號隔離與轉(zhuǎn)換子系統(tǒng)</p><p> 信號隔離與轉(zhuǎn)換電路采用980T的電路,為的是有兼容性。需要注意的只有有兩點(diǎn):繼電器驅(qū)動和差分-單端信號轉(zhuǎn)換電路。</p><p> 低
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于ARM+FPGA的嵌入式數(shù)控系統(tǒng)硬件設(shè)計(jì).pdf
- 基于ARM和FPGA的數(shù)控系統(tǒng)研究及實(shí)現(xiàn).pdf
- 基于ARM的嵌入式數(shù)控系統(tǒng)硬件平臺設(shè)計(jì).pdf
- 基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)研究.pdf
- 數(shù)控系統(tǒng)畢業(yè)論文
- 基于ARM和DSP的嵌入式數(shù)控系統(tǒng)硬件開發(fā)平臺的研究.pdf
- 畢業(yè)設(shè)計(jì)(論文)-基于pc的數(shù)控系統(tǒng)設(shè)計(jì)
- 基于ARM和DSP的數(shù)控系統(tǒng)研究.pdf
- 數(shù)控專業(yè)畢業(yè)論文---數(shù)控系統(tǒng)可靠性及常用數(shù)控系統(tǒng)對比
- 基于ARM和CPLD架構(gòu)的機(jī)床數(shù)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于FPGA的數(shù)控系統(tǒng)接口設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于OMAPL138和FPGA的嵌入式數(shù)控系統(tǒng)硬件架構(gòu)研究與開發(fā).pdf
- 基于FPGA及NIOSⅡ的多軸數(shù)控系統(tǒng)設(shè)計(jì).pdf
- 基于DSP和FPGA的數(shù)控系統(tǒng)研究與開發(fā).pdf
- 畢業(yè)論文---基于arm的視頻采集系統(tǒng)的設(shè)計(jì)
- 畢業(yè)論文-兩軸實(shí)驗(yàn)型數(shù)控系統(tǒng)設(shè)計(jì).doc
- 基于ARM的火焰切割數(shù)控系統(tǒng)的研究.pdf
- 數(shù)控系統(tǒng)的發(fā)展畢業(yè)論文--開放式網(wǎng)絡(luò)化數(shù)控系統(tǒng)的發(fā)展前景
- 基于ARM的銑床數(shù)控系統(tǒng)的研究與應(yīng)用.pdf
- 數(shù)控系統(tǒng)的算法仿真及其硬件設(shè)計(jì).pdf
評論
0/150
提交評論