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