開(kāi)放式體系結構的數控系統已成為當今數控技術(shù)的發(fā)展方向,而其中的基于計算機標準總線(xiàn)的“PC+運動(dòng)控制卡”結構則是今后開(kāi)放式數控技術(shù)發(fā)展的主流。此類(lèi)數控系統通常選用高速DSP作為運動(dòng)控制卡CPU,采用主從式控制策略,利用PC和DSP都讀取內存的方式來(lái)實(shí)現上/下位機的通信;具有信息處理能力強、開(kāi)放程度高、運動(dòng)軌跡控制準確、通用性好等特點(diǎn),被廣泛應用于制造業(yè)自動(dòng)化控制各個(gè)領(lǐng)域。 1 硬件電路總體設計 本項目是設計一款基于PCI總線(xiàn)的,以DSP芯片TMS320F2812為核心的多軸運動(dòng)控制卡。將PC機的信息處理能力和開(kāi)放式的特點(diǎn)與運動(dòng)控制器的運動(dòng)軌跡控制能力有機地結合在一起,利用雙口RAM作為公共存儲單元實(shí)現上/下位機的通信。為實(shí)現對多電機的半閉環(huán)控制提供了一個(gè)良好的開(kāi)發(fā)平臺。 系統中,PC機發(fā)送各種控制命令,經(jīng)PC程序進(jìn)行譯碼、預處理等處理后,通過(guò)PCI總線(xiàn)接口芯片傳送到公共存儲器——雙口RAM中;DSP程序從雙口RAM中讀取指令或數據,并根據讀入的指令或數據進(jìn)行插補運算,然后產(chǎn)生位置控制脈沖輸入到各個(gè)電機軸的伺服驅動(dòng)器;伺服驅動(dòng)器根據DSP發(fā)送的位置指令再進(jìn)行插補,同時(shí)由插補運算計算的理論位置與位置反饋模塊反饋的實(shí)際位置進(jìn)行比較,得到跟隨誤差,經(jīng)誤差補償后形成真正的電機實(shí)際位置,并由跟隨誤差算出速度指令值,最后產(chǎn)生PWM脈沖控制電機運行。在本系統中,TMS320F2812芯片作為總控制器,統籌協(xié)調數控系統中各個(gè)軸的運動(dòng),而伺服驅動(dòng)器則作為執行元件控制每個(gè)電機的實(shí)際運行。運動(dòng)控制卡與伺服驅動(dòng)器各司其職,相互配合,都發(fā)揮了各自的長(cháng)處。由此組成的數控系統開(kāi)放性好,可靠性高,能夠很好地滿(mǎn)足現階段大多數用戶(hù)對多軸聯(lián)動(dòng)數控系統的要求。 系統硬件總體設計功能框圖如圖1所示。 本系統的運動(dòng)控制卡所選用的DSP芯片TMS320F2812有2個(gè)事件管理器(EVA、EVB),每個(gè)事件管理器可以產(chǎn)生5路獨立的PWM信號,其中比較寄存器3路,通用定時(shí)器2路。理論上講,1片TMS320F2812芯片最多可以控制10個(gè)伺服驅動(dòng)器。而常見(jiàn)的數控系統有三軸聯(lián)動(dòng)、五軸聯(lián)動(dòng)等,運動(dòng)控制卡可以控制的電機數目遠大于一個(gè)數控系統中電機的數目。因此,本系統的“PC+運動(dòng)控制卡”數控系統不僅能夠滿(mǎn)足多軸聯(lián)動(dòng)數控系統的基本要求,還具有很高的擴展性,甚至可以實(shí)現多個(gè)數控機床聯(lián)合控制,極大地增強了多軸聯(lián)動(dòng)數控系統的功能。 2 雙口RAM接口電路設計 2.1 雙口RAM與DSP和CH365的連接 本系統選用雙口RAM芯片IDT7025作為DSP與CH365雙向通信的緩沖芯片。IDT7025芯片是一款高速的8K×16位雙口靜態(tài)RAM,它提供2個(gè)獨立的端口,允許兩個(gè)(左、右)端口同時(shí)讀/寫(xiě)數據,每個(gè)端口具有自己獨立的控制信號線(xiàn)、地址線(xiàn)和數據線(xiàn),可高速存取數據,可與大多數高速處理器配合使用,而無(wú)需插入等待狀態(tài)。 雙口RAM允許2個(gè)CPU同時(shí)讀取任何存儲單元(包括同時(shí)讀同一地址單元),但不允許同時(shí)寫(xiě)或一讀一寫(xiě)同一地址單元。利用雙口RAM進(jìn)行通信的關(guān)鍵是,如何處理好爭用沖突現象,避免由此而產(chǎn)生的讀/寫(xiě)錯誤。常用的雙口RAM解決地址競爭的途徑有:令牌傳遞法、基于郵箱機制的INT中斷法以及插入等待周期的BUSY法等。本系統采用第2種方法。 下面簡(jiǎn)要介紹一下IDT7025中斷的原理:當用戶(hù)要用到中斷功能時(shí),內存中的1FFE和1FFF單元將作為中斷標志郵箱傳遞命令信息。當左端口定義為寫(xiě)狀態(tài)(CEL=R/WL=VIL),且在內存1FFF中進(jìn)行寫(xiě)操作時(shí),右端口的中斷標志INTR為低電平,可以向右端口發(fā)出中斷請求;當右端口對地址1FFF進(jìn)行訪(fǎng)問(wèn)時(shí)(CER=OER=VIL),無(wú)論讀寫(xiě)都可以清除右端口中斷標志INTR。相反也是一樣的,當右端口對內存1FFE進(jìn)行寫(xiě)操作時(shí),左端口可以發(fā)出中斷請求;當左端口訪(fǎng)問(wèn)地址1FFE時(shí),清除左端口中斷標志。使用中斷時(shí),向1FFF和1FFE寫(xiě)的內容由用戶(hù)自行定義,本系統中設定:申請中斷時(shí)向郵箱寫(xiě)入1或其他大于O的整數,清除中斷時(shí)向郵箱寫(xiě)入O。 系統中雙口RAM IDT7025作為DSP與PC機之間的共享數據空間,右端口與CH365相連,映射到CH365的存儲空間;左端口與DSP相連,映射到TMS320F2812的區域0。由于IDT7025的供電電壓為5 V,因此,在DSP芯片與雙口RAM芯片之間加入了一個(gè)電壓轉換芯片SN74LVTHl6245,其硬件連接示意圖如圖2所示。將圖2中的雙口RAM劃為2個(gè)存儲空間,即PC通過(guò)寫(xiě)高4 KB空間向DSP發(fā)送指令,DSP通過(guò)寫(xiě)低4KB空間向PC機反饋數據。 2.2 數據總線(xiàn)擴展電路設計 由于系統采用了雙口RAM作為DSP和CH365之間數據傳輸的緩沖芯片,而TMS320F2812的地址總線(xiàn)為19位,IDT7025為13位,CH365為16位,因此,把IDT7025的13位地址線(xiàn)A[O..12]分別與DSP的地址線(xiàn)XA[O..12]和CH365的地址線(xiàn)A[O..12]相連,并將CH365的地址線(xiàn)A0用作數據總線(xiàn)擴展的使能信號。 TMS320F2812與IDT7025的數據寬度皆為16位,由于TMS320F2812的I/O電源為3.3 V,IDT7025的電源為5 V,因此二者數據線(xiàn)之間需要連接一個(gè)電壓轉化芯片SN74LVTHl6245,并通過(guò)XR/W信號控制數據傳遞的方向;而CH365的數據寬度為8位,為使其與16位雙口RAM正常通信,系統利用CPLD對CH365的數據總線(xiàn)進(jìn)行了擴展。CPLD芯片選用A1tera公司生產(chǎn)的EPM7064,通過(guò)CH365地址線(xiàn)A0的使能對16位數據進(jìn)行分時(shí)讀/寫(xiě),從而解決了數據總線(xiàn)的擴展問(wèn)題。其內部邏輯電路如圖3所示,其中主要包括2個(gè)鎖存器(74373b),和2個(gè)三態(tài)門(mén)緩沖器(74541b)。 CH365支持PC機以單字節、雙字節(字)、四字節(雙字)為單位對I/O端口或存儲器進(jìn)行讀/寫(xiě)。在多字節連續讀/寫(xiě)操作期間,CH365每讀完一個(gè)字節數據后,就會(huì )自動(dòng)將偏移地址加1,以指向下一字節的偏移地址。在本系統中,將16位數據的讀/寫(xiě)轉化為8位數據(1字節)的分時(shí)讀/寫(xiě)。CH365讀取雙口RAM數據時(shí),首先CH365_A0為低電平,低8位數據通過(guò)三態(tài)門(mén)U3直接讀入到CH365中,高8位數據鎖存到鎖存器U4中;然后偏移地址自動(dòng)加1,CH365_A0為高電平,高8位數據由鎖存器U4讀入CH365。CH365向雙口RAM寫(xiě)入數據時(shí),首先CH365_A0為低電平,鎖存器U1使能信號G高電平有效,三態(tài)門(mén)U2無(wú)效(GN2為高電平),低8位寫(xiě)入鎖存器;然后偏移地址加1,CH365_A0為高電平,三態(tài)門(mén)U2使能信號有效,高8位數據直接寫(xiě)入雙口RAM,同時(shí)低8位數據通過(guò)鎖存器U1寫(xiě)入雙口RAM(OEN為低電平)。 對上述邏輯關(guān)系用“MAX+PLUS”進(jìn)行仿真后,得到圖4所示的時(shí)序。圖中RAM_DD和CH365_DD表示仿真結果,從圖中可知仿真結果完全符合設計要求。由此可見(jiàn),利用最低地址位CH365_A0的不同電平,CH365通過(guò)兩次連續的讀或寫(xiě)操作,成功地實(shí)現了對雙口RAM中16位數據的讀/寫(xiě),并且數據的讀/寫(xiě)時(shí)序完全符合CH365的讀/寫(xiě)時(shí)序,可以方便地進(jìn)行軟件編程。 3 上/下位機通信軟件設計 在硬件電路實(shí)現之后,把完成的板卡插于PC機的PCI插槽,上電后根據系統提示安裝CH365驅動(dòng)程序,在正確安裝好硬件之后,利用API函數,就可以在VC環(huán)境下編寫(xiě)和調試PCI和DSP的通信軟件了。 由上述可知,雙口RAM的高4 KB空間用于PC機向DSP下載數據,如果數據大于4 KB,則存在著(zhù)一次不能夠把全部數據下載到DSP中的問(wèn)題。因此,采取了向雙口RAM中循環(huán)寫(xiě)入數據的辦法,即PC機向雙口RAM一次只寫(xiě)入4 KB數據,接著(zhù)向DSP申請中斷。DSP響應中斷一次性將4 KB數據復制到DSP其他大容量存儲空間(如擴展SRAM)中,然后釋放雙口RAM空間。此時(shí)PC機便可再寫(xiě)入4 KB數據,如此循環(huán)往復,直到將所有數據都寫(xiě)入DSP中。部分代碼如下: 數據反饋功能主要是通過(guò)CH365響應DSP中斷來(lái)實(shí)現的。DSP程序將數據寫(xiě)入雙口RAM低4 KB空間后向CH365申請中斷,CH365響應中斷將數據反饋到PC并顯示到人機界面。中斷函數部分代碼如下: 結 語(yǔ) 隨著(zhù)計算機技術(shù)和電子技術(shù)的發(fā)展,將運算高速、功能強大的數字信號處理器應用于運動(dòng)控制,可以實(shí)現復雜的控制算法和實(shí)現高精度、高速度、多軸聯(lián)動(dòng),在數控應用中,將會(huì )占據越來(lái)越重要的地位。而快速準確的通信又是這種運動(dòng)控制器的基礎。本文介紹的通信方式,具有性能可靠,硬件結構簡(jiǎn)單,價(jià)格便宜的優(yōu)點(diǎn),具有較好的應用前景。 |