專利名稱:一種調(diào)整外部設(shè)備控制信號(hào)時(shí)序的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及接口裝置技術(shù),具體地一種涉及接口時(shí)序方面的調(diào)整方法。
這種連接關(guān)系的特點(diǎn)是簡單、可靠,但在外部設(shè)備速度比處理器速度慢的情況下,如果在處理器插入等待周期,軟件中執(zhí)行一些空操作,不僅影響了軟件的效率,而且由于每次訪問都要插入等待周期,給代碼的編寫增加工作量,并影響代碼的可讀性;如果處理器依靠外部設(shè)備的讀寫操作完成信號(hào)來判斷對(duì)外部設(shè)備的操作是否完成,由于不是每種外部設(shè)備都提供操作完成信號(hào),因此該方案不適用于所有的場合。
綜上所述,
圖1所示的連接只適用于部分場合,對(duì)于速度比處理器的速度慢而且沒有讀寫操作完成信號(hào)的外部設(shè)備而言,該方案將導(dǎo)致處理器的讀寫不穩(wěn)定。
本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的一種調(diào)整外部設(shè)備控制信號(hào)時(shí)序的方法,其特征在于該方法至少包括以下步驟A.當(dāng)處理器的控制信號(hào)有效時(shí),由設(shè)置于處理器與外部設(shè)備之間的時(shí)序調(diào)整電路內(nèi)部的計(jì)數(shù)啟動(dòng)/禁止模塊啟動(dòng)該電路內(nèi)部的計(jì)數(shù)器模塊開始計(jì)數(shù);B.當(dāng)前計(jì)數(shù)值等于預(yù)先設(shè)定的計(jì)數(shù)預(yù)定值時(shí),時(shí)序調(diào)整電路的控制信號(hào)輸出模塊產(chǎn)生相應(yīng)的控制信號(hào)輸出給外部設(shè)備的控制信號(hào)端,同時(shí)停止計(jì)數(shù)。
所述的時(shí)序調(diào)整電路中至少設(shè)置有計(jì)數(shù)啟動(dòng)/禁止模塊、計(jì)數(shù)器模塊和控制信號(hào)輸出模塊。
較佳地,所述的步驟B進(jìn)一步包括B11)在計(jì)數(shù)器模塊開始計(jì)數(shù)的同時(shí),控制信號(hào)輸出模塊置外部設(shè)備控制信號(hào)的電平有效;B12)該控制信號(hào)輸出模塊實(shí)時(shí)判斷該計(jì)數(shù)器模塊的當(dāng)前計(jì)數(shù)值是否等于計(jì)數(shù)預(yù)定值,若等于,則該控制信號(hào)輸出模塊置外部設(shè)備控制信號(hào)的電平無效;否則維持外部設(shè)備控制信號(hào)的電平有效。
其中,所述的計(jì)數(shù)預(yù)定值由處理器控制有效信號(hào)的時(shí)間與數(shù)據(jù)進(jìn)入外部設(shè)備目的寄存器所需時(shí)間的差值決定。
較佳地,所述的步驟B進(jìn)一步包括B21)控制信號(hào)輸出模塊實(shí)時(shí)判斷計(jì)數(shù)器模塊的當(dāng)前計(jì)數(shù)值是否等于計(jì)數(shù)預(yù)定值,若等于,則該控制信號(hào)輸出模塊置外部設(shè)備控制信號(hào)的電平有效;否則維持外部設(shè)備控制信號(hào)的電平無效;B22)當(dāng)計(jì)數(shù)啟動(dòng)/禁止模塊檢測到處理器輸出的控制信號(hào)電平無效時(shí),該控制信號(hào)輸出模塊置外部設(shè)備控制信號(hào)的電平無效。
其中,所述的計(jì)數(shù)預(yù)定值由外部設(shè)備控制信號(hào)的電平有效時(shí)刻滯后于處理器控制信號(hào)的電平有效時(shí)刻的時(shí)間間隔決定。
所述的時(shí)序調(diào)整電路由可編程邏輯器件實(shí)現(xiàn)。
本發(fā)明通過調(diào)整相應(yīng)控制信號(hào)的寬度來延長兩個(gè)有效控制信號(hào)之間的間隔,結(jié)合外部設(shè)備的時(shí)序特性,根據(jù)外部設(shè)備要求的兩次操作的最小時(shí)間間隔以及處理器輸出的相應(yīng)控制信號(hào)的寬度決定送給外部設(shè)備的控制信號(hào)的位置及有效寬度,提高了處理器的效率,保證了操作的可靠性,實(shí)現(xiàn)簡單,能夠很好地應(yīng)用于處理器外掛慢速度設(shè)備的場合。
參見圖2所示,圖2為外部設(shè)備對(duì)讀寫控制信號(hào)的時(shí)間要求示意圖。圖中寫操作的有效沿為外部設(shè)備片選信號(hào)/P_CS的上升沿,數(shù)據(jù)在圖中所示的上升沿t1時(shí)刻寫入外部設(shè)備,由于外部設(shè)備寫入的速度比較慢,需要經(jīng)過時(shí)間t后數(shù)據(jù)才能寫到目的寄存器,因此t為數(shù)據(jù)寫入外部設(shè)備目的寄存器的時(shí)間。為了讓處理器能夠有效地把數(shù)據(jù)寫入外部設(shè)備,必須保證外部設(shè)備片選信號(hào)的上升沿與下一個(gè)片選信號(hào)的下降沿之間的時(shí)間間隔Tw不得小于數(shù)據(jù)寫入外部設(shè)備目的寄存器的時(shí)間t。圖中Tw表示兩次/P_CS之間的時(shí)間間隔,即本次/P_CS的上升沿與下次/P_CS的下降沿之間的時(shí)間間隔。
如果通過調(diào)整處理器送出的兩次片選信號(hào)的間隔來滿足這個(gè)要求,處理器的效率將會(huì)變低,因?yàn)槊繄?zhí)行一個(gè)操作后它都要等待t時(shí)間才能夠執(zhí)行下一次操作。在這種情況下,可以在時(shí)序調(diào)整電路中對(duì)處理器送過來的片選的寬度進(jìn)行調(diào)整,通過縮短P_CS的寬度,并保證Tw不小于t,從而保證操作的可靠性。
參見圖3所示,圖3為本發(fā)明處理器接口示意圖。與圖1相比,本發(fā)明在處理器與外部設(shè)備之間的控制信號(hào)通道上增加了一個(gè)時(shí)序調(diào)整電路,用于調(diào)整信號(hào)的時(shí)序關(guān)系,以保證外部設(shè)備一側(cè)的控制信號(hào)時(shí)序特性能夠滿足外部設(shè)備的要求。
本發(fā)明的時(shí)序調(diào)整電路通過兩種方法調(diào)整外部設(shè)備控制信號(hào)時(shí)序一種是先設(shè)置外部設(shè)備的片選信號(hào)與CPU的片選信號(hào)同時(shí)有效,經(jīng)過一定的延時(shí)后,再設(shè)置外部設(shè)備的片選信號(hào)無效;另一種是經(jīng)過一定的延時(shí)后,先設(shè)置外部設(shè)備的片選信號(hào)有效,然后當(dāng)CPU的片選信號(hào)無效時(shí)同時(shí)設(shè)置外部設(shè)備的片選信號(hào)無效。藉此調(diào)整信號(hào)的時(shí)序關(guān)系,以增加外部設(shè)備片選信號(hào)的時(shí)間間隔。
下面通過兩個(gè)具體的實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
在下述兩個(gè)實(shí)施例中,均以芯片MT90220作為外部設(shè)備,該MT90220芯片是MITEL公司的IMA/UNI芯片,該芯片在CPU對(duì)其內(nèi)部的寄存器寫數(shù)據(jù)時(shí),數(shù)據(jù)要等待2.5個(gè)工作時(shí)鐘周期才能夠傳遞到目的寄存器。當(dāng)MT90220的工作時(shí)鐘頻率為25MHz時(shí),等待周期為100nS,再加上其它開銷,該等待時(shí)間將達(dá)到120nS,那么,在這段等待時(shí)間內(nèi),CPU將不能對(duì)MT90220進(jìn)行任何訪問。
通常,當(dāng)MT90220工作在MOTOROLA方式時(shí),CPU向MT90220寫數(shù)據(jù)是利用外部設(shè)備的片選信號(hào)/MT CS的上升沿來將數(shù)據(jù)寫入MT90220的。為了保證MT90220有足夠的等待時(shí)間,可調(diào)整到達(dá)MT90220的片選信號(hào)/MT_CS的寬度,使得/MT_CS的上升沿早于CPU輸出的片選信號(hào)/CS的上升沿,或者是讓/MT_CS的下降沿遲于/CS的下降沿。
實(shí)施例1參見圖4所示,圖4為采用外部設(shè)備的片選信號(hào)/P_CS的有效電平提前于CPU輸出的片選信號(hào)/CS的有效電平結(jié)束的方法調(diào)整外部設(shè)備時(shí)序的示意圖。圖中,外部設(shè)備的片選信號(hào)/P_CS與CPU的片選信號(hào)/CS同時(shí)有效(低電平為有效電平),Tw為從/P_CS的上升沿開始,到/P_CS的下降沿結(jié)束的時(shí)間間隔。為保證兩次/P_CS之間的時(shí)間間隔Tw不小于數(shù)據(jù)從外部設(shè)備寫入目的寄存器的時(shí)間t,/P_CS提前于/CS結(jié)束。
參見圖6所示,圖6為本發(fā)明實(shí)施例外部設(shè)備接口圖。CPU輸出的片選信號(hào)/CS、讀寫控制信號(hào)RW以及地址信號(hào)均引入時(shí)序調(diào)整電路,利用這三個(gè)信號(hào)的邏輯來選擇欲進(jìn)行寫操作的外部設(shè)備芯片;該電路的輸出信號(hào)控制外部設(shè)備的片選信號(hào)/MT_CS。
參見圖8所示,圖8為本發(fā)明實(shí)施例1的示意圖。當(dāng)處理器的片選信號(hào)/CS有效時(shí),同時(shí)置外部設(shè)備片選信號(hào)有效,在一定的時(shí)間之后將/MT_CS拉高,使外部設(shè)備片選信號(hào)/MT_CS的有效時(shí)間Tcount小于處理器輸出的片選信號(hào)/CS寬度,若CPU輸出的片選信號(hào)/CS的有效寬度為Tcs,則/MT_CS超前/CS結(jié)束的時(shí)間Trest=Tcs-Tcount。如果能夠保證數(shù)據(jù)從外部設(shè)備進(jìn)入目的寄存器的時(shí)間Trest>120nS,CPU就可以可靠地向外部設(shè)備MT90220寫數(shù)據(jù)。為了調(diào)試的方便,兩次片選之間的間隔時(shí)間不計(jì)入Trest。
具體實(shí)現(xiàn)過程如下參見圖7所示,圖7為時(shí)序調(diào)整電路功能模塊示意圖。時(shí)序調(diào)整電路內(nèi)部至少包括三個(gè)模塊計(jì)數(shù)啟動(dòng)/禁止模塊、計(jì)數(shù)器模塊、控制信號(hào)輸出模塊。當(dāng)計(jì)數(shù)啟動(dòng)/禁止模塊判斷到/CS的下降沿到來時(shí),該模塊輸出的控制信號(hào)立即啟動(dòng)計(jì)數(shù)模塊,同時(shí)控制控制信號(hào)輸出模塊在/MT_CS上輸出低電平。計(jì)數(shù)模塊接收到計(jì)數(shù)啟動(dòng)信號(hào)后便開始計(jì)數(shù),當(dāng)計(jì)數(shù)到計(jì)數(shù)預(yù)定值時(shí)如圖8中的Tcount時(shí)間,計(jì)數(shù)模塊向計(jì)數(shù)啟動(dòng)/禁止模塊輸出反饋信號(hào),讓計(jì)數(shù)啟動(dòng)/禁止模塊向控制信號(hào)輸出模塊送出一控制信號(hào),該控制信號(hào)將使控制信號(hào)輸出模塊輸出高電平。因此只有在/CS下降沿到來以后才會(huì)在/MT_CS輸出低電平,當(dāng)計(jì)數(shù)模塊計(jì)數(shù)到計(jì)數(shù)預(yù)定值以后,/MT_CS輸出高電平。合理設(shè)定計(jì)數(shù)預(yù)定值就可以讓/MT_CS的上升沿比/CS的上升沿提前到來,從而滿足了外部設(shè)備MT90220的時(shí)間要求。
在讀操作過程中,CPU的片選信號(hào)將直接送給外部設(shè)備MT90220的片選信號(hào)端。
實(shí)施例2參見圖5所示,圖5為采用外部設(shè)備的片選信號(hào)/P_CS有效電平開始時(shí)間滯后于CPU的片選信號(hào)/CS有效電平開始時(shí)間的方法調(diào)整外部設(shè)備時(shí)序的示意圖。圖中,Tw為從/P_CS的上升沿開始,到/P_CS的下降沿結(jié)束的時(shí)間間隔。為保證兩次/P_CS之間的時(shí)間間隔Tw不小于數(shù)據(jù)寫入目的寄存器的時(shí)間t,/P_CS滯后于/CS開始,滯后的時(shí)間為Trest,即/CS的下降沿時(shí)間與/P_CS的下降沿之間的時(shí)間。
采用此方案時(shí),外部設(shè)備的接口圖與如圖6所示的一樣,時(shí)序調(diào)整電路功能模塊示意圖與圖7所示的一致。當(dāng)處理器的片選信號(hào)/CS有效時(shí),在一定的時(shí)間之后將/MT_CS拉低,使外部設(shè)備片選信號(hào)/MT_CS的有效電平開始的時(shí)間滯后于處理器輸出的片選信號(hào)/CS的有效電平開始的時(shí)間,如果能夠保證數(shù)據(jù)從外部設(shè)備進(jìn)入目的寄存器的時(shí)間Trest>120nS,CPU就可以可靠地向外部設(shè)備MT90220寫數(shù)據(jù)。
其工作過程如下當(dāng)計(jì)數(shù)啟動(dòng)/禁止模塊判斷到/CS的下降沿到來時(shí),該模塊輸出的控制信號(hào)立即啟動(dòng)計(jì)數(shù)模塊,此時(shí)/MT_CS上的電平保持高電平。當(dāng)計(jì)數(shù)模塊計(jì)數(shù)到計(jì)數(shù)預(yù)定值如圖9中的Trest時(shí),計(jì)數(shù)模塊向計(jì)數(shù)啟動(dòng)/禁止模塊輸出反饋信號(hào),讓計(jì)數(shù)啟動(dòng)/禁止模塊向控制信號(hào)輸出模塊送出一控制信號(hào),該控制信號(hào)將使控制信號(hào)輸出模塊輸出低電平。當(dāng)/CS的上升沿到來時(shí),控制信號(hào)輸出模塊將輸出/MT_CS的電平由低變?yōu)楦?。此方案的時(shí)序可以同時(shí)滿足MT90220的讀寫要求,所以采用此方案時(shí),時(shí)序調(diào)整電路無需判斷當(dāng)前的操作是讀操作還是寫操作。
上述所述的時(shí)序調(diào)整電路可以用邏輯代碼實(shí)現(xiàn)的硬件電路來實(shí)現(xiàn)。
上述調(diào)整外部設(shè)備控制信號(hào)時(shí)序的具體實(shí)現(xiàn)方法只是對(duì)MT90220進(jìn)行寫操作的實(shí)施例。對(duì)于寫操作不是由片選信號(hào)來完成,而是由其它控制信號(hào)如專門的寫信號(hào)(WR)來完成的場合,具體做法與上述方法類似,可以通過調(diào)整相應(yīng)控制信號(hào)的寬度來延長兩個(gè)有效控制信號(hào)之間的間隔,以此保證操作的可靠性。
權(quán)利要求
1.一種調(diào)整外部設(shè)備控制信號(hào)時(shí)序的方法,其特征在于該方法至少包括以下步驟A.當(dāng)處理器的控制信號(hào)有效時(shí),由設(shè)置于處理器與外部設(shè)備之間的時(shí)序調(diào)整電路內(nèi)部的計(jì)數(shù)啟動(dòng)/禁止模塊啟動(dòng)該電路內(nèi)部的計(jì)數(shù)器模塊開始計(jì)數(shù);B.當(dāng)前計(jì)數(shù)值等于預(yù)先設(shè)定的計(jì)數(shù)預(yù)定值時(shí),時(shí)序調(diào)整電路的控制信號(hào)輸出模塊產(chǎn)生相應(yīng)的控制信號(hào)輸出給外部設(shè)備的控制信號(hào)端,同時(shí)停止計(jì)數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的時(shí)序調(diào)整電路中至少設(shè)置有計(jì)數(shù)啟動(dòng)/禁止模塊、計(jì)數(shù)器模塊和控制信號(hào)輸出模塊。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的步驟B進(jìn)一步包括B11)在計(jì)數(shù)器模塊開始計(jì)數(shù)的同時(shí),控制信號(hào)輸出模塊置外部設(shè)備控制信號(hào)的電平有效;B12)該控制信號(hào)輸出模塊實(shí)時(shí)判斷該計(jì)數(shù)器模塊的當(dāng)前計(jì)數(shù)值是否等于計(jì)數(shù)預(yù)定值,若等于,則該控制信號(hào)輸出模塊置外部設(shè)備控制信號(hào)的電平無效;否則維持外部設(shè)備控制信號(hào)的電平有效。
4.根據(jù)權(quán)利要求1或3所述的方法,其特征在于,所述的計(jì)數(shù)預(yù)定值由處理器控制有效信號(hào)的時(shí)間與數(shù)據(jù)進(jìn)入外部設(shè)備目的寄存器所需時(shí)間的差值決定。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的步驟B進(jìn)一步包括B21)控制信號(hào)輸出模塊實(shí)時(shí)判斷計(jì)數(shù)器模塊的當(dāng)前計(jì)數(shù)值是否等于計(jì)數(shù)預(yù)定值,若等于,則該控制信號(hào)輸出模塊置外部設(shè)備控制信號(hào)的電平有效;否則維持外部設(shè)備控制信號(hào)的電平無效;B22)當(dāng)計(jì)數(shù)啟動(dòng)/禁止模塊檢測到處理器輸出的控制信號(hào)電平無效時(shí),該控制信號(hào)輸出模塊置外部設(shè)備控制信號(hào)的電平無效。
6.根據(jù)權(quán)利要求1或5所述的方法,其特征在于,所述的計(jì)數(shù)預(yù)定值由外部設(shè)備控制信號(hào)的電平有效時(shí)刻滯后于處理器控制信號(hào)的電平有效時(shí)刻的時(shí)間間隔決定。
7.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述的時(shí)序調(diào)整電路由可編程邏輯器件實(shí)現(xiàn)。
全文摘要
本發(fā)明公開了一種調(diào)整外部設(shè)備控制信號(hào)時(shí)序的方法,當(dāng)處理器的控制信號(hào)有效時(shí),由設(shè)置于處理器與外部設(shè)備之間的時(shí)序調(diào)整電路內(nèi)部的計(jì)數(shù)啟動(dòng)/禁止模塊啟動(dòng)該電路內(nèi)部的計(jì)數(shù)器模塊開始計(jì)數(shù);當(dāng)前計(jì)數(shù)值等于預(yù)先設(shè)定的計(jì)數(shù)預(yù)定值時(shí),時(shí)序調(diào)整電路的控制信號(hào)輸出模塊產(chǎn)生相應(yīng)的控制信號(hào)輸出給外部設(shè)備的控制信號(hào)端,同時(shí)停止計(jì)數(shù)。該時(shí)序調(diào)整電路至少由計(jì)數(shù)啟動(dòng)/禁止模塊、計(jì)數(shù)器模塊、輸出模塊實(shí)現(xiàn)。該方法通過調(diào)整處理器訪問外部設(shè)備的時(shí)間間隔,使得外部設(shè)備能夠有足夠的時(shí)間來完成處理器分配的讀寫任務(wù),從而保證了處理器讀寫的可靠性,提高處理器的效率,能夠很好地應(yīng)用于處理器外掛慢速度設(shè)備的場合。
文檔編號(hào)G06F13/10GK1437119SQ02100488
公開日2003年8月20日 申請(qǐng)日期2002年2月6日 優(yōu)先權(quán)日2002年2月6日
發(fā)明者謝壽波, 魏孔剛, 李友誼 申請(qǐng)人:華為技術(shù)有限公司