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