新四季網

一種晶片自動化外設協議選擇的方法與流程

2023-11-02 18:36:06


本發明涉及晶片外設接口設計,特別涉及一種晶片外設接口自動化選擇方法。
背景技術:
:在當前的晶片設計中,中低速的數據傳輸協議主要有SDIO和SPI。其中SPI(SerialParallelInterface)協議是一種同步串行通信協議,最早由摩託羅拉公司開發,該協議最少只需要4根信號管腳,包括一根使能信號(SPI_CSN),一根時鐘信號(SPI_CLK),一根主輸出從輸入信號(SPI_MOSI),一根主輸入從輸出信號(SPI_MISO)。在某些需要中斷應用的場景裡也會加上中斷信號(SPI_INT)。目前SPI接口協議在中低速數據通信、晶片控制信號傳輸領域得到了廣泛的應用。SPI接口的信號連接圖如圖1所示。SDIO接口協議由SD卡協會制定,有著較為嚴格的傳輸協議,因此不同器件之間的兼容性有保障,同樣廣泛應用在晶片間通信。SDIO2.0/3.0接口協議上共有6根信號線,包括一根命令傳輸線,一根時鐘信號線,4根數據傳輸線。除了時鐘線由SDIOHOST驅動,其餘5根信號線均為雙向信號線。SDIO接口的信號連接圖如圖2所示。由於SDIO與SPI通信協議的廣泛應用,目前的晶片設計中,有不少晶片同時採用了這兩種外設通信協議,但在具體應用中往往只需要採用一種接口,因此如果採用不同晶片管腳分別用於SDIO和SPI接口的方式會造成晶片管腳數量增加,進而導致封裝和系統板成本增加。目前不少晶片雖然將SDIO及SPI接口進行了復用,但還需要通過其它配置管腳或者其它外設通訊接口來進行接口選擇,無法根據外部實際連接埠自動選擇接口協議。技術實現要素:為解決上述存在的技術問題而提出了本發明。本發明提出了一種晶片外設接口自動化選擇方法,包括:S1:根據SDIO信號和SPI信號與初始傳輸方向選擇管腳復用的搭配,確保在初始化時不出現信號重複驅動的問題;S2:制定一種SPI的傳輸協議,使其既能夠兼容於通用的SPIHOST,又不會與所有的SDIO命令相混淆,確保在初始化時能夠正確判斷HOST接口的類型;S3:指定一組晶片初始化後的SDIO接口和SPI接口的初始化序列,用於表明向晶片外部的HOST端是SDIO接口還是SPI接口;S4:在晶片數字電路中增加一個狀態機,用於記錄收到的初始化序列,並根據所述初始序列判斷接口類型,然後關閉沒有啟用的接口。優選地,所述SDIO接口初始序列為SDIO協議規定HOST發出的第一個命令CMD0;優選地,所述SPI接口的初始化序列為SPI協議規定HOST發出的第一個命令,所述第一命令為2B12;優選地,所述SPI的傳輸協議包括:當SPI接口的SPI_CSN信號為低時表示進行SPI傳輸;SPI主設備和從設備均在時鐘上升沿進行採數;所有傳輸均由SPI主設備發起,主設備通過SPI_MOSI線發出的前4bit數據為SPI命令字,當命令字為「1100」時表示主設備讀數據,為「1001」時表示主設備寫數據;為「1000」時表示同時進行讀寫數據操作;完成傳輸後在SPI_MOSI或者SPI_MISO上開始傳輸應用數據。優選地,所述SPI的傳輸協議的每次傳輸前2比特與所述SDIO協議的每次傳輸前2比特均不相同;優選地,所述SPI傳輸在第一次出現0後下一比特依然為0,這樣使SPI傳輸與SDIO傳輸區分開。本發明提供了一種晶片外設接口自動化選擇方法,通過合理地分配信號管腳的復用,定製SPI接口通信協議與初始化序列,最終通過軟/硬體的狀態機根據外部HOST類型來選擇合適的接口協議。採用本方法可以大大減小晶片為了兼容SDIO/SPI接口所帶來的多餘管腳以及其他軟硬體代價,提升晶片的競爭力。附圖說明圖1是本發明晶片外設接口自動化選擇方法的流程圖;圖2是本發明晶片外設接口自動化選擇方法中SPI模式下接口連接圖;圖3是本發明晶片外設接口自動化選擇方法中SDIO模式下接口連接圖;圖4是本發明晶片外設接口自動化選擇方法的SPI傳輸協議波形圖;圖5是本發明晶片外設接口自動化選擇方法的外設接口開啟狀態機狀態轉換圖。具體實施方式為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,並參照附圖,對本發明作進一步的詳細說明。本發明提出了一種晶片外設接口自動化選擇的方法,如圖1的流程圖所示,包括:S1:根據SDIO信號和SPI信號與初始傳輸方向選擇管腳復用的搭配,確保在初始化時不出現信號重複驅動的問題。表1列舉了SDIO接口與SPI接口各個信號管腳及其在晶片初始化後的驅動方向。*:初始化後先由HOST輸出命令給SDIOdevice,隨後再由device回復,因此開始階段由HOST驅動。**:數據傳輸方向由HOST發出的命令決定,因此開始階段數據線上無信號驅動,由上拉電阻進行弱上拉。根據表1中各個埠的驅動方向設計了一組特定的埠復用配置,如表2所示。接口PAD0PAD1PAD2PAD3PAD4PAD5SDIOCLKCMDDAT[0]DAT[1]DAT[2]DAT[3]SPISPI_CLKSPI_MOSISPI_CSNSPI_INTSPI_MISO在本發明實施例中,PAD0分別用於SDIO和SPI接口的時鐘輸入,均由外部接口HOST端來驅動。這樣不但可以避免出現驅動方向的問題,還有利於晶片設計過程中的時鐘樹生成,防止由於時鐘信號與數據信號混用而導致的時序檢查問題。PAD1分別用於SDIO接口的CMD信號與SPI接口的MOSI信號,在晶片初始化後,這兩個信號均先由外部HOST設備驅動,並且負責傳輸出初始化序列。PAD2分別用於SDIO接口的DAT[0]信號和SPI接口的CSN信號,在晶片初始化後,SDIO的DAT[0]信號暫時不會有埠驅動,只有在接收完CMD信號並啟動數據傳輸後才會有驅動,而SPI的CSN埠在傳輸啟動序列時HOST端會將該信號拉低,但也不會引起SDIO模塊產生誤處理。PAD3用於SDIO接口的DAT[1]信號和SPI接口的SPI_INT信號,這兩個信號在啟動序列時均不會有驅動,因此不會引發驅動衝突,由於DAT[1]信號在SDIO單比特傳輸時是作為中斷信號線的,因此將其與SPI接口的中斷線復用。PAD4用於SDIO接口的DAT[2]信號和SPI接口的SPI_MISO信號,這兩個信號在啟動序列時均不會有驅動,因此不會引發驅動衝突。PAD5用於SDIO接口的DAT[3]信號,因為SPI接口的埠數量小於SDIO接口,因此該信號不需要與SPI接口信號復用。從說明中可以看到,埠復用中PAD0,PAD1與PAD2上的復用配置是最為關鍵的,不可以隨意改變;而PAD3,PAD4,PAD5上的復用配置相對不重要,可以根據實際需求進行替換。如可以將配置改為PAD3用於SDIO的DAT[1],PAD4用於SDIO的DAT[2]與SPI接口的SPI_INT信號,PAD4用於SDIO的DTA[3]與SPI接口的SPI_MISO信號。S2:制定一種SPI的傳輸協議,使其既能夠兼容於通用的SPIHOST,又不會與所有的SDIO命令相混淆,確保在初始化時能夠正確判斷HOST接口的類型;在本發明實施例中,對於SPI從設備而言,需要主設備端(HOST端)通過MOSI端給予一個命令後再進行相應操作,命令的格式不同的設備可以有不同的定義。在本發明中,由於MOSI信號要同SDIO接口的CMD信號復用,因此定義的命令格式不可以讓SDIO接口模塊將其認為是SDIO命令,防止產生誤操作而SDIO接口的命令格式均根據SDIO接口協議的定義而來,SDIO3.0協議定義的SDIOCMD格式為:SbitDbitCMDIndexCMDdataCRC7Ebit1163271在本發明實施例中,Sbit為起始位,固定為0;Dbit為方向值,對於SDIO命令而言固定為1;CMDindex為命令的二進位值;CMDdata為CMD的配置值,如讀取/寫入操作的地址信息等,不同的CMD不同的情況下會有不同的值;CRC7為該命令的CRC校驗值,防止命令傳輸中出現錯誤;Ebit為結束位,固定為1。根據SDIO命令的特點,將SPI傳輸的協議定義如下,波形圖如圖3所示:當SPI接口的SPI_CSN信號為低時表示進行SPI傳輸;SPI主設備和從設備均在時鐘上升沿進行採數;所有傳輸均由SPI主設備發起,主設備通過SPI_MOSI線發出的前4bit數據為SPI命令字,當命令字為「1100」時表示主設備讀數據,為「1001」時表示主設備寫數據;為「1000」時表示同時進行讀寫數據操作;完成命令傳輸後在SPI_MOSI或者SPI_MISO上開始傳輸應用數據。在本發明實施例中,SPI每次傳輸的前2比特與SDIO的CMD前2比特均不相同;另外在SDIO模塊中,由於缺乏傳輸使能線(CS),實際上是由SDIO_CMD線拉低來表示傳輸的開始,而在本發明中,所有SPI傳輸在第一次出現「0」後下一比特依然為「0」,保證了該傳輸不會被誤認為是SDIO傳輸。S3:指定一組晶片初始化後的SDIO接口和SPI接口的初始化序列,用於表明向晶片外部的HOST端是SDIO接口還是SPI接口,優選地,SDIO接口序列為協議規定HOST發出的第一個命令CMD0。在本發明實施例中,根據SDIO協議,SDIO接口需要初始化後才能與HOST端通信,而接口初始化的第一個命令是CMD0(使SDIO進入IDLE狀態),因此當晶片SDIO模塊收到CMD0後晶片便可判定外部接口為SDIO,並關閉SPI模塊,防止出現錯誤通信或者誤操作。在本發明實施例中,對於SPI接口,我們定義HOST在使用片上SPI模塊前需要先輸入一個16進位值為「2B12」,二進位值為「0010101100010010」的串行數據。選用該值的原因有:(a)該值前4比特為「0010」,根據上文定義的SPI協議,普通SPI操作的前4比特只可能為「1100」、「1001」及「1000」,不包括「0010」,因此不會觸發SPI模塊進行數據傳輸操作。(b)該值前2比特為00,而所有的SDIO命令前2比特均為「01」,因此與SDIO命令操作的前2比特不同,不會與SDIO命令相混淆。(c)如果開始傳輸的第2比特受幹擾由「0」成為「1」,前2比特就與SDIO傳輸命令相同,但隨後的6比特數據「101011」與目前合法的SDIO命令均不重合,保證不會被誤認為是SDIO命令。(d)在傳輸的前面8比特數據能夠保證不會被SDIO模塊誤操作後,本發明還在SPI初始化序列中添加了後8比特數據「00010010」,主要是為了保證該序列確實由HOST端有意發出,並非無意觸發。防止HOST端有其他外設與SPI共用管腳時發生誤操作。S4:在晶片數字電路中增加一個狀態機,用於記錄收到的初始化序列,並根據所述初始序列判斷接口類型,然後關閉沒有啟用的接口。圖4是本發明晶片外設接口自動化選擇方法的外設接口開啟狀態機狀態轉換圖。如圖4所示,該狀態機的功能較為單一,但這也保證了外設接口選擇不會因為其他意外情況而出現問題。當晶片上電或者復位後進入初始態,初始態中SDIO接口和SPI接口均打開,用於檢測初始化序列;當檢測到SDIO命令或者SPI初始化序列後,狀態機跳轉到對應狀態(SPI啟用態或者SDIO啟用態),同時關閉不啟用的外設接口,跳入SPI啟用態或者SDIO啟用態狀態機便不會再跳轉,只有復位後才能再次進入初始態。如果在初始態時檢測到了錯誤信號,狀態機跳入出錯態,關閉SPI和SDIO接口,防止出現傳輸衝突。以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,應理解的是,以上所述僅為本發明的具體實施例而已,並不用於限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。當前第1頁1&nbsp2&nbsp3&nbsp

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀