<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用CPLD實(shí)現DSP與PLX9054之間的連接

用CPLD實(shí)現DSP與PLX9054之間的連接

作者:■ 解放軍信息工程大學(xué)信息工程學(xué)院 李松 汪洋 葛臨東 時(shí)間:2005-04-27 來(lái)源:eaw 收藏

摘    要:本文介紹了利用CPLD實(shí)現DSP芯片TMS320C6711b和PCI橋芯片PLX9054之間的高速數據傳輸,并給出了相應的系統設計原理圖和性能分析。
關(guān)鍵詞:;;
引言
CPLD為設計任務(wù)從最簡(jiǎn)單的PAL綜合設計到先進(jìn)的實(shí)時(shí)硬件現場(chǎng)升級提供了全套的解決方法。本文討論如何使用Xilinx公司的CPLD器件XC9500LV實(shí)現PLX9054的局部總線(xiàn) ( )和DSP的口之間的實(shí)時(shí)通信。采用這種設計可以以單字或DMA方式完成主機與DSP之間的高速數據傳輸,傳輸速率達到16Mb/s??梢詰糜趯?shí)時(shí)的圖形、圖像及動(dòng)畫(huà)處理場(chǎng)合。

設計需求
  接口要求
PLX9054是PCI接口專(zhuān)用主從器件,包括通信、網(wǎng)絡(luò )、磁盤(pán)控制、多媒體等高性能接口功能。PLX9054可以以多種方式實(shí)現從pci總線(xiàn)端到局部總線(xiàn)端的數據轉移,如直接傳輸,DMA控制傳輸等。pci總線(xiàn)和局部總線(xiàn)之間以6個(gè)可編程FIFO連接,可實(shí)現突發(fā)并行傳輸。通過(guò)串行EEPROM或PCI主控設備對PLX9054內部的配置寄存器進(jìn)行設置,簡(jiǎn)化框圖如圖1所示。通過(guò)配置EEPROM,設置PLX9054作為的從設備,工作在C模式下(數據、地址總線(xiàn)非復用),局部總線(xiàn)數據寬度為16bit,并使能外部設備就緒信號READY,禁止無(wú)限爆發(fā)操作(屏蔽BTERM bit)。
局部總線(xiàn)端的讀、寫(xiě)時(shí)序基本相同,如圖2所示。以寫(xiě)周期為例說(shuō)明。首先,PLX9054通過(guò)置LHOLD信號有效來(lái)申請局部總線(xiàn)的主控權,在收到局部總線(xiàn)仲裁的響應信號LHOLDA之后,PLX9054成為局部總線(xiàn)的主控。隨后置ADS#信號為低,使得地址總線(xiàn)信號LA[31:2]、字節使能信號LBE[3:0]和讀寫(xiě)選擇信號LW/R#進(jìn)入有效狀態(tài)。一個(gè)LCLK周期之后,PLX9054停止驅動(dòng)ADS#。這時(shí),地址總線(xiàn)LA[31:2]上的地址信號將保持有效,直至數據線(xiàn)上的數據有效,并保持一個(gè)LCLK周期。數據線(xiàn)LD[15:0]上的數據信號由READY#驅動(dòng),在讀、寫(xiě)操作周期,READY#分別表示局部總線(xiàn)設備已經(jīng)準備好發(fā)送或者接收數據。BLAST#信號由PLX9054提供,BLAST#信號為低,表示一次傳輸的最后一個(gè)字節,BLAST#的上升沿標志一次數據傳輸完成。一個(gè)LCLK周期之后,PLX9054拉低LHOLD,放棄對局部總線(xiàn)的主控權。局部總線(xiàn)仲裁響應PLX9054的LHOLD信號,拉低LHOLDA,收回局部總線(xiàn)主控權,這時(shí)的局部總線(xiàn)置于閑置狀態(tài)。這里,PLX9054作為局部總線(xiàn)主控權的唯一申請者,只要提出總線(xiàn)申請,局部總線(xiàn)仲裁就立即響應該申請。
設計要求
HPI是一種數據寬度為16bit的并行端口,通過(guò)HPI,主機可以直接對CPU的存儲器空間進(jìn)行操作。HPI內部加入了兩個(gè)8級深度的讀寫(xiě)緩沖,可以執行地址自增的讀寫(xiě)操作,提高了讀寫(xiě)操作的吞吐量。HPI為內部CPU提供了標準32bit的數據接口,而它為外部主機提供了一個(gè)經(jīng)濟的16bit接口,所以對外部主機而言,每次讀寫(xiě)必須執行成對的16bit操作。
HPI內部有3個(gè)寄存器,分別是控制寄存器(HPIC),地址寄存器(HPIA)和數據寄存器(HPID)。這3個(gè)寄存器可以直接被主機訪(fǎng)問(wèn),主機每執行一次對CPU內部存儲空間的訪(fǎng)問(wèn),都必須先對控制寄存器和地址寄存器寫(xiě)入相應的值,然后才能對數據寄存器進(jìn)行讀寫(xiě)操作。HPI的外部接口由數據總線(xiàn)HD[15:0]以及一部分用于描述和控制HPI的控制信號組成,這些控制信號包括:
HCNTL[1:0]:控制HPI的操作類(lèi)型。
HHWIL:半字確認輸入,“0”,“1”分別表示一次字傳輸的第一個(gè)半字和第二個(gè)半字。
HR/W#:讀/寫(xiě)選擇。
HRDY#:就緒狀態(tài)標志。
HINT#:中斷標志,DSP向主機提中斷。
HAS#:區別地址/數據復用總線(xiàn)的數據與地址。
HDS1#,HDS2#,HCS#:數據選通輸入,共同作用產(chǎn)生一個(gè)HPI內部選通信號HSTROBE#:
HSTROBE# = [NOT(HDS1# XOR HDS2#)] OR HCS#。
對于一個(gè)寫(xiě)HPI的操作,首先使能HCS#,變化HDS1#或HDS2#,使得HSTROBE#信號產(chǎn)生一個(gè)下降沿。HPI這個(gè)下降沿采樣控制信號HCNTL[1:0]、HHWIL和HR/W#,使能HCS#的同時(shí),扇出HRDY#。主機進(jìn)入等待狀態(tài),直到HRDY#產(chǎn)生下降沿,表明HPID已清空,可以接收新的數據。這時(shí)HSTROBE#產(chǎn)生一個(gè)上升沿,采樣HD[15:0]上的數據送入HPID,完成第一個(gè)半字的寫(xiě)入。對于第二個(gè)半字的寫(xiě)入,由于32bit的HPID已經(jīng)清空,可以直接寫(xiě)入數據,不會(huì )出現未準備好的情況,所以HRDY#一直保持為低。與第一個(gè)字節的寫(xiě)入相同,在HSTROBE#的下降沿采樣控制信號,HSTROBE#的上升沿采樣數據總線(xiàn)HD[15:0]的數據送入HPID,完成一個(gè)32bit的寫(xiě)入操作。
對于讀HPI的操作,當HCS#變成有效,在主機不采用地址自增方式從HPID執行讀操作時(shí)(case1),HPI會(huì )向內部地址產(chǎn)生硬件送一個(gè)讀請求。HCS#的下降沿使得HRDY#變?yōu)楦唠娖?,直到內部地址產(chǎn)生硬件將請求的數據裝載進(jìn)HPID,HRDY#變?yōu)橛行顟B(tài)。數據線(xiàn)上的數據為讀出的數據,該數據保持有效,直到HSTROBE#上升沿采樣數據后的10ns左右。在第二次讀操作開(kāi)始時(shí),數據已經(jīng)出現在HPID上了,因此,第二個(gè)半字的讀操作將不會(huì )遇到未準備好的情況。在HPID以地址自增的方式進(jìn)行讀操作時(shí),HCS#在整個(gè)多個(gè)字節的傳輸過(guò)程中始終保持有效,一旦完成現在的讀操作,下一地址的數據馬上被取出。因此,完成現在讀操作的第二個(gè)半字的傳輸之后(在HSTROBE#的第二個(gè)上升沿),由HSTROBE#的下降沿(通過(guò)變化HDS1#或者HDS2#來(lái)產(chǎn)生)扇出HRDY#信號,用于指示HPI正忙于數據的預讀取。

設計實(shí)現
CPLD的功能是要完成局部總線(xiàn)端和HPI端口之間控制信號和數據總線(xiàn)的連接,并保證數據傳輸的可靠性。通過(guò)以上對局部總線(xiàn)和HPI的讀寫(xiě)時(shí)序的分析得知,一些關(guān)鍵信號,例如HCS#、READY#和HRDY#的時(shí)序設計很重要,整個(gè)CPLD設計的主要任務(wù)也是圍繞這幾個(gè)信號的設計展開(kāi)的。
由HCS#、HDS1#和HDS2#共同作用產(chǎn)生的HPI口內部信號HSTROBE#的上升沿和下降沿直接控制著(zhù)送入HPI端口的數據信號和控制信號,并且HSTROBE#變化的速率決定了數據傳輸的速率,因此它是一個(gè)非常關(guān)鍵的信號。這里,HCS#信號作為字節傳輸標志信號,在一次數據傳輸的過(guò)程中始終保持有效。數據傳輸結束之后,將HCS#拉高,從而控制HRDY#信號恢復到初始狀態(tài),為下一次讀寫(xiě)操作做好準備。HDS1#或者HDS2#中的一個(gè)固定接高電平,變化另外一個(gè)來(lái)控制HSTROBE#產(chǎn)生上升沿和下降沿。這里將HDS1#固定接高電平,由ADS#和HRDY#信號產(chǎn)生邏輯來(lái)控制HDS2#信號。當HRDY#處于無(wú)效狀態(tài),即HPI端口未準備就緒時(shí),HDS2#信號不變,不采樣任何信號;當HRDY#有效時(shí),HCS2#信號同ADS#信號保持一致,在A(yíng)DS#的下降沿采樣控制信號,上升沿采樣數據信號。另外,在一次傳輸開(kāi)始之前和結束之后,HDS2#都要保持為高電平。
其他一些控制信號,如高低字節標志信號HHWIL是隨著(zhù)HSTROBE#的上升沿的出現不斷產(chǎn)生0和1的交替變化,所以用HDS2#作時(shí)鐘輸入的兩分頻電路來(lái)產(chǎn)生HHWIL。局部總線(xiàn)申請應答信號LHOLDA由LHOLD信號經(jīng)一個(gè)LCLK的延遲后輸出產(chǎn)生。HCNTL[0:1]接兩根地址線(xiàn),由上層驅動(dòng)程序來(lái)控制對HPI內部不同寄存器的訪(fǎng)問(wèn),LW/R接反相器來(lái)產(chǎn)生HW/R信號。原理如圖3所示。

結語(yǔ)
本文提供的這種設計方法經(jīng)過(guò)實(shí)際運行檢驗,可以保證PLX9054和DSP之間的可靠連接,且邏輯關(guān)系簡(jiǎn)單,數據線(xiàn)可完全獨立于CPLD之外直接連接,從而有效地節約成本,具有較強的實(shí)用價(jià)值和經(jīng)濟價(jià)值?!?/P>

參考文獻
1.PLX9054 data book version2.1. PLX   January 2000
2.TMS320C6711/B/C data book . TI  Febeuary 1999
3.TMS320C6000 Peripherals Reference Guide. TI  February 2001



關(guān)鍵詞: HPI local bus PCI總線(xiàn)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>