新四季網

串行外設接口SPI的傳輸控制方法、裝置及系統與流程

2023-06-07 02:44:16


本發明涉及智能交通技術領域,具體而言,涉及一種串行外設接口spi的傳輸控制方法、裝置及系統。



背景技術:

串行外設接口(serialperipheralinterfacemaster,簡稱為spi)flash因其使用方便,易於連接,管腳較少等特點,在嵌入式系統中應用比較多。但是因為其使用串行傳輸數據,受限於可工作的時鐘的頻率範圍,傳輸較慢。並且單片flash的擦除和寫入速度也會成為系統瓶頸。

針對相關技術中需要多個spi控制器控制多片spiflash的問題,還未提出有效的解決方案。



技術實現要素:

本發明提供了一種spi的傳輸控制方法及裝置,以至少解決相關技術中需要多個spi控制器控制多片spiflash的問題。

根據本發明的一個方面,提供了一種spi的傳輸控制方法,包括:為單個spi控制器配置可編程器件;通過配置的所述可編程器件對多片spiflash的傳輸進行控制。

進一步地,通過配置的所述可編程器件對所述多片spiflash的傳輸進行控制包括:通過所述可編程器件將所述spi控制器的輸出時鐘clk進行分頻,產生多個相位不同的時鐘分別傳入所述多片spiflash訪問所述多片spiflash。

進一步地,通過配置的所述可編程器件對所述多片spiflash的傳輸進行控制包括:通過配置的所述可編程器件對所述多片spiflash的寫操作和讀操作進行控制;其中,所述寫操作為,通過將待寫入數據依次輸出到所述spi控制器的輸出mosi,分別連接到所述多片spiflash的輸出mosi,其中,所述多片spiflash在各自分頻後的時鐘clk的驅動下採樣mosi上的信號,作為所述多片spiflash的輸入數據;所述讀操作為,將所述多片spiflash返回的數據還原為能夠解析的數據。

進一步地,將所述多片spiflash返回的數據還原為能夠解析的數據包括:在數據傳輸階段,通過所述可編程器件將所述多片spiflash的輸出合成為一路所述spi控制器的輸入miso,其中,所述可編程器件在所述spi控制器的輸出時鐘clk的上升沿分別對所述多片spiflash的輸出依次採樣,所述多片spiflash的輸出為所述多片spiflash 根據配置模式的不同,在分頻後的clk的上升沿或下降沿發送的數據。

進一步地,所述可編程器件為邏輯可編程器件(complexprogrammablelogicdevice,簡稱為cpld)和現場可編程門陣列(field-programmablegatearray,簡稱為fpga)。

根據本發明的另一方面,提供了一種串行外設接口spi的傳輸控制裝置,包括:配置模塊,用於為單個spi控制器配置可編程器件;控制模塊,用於通過配置的所述可編程器件對多片spiflash的傳輸進行控制。

進一步地,所述控制模塊包括:訪問單元,用於通過所述可編程器件將所述spi控制器的輸出時鐘clk進行分頻,產生多個相位不同的時鐘分別傳入所述多片spiflash訪問所述多片spiflash。

根據本發明的另一方面,還提供了一種串行外設接口spi的傳輸控制系統,包括:一個spi控制器、可編程器件和多片spiflash,其中,所述spi控制器與所述可編程器件連接;所述可編程器件分別與所述多片spiflash連接,用於通過所述可編程器件對所述多片spiflash的數據傳輸進行控制。

進一步地,所述spi控制器的時鐘信號clk,輸入miso,輸出的片選ss經所述可編程器件處理後,分別與所述多片spiflash連接;所述spi控制器的輸出mosi直接輸出到所述多片spiflash。

進一步地,所述可編程器件為邏輯可編程器件cpld和現場可編程門陣列fpga。

通過本發明,採用為單個spi控制器配置可編程器件;通過配置的所述可編程器件對多片spiflash的傳輸進行控制,解決了相關技術中需要多個spi控制器控制多片spiflash的問題,節省了cpu的佔用,提高了訪問速度。

附圖說明

此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:

圖1是根據本發明實施例的串行外設接口spi的傳輸控制方法的流程圖;

圖2是根據本發明實施例的串行外設接口spi的傳輸控制裝置的框圖;

圖3是根據本發明優選實施例的串行外設接口spi的傳輸控制裝置的框圖一;

圖4是根據本發明實施例的spi訪問控制系統連接的框圖;

圖5是根據本發明實施例的spi訪問控制方法的流程圖;

圖6是根據本發明實施例的單片spi連接兩片spiflash的時序示意圖;

圖7是根據本發明實施例的單片spi連接四片spiflash的時序示意圖。

具體實施方式

下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。

本發明實施例提供了一種串行外設接口spi的傳輸控制方法,圖1是根據本發明實施例的串行外設接口spi的傳輸控制方法的流程圖,如圖1所示,包括:

步驟s102,為單個spi控制器配置可編程器件;

步驟s104,通過配置的該可編程器件對多片spiflash的傳輸進行控制。

通過上述步驟,為單個spi控制器配置可編程器件;通過配置的該可編程器件對多片spiflash的傳輸進行控制,解決了相關技術中需要多個spi控制器控制多片spiflash的問題,節省了cpu的佔用,提高了訪問速度。

在一個可選的實施例中,通過配置的該可編程器件對該多片spiflash的傳輸進行控制可以包括:通過該可編程器件將該spi控制器的輸出時鐘clk進行分頻,產生多個相位不同的時鐘分別傳入該多片spiflash訪問該多片spiflash。

在另一個可選的實施例中,通過配置的該可編程器件對該多片spiflash的傳輸進行控制可以包括:通過配置的該可編程器件對該多片spiflash的寫操作和讀操作進行控制;其中,該寫操作為,通過將待寫入數據依次輸出到該spi控制器的輸出mosi,分別連接到該多片spiflash的輸出mosi,其中,該多片spiflash在各自分頻後的時鐘clk的驅動下採樣mosi上的信號,作為該多片spiflash的輸入數據;該讀操作為,將該多片spiflash返回的數據還原為能夠解析的數據。

進一步地,將該多片spiflash返回的數據還原為能夠解析的數據可以包括:在數據傳輸階段,通過該可編程器件將該多片spiflash的輸出合成為一路該spi控制器的輸入miso,其中,該可編程器件在該spi控制器的輸出時鐘clk的上升沿分別對該多片spiflash的輸出依次採樣,該多片spiflash的輸出為該多片spiflash根據配置模式的不同,在分頻後的clk的上升沿或下降沿發送的數據。

進一步地,該可編程器件可以為邏輯可編程器件cpld和現場可編程門陣列fpga。

本發明實施例提供了一種串行外設接口spi的傳輸控制裝置,圖2是根據本發明實施例的串行外設接口spi的傳輸控制裝置的框圖,如圖2所示,包括:

配置模塊22,用於為單個spi控制器配置可編程器件;

控制模塊24,用於通過配置的該可編程器件對多片spiflash的傳輸進行控制。

圖3是根據本發明優選實施例的串行外設接口spi的傳輸控制裝置的框圖一,如圖3所示,控制模塊24包括:

訪問單元32,用於通過該可編程器件將該spi控制器的輸出時鐘clk進行分頻,產生多個相位不同的時鐘分別傳入該多片spiflash訪問該多片spiflash。

本發明實施例還提供了一種串行外設接口spi的傳輸控制系統,包括:一個spi控制器、可編程器件和多片spiflash,其中,

該spi控制器與該可編程器件連接;

該可編程器件分別與該多片spiflash連接,用於通過該可編程器件對該多片spiflash的數據傳輸進行控制。

進一步地,該spi控制器的時鐘信號clk,輸入miso,輸出的片選ss經該可編程器件處理後,分別與該多片spiflash連接;該spi控制器的輸出mosi直接輸出到該多片spiflash。

進一步地,該可編程器件為邏輯可編程器件cpld和現場可編程門陣列fpga。

下面以cpld為例,結合具體實施例對本發明實施例進行進一步說明。

本發明實施例提供了一種單spi控制器實現多片spiflash的訪問方法,在不改變spi和flash通信協議的情況下,可以成倍地提高spiflash的讀寫傳輸和擦寫速度。其具體步驟如下:

圖4是根據本發明實施例的spi訪問控制系統連接的框圖,如圖4所示,spi控制器端有四個信號,分別是時鐘信號clk(clock),spi控制器的輸出mosi(masteroutputslaveinput),spi控制器的輸入miso(maserinputslaveoutput),以及spi控制器輸出的片選ss(slaveslect)。其中,mosi信號直接輸出到spiflash,其它三個信號都要經過可編程邏輯器件處理後,再分別與spiflash連接;

可編程邏輯器件將clk信號n分頻,輸出多路相位相差1個clk周期的時鐘,分別輸出連接至多片spiflash的時鐘輸入中,其中,n應為2的整數倍,能夠連接的最大flash數為n片;

傳輸流程與基本spi傳輸基本保持一致,分為三個階段,分別為命令字(command)傳輸階段,地址(address)傳輸階段和數據(data)傳輸階段。命令字和地址傳輸到spiflash端,根據工作模式的不同,在分頻後的clkn的上升沿或下降沿進行採樣和發送。

對於一個典型的寫操作,cpu將需要寫入的數據依次輸出到mosi,直接連接到每片spiflash的mosi0到mosi(n-1)。在該階段,spiflash晶片在各自分頻後的時鐘clkn的驅動下採樣mosi上的信號,作為自己的輸入數據。寫操作只需關注spiflash可正確採樣數據,但對於一個讀操作,還需要將spiflash返回的數據還原為cpu可以 解析的數據。讀操作的數據(data)傳輸階段,spiflash端根據配置的模式的不同,在分頻後的clkn的上升沿或下降沿發送數據,可編程邏輯器件在數據傳輸階段,在每個cpu輸出的時鐘clk的上升沿分別對多路輸出依次採樣,並保持一個周期時間,將多路輸出合成為一路miso輸入到cpu端解析。

本發明實施例提出的單spi控制器實現多片spiflash提速訪問的方法,僅使用單個spi控制器,不需要額外佔用cpu的spi控制器,能夠解決spi傳輸受限於可工作的時鐘的頻率範圍和擦寫速度慢的局限,具有非常好的實用價值。

在一個讀spi操作實例中,系統主要由spi控制器和兩片spiflash組成,spi控制器端時鐘信號clk,miso,ss經cpld處理後,分別與兩片spiflash連接;mosi直接輸出到spiflash。

傳輸階段分為三個階段,第一階段spi控制器(spimaster)輸出命令字信號,第二階段spi控制器(spimaster)輸出訪問地址信號,第三階段spiflash輸出回讀數據。

圖5是根據本發明實施例的spi訪問控制方法的流程圖,如圖5所示,具體傳輸的數據如下:

通過單spi控制器實現多片spiflash提速訪問的方法具體包括如下步驟:

步驟s1,配置spi控制器的工作模式,以配置spi控制器工作在模式1為例,在上升沿發送數據,下降沿採樣數據。

步驟s2,圖6是根據本發明實施例的單片spi連接兩片spiflash的時序示意圖,如圖6所示,在傳輸第一階段,首先將片選ss拉低。spi控制器在上升沿依次發送命令字信號,命令字字長8比特,因為連接有兩片spiflash,所以讀命令字需發送兩遍。其中,兩片spiflash分別稱為a,b,發送方式為:依次發送兩片spiflash命令字的第7(0-base)比特的內容,依次類推,直至發送完兩片spiflash第0(0-base)比特的內容,具體步驟如下。在第一個上升沿,發送給a命令字的第7個比特(0-base),第二個上升沿,發送給b命令字的第7個比特(0-base);依次類推,在奇數上升沿發送給a的命令字比特,在偶數上升沿發送給b的命令字比特,發送順序由高比特發送至低比特,即由第7比特發送至第0比特。總共發送16比特字長的命令字信號。

具體傳輸的數據如下:

第一階段傳輸數據:

步驟s3,在傳輸第二階段,spi控制器在上升沿依次發送訪問地址信號,訪問地址字長24比特,發送方式與第一階段(s2)方法相同,地址也需要發送兩遍,按奇偶上升沿依次發送,從高比特位開始發送,總共發送48比特字長的地址信號,具體方法與步驟s2相同。

步驟s4,判斷是讀操作還是寫操作,在判斷結果為寫操作的情況下,執行步驟s5,在判斷結果為讀操作的情況下,執行步驟s6;

步驟s5,在傳輸第三階段,cpu將需要寫入的數據依次輸出到mosi,直接連接到每片spiflash的mosi0到mosi(n-1)。在該階段,spiflash晶片在各自分頻後的時鐘clkn的驅動下採樣mosi上的信號,作為自己的輸入數據。

步驟s6,在傳輸第三階段,n片spiflash依次輸出n路回讀數據miso0到miso(n-1)。在該階段,cpld由spi控制器輸出時鐘clk觸發,依次採集miso0到miso(n-1)的8比特數據,然後保持一個clk周期,從高比特到低比特得到總的8*n比特字長的輸出miso,輸入到spi控制器。

步驟s7,在完成傳輸第三階段,將片選拉高,結束一次完整傳輸。

在傳輸第三階段,spiflash在clkn下降沿輸出回讀數據,a輸出數據miso0,b輸出數據miso1。因為經過偶數倍頻,分頻後的下降沿可與clk的上升沿一一對應,在該階段,cpld由spi控制器輸出時鐘clk的上升沿觸發,依次採集a,b的mison的8比特數據,並保持一個clk周期,得到總的16比特字長的輸出miso,直接輸入到spi控制器。此時完成了一個完整的傳輸過程。

單片spi連接四片spiflash的情況與上述的單片spi連接兩片spiflash類似,圖7是根據本發明實施例的單片spi連接四片spiflash的時序示意圖,如圖7所示,在此不再贅述。

上述的本發明實施例,僅利用單個spi控制器,實現了對多片spiflash傳輸的控制,不需要額外佔用cpu的spi控制器,並通過將cpu時鐘分頻並錯開相位的方法,使用分頻後的低頻時鐘訪問單個spiflash晶片,不僅可以使組合之後的spiflash傳輸頻率倍增,並且多塊晶片組合之後擦寫速度也相應的倍增,適合在嵌入式系統中使用。

顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們 存儲在存儲裝置中由計算裝置來執行,並且在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟,或者將它們分別製作成各個集成電路模塊,或者將它們中的多個模塊或步驟製作成單個集成電路模塊來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。

以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀