基于AXI總線的Nor Flash芯片的控制方法
【專利摘要】基于AXI總線的Nor?Flash芯片的控制方法,屬Flash芯片控制【技術(shù)領(lǐng)域】。本控制方法由以下系統(tǒng)來實(shí)現(xiàn),該系統(tǒng)包括AXI總線接口、可編程器件和Nor?Flash芯片接口。AXI總線接口與可編程器件連接,可編程器件與Nor?Flash芯片接口連接;AXI總線接口與SOC系統(tǒng)連接,Nor?Flash芯片接口與Nor?Flash芯片連接;可編程器件用于接收并處理AXI總線傳輸?shù)男畔?,按要求控制Nor?Flash芯片的讀寫,以此實(shí)現(xiàn)AXI總線與Nor?Flash的通信。本方法采用AXI總線,簡化了時鐘域間的橋接,極大地提高了數(shù)據(jù)吞吐能力,同時由于AXI總線地址和數(shù)據(jù)通道分開,能對每一個通道進(jìn)行單獨(dú)優(yōu)化。
【專利說明】基于AXI總線的Nor Flash芯片的控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于AXI總線的Nor Flash芯片的控制方法,屬Flash芯片控制【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]當(dāng)下,SOC的應(yīng)用越來越普及,為了滿足客戶的要求,更強(qiáng)、更快、功能更多的呼聲日漸高漲。作為SOC必不可少且至關(guān)重要的一部分一存儲器,高速、體積小、成本低、容量大成為其主要追求。而為了達(dá)到高速的要求,不僅要有更優(yōu)化的Flash架構(gòu),如何使用高速總線對Flash進(jìn)行訪問也是至關(guān)重要的問題。
[0003]AXI總線是一種面向高性能、高帶寬、低延遲的片內(nèi)總線。它的地址/控制和數(shù)據(jù)相位是分離的,支持不對齊的數(shù)據(jù)傳輸,而且在突發(fā)傳輸中,只需要首地址就能開始傳輸。同時AXI總線還具有分離的讀寫數(shù)據(jù)通道,支持Outstanding傳輸訪問和亂序訪問,且更加容易實(shí)現(xiàn)時序收斂。AXI是AMBA中一個新的高性能協(xié)議,豐富了現(xiàn)有的AMBA標(biāo)準(zhǔn)內(nèi)容,滿足超高性能和復(fù)雜的片上系統(tǒng)(System on Chip,以下簡稱S0C)設(shè)計的需求?!段㈦娮訉W(xué)與計算機(jī)》2013年06期上面由田鵬等人發(fā)表的《一種兼容AHB總線的Nor Flash控制器IP設(shè)計》一文中提到了 Nor Flash控制器IP的設(shè)計,其中所使用AHB總線較復(fù)雜,數(shù)據(jù)吞吐能力較低,由于AHB總線地址和數(shù)據(jù)通道沒有分開,故對每一個通道進(jìn)行單獨(dú)優(yōu)化較困難。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)的不足,本發(fā)明擬解決的技術(shù)問題是,提供一種基于AXI總線的NorFlash芯片的控制方法,該控制器采用可編程器件來實(shí)現(xiàn)AXI總線與Nor Flash芯片的連接,具有結(jié)構(gòu)簡單,工作可靠,適用性強(qiáng),可應(yīng)用于工業(yè)控制等特點(diǎn)。
[0005]本發(fā)明的技術(shù)方案如下:
[0006]—種基于AXI總線的Nor Flash芯片的控制方法,由以下系統(tǒng)來實(shí)現(xiàn),該系統(tǒng)包括AXI總線接口、可編程器件和Nor Flash芯片接口,AXI總線接口與可編程器件連接,可編程器件與Nor Flash芯片接口連接;AXI總線接口與SOC系統(tǒng)連接,Nor Flash芯片接口與Nor Flash芯片連接;可編程器件用于接收并處理AXI總線傳輸?shù)男畔?,按要求控制NorFlash芯片的讀寫,以此實(shí)現(xiàn)AXI總線與Nor Flash的通信,在AXI總線與Nor Flash芯片通信過程中,可編程器件通過AXI總線接口接受由SOC系統(tǒng)發(fā)出的信息,并解碼出該信息內(nèi)容,再把解碼出來的信息內(nèi)容通過Nor Flash芯片接口輸出到Nor Flash芯片;或接受由Nor Flash芯片通過Nor Flash芯片接口發(fā)出的信息,并解碼出該信息的內(nèi)容,再把解碼出來的信息內(nèi)容編碼成標(biāo)準(zhǔn)的AXI總線協(xié)議,通過AXI總線接口輸出到SOC系統(tǒng),該方法步驟如下:
[0007]1)AXI總線總共包括5個通道,其中擦出操作只需要用到write address channel(寫地址通道),而寫入操作需要用到write address channel以及write data channel(寫數(shù)據(jù)通道),讀數(shù)據(jù)操作要用到read address channel (讀地址通道)以及read datachannel (讀數(shù)據(jù)通道),擦出或者寫入響應(yīng)需要用到write response channel (寫響應(yīng)通道);
[0008]2)當(dāng)系統(tǒng)啟動或重新復(fù)位時將 read address channel、write address channel或write data channel的ready信號都設(shè)置為高電平;
[0009]3)當(dāng)AXI總線端awvalid、arvalid或wvalid信號為高電平時,可編程器件會接受 read address channel>write address channel 或 write data channel 中相應(yīng)的地址以及數(shù)據(jù),這些接收到的地址包括命令控制字及操作地址,然后可編程器件將其存入相對應(yīng)的異步FIFO存儲器中;
[0010]4)若Nor Flash處于空閑狀態(tài)時,控制邏輯會判斷讀地址FIFO (First In FirstOut)存儲器是否為空,若非空則從中解析出相應(yīng)的命令控制字以及操作地址,將讀數(shù)據(jù)地址及類型賦給Nor Flash芯片接口,讀取相應(yīng)的數(shù)據(jù),存儲到讀數(shù)據(jù)FIFO存儲器中,當(dāng)總線的rvalid信號為高時,按順序從讀數(shù)據(jù)FIFO存儲器中傳送數(shù)據(jù)至AXI總線接口 ;
[0011]5)若Nor Flash處于空閑狀態(tài)時,讀地址FIFO存儲器為空且寫地址FIFO存儲器非空時,控制邏輯會從寫地址FIFO存儲器中解析出命令控制字以及操作地址,若為擦出操作,則將擦除操作地址及類型賦給Nor Flash芯片接口 ;
[0012]6)若解析出的命令控制字為寫入操作,則控制邏輯會從寫數(shù)據(jù)FIFO存儲器中讀出需要寫入的數(shù)據(jù),與寫數(shù)據(jù)地址及類型一同賦給Nor Flash芯片接口 ;
[0013]7)當(dāng)Nor Flash芯片寫入或者擦出操作完成返回相應(yīng)的控制信號nor_done后,控制邏輯會將bvalid信號置高,等待write response channel的ready信號為高電平則會發(fā)送寫響應(yīng)信號給AXI總線接口。
[0014]本發(fā)明控制器采用可編程器件完成,具有較好的靈活性。
[0015]本發(fā)明控制器的AXI總線接口用于連接到SOC系統(tǒng)上,工作溫度范圍寬,可以達(dá)到-40?+85°C,可滿足工作溫度要求嚴(yán)格的工業(yè)環(huán)境使用;控制器的工作溫度范圍為-40 ?+85 °C。
[0016]本發(fā)明控制器所述的Nor Flash芯片接口,用于與Nor Flash芯片相連接,NorFlash芯片接口為通用并行Nor Flash接口,適用范圍廣。
[0017]本發(fā)明控制器的工作原理和過程是:首先,可編程器件在SOC系統(tǒng)發(fā)送過來操作指令時,通過AXI總線接口接受SOC系統(tǒng)發(fā)出的信息,然后根據(jù)AXI總線協(xié)議解碼出該信息的內(nèi)容,再將解碼出信息的內(nèi)容通過Nor Flash芯片接口與Nor Flash芯片相連接,來傳輸SOC系統(tǒng)向Nor Flash芯片發(fā)出的信息;或者可編程器件通過Nor Flash芯片接口接受NorFlash芯片發(fā)來的信息并解碼出內(nèi)容,再根據(jù)AXI總線協(xié)議編碼成AXI總線格式,通過AXI總線接口傳送到SOC系統(tǒng);即完成基于AXI總線的Nor Flash芯片,設(shè)計中需要的軟件編程嚴(yán)格遵守AXI總線規(guī)范,編制成通用、標(biāo)準(zhǔn)接口協(xié)議。
[0018]本發(fā)明緊密結(jié)合SOC芯片的設(shè)計需求,提出了一種基于AXI總線的Nor Flash控制器的設(shè)計方法,能更好、更快的利用Nor Flash芯片,該控制器作為一個標(biāo)準(zhǔn)的AXI Slave設(shè)備掛在AXI總線上,控制器可以控制系統(tǒng)中數(shù)據(jù)信息經(jīng)過AXI總線在Nor Flash中的存取。本發(fā)明的Nor Flash控制器可以支持目前市場上所存在的典型規(guī)格的存儲器件,提出的控制器設(shè)計方法對Nor Flash控制系統(tǒng)的設(shè)計優(yōu)化具有普遍適用性,實(shí)用價值較大。與現(xiàn)有技術(shù)相比,本發(fā)明基于AXI總線的Nor Flash芯片由于采用了可編程器件,確保了很好的兼容性,并具有結(jié)構(gòu)簡單,工作可靠,適用性強(qiáng)等特點(diǎn)。
【專利附圖】
【附圖說明】
[0019]圖1是本發(fā)明控制器的原理框圖。
[0020]其中:1、AXI總線接口,2、可編程器件,3、Nor Flash芯片接口。
【具體實(shí)施方式】
[0021]下面結(jié)合實(shí)施例及其附圖對本發(fā)明進(jìn)一步詳細(xì)說明,但不限于此。
[0022]實(shí)施例:
[0023]本發(fā)明實(shí)施例如圖1所示,一種基于AXI總線的Nor Flash芯片的控制方法,由以下系統(tǒng)來實(shí)現(xiàn),該系統(tǒng)包括AXI總線接口 1、可編程器件2和Nor Flash芯片接口 3,AXI總線接口 I與可編程器件2連接,可編程器件2與Nor Flash芯片接口 3連接;AXI總線接口I與SOC系統(tǒng)連接,Nor Flash芯片接口 3與Nor Flash芯片連接;可編程器件2用于接收并處理AXI總線傳輸?shù)男畔?,按要求控制Nor Flash芯片的讀寫,以此實(shí)現(xiàn)AXI總線與NorFlash的通信,在AXI總線與Nor Flash芯片連接電路過程中,可編程器件2通過AXI總線接口 I接受由SOC系統(tǒng)發(fā)出的信息,并解碼出該信息內(nèi)容,再把解碼出來的信息內(nèi)容通過Nor Flash芯片接口 3輸出到Nor Flash芯片;或接受由Nor Flash芯片通過Nor Flash芯片接口 3發(fā)出的信息,并解碼出該信息的內(nèi)容,再把解碼出來的信息內(nèi)容編碼成標(biāo)準(zhǔn)的AXI總線協(xié)議,通過AXI總線接口輸出到SOC系統(tǒng),該方法步驟如下:
[0024]1)AXI總線總共包括5個通道,其中擦出操作只需要用到write address channel(寫地址通道),而寫入操作需要用到write address channel以及write data channel(寫數(shù)據(jù)通道),讀數(shù)據(jù)操作要用到read address channel (讀地址通道)以及read datachannel (讀數(shù)據(jù)通道),擦出或者寫入響應(yīng)需要用到write response channel (寫響應(yīng)通道);
[0025]2)當(dāng)系統(tǒng)啟動或重新復(fù)位時將 read address channel、write address channel或write data channel的ready信號都設(shè)置為高電平;
[0026]3)當(dāng)AXI總線端awvalid、arvalid或wvalid信號為高電平時,可編程器件會接受 read address channel>write address channel 或 write data channel 中相應(yīng)的地址以及數(shù)據(jù),這些接收到的地址包括命令控制字及操作地址,然后可編程器件將其存入相對應(yīng)的異步FIFO存儲器中;
[0027]4)若Nor Flash處于空閑狀態(tài)時,控制邏輯會判斷讀地址FIFO存儲器是否為空,若非空則從中解析出相應(yīng)的命令控制字以及操作地址,將讀數(shù)據(jù)地址及類型賦給NorFlash芯片接口,讀取相應(yīng)的數(shù)據(jù),存儲到讀數(shù)據(jù)FIFO存儲器中,當(dāng)總線的rvalid信號為高時,按順序從讀數(shù)據(jù)FIFO存儲器中傳送數(shù)據(jù)至AXI總線接口 ;
[0028]5)若Nor Flash處于空閑狀態(tài)時,讀地址FIFO存儲器為空且寫地址FIFO存儲器非空時,控制邏輯會從寫地址FIFO存儲器中解析出命令控制字以及操作地址,若為擦出操作,則將擦除操作地址及類型賦給Nor Flash芯片接口 ;
[0029]6)若解析出的命令控制字為寫入操作,則控制邏輯會從寫數(shù)據(jù)FIFO存儲器中讀出需要寫入的數(shù)據(jù),與寫數(shù)據(jù)地址及類型一同賦給Nor Flash芯片接口 ;[0030]7)當(dāng)Nor Flash芯片寫入或者擦出操作完成返回相應(yīng)的控制信號nor_done后,控制邏輯會將bvalid信號置高,等待write response channel的ready信號為高電平則會發(fā)送寫響應(yīng)信號給AXI總線接口。
[0031]本實(shí)施例可編程器件采用工業(yè)級可編程器件Altera的CPLD。
【權(quán)利要求】
1.一種基于AXI總線的Nor Flash芯片的控制方法,由以下系統(tǒng)來實(shí)現(xiàn),該系統(tǒng)包括AXI總線接口、可編程器件和Nor Flash芯片接口,AXI總線接口與可編程器件連接,可編程器件與Nor Flash芯片接口連接;AXI總線接口與SOC系統(tǒng)連接,Nor Flash芯片接口與NorFlash芯片連接;可編程器件用于接收并處理AXI總線傳輸?shù)男畔?,按要求控制Nor Flash芯片的讀寫,以此實(shí)現(xiàn)AXI總線與Nor Flash的通信,在AXI總線與Nor Flash芯片通信過程中,可編程器件通過AXI總線接口接受由SOC系統(tǒng)發(fā)出的信息,并解碼出該信息內(nèi)容,再把解碼出來的信息內(nèi)容通過Nor Flash芯片接口輸出到Nor Flash芯片;或接受由NorFlash芯片通過Nor Flash芯片接口發(fā)出的信息,并解碼出該信息的內(nèi)容,再把解碼出來的信息內(nèi)容編碼成標(biāo)準(zhǔn)的AXI總線協(xié)議,通過AXI總線接口輸出到SOC系統(tǒng),該方法步驟如下: 1)AXI總線總共包括5個通道,其中擦出操作需要用到write address channel即寫地址通道,而寫入操作需要用到write address channel及write data channel即寫數(shù)據(jù)通道,讀數(shù)據(jù)操作要用到read address channel即讀地址通道以及read data channel即讀數(shù)據(jù)通道,擦出或者寫入響應(yīng)需要用到write response channel即寫響應(yīng)通道; 2)當(dāng)系統(tǒng)啟動或重新復(fù)位時將read address channel、write address channel 或write data channel的ready信號都設(shè)置為高電平; 3)當(dāng)AXI總線端awvalid、arvalid或wvalid信號為高電平時,可編程器件會接受readaddress channel、write address channel 或 write data channel 中相應(yīng)的地址以及數(shù)據(jù),這些接收到的地址包括命令控制字及操作地址,然后可編程器件將其存入相對應(yīng)的異步FIFO存儲器中; 4)若NorFlash處于空閑狀態(tài)時,控制邏輯會判斷讀地址FIFO存儲器是否為空,若非空則從中解析出相應(yīng)的命令控制字以及操作地址,將讀數(shù)據(jù)地址及類型賦給Nor Flash芯片接口,讀取相應(yīng)的數(shù)據(jù),存儲到讀數(shù)據(jù)FIFO存儲器中,當(dāng)總線的rvalid信號為高時,按順序從讀數(shù)據(jù)FIFO存儲器中傳送 數(shù)據(jù)至AXI總線接口 ; 5)若NorFlash處于空閑狀態(tài)時,讀地址FIFO存儲器為空且寫地址FIFO存儲器非空時,控制邏輯會從寫地址FIFO存儲器中解析出命令控制字以及操作地址,若為擦出操作,則將擦除操作地址及類型賦給Nor Flash芯片接口 ; 6)若解析出的命令控制字為寫入操作,則控制邏輯會從寫數(shù)據(jù)FIFO存儲器中讀出需要寫入的數(shù)據(jù),與寫數(shù)據(jù)地址及類型一同賦給Nor Flash芯片接口 ; 7)當(dāng)NorFlash芯片寫入或者擦出操作完成返回相應(yīng)的控制信號nor_done后,控制邏輯會將bvalid信號置高,等待write response channel的ready信號為高電平則會發(fā)送寫響應(yīng)信號給AXI總線接口。
【文檔編號】G06F13/38GK103605625SQ201310633851
【公開日】2014年2月26日 申請日期:2013年11月29日 優(yōu)先權(quán)日:2013年11月29日
【發(fā)明者】周莉, 馬召賓, 孫濤, 陳鵬, 汪洋, 孫皓, 董啟凡 申請人:山東大學(xué)