基于pci接口的apb總線訪問(wèn)方法
【專利摘要】本發(fā)明屬于計(jì)算機(jī)通信【技術(shù)領(lǐng)域】,針對(duì)PCI接口與APB接口進(jìn)行相互通信的需求,提出了一種基于基于PCI接口的APB總線訪問(wèn)方法,首先通過(guò)PCI模塊對(duì)將主機(jī)的PCI訪問(wèn)請(qǐng)求轉(zhuǎn)換為內(nèi)部用戶信號(hào),接著通過(guò)使用控制邏輯,對(duì)內(nèi)部用戶信號(hào)進(jìn)行翻譯,構(gòu)建符合APB時(shí)序的讀寫操作時(shí)序并輸出至APB接口,最后通過(guò)對(duì)APB接口的響應(yīng)信號(hào)進(jìn)行監(jiān)測(cè),完成PCI數(shù)據(jù)的傳輸。解決了兩個(gè)接口之間無(wú)法相互訪問(wèn)的問(wèn)題。通過(guò)在實(shí)際工程中的應(yīng)用,該方法能夠使PCI接口穩(wěn)定的、正確的與APB接口進(jìn)行訪問(wèn)。
【專利說(shuō)明】基于PCI接口的APB總線訪問(wèn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)通信【技術(shù)領(lǐng)域】,涉及FPGA邏輯電路設(shè)計(jì)的相關(guān)技術(shù),尤其涉及一種基于PCI接口的APB總線訪問(wèn)方法。
【背景技術(shù)】
[0002]在開(kāi)發(fā)通信系統(tǒng)時(shí),當(dāng)主機(jī)為PCI (Peripheral Component Interconnect)接口,子板為APB (Advanced Peripheral Bus)接口時(shí),板卡之間需要實(shí)現(xiàn)數(shù)據(jù)交互訪問(wèn)。。
[0003]PCI接口工作在33MHz或66MHz頻率下,地址數(shù)據(jù)信號(hào)復(fù)用;而APB接口工作在80MHz或更高頻率下,地址數(shù)據(jù)信號(hào)未復(fù)用,并且讀操作數(shù)據(jù)及寫操作數(shù)據(jù)也是未復(fù)用,讀寫操作均需要響應(yīng)信號(hào)來(lái)結(jié)束操作。
[0004]綜上所述,PCI接口和APB接口存在差異,PCI接口與APB接口不能正常交互訪問(wèn),不能滿足系統(tǒng)對(duì)于通信的要求。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提出了一種基于PCI接口的APB總線訪問(wèn)方法,該方法方便實(shí)現(xiàn)了的PCI接口對(duì)APB接口正常的讀寫訪問(wèn),用來(lái)支持PCI主機(jī)與APB接口的板卡(設(shè)備)進(jìn)行通信。
[0006]本發(fā)明的第一種技術(shù)解決方案如下:
[0007]基于PCI接口的APB總線訪問(wèn)方法,其特征在于:包括以下步驟,
[0008]IlPCI接口將PCI設(shè)備請(qǐng)求信號(hào)發(fā)送至PCI模塊,所述請(qǐng)求信號(hào)是地址數(shù)據(jù)復(fù)用信號(hào),地址數(shù)據(jù)復(fù)用信號(hào)的讀寫復(fù)用,地址數(shù)據(jù)復(fù)用信號(hào)的地址是32位;
[0009]2】PCI模塊將請(qǐng)求信號(hào)轉(zhuǎn)換為第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),再將轉(zhuǎn)換得到的信號(hào)發(fā)送至信號(hào)產(chǎn)生模塊;
[0010]3】信號(hào)產(chǎn)生模塊接收到第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào)后,產(chǎn)生控制信號(hào),
[0011]并根據(jù)讀寫復(fù)用信號(hào)產(chǎn)生讀信號(hào)和寫信號(hào),讀信號(hào)和寫信號(hào)中的一個(gè)為有效信號(hào);根據(jù)接收到的第一地址信號(hào)產(chǎn)生第二地址信號(hào),第二地址信號(hào)是12位;
[0012]若第一地址信號(hào)中包括PCI設(shè)備設(shè)定的正確地址,則第二地址信號(hào)中包括該正確地址;
[0013]讀信號(hào)用于讀第二地址信號(hào)對(duì)應(yīng)的數(shù)據(jù),寫信號(hào)用于將所述數(shù)據(jù)信號(hào)的信息寫到第二地址信號(hào)對(duì)應(yīng)的地址中;
[0014]所述控制信號(hào)包括讀控制和寫控制;
[0015]讀控制用于控制讀信號(hào)讀包括正確地址的第二地址信號(hào);
[0016]寫控制用于控制寫信號(hào)將數(shù)據(jù)信號(hào)寫到包括正確地址的第二地址信號(hào)對(duì)應(yīng)的地址中;
[0017]第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制是非復(fù)用信號(hào),信號(hào)產(chǎn)生模塊將第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制發(fā)送至同步模塊
[0018]4】同步模塊按照APB接口的時(shí)鐘對(duì)接收到的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制進(jìn)行時(shí)鐘同步,然后發(fā)送至轉(zhuǎn)換模塊;
[0019]5】轉(zhuǎn)換模塊按照APB接口的時(shí)序?qū)邮盏降慕?jīng)過(guò)時(shí)鐘同步的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制進(jìn)行時(shí)序轉(zhuǎn)換,然后通過(guò)APB接口發(fā)送至APB設(shè)備;
[0020]6]APB設(shè)備接收到經(jīng)過(guò)時(shí)序轉(zhuǎn)換的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和與控制后,
[0021]判斷讀信號(hào)和寫信號(hào)中的有效信號(hào),
[0022]若讀信號(hào)有效,則進(jìn)行以下操作:
[0023]a)根據(jù)讀控制的信息,讀取相應(yīng)的第二地址信號(hào)的數(shù)據(jù),讀取完成后,得到相應(yīng)的數(shù)據(jù)信息,然后通過(guò)APB接口向同步模塊發(fā)送數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào);
[0024]b)同步模塊按照PCI接口的時(shí)鐘對(duì)接收到的數(shù)據(jù)信息和響應(yīng)信號(hào)進(jìn)行時(shí)鐘同步,然后發(fā)送至PCI模塊;
[0025]c)PCI模塊對(duì)接收到的數(shù)據(jù)信息和響應(yīng)信號(hào)進(jìn)行信號(hào)復(fù)用得到復(fù)用信號(hào),然后按照PCI接口的時(shí)序?qū)?fù)用信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換,然后發(fā)送至PCI設(shè)備;
[0026]若寫信號(hào)有效,則進(jìn)行以下操作:
[0027]a)根據(jù)寫控制的信息,將數(shù)據(jù)信號(hào)寫到第二地址信號(hào)對(duì)應(yīng)的地址中,寫完后,通過(guò)APB接口向同步模塊發(fā)送寫完的響應(yīng)信號(hào);
[0028]b)同步模塊按照PCI接口的時(shí)鐘對(duì)接收到的響應(yīng)信號(hào)進(jìn)行時(shí)鐘同步,然后發(fā)送至PCI模塊;
[0029]c)PCI模塊按照PCI接口的時(shí)序?qū)ν瓿蓵r(shí)鐘同步的響應(yīng)信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換,然后發(fā)送至PCI設(shè)備。
[0030]上述步驟3】中的讀控制還用于控制讀信號(hào)的開(kāi)始時(shí)間、控制讀信號(hào)的次數(shù)以及控制讀信號(hào)的持續(xù)時(shí)間。
[0031]上述步驟3】中的寫控制還用于控制寫信號(hào)的開(kāi)始時(shí)間、控制寫信號(hào)的次數(shù)以及控制寫信號(hào)的持續(xù)時(shí)間。
[0032]本發(fā)明的第二種技術(shù)解決方案如下:
[0033]基于PCI接口的APB總線訪問(wèn)系統(tǒng),其特征在于:包括PCI設(shè)備、設(shè)置在PCI設(shè)備上的PCI接口、與PCI接口通信連接的PCI模塊、與PCI模塊通信連接的信號(hào)產(chǎn)生模塊、與信號(hào)產(chǎn)生模塊通信連接的同步模塊、與同步模塊通信連接的轉(zhuǎn)換模塊、與轉(zhuǎn)換模塊通信連接的APB接口,所述APB接口設(shè)置在APB設(shè)備上;
[0034]所述PCI模塊:用于將PCI設(shè)備對(duì)APB設(shè)備進(jìn)行訪問(wèn)請(qǐng)求的請(qǐng)求信號(hào)轉(zhuǎn)換為第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),所述請(qǐng)求信號(hào)是地址數(shù)據(jù)復(fù)用信號(hào),地址數(shù)據(jù)復(fù)用信號(hào)的讀寫復(fù)用,地址數(shù)據(jù)復(fù)用信號(hào)的地址是32位;按照PCI接口的時(shí)序?qū)τ赏侥K發(fā)送至PCI接口的信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換;若由同步模塊發(fā)送至PCI接口的信號(hào)包括至少兩種信號(hào),PCI模塊用于對(duì)由同步模塊發(fā)送至PCI接口的信號(hào)進(jìn)行信號(hào)復(fù)用;
[0035]所述信號(hào)產(chǎn)生模塊:根據(jù)接收到的由PCI模塊發(fā)送至信號(hào)產(chǎn)生模塊的第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),產(chǎn)生控制信號(hào)、讀信號(hào)、寫信號(hào)、第二地址信號(hào);讀信號(hào)和寫信號(hào)中的一個(gè)為有效信號(hào),第二地址信號(hào)對(duì)應(yīng)的地址的位數(shù)是12位,若第一地址信號(hào)中包括PCI設(shè)備設(shè)定的正確地址,則第二地址信號(hào)中包括該正確地址;
[0036]讀信號(hào)用于讀第二地址信號(hào)對(duì)應(yīng)的數(shù)據(jù),寫信號(hào)用于將所述數(shù)據(jù)信號(hào)的信息寫到第二地址信號(hào)對(duì)應(yīng)的地址中;
[0037]所述控制信號(hào)包括讀控制和寫控制;
[0038]讀控制用于控制讀信號(hào)讀包括正確地址的第二地址信號(hào);
[0039]寫控制用于控制寫信號(hào)將數(shù)據(jù)信號(hào)寫到包括正確地址的第二地址信號(hào)對(duì)應(yīng)的地址中;
[0040]第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制是非復(fù)用信號(hào);
[0041]所述同步模塊:按照APB接口的時(shí)鐘對(duì)由信號(hào)產(chǎn)生模塊發(fā)送至同步模塊的非復(fù)用信號(hào)進(jìn)行時(shí)鐘同步;按照PCI接口的時(shí)鐘對(duì)APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào)進(jìn)行時(shí)鐘同步;
[0042]所述轉(zhuǎn)換模塊:按照APB接口時(shí)序的對(duì)時(shí)鐘同步后的非復(fù)用信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換;
[0043]所述APB設(shè)備:接收到經(jīng)過(guò)時(shí)序轉(zhuǎn)換后的非復(fù)用信號(hào),對(duì)非復(fù)用信號(hào)中的讀信號(hào)和寫信號(hào),判斷讀信號(hào)和寫信號(hào)中的有效信號(hào),
[0044]若讀信號(hào)有效,則根據(jù)讀控制的信息,讀取相應(yīng)的第二地址信號(hào)的數(shù)據(jù),讀取完成后,得到相應(yīng)的數(shù)據(jù)信息,然后通過(guò)APB接口向同步模塊發(fā)送數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào),將數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào)稱為APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào);
[0045]若寫信號(hào)有效,則根據(jù)寫控制的信息,將數(shù)據(jù)信號(hào)寫到第二地址信號(hào)對(duì)應(yīng)的地址中,寫完后,通過(guò)APB接口向同步模塊發(fā)送寫完的響應(yīng)信號(hào),將該響應(yīng)信號(hào)稱為APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào)。
[0046]上述讀控制還用于控制讀信號(hào)的開(kāi)始時(shí)間、控制讀信號(hào)的次數(shù)以及控制讀信號(hào)的持續(xù)時(shí)間。
[0047]上述寫控制還用于控制寫信號(hào)的開(kāi)始時(shí)間、控制寫信號(hào)的次數(shù)以及控制寫信號(hào)的持續(xù)時(shí)間。
[0048]本發(fā)明具有以下技術(shù)效果:
[0049]1、本發(fā)明實(shí)現(xiàn)了的PCI接口對(duì)APB接口正常的讀寫訪問(wèn),控制簡(jiǎn)單,易
[0050]于硬件邏輯實(shí)現(xiàn);
[0051]2、本發(fā)明通用性高,能夠有效的簡(jiǎn)化使用者的設(shè)計(jì);
[0052]3、本發(fā)明可保證PCI接口端能夠正常的、穩(wěn)定的、正確的對(duì)APB接口進(jìn)
[0053]行讀寫訪問(wèn)。
【專利附圖】
【附圖說(shuō)明】
[0054]圖1PCI讀操作示意圖;
[0055]圖2PCI寫操作示意圖。
【具體實(shí)施方式】
[0056]本發(fā)明提出了一種采用FPGA邏輯電路設(shè)計(jì)的PCI接口與APB接口的訪問(wèn)方法,可以支持由主機(jī)接口作為PCI主設(shè)備對(duì)下層APB設(shè)備進(jìn)行讀寫訪問(wèn)的功能。
[0057]本發(fā)明提供了一種基于PCI接口的APB總線訪問(wèn)方法,參見(jiàn)圖1,PCI讀操作示意圖,包括以下步驟,
[0058]1、基于PCI接口的APB總線訪問(wèn)方法,其特征在于:包括以下步驟,
[0059]I]PCI接口將PCI設(shè)備請(qǐng)求信號(hào)發(fā)送至PCI模塊,所述請(qǐng)求信號(hào)是地址數(shù)據(jù)復(fù)用信號(hào),地址數(shù)據(jù)復(fù)用信號(hào)的讀寫復(fù)用,地址數(shù)據(jù)復(fù)用信號(hào)的地址是32位;
[0060]2】PCI模塊將請(qǐng)求信號(hào)轉(zhuǎn)換為第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),再將轉(zhuǎn)換得到的信號(hào)發(fā)送至信號(hào)產(chǎn)生模塊;
[0061]3】信號(hào)產(chǎn)生模塊接收到第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào)后,產(chǎn)生控制信號(hào),
[0062]并根據(jù)讀寫復(fù)用信號(hào)產(chǎn)生讀信號(hào)和寫信號(hào),讀信號(hào)和寫信號(hào)中的一個(gè)為有效信號(hào);根據(jù)接收到的第一地址信號(hào)產(chǎn)生第二地址信號(hào),第二地址信號(hào)是12位;
[0063]若第一地址信號(hào)中包括PCI設(shè)備設(shè)定的正確地址,則第二地址信號(hào)中包括該正確地址;
[0064]讀信號(hào)用于讀第二地址信號(hào)對(duì)應(yīng)的數(shù)據(jù),寫信號(hào)用于將所述數(shù)據(jù)信號(hào)的信息寫到第二地址信號(hào)對(duì)應(yīng)的地址中;
[0065]所述控制信號(hào)包括讀控制和寫控制;
[0066]讀控制用于控制讀信號(hào)讀包括正確地址的第二地址信號(hào);
[0067]寫控制用于控制寫信號(hào)將數(shù)據(jù)信號(hào)寫到包括正確地址的第二地址信號(hào)對(duì)應(yīng)的地址中;
[0068]第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制是非復(fù)用信號(hào),信號(hào)產(chǎn)生模塊將第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制發(fā)送至同步模塊
[0069]4】同步模塊按照APB接口的時(shí)鐘對(duì)接收到的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制進(jìn)行時(shí)鐘同步,然后發(fā)送至轉(zhuǎn)換模塊;
[0070]5】轉(zhuǎn)換模塊按照APB接口的時(shí)序?qū)邮盏降慕?jīng)過(guò)時(shí)鐘同步的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制進(jìn)行時(shí)序轉(zhuǎn)換,即將經(jīng)過(guò)經(jīng)過(guò)時(shí)鐘同步的信號(hào)翻譯為符合APB接口時(shí)序的APB接口信號(hào)、適合APB總線的讀操作,然后通過(guò)APB接口發(fā)送至APB設(shè)備;
[0071]6]APB設(shè)備接收到經(jīng)過(guò)時(shí)序轉(zhuǎn)換的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和與控制后,
[0072]判斷讀信號(hào)和寫信號(hào)中的有效信號(hào),
[0073]若讀信號(hào)有效,則進(jìn)行以下操作:
[0074]a)根據(jù)讀控制的信息,讀取相應(yīng)的第二地址信號(hào)的數(shù)據(jù),讀取完成后,得到相應(yīng)的數(shù)據(jù)信息,然后通過(guò)APB接口向同步模塊發(fā)送數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào);
[0075]b)同步模塊按照PCI接口的時(shí)鐘對(duì)接收到的數(shù)據(jù)信息和響應(yīng)信號(hào)進(jìn)行時(shí)鐘同步,然后發(fā)送至PCI模塊;
[0076]c)PCI模塊對(duì)接收到的數(shù)據(jù)信息和響應(yīng)信號(hào)進(jìn)行信號(hào)復(fù)用得到復(fù)用信號(hào),然后按照PCI接口的時(shí)序?qū)?fù)用信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換,然后發(fā)送至PCI設(shè)備;
[0077]若寫信號(hào)有效,則進(jìn)行以下操作:
[0078]a)根據(jù)寫控制的信息,將數(shù)據(jù)信號(hào)寫到第二地址信號(hào)對(duì)應(yīng)的地址中,寫完后,通過(guò)APB接口向同步模塊發(fā)送寫完的響應(yīng)信號(hào);
[0079]b)同步模塊按照PCI接口的時(shí)鐘對(duì)接收到的響應(yīng)信號(hào)進(jìn)行時(shí)鐘同步,然后發(fā)送至PCI模塊;
[0080]c)PCI模塊按照PCI接口的時(shí)序?qū)ν瓿蓵r(shí)鐘同步的響應(yīng)信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換,然后發(fā)送至PCI設(shè)備。
[0081]其中,步驟3】中的讀控制還用于控制讀信號(hào)的開(kāi)始時(shí)間、控制讀信號(hào)的次數(shù)以及控制讀信號(hào)的持續(xù)時(shí)間;寫控制還用于控制寫信號(hào)的開(kāi)始時(shí)間、控制寫信號(hào)的次數(shù)以及控制寫信號(hào)的持續(xù)時(shí)間。
[0082]本發(fā)明還提供了基于PCI接口的APB總線訪問(wèn)系統(tǒng),包括PCI設(shè)備、設(shè)置在PCI設(shè)備上的PCI接口、與PCI接口通信連接的PCI模塊、與PCI模塊通信連接的信號(hào)產(chǎn)生模塊、與信號(hào)產(chǎn)生模塊通信連接的同步模塊、與同步模塊通信連接的轉(zhuǎn)換模塊、與轉(zhuǎn)換模塊通信連接的APB接口,所述APB接口設(shè)置在APB設(shè)備上;
[0083]PCI模塊:用于將PCI設(shè)備對(duì)APB設(shè)備進(jìn)行訪問(wèn)請(qǐng)求的請(qǐng)求信號(hào)轉(zhuǎn)換為第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),所述請(qǐng)求信號(hào)是地址數(shù)據(jù)復(fù)用信號(hào),地址數(shù)據(jù)復(fù)用信號(hào)的讀寫復(fù)用,地址數(shù)據(jù)復(fù)用信號(hào)的地址是32位;按照PCI接口的時(shí)序?qū)τ赏侥K發(fā)送至PCI接口的信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換;若由同步模塊發(fā)送至PCI接口的信號(hào)包括至少兩種信號(hào),PCI模塊用于對(duì)由同步模塊發(fā)送至PCI接口的信號(hào)進(jìn)行信號(hào)復(fù)用;
[0084]信號(hào)產(chǎn)生模塊:根據(jù)接收到的由PCI模塊發(fā)送至信號(hào)產(chǎn)生模塊的第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),產(chǎn)生控制信號(hào)、讀信號(hào)、寫信號(hào)、第二地址信號(hào);讀信號(hào)和寫信號(hào)中的一個(gè)為有效信號(hào),第二地址信號(hào)對(duì)應(yīng)的地址的位數(shù)是12位,若第一地址信號(hào)中包括PCI設(shè)備設(shè)定的正確地址,則第二地址信號(hào)中包括該正確地址;
[0085]讀信號(hào)用于讀第二地址信號(hào)對(duì)應(yīng)的數(shù)據(jù),寫信號(hào)用于將所述數(shù)據(jù)信號(hào)的信息寫到第二地址信號(hào)對(duì)應(yīng)的地址中;
[0086]控制信號(hào)包括讀控制和寫控制;
[0087]讀控制用于控制讀信號(hào)讀包括正確地址的第二地址信號(hào);
[0088]寫控制用于控制寫信號(hào)將數(shù)據(jù)信號(hào)寫到包括正確地址的第二地址信號(hào)對(duì)應(yīng)的地址中;
[0089]第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制是非復(fù)用信號(hào);
[0090]同步模塊:按照APB接口的時(shí)鐘對(duì)由信號(hào)產(chǎn)生模塊發(fā)送至同步模塊的非復(fù)用信號(hào)進(jìn)行時(shí)鐘同步;按照PCI接口的時(shí)鐘對(duì)APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào)進(jìn)行時(shí)鐘同步;
[0091]轉(zhuǎn)換模塊:按照APB接口時(shí)序的對(duì)時(shí)鐘同步后的非復(fù)用信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換;
[0092]APB設(shè)備:接收到經(jīng)過(guò)時(shí)序轉(zhuǎn)換后的非復(fù)用信號(hào),對(duì)非復(fù)用信號(hào)中的讀信號(hào)和寫信號(hào),判斷讀信號(hào)和寫信號(hào)中的有效信號(hào),
[0093]若讀信號(hào)有效,則根據(jù)讀控制的信息,讀取相應(yīng)的第二地址信號(hào)的數(shù)據(jù),讀取完成后,得到相應(yīng)的數(shù)據(jù)信息,然后通過(guò)APB接口向同步模塊發(fā)送數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào),將數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào)稱為APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào);
[0094]若寫信號(hào)有效,則根據(jù)寫控制的信息,將數(shù)據(jù)信號(hào)寫到第二地址信號(hào)對(duì)應(yīng)的地址中,寫完后,通過(guò)APB接口向同步模塊發(fā)送寫完的響應(yīng)信號(hào),將該響應(yīng)信號(hào)稱為APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào)。
[0095]本發(fā)明的基于PCI接口的APB總線訪問(wèn)系統(tǒng)中,讀控制還用于控制讀信號(hào)的開(kāi)始時(shí)間、控制讀信號(hào)的次數(shù)以及控制讀信號(hào)的持續(xù)時(shí)間;寫控制還用于控制寫信號(hào)的開(kāi)始時(shí)間、控制寫信號(hào)的次數(shù)以及控制寫信號(hào)的持續(xù)時(shí)間。
[0096]本發(fā)明的原理:本發(fā)明將PCI設(shè)備的PCI請(qǐng)求數(shù)據(jù)通過(guò)PCI模塊翻譯為用戶應(yīng)用信號(hào)(即將復(fù)用信號(hào)轉(zhuǎn)換為非復(fù)用信號(hào)),用戶應(yīng)用信號(hào)包括數(shù)據(jù)傳輸狀態(tài)、讀寫操作、地址片選擇、地址、讀數(shù)據(jù)、寫數(shù)據(jù)等信號(hào)。并將用戶應(yīng)用信號(hào)通過(guò)同步模塊進(jìn)行同步,接著將同步后的信號(hào)通過(guò)轉(zhuǎn)換模塊后送往APB設(shè)備的APB接口,最后通過(guò)對(duì)APB接口的響應(yīng)信號(hào)進(jìn)行監(jiān)測(cè),完成PCI請(qǐng)求數(shù)據(jù)的傳輸。
[0097]本方法通過(guò)下述步驟實(shí)現(xiàn),具體參照附圖給出說(shuō)明。
[0098]1.邏輯電路單元:
[0099]一個(gè)PCI模塊①,用于將主機(jī)的PCI訪問(wèn)請(qǐng)求轉(zhuǎn)換為內(nèi)部用戶信號(hào);
[0100]一個(gè)信號(hào)產(chǎn)生模塊②,用于將pCI模塊①產(chǎn)生的信號(hào)規(guī)整為讀寫信號(hào),同時(shí)還產(chǎn)生控制信號(hào);
[0101 ] 一個(gè)同步模塊③,用于對(duì)流向APB接口的信號(hào)按照APB接口的時(shí)鐘進(jìn)行時(shí)鐘同步,對(duì)由APB設(shè)備發(fā)出的流向PCI接口的信號(hào);按照PCI接口的時(shí)鐘進(jìn)行時(shí)鐘同步;
[0102]一個(gè)轉(zhuǎn)換模塊④,用于將同步模塊③產(chǎn)生的流向APB設(shè)備的信號(hào)按照APB接口時(shí)序進(jìn)行時(shí)序轉(zhuǎn)換。
[0103]2.處理流程:
[0104]a、PCI讀操作,如圖1,
[0105]主機(jī)的PCI讀操作通過(guò)PCI模塊①,產(chǎn)生內(nèi)部用戶信號(hào);
[0106]將上步驟中生成的信號(hào)通過(guò)讀寫信號(hào)產(chǎn)生模塊②,產(chǎn)生易于操作的讀請(qǐng)求、地址、控制?目號(hào)等;
[0107]通過(guò)同步模塊③,將上步驟產(chǎn)生的信號(hào)(讀請(qǐng)求、地址、控制信號(hào))同步至APB時(shí)鐘域;
[0108]通過(guò)轉(zhuǎn)換模塊④,將上步驟產(chǎn)生的信號(hào)翻譯為適合APB總線的讀操作;
[0109]將APB總線的響應(yīng)信號(hào)和讀數(shù)據(jù)通過(guò)同步模塊③同步后,返回給PCI核。
[0110]b、PCI寫操作,如圖2,
[0111]主機(jī)的PCI寫操作通過(guò)PCI模塊①,產(chǎn)生內(nèi)部用戶信號(hào);
[0112]將上步驟中生成的信號(hào)通過(guò)讀寫信號(hào)產(chǎn)生模塊②,產(chǎn)生易于操作的寫請(qǐng)求、地址、寫數(shù)據(jù)、控制信號(hào)等;
[0113]通過(guò)同步模塊③,將上步驟產(chǎn)生的信號(hào)(寫請(qǐng)求、地址、寫數(shù)據(jù)、控制信號(hào))同步至APB時(shí)鐘域;
[0114]通過(guò)轉(zhuǎn)換模塊④,將上步驟產(chǎn)生的信號(hào)翻譯為適合APB總線的讀操作;
[0115]將APB總線的響應(yīng)信號(hào)通過(guò)同步模塊③同步后,返回給PCI模塊。
【權(quán)利要求】
1.基于PCI接口的APB總線訪問(wèn)方法,其特征在于:包括以下步驟, HPCI接口將PCI設(shè)備請(qǐng)求信號(hào)發(fā)送至PCI模塊,所述請(qǐng)求信號(hào)是地址數(shù)據(jù)復(fù)用信號(hào),地址數(shù)據(jù)復(fù)用信號(hào)的讀寫復(fù)用,地址數(shù)據(jù)復(fù)用信號(hào)的地址是32位; 2】PCI模塊將請(qǐng)求信號(hào)轉(zhuǎn)換為第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),再將轉(zhuǎn)換得到的信號(hào)發(fā)送至信號(hào)產(chǎn)生模塊; 3】信號(hào)產(chǎn)生模塊接收到第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào)后,產(chǎn)生控制信號(hào),并根據(jù)讀寫復(fù)用信號(hào)產(chǎn)生讀信號(hào)和寫信號(hào),讀信號(hào)和寫信號(hào)中的一個(gè)為有效信號(hào);根據(jù)接收到的第一地址信號(hào)產(chǎn)生第二地址信號(hào),第二地址信號(hào)是12位; 若第一地址信號(hào)中包括PCI設(shè)備設(shè)定的正確地址,則第二地址信號(hào)中包括該正確地址; 讀信號(hào)用于讀第二地址信號(hào)對(duì)應(yīng)的數(shù)據(jù),寫信號(hào)用于將所述數(shù)據(jù)信號(hào)的信息寫到第二地址信號(hào)對(duì)應(yīng)的地址中; 所述控制信號(hào)包括讀控制和寫控制; 讀控制用于控制讀信號(hào)讀包括正確地址的第二地址信號(hào); 寫控制用于控制寫信號(hào)將數(shù)據(jù)信號(hào)寫到包括正確地址的第二地址信號(hào)對(duì)應(yīng)的地址中; 第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制是非復(fù)用信號(hào),信號(hào)產(chǎn)生模塊將第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制發(fā)送至同步模塊 4】同步模塊按照APB接口的時(shí)鐘對(duì)接收到的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制進(jìn)行時(shí)鐘同步,然后發(fā)送至轉(zhuǎn)換模塊; 5】轉(zhuǎn)換模塊按照APB接口的時(shí)序?qū)邮盏降慕?jīng)過(guò)時(shí)鐘同步的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制進(jìn)行時(shí)序轉(zhuǎn)換,然后通過(guò)APB接口發(fā)送至APB設(shè)備; 6]APB設(shè)備接收到經(jīng)過(guò)時(shí)序轉(zhuǎn)換的第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和與控制后, 判斷讀信號(hào)和寫信號(hào)中的有效信號(hào), 若讀信號(hào)有效,則進(jìn)行以下操作: a)根據(jù)讀控制的信息,讀取相應(yīng)的第二地址信號(hào)的數(shù)據(jù),讀取完成后,得到相應(yīng)的數(shù)據(jù)信息,然后通過(guò)APB接口向同步模塊發(fā)送數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào); b)同步模塊按照PCI接口的時(shí)鐘對(duì)接收到的數(shù)據(jù)信息和響應(yīng)信號(hào)進(jìn)行時(shí)鐘同步,然后發(fā)送至PCI模塊; c)PCI模塊對(duì)接收到的數(shù)據(jù)信息和響應(yīng)信號(hào)進(jìn)行信號(hào)復(fù)用得到復(fù)用信號(hào),然后按照PCI接口的時(shí)序?qū)?fù)用信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換,然后發(fā)送至PCI設(shè)備; 若寫信號(hào)有效,則進(jìn)行以下操作: a)根據(jù)寫控制的信息,將數(shù)據(jù)信號(hào)寫到第二地址信號(hào)對(duì)應(yīng)的地址中,寫完后,通過(guò)APB接口向同步模塊發(fā)送寫完的響應(yīng)信號(hào); b)同步模塊按照PCI接口的時(shí)鐘對(duì)接收到的響應(yīng)信號(hào)進(jìn)行時(shí)鐘同步,然后發(fā)送至PCI豐吳塊; c)PCI模塊按照PCI接口的時(shí)序?qū)ν瓿蓵r(shí)鐘同步的響應(yīng)信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換,然后發(fā)送至PCI設(shè)備。
2.根據(jù)權(quán)利要求1所述的基于PCI接口的APB總線訪問(wèn)方法,其特征在于:所述步驟3】中的讀控制還用于控制讀信號(hào)的開(kāi)始時(shí)間、控制讀信號(hào)的次數(shù)以及控制讀信號(hào)的持續(xù)時(shí)間。
3.根據(jù)權(quán)利要求2所述的基于PCI接口的APB總線訪問(wèn)方法,其特征在于:所述步驟3】中的寫控制還用于控制寫信號(hào)的開(kāi)始時(shí)間、控制寫信號(hào)的次數(shù)以及控制寫信號(hào)的持續(xù)時(shí)間。
4.基于PCI接口的APB總線訪問(wèn)系統(tǒng),其特征在于:包括PCI設(shè)備、設(shè)置在PCI設(shè)備上的PCI接口、與PCI接口通信連接的PCI模塊、與PCI模塊通信連接的信號(hào)產(chǎn)生模塊、與信號(hào)產(chǎn)生模塊通信連接的同步模塊、與同步模塊通信連接的轉(zhuǎn)換模塊、與轉(zhuǎn)換模塊通信連接的APB接口,所述APB接口設(shè)置在APB設(shè)備上; 所述PCI模塊:用于將PCI設(shè)備對(duì)APB設(shè)備進(jìn)行訪問(wèn)請(qǐng)求的請(qǐng)求信號(hào)轉(zhuǎn)換為第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),所述請(qǐng)求信號(hào)是地址數(shù)據(jù)復(fù)用信號(hào),地址數(shù)據(jù)復(fù)用信號(hào)的讀寫復(fù)用,地址數(shù)據(jù)復(fù)用信號(hào)的地址是32位;按照PCI接口的時(shí)序?qū)τ赏侥K發(fā)送至PCI接口的信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換;若由同步模塊發(fā)送至PCI接口的信號(hào)包括至少兩種信號(hào),PCI模塊用于對(duì)由同步模塊發(fā)送至PCI接口的信號(hào)進(jìn)行信號(hào)復(fù)用; 所述信號(hào)產(chǎn)生模塊:根據(jù)接收到的由PCI模塊發(fā)送至信號(hào)產(chǎn)生模塊的第一地址信號(hào)、數(shù)據(jù)信號(hào)和讀寫復(fù)用信號(hào),產(chǎn)生控制信號(hào)、讀信號(hào)、寫信號(hào)、第二地址信號(hào);讀信號(hào)和寫信號(hào)中的一個(gè)為有效信號(hào),第二地址信號(hào)對(duì)應(yīng)的地址的位數(shù)是12位,若第一地址信號(hào)中包括PCI設(shè)備設(shè)定的正確地址,則第二地址信號(hào)中包括該正確地址; 讀信號(hào)用于讀第二地址信號(hào)對(duì)應(yīng)的數(shù)據(jù),寫信號(hào)用于將所述數(shù)據(jù)信號(hào)的信息寫到第二地址信號(hào)對(duì)應(yīng)的地址中; 所述控制信號(hào)包括讀控制和寫控制; 讀控制用于控制讀信號(hào)讀包括正確地址的第二地址信號(hào); 寫控制用于控制寫信號(hào)將數(shù)據(jù)信號(hào)寫到包括正確地址的第二地址信號(hào)對(duì)應(yīng)的地址中; 第二地址信號(hào)、數(shù)據(jù)信號(hào)、讀信號(hào)、寫信號(hào)、讀控制和寫控制是非復(fù)用信號(hào); 所述同步模塊:按照APB接口的時(shí)鐘對(duì)由信號(hào)產(chǎn)生模塊發(fā)送至同步模塊的非復(fù)用信號(hào)進(jìn)行時(shí)鐘同步;按照PCI接口的時(shí)鐘對(duì)APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào)進(jìn)行時(shí)鐘同步;所述轉(zhuǎn)換模塊:按照APB接口時(shí)序的對(duì)時(shí)鐘同步后的非復(fù)用信號(hào)進(jìn)行時(shí)序轉(zhuǎn)換; 所述APB設(shè)備:接收到經(jīng)過(guò)時(shí)序轉(zhuǎn)換后的非復(fù)用信號(hào),對(duì)非復(fù)用信號(hào)中的讀信號(hào)和寫信號(hào),判斷讀信號(hào)和寫信號(hào)中的有效信號(hào), 若讀信號(hào)有效,則根據(jù)讀控制的信息,讀取相應(yīng)的第二地址信號(hào)的數(shù)據(jù),讀取完成后,得到相應(yīng)的數(shù)據(jù)信息,然后通過(guò)APB接口向同步模塊發(fā)送數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào),將數(shù)據(jù)信息和讀取完成的響應(yīng)信號(hào)稱為APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào); 若寫信號(hào)有效,則根據(jù)寫控制的信息,將數(shù)據(jù)信號(hào)寫到第二地址信號(hào)對(duì)應(yīng)的地址中,寫完后,通過(guò)APB接口向同步模塊發(fā)送寫完的響應(yīng)信號(hào),將該響應(yīng)信號(hào)稱為APB設(shè)備完成的訪問(wèn)請(qǐng)求信號(hào)。
5.根據(jù)權(quán)利要求4所述的基于PCI接口的APB總線訪問(wèn)系統(tǒng),其特征在于:所述讀控制還用于控制讀信號(hào)的開(kāi)始時(shí)間、控制讀信號(hào)的次數(shù)以及控制讀信號(hào)的持續(xù)時(shí)間。
6.根據(jù)權(quán)利要求5所述的基于PCI接口的APB總線訪問(wèn)系統(tǒng),其特征在于:所述寫控制還用于控制寫信號(hào)的開(kāi)始時(shí)間、控制寫信號(hào)的次數(shù)以及控制寫信號(hào)的持續(xù)時(shí)間。
【文檔編號(hào)】G06F13/38GK104484298SQ201410727824
【公開(kāi)日】2015年4月1日 申請(qǐng)日期:2014年12月3日 優(yōu)先權(quán)日:2014年12月3日
【發(fā)明者】田園, 李大鵬, 李玉發(fā), 蒲愷 申請(qǐng)人:中國(guó)航空工業(yè)集團(tuán)公司第六三一研究所