PC104總線與DSP數(shù)據(jù)通信接口設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1引言
從1982年世界上誕生了首枚DSP芯片后,經(jīng)過20多年的發(fā)展,現(xiàn)在的DSP屬于第五代DSP器件。其系統(tǒng)集成度更高,已將DSP芯核及外圍器件綜合集成到單一芯片上,DSP逐漸成為數(shù)字信號(hào)處理器的代名詞。同時(shí),數(shù)字信號(hào)處理技術(shù)在理論和算法上也取得了突破性進(jìn)展,他本身也形成了比較完善的理論體系,包括數(shù)據(jù)采集、離散信號(hào)與離散系統(tǒng)分析、信號(hào)估計(jì)、信號(hào)建模、信號(hào)處理算法等內(nèi)容。DSP技術(shù)已在航空航天、遙測(cè)遙感、生物醫(yī)學(xué)、自動(dòng)控制、振動(dòng)工程、通訊雷達(dá)、水文科學(xué)等許多領(lǐng)域有著十分廣泛的應(yīng)用。通過數(shù)據(jù)采集系統(tǒng)將原始數(shù)據(jù)傳送到DSP,DSP完成算法的處理是工程上的一種應(yīng)用模式,數(shù)據(jù)的傳送可以通過各種計(jì)算機(jī)總線來實(shí)現(xiàn)。
PC104是一種專門為嵌入式控制而定義的工業(yè)控制總線,PC104與普通PC總線控制系統(tǒng)的主要區(qū)別是:
(1)小尺寸結(jié)構(gòu)。
(2)堆棧式連接。
(3)輕松總線驅(qū)動(dòng)。
PC104有2個(gè)版本,8位和16位,分別與PC和PC/AT相對(duì)應(yīng)。PC104 PLUS則與PCI總線相對(duì)應(yīng)。本文主要涉及的是PC104與DSP的16位數(shù)據(jù)通信接口設(shè)計(jì),采用了CYPRESS公司的雙端口靜態(tài)讀寫存儲(chǔ)器CY7C028V15AC作為共享存儲(chǔ)器,雙端口RAM右側(cè)接ADI公司的DSP芯片T S101,左側(cè)接PC104總線,控制邏輯用ALTERA公司ACEX系列CPLD中的EP1K100TC208來實(shí)現(xiàn)。
2雙端口RAM訪問模式
CY7C028V15AC是16 b×64 k的雙端口RAM,支持高速的訪問,訪問速度為20 ns,支持左右2個(gè)端口完全異步訪問。2個(gè)端口的選通信號(hào)有效,則雙端口RAM兩側(cè)可以同時(shí)對(duì)雙端口RAM進(jìn)行讀寫操作。需要解決的是當(dāng)同時(shí)訪問到一個(gè)存貯塊時(shí)的沖突問題。有2種方法可以解決訪問沖突:一種是信號(hào)令牌傳遞方式,雙端口RAM內(nèi)部提供了8個(gè)Semaphore鎖存單元,可以在邏輯上把雙端口RAM劃分為8個(gè)區(qū)段;當(dāng)某個(gè)端口要訪問某個(gè)區(qū)塊時(shí),首先向相應(yīng)的鎖存單元請(qǐng)求令牌,以確定訪問是否會(huì)產(chǎn)生沖突,即向某一個(gè)鎖存單元寫“0”,然后讀回所寫數(shù)據(jù),如果成功,則對(duì)應(yīng)于該鎖存單元的塊是空閑的,可以訪問,否則就不能訪問。當(dāng)一側(cè)正在訪問雙端口RAM的某一塊,則相應(yīng)的鎖存單元對(duì)另一側(cè)是不能訪問的。申請(qǐng)令牌通過讀寫I/O的方式實(shí)現(xiàn),實(shí)際用到的是雙端口RAM左右兩側(cè)數(shù)據(jù)總線的D0位,地址總線的A2~A0位(其譯碼對(duì)應(yīng)于8個(gè)鎖存單元),以及左右兩側(cè)對(duì)鎖存單元訪問的使能控制端SEML和SEMR。另一種方式是中斷方式。在中斷方式下,RAM最高的兩個(gè)地址作為通訊郵箱,F(xiàn)FFEH分配給右端口,F(xiàn)FFFH分配給左端口。兩個(gè)郵箱的使用方法一致。以右端口為例,當(dāng)DSP向FFFEH地址寫任意一個(gè)值時(shí),左端口的中斷請(qǐng)求信號(hào)INTL有效,當(dāng)響應(yīng)完中斷請(qǐng)求后,PC104總線讀一次FFFEH地址就可以INTL清除中斷。
本文中采用中斷方式設(shè)計(jì)PC104與DSP的握手信號(hào)??紤]到用CPLD來設(shè)計(jì)數(shù)字邏輯的靈活性和可重復(fù)編程,用CPLD來控制中斷請(qǐng)求與響應(yīng)信號(hào),所以RAM最高端的兩個(gè)地址仍作為普通的R AM單元使用。雙端口RAM左右端口的連接如圖1所示。
? 當(dāng)DSP向PC104請(qǐng)求數(shù)據(jù),TS101的標(biāo)志位FLAG0通過CPLD的緩沖連接到PC104的其中一條中斷信號(hào)引腳,當(dāng)PC104收到中斷請(qǐng)求向RAM寫完數(shù)據(jù),通過寫I/O口的方式,由CPLD產(chǎn)生回復(fù)信號(hào)到TS101的IRQ0,TS101在適當(dāng)?shù)臅r(shí)間讀取數(shù)據(jù)并進(jìn)行算法處理。當(dāng)TS101向PC104發(fā)送數(shù)據(jù),則先向RAM中寫數(shù)據(jù),寫完后由標(biāo)志位FLAG1產(chǎn)生讀數(shù)據(jù)請(qǐng)求信號(hào),通過CPLD緩沖連接到PC10 4的另一條中斷信號(hào)引腳,PC104響應(yīng)中斷讀完數(shù)據(jù),通過寫I/O口的方式由CPLD產(chǎn)生回復(fù)信號(hào)到TS101的IRQ1。當(dāng)PC104訪問雙端口RAM時(shí)。數(shù)據(jù)總線的16位通過CPLD緩沖連接到RAM左端口的I/O15L~I/O0L,因?yàn)?6位的數(shù)據(jù)訪問占用的是偶地址,所以地址總線的A16~A1在CPLD緩沖后連接到RAM的左端口的A15L~A0L地址線。PC104其余的地址線通過在CPLD里的譯碼產(chǎn)生RAM左端口的選通信號(hào)。當(dāng)TS101訪問RAM,TS101的前16根地址線連接到RAM的A15R~A0R,前16根數(shù)據(jù)線連接到RAM右端口的I/O15R~I/O0R,用產(chǎn)生選通信號(hào),通過TS 101的編程實(shí)現(xiàn),訪問RAM的有效地址由用戶定義。?
3PC104與CPLD的連接關(guān)系
通過CPLD,PC104要實(shí)現(xiàn)對(duì)雙端口RAM的訪問,首先要考慮的是分配給RAM的存儲(chǔ)地址,因?yàn)?4 k×16 b的RAM需要64 k的偶地址空間,或者說128 k的連續(xù)地址空間,工控機(jī)1 M以內(nèi)可由用戶使用的自由地址空間往往達(dá)不到128 k。所以應(yīng)將RAM安排在1 M地址空間以外訪問。此時(shí)除了用到用于1 M尋址的地址線SA19~SA0,還要采用1 M外尋址的地址線LA23~LA17。需要注意的是,PC104的總線上的SA19~SA17與LA19~LA17是重復(fù)的。區(qū)別在于SA10~SA0是通過總線地址鎖存使能信號(hào)BALE鎖存輸出,而LA19~LA17未經(jīng)鎖存,為保證在對(duì)RAM訪問期內(nèi)地址信號(hào)一直有效,至少應(yīng)在CPLD內(nèi)將LA23~LA20進(jìn)行BALE鎖存。本文中將RAM的地址安排在1 M地址空間外從100000 H開始的64 K偶地址。所有需要用到的PC104信號(hào)線都連接到CPLD,CPLD將SA16~SA1緩沖連接到RAM,其余地址線譯碼產(chǎn)生RAM左端口選通信號(hào)。PC104與CPLD連接的訪問邏輯如圖2所示。
其中有效表示數(shù)據(jù)總線的高8位有效,SA0有效表示數(shù)據(jù)總線的低8位有效,作為譯碼信號(hào)的一部分,對(duì)于單片16位數(shù)據(jù)線的集成電路,實(shí)際上也可以不連接,用SA0和高端地址線譯碼產(chǎn)生選片信號(hào)。AEN信號(hào)有效表示計(jì)算機(jī)在和某個(gè)設(shè)備進(jìn)行DMA傳送,其他的設(shè)備發(fā)現(xiàn)AEN信號(hào)有效,就不要響應(yīng)尋址信號(hào)。因此在CPLD內(nèi)部邏輯里設(shè)置當(dāng)AEN信號(hào)有效時(shí),將進(jìn)入CPLD的地址信號(hào)線置為高阻態(tài)。
是存儲(chǔ)器讀寫信號(hào),是用于1 M以外地址空間的讀寫信號(hào),當(dāng)這兩個(gè)信號(hào)之一有效且尋址到1 M內(nèi)的地址,將分別使1 M以內(nèi)地址的讀寫
一起控制總線周期的長(zhǎng)短。有3種存儲(chǔ)器訪問周期:標(biāo)準(zhǔn)周期,就緒周期,無等待狀態(tài)周期。訪問時(shí)序如圖3所示。
?
在設(shè)計(jì)的時(shí)候考慮到信號(hào)在CPLD里的延時(shí),如果標(biāo)準(zhǔn)周期對(duì)于訪問的時(shí)間長(zhǎng)度不夠,可以采 用有1個(gè)等待狀態(tài)的就緒周期,而這只需要修改CPLD的設(shè)計(jì)并重新下載到CPLD即可,由此可 見用CPLD作為控制芯片的優(yōu)點(diǎn)。
4結(jié)語
本文說明的這種PC104總線與DSP的數(shù)據(jù)通訊接口設(shè)計(jì),也可以作為采用其他計(jì)算機(jī)總線與DS P進(jìn)行16位數(shù)據(jù)通訊接口設(shè)計(jì)的參考。