由工業(yè)計(jì)算機(jī)通過(guò)PCI總線控制的前端數(shù)據(jù)采集系統(tǒng)在工業(yè)控制領(lǐng)域中得到了廣泛的應(yīng)用,一般的數(shù)據(jù)傳送系統(tǒng)在大數(shù)據(jù)量的情況下會(huì)造成數(shù)據(jù)堵塞現(xiàn)象。在系統(tǒng)設(shè)計(jì)的過(guò)程中經(jīng)過(guò)多方面的比較,最后采用高數(shù)雙口RAM構(gòu)成的高速數(shù)據(jù)交換接口成功地解決了此問(wèn)題。
CY7C026是CYPRESS公司生產(chǎn)的16K×16高速雙口靜態(tài)RAM,存取速度小于25ns。它具有真正的雙端口,可以同時(shí)進(jìn)行數(shù)據(jù)存取,兩個(gè)端口具有獨(dú)立的控制信號(hào)線、地址線和數(shù)據(jù)線,另外通過(guò)主/從選擇可以方便地?cái)U(kuò)存儲(chǔ)容量和數(shù)據(jù)寬度。通過(guò)芯片的信號(hào)量標(biāo)志器,左、右兩端口可以實(shí)現(xiàn)芯片資源的共享。CY7C026芯片的內(nèi)部功能框圖見(jiàn)圖1。
圖1 CY7C026芯片的內(nèi)部功能框圖
CY7C026的工作原理
存取原理
由CY7C026的內(nèi)部結(jié)構(gòu)圖可以看出,該芯片的核心部分是雙端口存儲(chǔ)陣列,左右兩個(gè)端口可以共用該存儲(chǔ)陣列,并且擁有各自的控制線,在單獨(dú)存取數(shù)據(jù)時(shí),和普通的RAM相同。同時(shí)讀取不同存儲(chǔ)空間的數(shù)據(jù)和同時(shí)讀取相同數(shù)據(jù)空間的數(shù)據(jù)時(shí),左右端口可以同時(shí)進(jìn)行。若同時(shí)對(duì)相同的數(shù)據(jù)空間做寫(xiě)操作,或一端口對(duì)一數(shù)據(jù)空間作讀操作的同時(shí)另一端口對(duì)該數(shù)據(jù)空間作寫(xiě)操作,左右端口將發(fā)生沖突。為此,CY7C026通過(guò)BUSY管腳來(lái)處理這兩種情況。
當(dāng)左右端口對(duì)不同存儲(chǔ)空間進(jìn)行讀寫(xiě)操作時(shí),可同時(shí)存取。此時(shí),左右端口的BUSY信號(hào)同時(shí)置高。若對(duì)同一存儲(chǔ)空間同時(shí)進(jìn)行存儲(chǔ)操作時(shí),哪一端的存儲(chǔ)請(qǐng)求信號(hào)先出現(xiàn),則該端的BUSY信號(hào)置高,允許存儲(chǔ)。哪一端的存儲(chǔ)信號(hào)出現(xiàn)在后,則這一端BUSY信號(hào)置低,禁止存儲(chǔ)。
值得注意的是,左右兩端存取請(qǐng)求信號(hào)出現(xiàn)的時(shí)間差必須大于5ns,不然仲裁邏輯無(wú)法判斷哪一邊的存取請(qǐng)求信號(hào)出現(xiàn)在前。如果出現(xiàn)兩端存取請(qǐng)求信號(hào)出現(xiàn)的時(shí)間差小于5ns的情況,仲裁邏輯將一邊的BUSY信號(hào)置高,將另一邊的BUSY信號(hào)置低,從而保證兩個(gè)端口一個(gè)執(zhí)行數(shù)據(jù)存儲(chǔ),另一端口進(jìn)行數(shù)據(jù)讀取,避免了沖突。
中斷功能和主/從模式的使用
CY7C026芯片的中斷功能是通過(guò)“信箱”來(lái)實(shí)現(xiàn)的。所謂的“信箱”是指芯片將存儲(chǔ)器的高地址3FFF作為左端口的“信箱”,而3FFE作為右端口的“信箱”。下面以左端口向右端口傳送數(shù)據(jù)為例,說(shuō)明中斷功能的用法。當(dāng)左端口將數(shù)據(jù)寫(xiě)入右端口的“郵箱”時(shí),右端口的INTR管腳就會(huì)產(chǎn)生中斷信號(hào),即INTR管腳置低。右端口讀取該數(shù)據(jù)后中斷信號(hào)自動(dòng)復(fù)位。右端口向左端口傳送數(shù)據(jù)的情況與上述情況相同。用戶需要清楚的是,該功能只適用于數(shù)據(jù)的低速傳送。
實(shí)際中,數(shù)據(jù)的寬度往往大于16位。這時(shí)就需要擴(kuò)展數(shù)據(jù)位的寬度,CY7C026的M/S管腳提供了數(shù)據(jù)擴(kuò)展的功能。例如,實(shí)際應(yīng)用中經(jīng)常需要32位的數(shù)據(jù)總線,可以將一片CY7C026的M/S管腳置低,另一片的M/S管腳置高,然后將兩塊芯片的管腳連接在一起即可。
圖2 高速數(shù)據(jù)采集和傳輸系統(tǒng)框圖
信號(hào)量標(biāo)志器的使用
信號(hào)量標(biāo)志器是該芯片所擁有的最具特色的功能,利用這種功能可以實(shí)現(xiàn)片內(nèi)資源的共享。CY7C026為實(shí)現(xiàn)該功能,提供了八個(gè)標(biāo)志鎖存器,每個(gè)鎖存器對(duì)應(yīng)一個(gè)信號(hào)量標(biāo)志器。使用信號(hào)量標(biāo)志器的過(guò)程是首先將SEM管腳置低,CE管腳置高,然后通過(guò)A0~A2三條地址線來(lái)選擇相應(yīng)的標(biāo)志鎖存器,數(shù)據(jù)的存取通過(guò)對(duì)I/O0操作來(lái)實(shí)現(xiàn)。數(shù)據(jù)存取過(guò)程中,R/W和OE的使用方式與存取普通存儲(chǔ)器的使用方式相同。芯片上電后,左、右端口的標(biāo)志器都處于空閑狀態(tài)。這時(shí)左右兩端口都可以通過(guò)對(duì)任意標(biāo)志鎖存器寫(xiě)“0”來(lái)提出使用該信號(hào)量標(biāo)志器的請(qǐng)求。然后讀取該信號(hào)量標(biāo)志器的值來(lái)確定是否獲得使用權(quán),如果讀回的值為“0”則說(shuō)明該端口獲得使用權(quán),為“1”則說(shuō)明另一端口已獲得了該標(biāo)志器的使用權(quán)。獲得使用權(quán)的端口只有對(duì)其所使用的標(biāo)志鎖存器寫(xiě)“1”后,才能放棄該信號(hào)量標(biāo)志器的使用權(quán)。如果另一端口在它放棄使用權(quán)以前提出過(guò)使用該信號(hào)量標(biāo)志器的請(qǐng)求,那么當(dāng)前端口放棄使用權(quán)后,另一端口立即獲得該信號(hào)量標(biāo)志器的使用權(quán)。相反,如果另一個(gè)端口沒(méi)有提出過(guò)請(qǐng)求,則該信號(hào)量標(biāo)志器處于空閑狀態(tài)。
CY7C026在數(shù)據(jù)傳輸系統(tǒng)中的應(yīng)用
所設(shè)計(jì)的系統(tǒng)是石油測(cè)井設(shè)備的一個(gè)子系統(tǒng),系統(tǒng)以TMS320C5402為主處理器,通過(guò)雙口RAM CY7C026作為數(shù)據(jù)共享的接口。其主要功能是接收工業(yè)計(jì)算機(jī)通過(guò)CPCI接口寫(xiě)入雙口RAM的命令,DSP將該命令下發(fā)到井下儀器,相應(yīng)的井下儀器接收到命令后,采集井下數(shù)據(jù),然后將數(shù)據(jù)傳送到DSP中,經(jīng)過(guò)DSP處理后的數(shù)據(jù)寫(xiě)入雙口RAM。最后,工業(yè)計(jì)算機(jī)通過(guò)CPCI接口將雙口RAM中的數(shù)據(jù)傳送到計(jì)算機(jī)中作顯示處理。系統(tǒng)框圖如圖2所示。
結(jié)束語(yǔ)
利用雙口RAM CY7C026的高速數(shù)據(jù)傳輸能力和DSP TMS320VC5402的高速性能能夠滿足高速數(shù)據(jù)傳輸?shù)囊?,同時(shí)能夠完成大量復(fù)雜的數(shù)據(jù)處理工作,從而兼顧了數(shù)據(jù)傳輸處理所需要的大吞吐量和高速性。
責(zé)任編輯:gt
-
dsp
+關(guān)注
關(guān)注
553文章
7968瀏覽量
348645 -
芯片
+關(guān)注
關(guān)注
454文章
50646瀏覽量
422932 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
6013瀏覽量
113603
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論