一種與8位微處理器應(yīng)用系統(tǒng)連接的計數(shù)器ip核及其實現(xiàn)計數(shù)器計數(shù)控制的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種與8位微處理器應(yīng)用系統(tǒng)連接的計數(shù)器IP核及其實現(xiàn)計數(shù)器計 數(shù)控制的方法,尤其涉及一種基于FPGA并行處理的特點,應(yīng)用FPGA設(shè)計硬連接電路組成的 能夠與8位微處理器應(yīng)用系統(tǒng)連接的計數(shù)器IP核及其實現(xiàn)計數(shù)器計數(shù)控制的方法。
【背景技術(shù)】
[0002] 在大規(guī)模計數(shù)控制或其它需要應(yīng)用眾多計數(shù)器的8位微處理器應(yīng)用系統(tǒng)中,將使 用大量的計數(shù)器,擴展計數(shù)器個數(shù)有三種實現(xiàn)方式:第一種方式是應(yīng)用微處理器中的一個 計數(shù)器的計數(shù)值作為基準計數(shù)值,采用計數(shù)中斷方式編程,設(shè)置基準計數(shù)值的倍數(shù)變量,該 計數(shù)值倍數(shù)變量也是擴展計數(shù)器的標識變量,編程方法主要有2種,第1種方法是執(zhí)行一次 計數(shù)器中斷服務(wù)函數(shù)計數(shù)值倍數(shù)變量加1,并與設(shè)置的基準計數(shù)值的倍數(shù)值比較,如果計數(shù) 值倍數(shù)變量已達到設(shè)置的基準計數(shù)值的倍數(shù)值,對計數(shù)值倍數(shù)變量清〇,然后執(zhí)行該擴展計 數(shù)器計數(shù)值溢出的程序;或?qū)iT設(shè)置一個擴展計數(shù)器的標識變量,當(dāng)計數(shù)值倍數(shù)變量已達 到設(shè)置的基準計數(shù)值的倍數(shù)值時,對計數(shù)值倍數(shù)變量清〇,置1計數(shù)器的標識變量,在主函 數(shù)的程序中判斷該計數(shù)器的標識變量是否為" 1",如果是,則清0該計數(shù)器的標識變量,執(zhí) 行一次該擴展計數(shù)器計數(shù)值溢出的處理函數(shù);第二種方式是微處理器與計數(shù)器擴展芯片連 接,目前計數(shù)器芯片主要有82C54,可以擴展3個16位計數(shù)器; 以上二種實現(xiàn)方式存在如下不足之處: 1. 應(yīng)用基準計數(shù)器的計數(shù)中斷方法,CPU響應(yīng)和退出基準計數(shù)器中斷服務(wù)程序占用 CPU運行時間;基準計數(shù)值越小,計數(shù)器系統(tǒng)需要擴展的計數(shù)器越多,將占用CPU運行時間 越長,對其它程序模塊的執(zhí)行速度產(chǎn)生嚴重的影響; 2. 第二種方式采用微處理器外擴專用計數(shù)器芯片,所需的計數(shù)器越多,外擴專用計數(shù) 器芯片就越多,8位微處理器應(yīng)用系統(tǒng)的電路規(guī)模就越大; 第三種方式是采用不可編程的硬件計數(shù),其每個計數(shù)器用獨立的硬件電路實現(xiàn);采用 這種方式實現(xiàn)計數(shù)功能,所需的計數(shù)器越多,電路規(guī)模就越大,且維護工作量大。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于充分應(yīng)用FPGA的并行處理功能,提供一種基于FPGA的與8位 微處理器應(yīng)用系統(tǒng)連接的計數(shù)器IP核及其實現(xiàn)計數(shù)器計數(shù)控制的方法,計數(shù)器IP核內(nèi)部 有14個16位計數(shù)器,能夠應(yīng)用12個16位計數(shù)器設(shè)置成為6個32位計數(shù)器,每個16位計 數(shù)器或32位計數(shù)器能夠輸出計數(shù)溢出信號,能夠編程設(shè)置門控信號控制計數(shù)器的工作,計 數(shù)器的工作模式,選擇四種計數(shù)輸入脈沖的濾波參數(shù),該計數(shù)器IP核只需要經(jīng)過初始化編 程的兩條命令設(shè)置每個計數(shù)器的工作運行方式,每個計數(shù)器計數(shù)值溢出時,能夠自動重新 裝載計數(shù)參數(shù),計數(shù)過程不占用8位微處理器程序執(zhí)行的時間,能夠?qū)崿F(xiàn)對數(shù)量多達14個 16位計數(shù)器或6個32位計數(shù)器的計數(shù)與計數(shù)控制等優(yōu)點,以克服已有計數(shù)方式實現(xiàn)技術(shù)所 存在的不足。
[0004] 為解決上述技術(shù)問題,本發(fā)明采取的技術(shù)方案是:一種與8位微處理器應(yīng)用系統(tǒng) 連接的計數(shù)器IP核,其特征在于:該計數(shù)器IP核包括數(shù)據(jù)輸入輸出與命令字分解存儲控制 模塊,脈沖12分頻器,計數(shù)處理控制模塊,計數(shù)器溢出標志控制模塊,輸入門控選擇控制模 塊; 所述數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊與8位微處理器應(yīng)用系統(tǒng)、計數(shù)處理控 制模塊、計數(shù)器溢出標志控制模塊和輸入門控選擇控制模塊連接; 所述脈沖12分頻器還與8位微處理器應(yīng)用系統(tǒng)和計數(shù)處理控制模塊連接; 所述計數(shù)處理控制模塊還與8位微處理器應(yīng)用系統(tǒng)、計數(shù)器溢出標志控制模塊和輸入 門控選擇控制模塊連接; 所述數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊在輸入的片選信號為低電平的條件下, 如果寫信號有效,按照8位微處理器應(yīng)用系統(tǒng)給定的計數(shù)器或計數(shù)器命令字的地址,獲得 計數(shù)器運行的工作模式分頻倍數(shù)編碼命令字,狀態(tài)控制命令字,16位計數(shù)器或32位計數(shù)器 的計數(shù)參數(shù),并按照計數(shù)參數(shù)、計數(shù)器編號、工作模式分頻倍數(shù)編碼和狀態(tài)控制分別予以存 儲和輸出,還輸出寫工作模式分頻倍數(shù)編碼命令字信號、寫狀態(tài)控制命令字信號和寫計數(shù) 器參數(shù)信號;如果讀信號有效向8位微處理器應(yīng)用系統(tǒng)傳輸計數(shù)器實時計數(shù)值; 所述脈沖12分頻器對8位微處理器應(yīng)用系統(tǒng)的時鐘脈沖進行分頻,其輸出作為計數(shù)處 理控制模塊的計數(shù)器計數(shù)控制操作的濾波基準時鐘脈沖; 所述計數(shù)處理控制模塊在寫工作模式分頻倍數(shù)編碼命令字信號的作用下,按照計數(shù)器 編號存儲該計數(shù)器的工作模式,濾波基準時鐘分頻倍數(shù)的編碼值;在寫狀態(tài)控制命令字信 號的作用下,按照計數(shù)器編號存儲該計數(shù)器的狀態(tài)控制信號;在寫計數(shù)器參數(shù)信號的作用 下,按照計數(shù)器編號存儲該計數(shù)器的計數(shù)參數(shù);所述計數(shù)處理控制模塊在計數(shù)器IP核外部 輸入的計數(shù)處理控制運行時鐘脈沖CLK II的作用下,控制計數(shù)處理控制模塊的運行,按照 脈沖12分頻器輸出的一個濾波基準時鐘脈沖周期完成所有已啟動計數(shù)器的一次處理,包 括每個計數(shù)器的狀態(tài)控制處理,工作模式的判斷處理,當(dāng)濾波基準時鐘的個數(shù)達到一個16 位/32位計數(shù)器所設(shè)置的濾波基準時鐘倍數(shù)值時,從計數(shù)器IP核外部讀入該計數(shù)器的計數(shù) 輸入信號,進行一次濾波處理,如果判斷是一次有效地計數(shù)脈沖,則對該計數(shù)器的實時計數(shù) 參數(shù)值進行加1操作,產(chǎn)生溢出時,對實時計數(shù)參數(shù)值自動重裝載計數(shù)參數(shù),并輸出溢出標 志信號;在數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊輸入的片選信號為低電平的條件下, 如果讀信號有效,按照8位微處理器應(yīng)用系統(tǒng)給定的計數(shù)器的地址,直接讀出該計數(shù)器的 實時計數(shù)參數(shù)值經(jīng)數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊傳輸?shù)?位微處理器應(yīng)用系 統(tǒng)的數(shù)據(jù)總線,16位計數(shù)器的實時計數(shù)參數(shù)需要分時兩次予以讀出,32位計數(shù)器的實時計 數(shù)參數(shù)需要分時四次予以讀出;在8位微處理器應(yīng)用系統(tǒng)輸出的復(fù)位信號作用下,停止所 有計數(shù)器的計數(shù)操作; 所述計數(shù)器溢出標志控制模塊輸出16位/32位計數(shù)器的高電平為有效的溢出信號;計 數(shù)處理控制模塊輸出的16位計數(shù)器的溢出信號由低電平變換為高電平時,存儲該計數(shù)器 溢出標志為高電平;如果該計數(shù)器溢出標志為高電平,清溢出標志由高電平轉(zhuǎn)換為低電平, 存儲該計數(shù)器溢出標志為低電平;在寫工作模式分頻倍數(shù)編碼命令字信號的作用下,計數(shù) 器溢出標志控制模塊按照寄存器編號存儲32位計數(shù)器工作模式的信息,封鎖該32位計數(shù) 器低16位的溢出信息保持為低電平; 所述輸入門控選擇控制模塊在寫工作模式分頻倍數(shù)編碼命令字信號作用下,按照計數(shù) 器編號存儲該計數(shù)器的工作模式,根據(jù)該計數(shù)器工作模式所確定的門控功能要求和輸入的 門控電平,控制輸入門控選擇控制模塊輸出的門控信號。
[0005] 其進一步技術(shù)方案是:所述數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊包括8位雙 向數(shù)據(jù)選通三態(tài)門組,讀寫信號控制模塊,計數(shù)參數(shù)寄存器,計數(shù)器編號寄存器,工作模式 濾波編碼寄存器,狀態(tài)控制寄存器; 所述8位雙向數(shù)據(jù)選通三態(tài)門組分別與8位微處理器應(yīng)用系統(tǒng)、讀寫信號控制模塊、計 數(shù)參數(shù)寄存器、計數(shù)器編號寄存器,工作模式濾波編碼寄存器,狀態(tài)控制寄存器和計數(shù)處理 控制模塊連接; 所述讀寫信號控制模塊還與8位微處理器應(yīng)用系統(tǒng)、計數(shù)參數(shù)寄存器、計數(shù)器編號寄 存器,工作模式濾波編碼寄存器,狀態(tài)控制寄存器、計數(shù)處理控制模塊、計數(shù)器溢出標志控 制模塊和輸入門控選擇控制模塊連接; 所述計數(shù)參數(shù)寄存器還與計數(shù)處理控制模塊連接; 所述計數(shù)器編號寄存器還與8位微處理器應(yīng)用系統(tǒng)、計數(shù)處理控制模塊、計數(shù)器溢出 標志控制模塊和輸入門控選擇控制模塊連接; 所述工作模式濾波編碼寄存器還與8位微處理器應(yīng)用系統(tǒng)、計數(shù)處理控制模塊、計數(shù) 器溢出標志控制模塊和輸入門控選擇控制模塊連接; 所述狀態(tài)控制寄存器還與8位微處理器應(yīng)用系統(tǒng)、計數(shù)處理控制模塊和計數(shù)器溢出標 志控制模塊連接; 所述數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊的讀寫信號控制模塊在片選信號為低 電平的條件下,如果寫信號有效,發(fā)出8位雙向數(shù)據(jù)選通三態(tài)門組寫信號,選通8位微處理 器應(yīng)用系統(tǒng)數(shù)據(jù)總線的數(shù)據(jù)輸入;產(chǎn)生寫計數(shù)器編號信號,并判斷8位微處理器應(yīng)用系統(tǒng) 地址總線輸入的地址值,如果是計數(shù)器參數(shù)的地址值,將該地址值寫入計數(shù)器編號寄存器, 產(chǎn)生寫計數(shù)器參數(shù)信號,將數(shù)據(jù)總線的8位數(shù)據(jù)寫入計數(shù)參數(shù)寄存器;如果是計數(shù)器命令 字地址,將數(shù)據(jù)總線的第2位~第5位數(shù)據(jù)寫入計數(shù)器編號寄存器,命令字地址是OHl或 0FH,設(shè)置第3位計數(shù)器編號值S3為0,否則設(shè)置為1 ;如果是命令字低8位地址,則命令字 是工作模式分頻倍數(shù)編碼命令字,產(chǎn)生寫工作模式分頻倍數(shù)編碼命令字信號,將數(shù)據(jù)總線 的第0位、第1位、第6位和第7位寫入工作模式分頻倍數(shù)編碼寄存器;如果是命令字高8 位地址,則命令字是狀態(tài)控制命令字,產(chǎn)生寫狀態(tài)控制命令字信號,將數(shù)據(jù)總線的第0位、 第1位和第7位寫入狀態(tài)控制寄存器;如果讀信號有效,發(fā)出8位雙向數(shù)據(jù)選通三態(tài)門組讀 信號,將計數(shù)處理控制模塊的計數(shù)器IP核內(nèi)部輸出數(shù)據(jù)總線的數(shù)據(jù)傳輸?shù)?位微處理器應(yīng) 用系統(tǒng)的數(shù)據(jù)總線。
[0006] 其更進一步技術(shù)方案是:所述計數(shù)處理控制模塊包括計數(shù)器計數(shù)控制操作模塊, 地址選通控制I,8位計數(shù)參數(shù)雙端口存儲器,地址選通控制II,8位計數(shù)實時參數(shù)雙端口 存儲器,地址選通控制III,4位工作模式分頻倍數(shù)編碼雙端口存儲器,地址選通控制IV,3位 狀態(tài)控制雙端口存儲器,4位計數(shù)濾波參數(shù)移位存儲器; 所述計數(shù)器計數(shù)控制操作模塊分別與脈沖12分頻器、計數(shù)器溢出標志控制模塊、輸入 門控選擇控制模塊、地址選通控制I、8位計數(shù)參數(shù)雙端口存儲器、地址選通控制II、8位計 數(shù)實時參數(shù)雙端口存儲器、地址選通控制m、4位工作模式分頻倍數(shù)編碼雙端口存儲器、地 址選通控制IV、3位狀態(tài)控制雙端口存儲器,4位計數(shù)濾波參數(shù)移位存儲器,計數(shù)器IP核 外部輸入的計數(shù)輸入信號和計數(shù)處理控制運行時鐘脈沖CLK II連接; 所述地址選通控制I還與數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊和8位計數(shù)參數(shù) 雙端口存儲器連接; 所述8位計數(shù)參數(shù)雙端口存儲器還與數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊和8位 計數(shù)實時參數(shù)雙端口存儲器連接; 所述地址選通控制II還與8位微處理器應(yīng)用系統(tǒng)、數(shù)據(jù)輸入輸出與命令字分解存儲控 制模塊和8位計數(shù)實時參數(shù)雙端口存儲器連接; 所述8位計數(shù)實時參數(shù)雙端口存儲器還與數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊 連接; 所述地址選通控制III還與數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊和4位工作模式 分頻倍數(shù)編碼雙端口存儲器連接; 所述4位工作模式分頻倍數(shù)編碼雙端口存儲器還與數(shù)據(jù)輸入輸出與命令字分解存儲 控制模塊連接; 所述地址選通控制IV還與數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊和3位狀態(tài)控制 雙端口存儲器連接; 所述3位狀態(tài)控制雙端口存儲器還與數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊、8位 微處理器應(yīng)用系統(tǒng)的復(fù)位信號連接;如果輸入的復(fù)位信號為有效的復(fù)位信號,復(fù)位3位狀 態(tài)控制雙端口存儲器,停止所有計數(shù)器的計數(shù)。
[0007] 其再進一步技術(shù)方案是:所述計數(shù)器溢出標志控制模塊包括非門,MO工作模式位 寄存器組,溢出清零脈沖控制器,與非門I,D觸發(fā)器I,與門I,與非門II,D觸發(fā)器II,與 非門III,D觸發(fā)器III,與門II,與非門IV,D觸發(fā)器IV,與非門V,D觸發(fā)器V,與門III,與非門 VI,D觸發(fā)器VI,與非門W,D觸發(fā)器W,與非門W,D觸發(fā)器W,與門IV,與非門IX,D觸發(fā)器 IX,與非門X,D觸發(fā)器X,與門V,與非門XI,D觸發(fā)器XI,與非門XLD觸發(fā)器XL與門VI,與 非門XIII,D觸發(fā)器XIII,與非門XIV,D觸發(fā)器XIV ; 所述非門的輸入端與數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊的狀態(tài)控制寄存器的 MO輸出端連接,輸出端與MO工作模式位寄存器組的一個輸入端連接; MO工作模式位寄存器組的另三個輸入端分別與8位微處理器應(yīng)用系統(tǒng)的復(fù)位信號輸 出端、數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊的讀寫信號控制模塊的寫工作模式濾波編 碼命令字信號輸出端和計數(shù)器編號寄存器的計數(shù)器編號輸出端連接,輸出端分別與門I、 與門II、與門III、與門IV、與門V、與門VI的一個輸入端連接; 溢出清零脈沖控制器的三個輸入端分別與數(shù)據(jù)輸入輸出與命令字分解存儲控制模塊 的讀寫信號控制模塊的寫狀態(tài)控制命令字信號輸出端、狀態(tài)控制寄存器的清溢出標志輸出 端和計數(shù)器編號寄存器的計數(shù)器編號輸出端連接,輸出端分別與非門I、與非門II、與非門 III、與非門IV、與非門V、與非門VI、與非門W、與非門VDI、與非門IX、與非門X、與非門XI、與 非門χπ、與非門XIII、與非門XIV的一個輸入端連接;輸出端還與D觸發(fā)器I、D觸發(fā)器II、D 觸發(fā)器III、D觸發(fā)器IV、D觸發(fā)器V、D觸發(fā)器VI、D觸發(fā)器W、D觸發(fā)器VDI、D觸發(fā)器IX、D觸 發(fā)器X、D觸發(fā)器XI、D觸發(fā)器ΧΠ 、D觸發(fā)器XIII和D觸發(fā)器XIV的數(shù)據(jù)輸入端連接; 與非門I的另一個輸入端與計數(shù)處理控制模塊的溢出標志輸出端連接,輸出端與D觸 發(fā)器I的時鐘信號輸入端連接; D觸發(fā)器I的數(shù)據(jù)輸出端和與門I的另一個輸入端連接; 與門I的輸出端作為16位計數(shù)器O的溢出標志輸出信號與8位微處理器應(yīng)用系統(tǒng)連 接; 與非門II的另一個輸入端與計數(shù)處理控制模塊的溢出標志輸出端連接,輸出端與D觸 發(fā)器II的時鐘信號輸入端連接; D觸發(fā)器II的數(shù)據(jù)輸出端作為16位計數(shù)器1/32位計數(shù)器O的溢出標志輸出信號輸出 端與8位微處理器應(yīng)用系統(tǒng)連接; 與非門III的另一個輸入端與計數(shù)處理控制模塊的溢出標志輸出端連接,輸出端與D觸 發(fā)器III的時鐘信號輸入端連接; D觸發(fā)器III的數(shù)據(jù)輸出端和與門II的另一個輸入端連接; 與門II的輸出端作為16位計數(shù)器2的溢出標志輸出信號與8位微處理器應(yīng)用系統(tǒng)連 接; 與非門IV的另一個輸入端與計數(shù)