引 言
現(xiàn)今數(shù)控技術(shù)的發(fā)展方向是開放式體系結(jié)構(gòu)的數(shù)控系統(tǒng),但是未來的開放式數(shù)控技術(shù)發(fā)展的主流是基于計算機標(biāo)準(zhǔn)總線的“PC+運動控制卡”結(jié)構(gòu)。此類數(shù)控系統(tǒng)通常選用高速DSP作為運動控制卡CPU,采用主從式控制策略,利用PC和DSP都讀取內(nèi)存的方式來實現(xiàn)上/下位機的通信;優(yōu)點:信息處理能力強、開放程度高、運動軌跡控制準(zhǔn)確、通用性好等特點,被廣泛應(yīng)用于制造業(yè)自動化控制各個領(lǐng)域。
1 硬件電路總體設(shè)計
為實現(xiàn)對多電機的半閉環(huán)控制提供了一個良好的開發(fā)平臺。本項目是設(shè)計一款基于PCI總線的,以DSP芯片TMS320F2812為核心的多軸運動控制卡。將PC機的信息處理能力和開放式的特點與運動控制器的運動軌跡控制能力有機地結(jié)合在一起,利用雙口RAM作為公共存儲單元實現(xiàn)上/下位機的通信。
系統(tǒng)硬件總體設(shè)計功能框圖如圖1所示。
2 雙口RAM接口電路設(shè)計
2.1 雙口RAM與DSP和CH365的連接
本系統(tǒng)選用雙口RAM芯片IDT7025作為DSP與CH365雙向通信的緩沖芯片。IDT7025芯片是一款高速的8K×16位雙口靜態(tài)RAM,它提供2個獨立的端口,允許兩個(左、右)端口同時讀/寫數(shù)據(jù),每個端口具有自己獨立的控制信號線、地址線和數(shù)據(jù)線,可高速存取數(shù)據(jù),可與大多數(shù)高速處理器配合使用,而無需插入等待狀態(tài)。
雙口RAM允許2個CPU同時讀取任何存儲單元(包括同時讀同一地址單元),但不允許同時寫或一讀一寫同一地址單元。本系統(tǒng)采用基于郵箱機制的INT中斷法處理雙口RAMD地址競爭沖突現(xiàn)象,避免由此而產(chǎn)生的讀/寫錯誤。
下面簡要介紹一下IDT7025中斷的原理:當(dāng)用戶要用到中斷功能時,內(nèi)存中的1FFE和1FFF單元將作為中斷標(biāo)志郵箱傳遞命令信息。當(dāng)左端口定義為寫狀態(tài)(CEL=R/WL=VIL),且在內(nèi)存1FFF中進行寫操作時,右端口的中斷標(biāo)志INTR為低電平,可以向右端口發(fā)出中斷請求;當(dāng)右端口對地址1FFF進行訪問時(CER=OER=VIL),無論讀寫都可以清除右端口中斷標(biāo)志INTR。相反也是一樣的,當(dāng)右端口對內(nèi)存1FFE進行寫操作時,左端口可以發(fā)出中斷請求;當(dāng)左端口訪問地址1FFE時,清除左端口中斷標(biāo)志。使用中斷時,向1FFF和1FFE寫的內(nèi)容由用戶自行定義,本系統(tǒng)中設(shè)定:申請中斷時向郵箱寫入1或其他大于0的整數(shù),清除中斷時向郵箱寫入0。
2.2 數(shù)據(jù)總線擴展電路設(shè)計
系統(tǒng)采用了雙口RAM作為DSP和CH365之間數(shù)據(jù)傳輸?shù)木彌_芯片,而TMS320F2812的地址總線為19位,IDT7025為13位,CH365為16位,因此,把IDT7025的13位地址線A[O..12]分別與DSP的地址線XA[O..12]和CH365的地址線A[O..12]相連,并將CH365的地址線A0用作數(shù)據(jù)總線擴展的使能信號。
CPLD芯片選用A1tera公司生產(chǎn)的EPM7064,通過CH365地址線A0的使能對16位數(shù)據(jù)進行分時讀/寫,從而解決了數(shù)據(jù)總線的擴展問題。其內(nèi)部邏輯電路如圖3所示,其中主要包括2個鎖存器(74373b),和2個三態(tài)門緩沖器(74541b)。
在本系統(tǒng)中,CH365向雙口RAM寫入數(shù)據(jù)時,首先CH365_A0為低電平,鎖存器U1使能信號G高電平有效,三態(tài)門U2無效(GN2為高電平),低8位寫入鎖存器;然后偏移地址加1,CH365_A0為高電平,三態(tài)門U2使能信號有效,高8位數(shù)據(jù)直接寫入雙口RAM,同時低8位數(shù)據(jù)通過鎖存器U1寫入雙口RAM(OEN為低電平)。CH365讀取雙口RAM數(shù)據(jù)時,首先CH365_A0為低電平,低8位數(shù)據(jù)通過三態(tài)門U3直接讀入到CH365中,高8位數(shù)據(jù)鎖存到鎖存器U4中;然后偏移地址自動加1,CH365_A0為高電平,高8位數(shù)據(jù)由鎖存器U4讀入CH365。
對上述邏輯關(guān)系用“MAX+PLUS”進行仿真后,得到圖4所示的時序。圖中RAM_DD和CH365_DD表示仿真結(jié)果,從圖中可知仿真結(jié)果完全符合設(shè)計要求。
3 上/下位機通信軟件設(shè)計
在硬件電路實現(xiàn)之后,把完成的板卡插于PC機的PCI插槽,上電后根據(jù)系統(tǒng)提示安裝CH365驅(qū)動程序,在正確安裝好硬件之后,利用API函數(shù),就可以在VC環(huán)境下編寫和調(diào)試PCI和DSP的通信軟件了。
由上述可知,雙口RAM的高4 KB空間用于PC機向DSP下載數(shù)據(jù),如果數(shù)據(jù)大于4 KB,則存在著一次不能夠把全部數(shù)據(jù)下載到DSP中的問題。因此,采取了向雙口RAM中循環(huán)寫入數(shù)據(jù)的辦法,即PC機向雙口RAM一次只寫入4 KB數(shù)據(jù),接著向DSP申請中斷。DSP響應(yīng)中斷一次性將4 KB數(shù)據(jù)復(fù)制到DSP其他大容量存儲空間(如擴展SRAM)中,然后釋放雙口RAM空間。此時PC機便可再寫入4 KB數(shù)據(jù),如此循環(huán)往復(fù),直到將所有數(shù)據(jù)都寫入DSP中。部分代碼如下:
數(shù)據(jù)反饋功能主要是通過CH365響應(yīng)DSP中斷來實現(xiàn)的。DSP程序?qū)?shù)據(jù)寫入雙口RAM低4 KB空間后向CH365申請中斷,CH365響應(yīng)中斷將數(shù)據(jù)反饋到PC并顯示到人機界面。中斷函數(shù)部分代碼如下:
結(jié) 語
隨著計算機技術(shù)和電子技術(shù)的發(fā)展,將運算高速、功能強大的數(shù)字信號處理器應(yīng)用于運動控制,可以實現(xiàn)復(fù)雜的控制算法和實現(xiàn)高精度、高速度、多軸聯(lián)動,在數(shù)控應(yīng)用中,將會占據(jù)越來越重要的地位。而快速準(zhǔn)確的通信又是這種運動控制器的基礎(chǔ)。本文介紹的通信方式,具有性能可靠,硬件結(jié)構(gòu)簡單,價格便宜的優(yōu)點,具有較好的應(yīng)用前景。
轉(zhuǎn)載請注明出處。