專(zhuān)利名稱(chēng):基于現(xiàn)場(chǎng)可編程門(mén)陣列的IEEE 1394b數(shù)據(jù)傳輸處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于FPGA (現(xiàn)場(chǎng)可編程門(mén)陣列)的IEEE 1394b數(shù)據(jù)傳輸處 理系統(tǒng),可應(yīng)用于高帶寬IEEE 1394b數(shù)據(jù)在FPGA上面?zhèn)鬏敽吞幚淼膱?chǎng)合。屬 于通訊技術(shù)領(lǐng)域。
背景技術(shù):
IEEE 1394,俗稱(chēng)火線接口,最初是由蘋(píng)果公司提出,當(dāng)時(shí)的目的是為了簡(jiǎn) 化計(jì)算機(jī)的連線,并為實(shí)時(shí)數(shù)據(jù)傳輸提供一個(gè)高速接口。 IEEE 1394有如下特 點(diǎn)傳輸速度快,支持100Mb/s (兆比特每秒)、200Mb/s、 400Mb/s、 800Mb/s 甚至3200Mb/s的傳輸速率;支持點(diǎn)到點(diǎn)傳輸,每個(gè)節(jié)點(diǎn)脫離主機(jī)自主執(zhí)行事務(wù); 即插即用并且支持熱拔插;存在距離限制,節(jié)點(diǎn)之間的距離不能超過(guò)4.5米, 如加上中繼器,兩個(gè)節(jié)點(diǎn)之間的距離最大為72米;支持等時(shí)數(shù)據(jù)傳輸和異步數(shù) 據(jù)傳輸兩類(lèi)傳輸方式;設(shè)備之間采用樹(shù)形或者菊花鏈的拓?fù)浣Y(jié)構(gòu),每條總線最 多連接63臺(tái)設(shè)備;將資源看成寄存器和內(nèi)存單元,可以按照CPU-內(nèi)存的傳輸速 率進(jìn)行讀寫(xiě)操作等。IEEE 1394從提出到現(xiàn)在不斷完善和發(fā)展,很多產(chǎn)品都采用 了該接口作為它們的標(biāo)準(zhǔn)接口 。
目前,市場(chǎng)上主流應(yīng)用的IEEE 1394規(guī)范版本分為兩種IEEE 1394a-2000 和IEEE 1394b-2002。其中IEEE 1394a在嵌入式系統(tǒng)應(yīng)用非常的廣泛,包括在 DSP (數(shù)字信號(hào)處理器),ARM (Advanced RISC Machines), FPGA等芯片上面連 接實(shí)現(xiàn),產(chǎn)品也日趨成熟和穩(wěn)定。但I(xiàn)EEE 1394b由于傳輸速率相對(duì)較高(一般 為800Mb/s),電路較IEEE 1394a復(fù)雜,形成產(chǎn)品化的含IEEE 1394b通信接口的 嵌入式系統(tǒng)少之又少。在很多需要高傳輸速率的場(chǎng)合,例如高分辨高幀率攝像 機(jī)圖像處理,迫切需要在嵌入式系統(tǒng)上面實(shí)現(xiàn)IEEE 1394b傳輸?,F(xiàn)在有些專(zhuān)門(mén) 設(shè)計(jì)IP (知識(shí)產(chǎn)權(quán))核的公司,成功的在FPGA或者ASIC (專(zhuān)用集成電路)上面實(shí)現(xiàn)了IEEE 1394b鏈路層和物理層功能,但是其價(jià)格昂貴,沒(méi)有得到廣泛使 用。因此在FPGA上面開(kāi)發(fā)一種簡(jiǎn)單易于實(shí)現(xiàn)的IEEE 1394b數(shù)據(jù)傳輸處理系統(tǒng) 具有極大的現(xiàn)實(shí)意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提出一種基于FPGA的IEEE 1394b 數(shù)據(jù)傳輸處理系統(tǒng),實(shí)現(xiàn)高帶寬數(shù)據(jù)在FPGA上面?zhèn)鬏?,可達(dá)到800Mb/s的傳輸 速率,實(shí)現(xiàn)簡(jiǎn)便,成本低。
為實(shí)現(xiàn)上述目的,本發(fā)明以PCI (外設(shè)組件互連)總線協(xié)議,IEEE 1394b協(xié) 議,IEEE 1394 OHCI (開(kāi)放式主機(jī)控制接口)協(xié)議為基礎(chǔ),設(shè)計(jì)的基于FPGA的 IEEE 1394b數(shù)據(jù)傳輸處理系統(tǒng)包括FPGA邏輯和控制電路,IEEE 1394b控制器 電路,存儲(chǔ)器電路,外部復(fù)位電路和時(shí)鐘電路等基本電路模塊。
所述的FPGA邏輯和控制電路,其核心為FPGA芯片,該芯片內(nèi)部以SOPC (可 編程片上系統(tǒng))的方式整合了嵌入式處理器、PCI接口控制器、存儲(chǔ)器接口控制 器、片上存儲(chǔ)器和鎖相環(huán)控制器。其中嵌入式處理器作為整個(gè)傳輸系統(tǒng)的控制 和處理的核心單元,通過(guò)總線與PCI接口控制器、存儲(chǔ)器接口控制器、片上存 儲(chǔ)器和鎖相環(huán)控制器相連,控制整個(gè)傳輸處理系統(tǒng)的初始化和數(shù)據(jù)通信。PCI接 口控制器與IEEE 1394b控制器電路和時(shí)鐘電路相連,按照IEEE 1394開(kāi)放式主 機(jī)控制接口協(xié)議配置。存儲(chǔ)器接口控制器與存儲(chǔ)器電路相連,提供存儲(chǔ)器的數(shù) 據(jù)通道。鎖相環(huán)控制器與時(shí)鐘電路相連,提供特定相位和頻率的時(shí)鐘信號(hào)。
所述的IEEE 1394b控制器電路與時(shí)鐘電路和外部IEEE 1394b設(shè)備相連, 其核心為IEEE 1394b鏈路層芯片和物理層芯片,實(shí)現(xiàn)IEEE 1394b同步和異步 數(shù)據(jù)包的發(fā)送和接收。
所述的外部復(fù)位電路與FPGA邏輯和控制電路相連,提供整個(gè)傳輸處理系統(tǒng) 的復(fù)位邏輯。
本發(fā)明的信息處理內(nèi)容和流程為首先IEEE 1394b設(shè)備接入到所述的基于 FPGA的IEEE 1394b數(shù)據(jù)傳輸處理系統(tǒng)。系統(tǒng)上電后,外部復(fù)位電路使能系統(tǒng)復(fù) 位。FPGA內(nèi)部嵌入處理器開(kāi)始工作,配置內(nèi)部PCI接口控制器,初始化IEEE 1394b控制器電路。接著FPGA內(nèi)部嵌入處理器發(fā)起IEEE 1394b總線復(fù)位命令并強(qiáng)制 自己為根節(jié)點(diǎn),完成樹(shù)標(biāo)示和自標(biāo)示。最后FPGA內(nèi)部嵌入處理器通過(guò)發(fā)送異步 數(shù)據(jù)包的方式復(fù)位IEEE 1394b設(shè)備,隨后配置IEEE 1394b設(shè)備,并使能該設(shè) 備數(shù)據(jù)傳輸。
與現(xiàn)有技術(shù)相比,本發(fā)明的系統(tǒng)實(shí)現(xiàn)容易,開(kāi)發(fā)周期短,成本低,完全實(shí) 現(xiàn)了 IEEE 1394b高帶寬數(shù)據(jù)在FPGA上面的實(shí)時(shí)傳輸處理,可以廣泛的集成于 各種需要IEEE 1394b高帶寬數(shù)據(jù)的嵌入式系統(tǒng)中。
圖l為本發(fā)明系統(tǒng)的結(jié)構(gòu)框圖。
圖2為本發(fā)明的FPGA邏輯和控制電路的實(shí)例框圖。
具體實(shí)施例方式
為了更好地理解本發(fā)明的技術(shù)方案,以下結(jié)合附圖和實(shí)施例作進(jìn)一歩的詳 細(xì)描述。本實(shí)施例是在本發(fā)明技術(shù)方案的前提下進(jìn)行實(shí)施,但本發(fā)明的保護(hù)范 圍不限于以下具體實(shí)施例。
如圖l所示,本發(fā)明包括FPGA邏輯和控制電路,IEEE 1394b控制器電路, 存儲(chǔ)器電路,外部復(fù)位電路、時(shí)鐘電路等基本單元。各個(gè)單元之間互連關(guān)系如 圖l所示FPGA邏輯和控制電路分別與IEEE 1394b控制器電路、存儲(chǔ)器電路、 外部復(fù)位電路和時(shí)鐘電路連接;IEEE 1394b控制器電路與IEEE 1394b設(shè)備和時(shí) 鐘電路連接。
本發(fā)明所述的FPGA邏輯和控制電路如圖2所示,實(shí)施例采用的FPGA芯片 為altera公司的EP2C70,通過(guò)altera公司的SOPC builder工具整合了嵌入 式處理器(NIOSIICPU), PCI接口控制器,存儲(chǔ)器接口控制器,片上存儲(chǔ)器和 鎖相環(huán)控制器組件,各個(gè)組件通過(guò)總線(這里為avalon-MM總線)互連。其中 NIOS II CPU作為整個(gè)傳輸系統(tǒng)的控制和處理的核心單元,通過(guò)總線與PCI接 口控制器、存儲(chǔ)器接口控制器、片上存儲(chǔ)器和鎖相環(huán)控制器相連,控制整個(gè)傳 輸系統(tǒng)的初始化和數(shù)據(jù)通信。PCI接口控制器與IEEE 1394b控制器電路和時(shí)鐘 電路相連,提供中斷請(qǐng)求信號(hào)(IRQ)給NIOS II CPU,工作在PCI host bridge(主橋)的模式,具體其突發(fā)傳輸功能,系統(tǒng)上電后需完成PCI-to-avalon和 avalon-to-PCI基地址配置寄存器配置(具體參考1394 Open Host Controller Interface Specification, Release 1.1, January 6, 2000)。存儲(chǔ)器接口控 制器與存儲(chǔ)器電路相連,該控制器提供存儲(chǔ)器的數(shù)據(jù)通道,存儲(chǔ)器的類(lèi)型可以 是SDRAM、 DDR SDRAM或者DDR II SDRAM等。鎖相環(huán)控制器與時(shí)鐘電路相連, 提供特定相位和頻率的時(shí)鐘信號(hào)。鎖相環(huán)控制器產(chǎn)生的時(shí)鐘1 (CI)連接到NIOS II CPU、 PCI接口控制器和片上存儲(chǔ)器,時(shí)鐘2 (C2)連接到存儲(chǔ)器電路,時(shí)鐘 2需根據(jù)實(shí)際電路延時(shí)調(diào)整相對(duì)于時(shí)鐘1的相位偏移。
實(shí)施例中的時(shí)鐘電路,輸出外部時(shí)鐘l、外部時(shí)鐘2和外部時(shí)鐘3,其中外 部時(shí)鐘1與鎖相環(huán)控制器連接,提供FPGA所需基本時(shí)鐘,外部時(shí)鐘2與PCI接 口控制器連接,提供PCI接口控制器所需的33MHz時(shí)鐘,外部時(shí)鐘3與IEEE 1394b 控制器電路連接,提供IEEE 1394b控制器電路所需時(shí)鐘。
所述IEEE 1394b控制器電路,本實(shí)施例采用了 TI公司的IEEE1394b鏈路 層芯片TSB82AA2和物理層芯片TSB81BA3,在滿(mǎn)足功能要求的情況下,其他電路 方案完全可以替換。如圖1所示本發(fā)明系統(tǒng)結(jié)構(gòu)框圖中的存儲(chǔ)器電路,外部復(fù) 位電路和時(shí)鐘電路,都是非常成熟穩(wěn)定的電路,選擇的方案非常多,只要滿(mǎn)足 當(dāng)前要求都可以采用。另外本實(shí)施例中所需的電源電路只要滿(mǎn)足實(shí)際所需的電 源規(guī)格和要求,都可以采用。
下面針對(duì)本實(shí)施例的具體過(guò)程作說(shuō)明-
1、 NIOS II CPU配置IEEE1394b鏈路層芯片的PCI寄存器,包括置位PCI 命令寄存器的MS(存儲(chǔ)器空間控制)和BM(總線主設(shè)備控制)位為1,寫(xiě)0HCI 寄存器基地址到PCI基地址寄存器0,以及讀取該P(yáng)CI設(shè)備的一些其它信息,如 設(shè)備識(shí)別字段,供應(yīng)商識(shí)別字段等。
2、 NIOS II CPU初始化IEEE1394b鏈路層芯片的0HCI寄存器,依次包括 使能寄存器軟復(fù)位,置LPS (連接電源狀態(tài))位,清除中斷寄存器,置CMC (周 期控制器)、ISC (等時(shí)資源管理器)和IRMC (總線管理器)位,設(shè)置總線號(hào), 使能post write位,清除控制寄存器,使能周期定時(shí)器和周期控制器,置等時(shí)資源管理器競(jìng)爭(zhēng)位,設(shè)置自標(biāo)識(shí)DMA (直接存儲(chǔ)器存取)緩存區(qū),使能自標(biāo)識(shí) DMA,設(shè)置Configuration ROM (配置只讀內(nèi)存)映射寄存器,獲得最大的包尺 寸,清中斷屏蔽寄存器,初始化異步接收D區(qū),初始化異步發(fā)送D區(qū),設(shè)置中斷 掩碼以允許產(chǎn)生某些中斷,設(shè)置異步接收過(guò)濾寄存器允許接受所有節(jié)點(diǎn)發(fā)送的 異步數(shù)據(jù)包,定義異步發(fā)送的重試次數(shù),設(shè)置字節(jié)交換,允許中斷,使能鏈路 層。
3、 NIOS II CPU通過(guò)置物理層芯片基地址寄存器的IBR (總線復(fù)位)位為 1,發(fā)起IEEE 1394b總線復(fù)位命令并強(qiáng)制自己為根節(jié)點(diǎn),完成樹(shù)標(biāo)示和自標(biāo)示。
4、 NIOS II CPU通過(guò)發(fā)送異步數(shù)據(jù)包的方式復(fù)位IEEE 1394b設(shè)備(如IEEE 1394b攝像機(jī))。這里以IEEE1394b攝像機(jī)為例,復(fù)位該攝像機(jī)后,訪問(wèn)攝像機(jī) 狀態(tài)和控制寄存器信息,設(shè)置接收?qǐng)D像的大小、幀率和位數(shù)等信息。初始化等 時(shí)接收腿(具體參考1394 Open Host Controller Interface Specification, Release 1.1, January 6, 2000),使能IEEE 1394b攝像機(jī),開(kāi)始圖像傳輸。
權(quán)利要求
1.一種基于現(xiàn)場(chǎng)可編程門(mén)陣列FPGA的IEEE 1394b數(shù)據(jù)傳輸處理系統(tǒng),其特征在于包括FPGA邏輯和控制電路,IEEE 1394b控制器電路,存儲(chǔ)器電路,外部復(fù)位電路和時(shí)鐘電路;所述的FPGA邏輯和控制電路,其核心為FPGA芯片,該芯片內(nèi)部以可編程片上系統(tǒng)的方式整合了嵌入式處理器、外設(shè)組件互連PCI接口控制器、存儲(chǔ)器接口控制器、片上存儲(chǔ)器和鎖相環(huán)控制器;其中嵌入式處理器作為整個(gè)傳輸系統(tǒng)的控制和處理的核心單元,通過(guò)總線與PCI接口控制器、存儲(chǔ)器接口控制器、片上存儲(chǔ)器和鎖相環(huán)控制器相連,控制整個(gè)傳輸處理系統(tǒng)的初始化和數(shù)據(jù)通信;PCI接口控制器與IEEE 1394b控制器電路和時(shí)鐘電路相連,按照IEEE 1394開(kāi)放式主機(jī)控制接口協(xié)議配置;存儲(chǔ)器接口控制器與存儲(chǔ)器電路相連,提供存儲(chǔ)器的數(shù)據(jù)通道;鎖相環(huán)控制器與時(shí)鐘電路相連,提供特定相位和頻率的時(shí)鐘信號(hào);所述的IEEE 1394b控制器電路與時(shí)鐘電路和外部IEEE 1394b設(shè)備相連,其核心為IEEE 1394b鏈路層芯片和物理層芯片,實(shí)現(xiàn)IEEE 1394b同步和異步數(shù)據(jù)包的發(fā)送和接收;所述的外部復(fù)位電路與FPGA邏輯和控制電路相連,提供整個(gè)傳輸處理系統(tǒng)的復(fù)位邏輯。
全文摘要
本發(fā)明提出了一種基于現(xiàn)場(chǎng)可編程門(mén)陣列FPGA的IEEE 1394b數(shù)據(jù)傳輸處理系統(tǒng),包括FPGA邏輯和控制電路,IEEE 1394b控制器電路,存儲(chǔ)器電路,外部復(fù)位電路和時(shí)鐘電路。FPGA邏輯和控制電路整合了嵌入式處理器、外設(shè)組件互連PCI接口控制器、存儲(chǔ)器接口控制器、片上存儲(chǔ)器和鎖相環(huán)控制器。嵌入式處理器通過(guò)總線與PCI接口控制器、存儲(chǔ)器接口控制器、片上存儲(chǔ)器和鎖相環(huán)控制器相連;PCI接口控制器與IEEE 1394b控制器和時(shí)鐘電路相連;存儲(chǔ)器接口控制器與存儲(chǔ)器電路相連;鎖相環(huán)控制器與時(shí)鐘電路相連;IEEE 1394b控制器電路與IEEE 1394b設(shè)備和時(shí)鐘電路相連;外部復(fù)位電路與FPGA邏輯和控制電路相連。本發(fā)明在IEEE 1394b協(xié)議的支持下完全實(shí)現(xiàn)高帶寬數(shù)據(jù)的傳輸處理。
文檔編號(hào)G06F13/38GK101625669SQ20091005667
公開(kāi)日2010年1月13日 申請(qǐng)日期2009年8月20日 優(yōu)先權(quán)日2009年8月20日
發(fā)明者劉允才, 史文歡, 王宸昊, 黃茂祥 申請(qǐng)人:上海交通大學(xué)