專利名稱:總線時序參數(shù)配置方法和裝置的制作方法
技術(shù)領域:
本發(fā)明涉及通信領域,尤其涉及總線時序參數(shù)配置方法和裝置。
背景技術(shù):
總線(Bus)在物理形態(tài)上就是一組共用的導線,許多器件掛接其上傳輸信號,實 現(xiàn)互連和信息交換。所謂總線時序,是指中央處理器(CP^CentralProcessing Unit)對總 線進行操作(例如,讀/寫、釋放總線和中斷響應等)時,總線上各個信號之間在時間上的 配合關系,這種配合關系與CPU的操作功能相關。以CPU與閃存(Flash)芯片對接的局部總線(Local Bus,也稱為外圍總線)為例, CPU對Flash發(fā)起的讀寫操作,必須符合一定的時序,S卩,必須要求片選(CE)、輸出使能(OE) 和寫使能(WE)等信號保持一定的時間,并且相互配合才能正常工作。例如,當CPU發(fā)起讀 操作時,在地址、CE和OE信號發(fā)出后,外圍器件需要在限定的時間內(nèi)返回數(shù)據(jù),并且,數(shù)據(jù) 的建立/保持時間也必須滿足CPU的要求。一個電子設備的CPU小系統(tǒng)可能包含各類硬件存儲器件、復雜可編程邏輯器件 (CPLD,Complex Programmable Logic Device)、特殊應用集成電路(Application-specific integrated circuit, ASIC)和現(xiàn)場可編程門陣列(FPGA,F(xiàn)ield Programmable Gate Array)等,在開發(fā)新單板時,CPU對這些器件的訪問操作需要不同的局部總線時序參數(shù)。 當單板的數(shù)量眾多、器件型號各異時,通常,軟件開發(fā)人員需要通過查找器件手冊和CPU手 冊,根據(jù)硬件的布線情況對CPU進行局部總線時序參數(shù)配置。在獲得硬件反饋的測量結(jié)果 后,進一步調(diào)整這些參數(shù)的配置,最終得出合適的參數(shù),并固化到初始化程序中。由于硬件布線的原因,實際應該配置的局部總線時序參數(shù)可能與手冊中提供的參 考值存在一定差異,因此需要人工反復調(diào)試。然而,人工調(diào)試和配置這些局部總線時序參數(shù) 的工作量巨大,從而加大了單板開發(fā)的成本。
發(fā)明內(nèi)容
本發(fā)明實施例提供總線時序參數(shù)配置方法和裝置,以縮短一個軟件的開發(fā)周期, 降低設備的維護成本。本發(fā)明實施例提供一種總線時序參數(shù)配置方法,包括選擇總線時序參數(shù)配置至中央處理器的控制器;判斷所述中央處理器按照所述配置的總線時序參數(shù)對應的總線時序?qū)ν鈬骷?發(fā)起訪問的訪問結(jié)果是否異常;若所述訪問結(jié)果異常,則選擇未被配置過的總線時序參數(shù)配置至所述控制器。本發(fā)明實施例提供一種中央處理器,包括第一選擇模塊、判斷模塊和第二選擇模 塊;所述第一選擇模塊,用于選擇總線時序參數(shù)配置至中央處理器的控制器;所述判斷模塊,用于判斷所述中央處理器按照所述配置的總線時序參數(shù)對應的總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否異常;所述第二選擇模塊,用于所述判斷模塊判斷所述訪問結(jié)果異常時,從選擇未被配 置過的總線時序參數(shù)配置至所述控制器。從上述本發(fā)明實施例可知,總線時序參數(shù)是由軟件程序通過循環(huán)遍歷的方式配置 至CPU的控制器,并以CPU按照配置的總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否正確 作為總線時序參數(shù)選擇的最終依據(jù),整個過程不需要人工參與調(diào)試和配置。因此,與現(xiàn)有技 術(shù)通過查找手冊來人工調(diào)試和配置總線時序參數(shù)的方法相比,本發(fā)明實施例提供的是一種 動態(tài)選擇總線時序參數(shù)的方法,可以在短時間內(nèi)精確確定總線時序參數(shù),縮短一個軟件的 開發(fā)周期,增加設備的可維護性。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對現(xiàn)有技術(shù)或?qū)嵤├枋鲋?所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實 施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以如這些附圖 獲得其他的附圖。圖1是本發(fā)明實施例提供的總線時序參數(shù)配置方法流程示意圖;圖2是本發(fā)明實施例提供的中央處理器邏輯結(jié)構(gòu)示意圖;圖3是本發(fā)明另一實施例提供的中央處理器邏輯結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。請參閱附圖1,是本發(fā)明實施例提供的總線時序參數(shù)配置方法流程示意圖。主要包 括步驟S101,選擇總線時序參數(shù)配置至中央處理器的控制器。通??梢杂纱渲镁W(wǎng)絡設備執(zhí)行本發(fā)明實施例的步驟,具體的,可以由待配置網(wǎng) 絡設備的中央處理器實現(xiàn)執(zhí)行??偩€時序參數(shù)是片選信號建立時間、輸出使能信號保持時間、讀使能信號保持時 間和寫使能信號保持時間等參數(shù)的全部或部分的組合,這些片選信號、輸出使能信號和讀 寫使能信號等等在時間上按照一定的次序相互配合輸出就構(gòu)成總線時序??梢詮目赡艿目?線時序參數(shù)中選擇一種配置至中央處理器的控制器。所謂控制器,是指由程序計數(shù)器、指令 寄存器、指令譯碼器、時序產(chǎn)生器和操作控制器等組成,其主要功能是從內(nèi)存中取出一條指 令,指出下一條指令在內(nèi)存中位置對指令進行譯碼或測試,產(chǎn)生相應的操作控制信號,以便 啟動規(guī)定的動作,指揮并控制CPU、內(nèi)存和輸入/輸出設備之間數(shù)據(jù)流動的方向。可選地,可以由相關軟件開發(fā)人員確定幾個關鍵的子總線時序參數(shù),例如地址建 立時間Tadr、片選建立時間Tce和輸出使能保持時間Toe等。然后,采用循環(huán)遍歷的方法, 從由各子總線時序參數(shù)構(gòu)成的所有組合中選擇一種組合作為總線時序參數(shù)配置至中央處理器的控制器。例如,假設地址建立時間Tadr、片選建立時間Tce和輸出使能保持時間Toe可能 的范圍是1至100個時鐘周期,以下文字說明中將時鐘周期簡寫為Tc,則可能的總線時 序參數(shù)包括 l(Tc),l(Tc),l(Tc)、l(Tc),l(Tc),2(Tc)、. . .、100 (Tc),100 (Tc),100 (Tc)等 等。其中,I(Tc),I(Tc),2 (Tc)表示地址建立時間Tadr、片選建立時間Tce和輸出使能保 持時間Toe分別為1個時鐘周期、1個時鐘周期和2個時鐘周期,其余類推。采用循環(huán)遍歷 時,首先選擇總線時序參數(shù)1 (Tc),1 (Tc),1 (Tc);第二次選擇總線時序參數(shù)1 (Tc),1 (Tc), 2 (Tc);...,最后選擇總線時序參數(shù) 100 (Tc),100 (Tc),100 (Tc)。另一種可選方案為,直接從可能的總線時序參數(shù)中選擇一個配置至中央處理器的 控制器。上述可能的總線時序參數(shù)可以保存在網(wǎng)絡設備的存儲器,舉例來說可以保存在 易失性(volatile)存儲設備,例如,動態(tài)隨機存取存儲器(DRAM,Dynamic Random Access Memory)中,也可以保存在非易失性(non-volatile)存儲設備,例如,只讀存儲器(ROM, Read-Only Memory)中,此外也可以保存在高速緩存(Cache)或硬盤中。例如,有三個可能 的總線時序參數(shù),存儲在網(wǎng)絡設備的ROM中,這三個可能的總線時序參數(shù)的Tadr、Tce和Toe 分別為 1 (Tc),1 (Tc),1 (Tc)、1 (Tc),4 (Tc),4 (Tc)和 3 (Tc),9 (Tc),9 (Tc),則可以從這這三 個可能的總線時序參數(shù)選擇一個配置至中央處理器的控制器。S102,判斷所述中央處理器按照配置的總線時序參數(shù)對應的總線時序?qū)ν鈬骷?發(fā)起訪問的訪問結(jié)果是否異常。在CPU小系統(tǒng)中,與CPU關系密切并且經(jīng)常與之交互的器件可以稱為CPU的外圍 器件,例如,內(nèi)存、Flash存儲器以及一些特殊用途的IC等。CPU對外圍器件的總線時序是 否異常,反映到軟件層面就是數(shù)據(jù)的存取是否正常、器件功能是否穩(wěn)定?;谶@個原則,基 本輸入輸出系統(tǒng)(BIOS,Basic Input/OutputSystem)在初始化時,對外圍器件嘗試進行訪 問,例如,讀取Flash的CFI接口校驗返回的數(shù)據(jù)是否正常、讀取CPLD/FPGA的版本/ID寄 存器并校驗等。如能正確獲取這些數(shù)據(jù),則表明CPU外圍器件的總線時序是正確,CPU可以 按照這組總線時序?qū)ν鈬骷M行訪問。考慮到CPU外圍器件的身份標識(ID) —般而言是固定值,在本發(fā)明實施例中,CPU 按照配置的總線時序?qū)ν鈬骷l(fā)起訪問具體可以是按照配置的總線時序讀取外圍器件 的身份標識,而判斷CPU按照配置的總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否正確具 體可以是判斷CPU按照配置的總線時序參數(shù)對應的總線時序讀取外圍器件的身份標識是 否錯誤。當然,若CPU外圍器件沒有身份標識(ID)可供讀取,也可以讀取其他具有固定值 的寄存器,本發(fā)明對此并不加以限制。S103,若步驟S102的判斷結(jié)果為訪問結(jié)果異常,則選擇未被配置過的總線時序參 數(shù)配置至中央處理器的控制器。例如,按照前述步驟S102的實施例,若第一次選擇1 (Tc),1 (Tc),1 (Tc)這種組合 配置至控制器作為一組總線時序,CPU按照這組總線時序不能正確讀取外圍器件的ID,則 說明選擇的總線時序參數(shù)不正確。于是可以在第二次選擇I(Tc),I(Tc),2 (Tc)這種組合配 置至控制器作為一組總線時序,CPU可以按照這組總線時序去讀取外圍器件的ID,若仍然 不能正確讀取,則再選擇另一種組合形式的總線時序參數(shù)配置至控制器。需要說明的是,采用本發(fā)明提供的總線時序參數(shù)配置方法配置出來的總線時序可以固化到初始化程序中,也可以不固化到初始化程序中。不固化到初始化程序中是因為,當 外界條件變化時,例如溫度、濕度和/或電壓變化時,原本可用的總線時序可能有些不能再 用,此時,可以采用本發(fā)明提供的總線時序參數(shù)配置方法獲得正確的總線時序。從上述本發(fā)明實施例可知,總線時序參數(shù)是由軟件程序通過循環(huán)遍歷的方式配置 至CPU的控制器,并以CPU按照配置的總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否正確 作為最終總線時序參數(shù)選擇的依據(jù),整個過程不需要人工參與調(diào)試和配置。因此,與現(xiàn)有技 術(shù)通過查找手冊來人工調(diào)試和配置總線時序參數(shù)的方法相比,本發(fā)明實施例提供的是一種 動態(tài)選擇總線時序參數(shù)的方法,可以在短時間內(nèi)精確確定總線時序參數(shù),縮短一個軟件的 開發(fā)周期,增加設備的可維護性。按照上述實施例提供的方法,可能得到多種可用的總線時序的組合,即,CPU按照 配置的多種總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果均正確,這種情況是由CPU外圍器件 的特性決定的。然而,當外界條件變化時,例如溫度、濕度和/或電壓變化時,原本可用的總 線時序可能有些不能再用。在本發(fā)明實施例中,可以在得到一個能夠使CPU正確訪問外圍器件的總線時序參 數(shù)后就停止選擇新的可能的總線時序參數(shù),此時該總線時序參數(shù)已配置至CPU的控制器。 也可以繼續(xù)在未被配置過的總線時序參數(shù)當中選擇新的總線時序參數(shù)重復上述流程,直到 嘗試完所有可能的總線時序參數(shù)為止,將能夠使CPU正確訪問外圍器件的總線時序參數(shù)配 置至CPU的控制器。采用嘗試所有可能的總線時序參數(shù)的方案時,當CPU按照不同的總線 時序參數(shù)對應的多種總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果均正確時,總線時序參數(shù)配 置裝置可以讓CPU做進一步的壓力測試,即,CPU按照不同的總線時序參數(shù)對應的多種總線 時序?qū)ν鈬骷l(fā)起大批量的讀寫訪問測試,再檢查大批量讀寫訪問測試時哪種總線時序 仍然可用。具體地,可以統(tǒng)計CPU分別按照不同的總線時序參數(shù)對應的多種總線時序配置 對外圍器件發(fā)起多次訪問時的訪問正確率,選擇訪問正確率高的總線時序參數(shù)配置至CPU 的控制器。例如,假設按照地址建立時間Tadr、片選建立時間Tce和輸出使能保持時間Toe為 1 (Tc),1 (Tc),1 (Tc)的總線時序,CPU可以正確訪問其外圍器件;按照地址建立時間Tadr、 片選建立時間Tce和輸出使能保持時間Toe為1 (Tc),1 (Tc), 3 (Tc)的總線時序,CPU也可 以正確訪問其外圍器件,那么,分別統(tǒng)計CPU按照1 (Tc),1 (Tc),1 (Tc)的總線時序和1 (Tc), KTc), 3 (Tc)的總線時序?qū)ν鈬骷l(fā)起多次訪問時的訪問正確率,若前者訪問正確率高, 則選擇總線時序參數(shù)1 (Tc),1 (Tc),1 (Tc)配置至控制器,若后者訪問正確率高,選擇總線 時序參數(shù)1 (Tc),1 (Tc),3 (Tc)配置至控制器。請參閱圖2,是本發(fā)明實施例提供的一種總線時序參數(shù)配置裝置邏輯結(jié)構(gòu)示意圖。 為了便于說明,僅僅示出了與本發(fā)明實施例相關的部分。通常可以由待配置網(wǎng)絡設備執(zhí)行 該總線時序參數(shù)配置裝置的功能,具體地,可以由待配置網(wǎng)絡設備的中央處理器實現(xiàn)該總 線時序參數(shù)配置裝置。圖2所示中央處理器包括第一選擇模塊201、判斷模塊202和第二選 擇模塊203,其中第一選擇模塊201,用于選擇總線時序參數(shù)配置至中央處理器的控制器;判斷模塊202,用于判斷中央處理器按照所述配置的總線時序參數(shù)對應的總線時 序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否異常;
第二選擇模塊203,用于判斷模塊202判斷訪問結(jié)果異常時,選擇未被配置過的總 線時序參數(shù)配置至控制器。在本實施例中,CPU按照配置的總線時序參數(shù)對應的總線時序?qū)ν鈬骷l(fā)起訪 問具體可以為CPU按照配置的總線時序讀取CPU外圍器件的身份標識(ID),判斷模塊202 具體用于判斷所述CPU按照所述配置的總線時序讀取所述外圍器件的身份標識(ID)是否 錯誤,其中,總線時序參數(shù)可以為地址建立時間Tadr、片選建立時間Tce和輸出使能保持時 間 iToe。圖2所示總線時序參數(shù)配置裝置可以進一步包括統(tǒng)計模塊301和第三選擇模塊 302,如附圖3所示本發(fā)明另一實施例提供的中央處理器,其中統(tǒng)計模塊301,用于若中央處理器分別按照不同的總線時序參數(shù)對應的多種總線 時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果均正常,則統(tǒng)計所述CPU按照所述不同的總線時序參 數(shù)對應的的多種總線時序?qū)ν鈬骷l(fā)起多次訪問時的訪問正確率;第三選擇模塊302,用于選擇所述訪問正確率高的總線時序參數(shù)配置至所述控制
ο需要說明的是,上述裝置各模塊/單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與 本發(fā)明方法實施例基于同一構(gòu)思,其帶來的技術(shù)效果與本發(fā)明方法實施例相同,具體內(nèi)容 可參見本發(fā)明方法實施例中的敘述,此處不再贅述。本領域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存 儲介質(zhì)可以包括只讀存儲器(ROM,Read Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁盤或光盤等。以上對本發(fā)明實施例提供的總線時序參數(shù)配置方法和一種中央處理器進行了詳 細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說 明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術(shù)人員,依據(jù) 本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不 應理解為對本發(fā)明的限制。
權(quán)利要求
1.一種總線時序參數(shù)配置方法,其特征在于,所述方法包括選擇總線時序參數(shù)配置至中央處理器的控制器;判斷所述中央處理器按照所述配置的總線時序參數(shù)對應的總線時序?qū)ν鈬骷l(fā)起 訪問的訪問結(jié)果是否異常;若所述訪問結(jié)果異常,則選擇未被配置過的總線時序參數(shù)配置至所述控制器。
2.如權(quán)利要求1所述的方法,其特征在于,所述判斷所述中央處理器按照所述配置的 總線時序參數(shù)對應的總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否正確具體為,判斷所述 中央處理器按照所述配置的總線時序參數(shù)對應的總線時序讀取所述外圍器件的身份標識 是否錯誤。
3.如權(quán)利要求1所述的方法,其特征在于,若所述中央處理器按照不同的總線時序參 數(shù)對應的多種總線時序,對外圍器件發(fā)起訪問的訪問結(jié)果均正常,則統(tǒng)計所述中央處理器 分別按照所述不同的總線時序參數(shù)對應的多種總線時序?qū)ν鈬骷l(fā)起多次訪問時的訪 問正確率,選擇訪問正確率高的總線時序參數(shù)配置至所述控制器。
4.一種中央處理器,其特征在于,所述中央處理器包括第一選擇模塊、判斷模塊和第二 選擇模塊;所述第一選擇模塊,用于選擇總線時序參數(shù)配置至中央處理器的控制器;所述判斷模塊,用于判斷所述中央處理器按照所述配置的總線時序參數(shù)對應的總線時 序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否異常;所述第二選擇模塊,用于所述判斷模塊判斷所述訪問結(jié)果異常時,選擇未被配置過的 總線時序參數(shù)配置至所述控制器。
5.如權(quán)利要求4所述的中央處理器,其特征在于,所述判斷所述中央處理器按照所述 配置的總線時序參數(shù)對應的總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否正確具體為,判 斷所述中央處理器按照所述配置的總線時序參數(shù)對應的總線時序讀取所述外圍器件的身 份標識是否錯誤。
6.如權(quán)利要求5所述的中央處理器,其特征在于,所述中央處理器還包括統(tǒng)計模塊和 第三選擇模塊;所述統(tǒng)計模塊,用于若所述中央處理器按照不同的總線時序參數(shù)對應的多種總線時序 對外圍器件發(fā)起訪問的訪問結(jié)果均正常,則統(tǒng)計所述中央處理器按照所述不同的總線時序 參數(shù)對應的多種總線時序?qū)ν鈬骷l(fā)起多次訪問時的訪問正確率;所述第三選擇模塊,用于選擇所述訪問正確率高的總線時序參數(shù)配置至所述控制器。
全文摘要
本發(fā)明實施例提供總線時序參數(shù)配置方法和裝置,以縮短一個軟件的開發(fā)周期,降低設備的維護成本。所述方法包括選擇總線時序參數(shù)配置至中央處理器的控制器;判斷所述中央處理器按照所述配置的總線時序參數(shù)對應的總線時序?qū)ν鈬骷l(fā)起訪問的訪問結(jié)果是否異常;若所述訪問結(jié)果異常,則選擇未被配置過的總線時序參數(shù)配置至所述控制器。與現(xiàn)有技術(shù)通過查找手冊來人工調(diào)試和配置總線時序參數(shù)的方法相比,本發(fā)明實施例提供的是一種動態(tài)選擇總線時序參數(shù)的方法,可以在短時間內(nèi)精確確定總線時序參數(shù),縮短一個軟件的開發(fā)周期,增加設備的可維護性。
文檔編號G06F13/10GK102141967SQ20101052847
公開日2011年8月3日 申請日期2010年11月2日 優(yōu)先權(quán)日2010年11月2日
發(fā)明者陳凡 申請人:華為技術(shù)有限公司