基于PCI總線的專用開放式數(shù)控系統(tǒng)研制
掃描二維碼
隨時(shí)隨地手機(jī)看文章
PC I總線規(guī)范十分復(fù)雜,開發(fā)接口設(shè)備具有相當(dāng) 的難度,在設(shè)計(jì)中需注意以下問題。PCI的時(shí)鐘扇出 能力較差,一般只支持2~3個(gè)負(fù)載; PC I接口邏輯復(fù) 雜, 總線的接口電路大致需要1000門的邏輯才能實(shí) 現(xiàn),這些邏輯電路主要作為邏輯譯碼、時(shí)序控制、寄存 器F IFO等。PCI總線接口邏輯的設(shè)計(jì)工作,不是一般 的中小規(guī)模TTL 或COMS電路所能實(shí)現(xiàn)的,所以,本 文的目標(biāo)芯片選PCI9054,同時(shí)選用TMS320F2812作 為軸控芯片。PCI9054是一種多功能、多模態(tài)的接口 控制芯片,其功能配置參見文獻(xiàn)[ 3, 4 ]。經(jīng)分析,與 TMS320F2812總線接口時(shí), PCI9054選C模式工作較 適合,圖1是PC I9054在C模式下的定時(shí)圖。
2 TMS320F2812與PC I總線接口
TMS320F2812具有外部接口XINTF, 接口具有 DMA傳送能力,這是F2812與PC I9054接口的基礎(chǔ), 圖2是F2812的PC I總線接口框圖。系統(tǒng)中有一片共 享存儲器(DMA RAM) ,它大部分時(shí)間是F2812的外 存,而軟件上把它的地址空間分為PC機(jī)和F2812“寫字板”空間,通過交換總線控制權(quán)的方式交換信息。 握手信號是采用F2812 的通用輸出引腳信號對接 PCI9054的USERi 使用者輸入端。當(dāng)F2812 允許 PCI9054占用“寫字板”時(shí),該引腳為低,此時(shí), PC機(jī)通 過讀取PC I9054的相關(guān)寄存器可探測到低電平信號, 通過PC I9054 占用F2812 總線,操作“寫字板”。當(dāng) F2812不允許PC I9054占用“寫字板”時(shí),通用輸出引 腳變高, PC機(jī)測知后,放開總線, F2812重新獲得“寫 字板”控制權(quán),依此方式循環(huán)工作。
3 數(shù)控系統(tǒng)DMA工作方式設(shè)置
為了完成DMA傳送,首先需將PCI9054芯片的局 部總線設(shè)定在C模式,而F2812的外部接口XINTF以 16位方式工作,必須進(jìn)一步將PC I9054 設(shè)定為16 位 的工作模式。由圖1的控制時(shí)序可知,在此模式下通 常PCI9054不驅(qū)動局部總線,相關(guān)引腳處于高阻狀態(tài)。 分析圖2中地址總線和數(shù)據(jù)總線的關(guān)系可知PC I9054 與F2812是可互通的,當(dāng)前數(shù)據(jù)/地址總線的控制權(quán)在 F2812手中,即掛接在總線上的DMA RAM只被F2812 所使用, 作為它的外部存儲器。一旦PC 機(jī)命令 PCI9054操作局部總線, PCI9054產(chǎn)生總線DMA握手信 號LHOLD (高電平有效,參見圖1) ,該信號送給局部總 線處理器F2812。當(dāng)F2812可以讓出總線時(shí),其總線信 號變高阻,地址和數(shù)據(jù)線讓給PCI9054,實(shí)現(xiàn)DMA操作。
PC機(jī)通過PC I9054占用F2812的總線后,原來存 儲在DMA RAM中的數(shù)據(jù)仍然有效,其中包含軸控芯 片F(xiàn)2812發(fā)送給PC機(jī)的數(shù)據(jù),該數(shù)據(jù)的地址及數(shù)據(jù) 含義由用戶自己定義。在DMA RAM中會留有一塊地 址空間用于PC機(jī)向軸控芯片傳遞指令和數(shù)據(jù)。當(dāng)操 作結(jié)束時(shí), PC機(jī)放開局部總線, DMA RAM的內(nèi)容在 F2812重新獲得控制權(quán)后變成F2812的可用信息。依 此方式, PC機(jī)和F2812在每一個(gè)數(shù)控采樣周期內(nèi)進(jìn)行 一次數(shù)據(jù)交換。
PC I9054的工作方式選為PCI目標(biāo)模式。相對于 PC機(jī), PC I9054 是從設(shè)備,而相對于F2812 它又變成 了主設(shè)備。
當(dāng)把PC I9054設(shè)定為C目標(biāo)模式下16位總線時(shí), BE3#為高字節(jié)使能(LD [ 15: 8 ] ) ,而BE2#未用, BE1# 為地址線LA1,BE0#為低字節(jié)使能(LD [ 7: 0 ] ) 。此時(shí) PCI9054具有LA1 ~LA31 共31 根地址線, F2812 的 XINTF只有20根地址線,這使地址線的處理較為復(fù)雜。 4 研磨專用數(shù)控系統(tǒng)握手信號和譯碼邏輯
(1) 譯碼邏輯
PC I9054 的LD 數(shù)據(jù)線信號直接與16 位的 F2812XINTF 數(shù)據(jù)線信號相連, 并驅(qū)動至存儲器 CY7C1041的數(shù)據(jù)線上。而256K的CY7C1041 只需 要18根地址線,即PCI9054的LA31~LA19和A18~ A19都由譯碼電路處理而產(chǎn)生接口設(shè)備的片選信號。 譯碼電路見圖3,按此圖連接,可完成接口的譯碼 功能。U1A的4個(gè)輸出端分別對應(yīng)4個(gè)256K的DMA RAM芯片的片選信號, 可用于選擇4 個(gè)軸控芯片 F2812,但需增加其他輔助電路; U3 的2Y輸出DMA RAM的寫信號, 3Y為其讀信號。U3的A /B端HOLDA 信號控制PC I9054 和F2812 的切換, 以便輪流操作 CY7C1041存儲器芯片。