一種與16位微處理器應(yīng)用系統(tǒng)連接的計(jì)數(shù)器ip核的制作方法
【技術(shù)領(lǐng)域】
[0001] 本實(shí)用新型設(shè)及一種與16位微處理器應(yīng)用系統(tǒng)連接的計(jì)數(shù)器IP核,尤其設(shè)及一 種基于FPGA并行處理的特點(diǎn),應(yīng)用FPGA設(shè)計(jì)硬連接電路組成的能夠與16位微處理器應(yīng)用 系統(tǒng)連接的計(jì)數(shù)器IP核。
【背景技術(shù)】
[0002] 在大規(guī)模計(jì)數(shù)控制或其它需要應(yīng)用眾多計(jì)數(shù)器的16位微處理器應(yīng)用系統(tǒng)中,將 使用大量的計(jì)數(shù)器,擴(kuò)展計(jì)數(shù)器個(gè)數(shù)有=種實(shí)現(xiàn)方式:第一種方式是應(yīng)用微處理器中的一 個(gè)計(jì)數(shù)器的計(jì)數(shù)值作為基準(zhǔn)計(jì)數(shù)值,采用計(jì)數(shù)中斷方式編程,設(shè)置基準(zhǔn)計(jì)數(shù)值的倍數(shù)變量, 該計(jì)數(shù)值倍數(shù)變量也是擴(kuò)展計(jì)數(shù)器的標(biāo)識(shí)變量,編程方法主要有2種,第1種方法是執(zhí)行一 次計(jì)數(shù)器中斷服務(wù)函數(shù)計(jì)數(shù)值倍數(shù)變量加1,并與設(shè)置的基準(zhǔn)計(jì)數(shù)值的倍數(shù)值比較,如果計(jì) 數(shù)值倍數(shù)變量已達(dá)到設(shè)置的基準(zhǔn)計(jì)數(shù)值的倍數(shù)值,對(duì)計(jì)數(shù)值倍數(shù)變量清0,然后執(zhí)行該擴(kuò)展 計(jì)數(shù)器計(jì)數(shù)值溢出的程序;或?qū)?谠O(shè)置一個(gè)擴(kuò)展計(jì)數(shù)器的標(biāo)識(shí)變量,當(dāng)計(jì)數(shù)值倍數(shù)變量已 達(dá)到設(shè)置的基準(zhǔn)計(jì)數(shù)值的倍數(shù)值時(shí),對(duì)計(jì)數(shù)值倍數(shù)變量清0,置1計(jì)數(shù)器的標(biāo)識(shí)變量,在主 函數(shù)的程序中判斷該計(jì)數(shù)器的標(biāo)識(shí)變量是否為"1",如果是,則清0該計(jì)數(shù)器的標(biāo)識(shí)變量, 執(zhí)行一次該擴(kuò)展計(jì)數(shù)器計(jì)數(shù)值溢出的處理函數(shù);第二種方式是微處理器與計(jì)數(shù)器擴(kuò)展忍片 連接擴(kuò)展16位計(jì)數(shù)器;
[0003] W上二種實(shí)現(xiàn)方式存在如下不足之處:
[0004] 1.應(yīng)用基準(zhǔn)計(jì)數(shù)器的計(jì)數(shù)中斷方法,CPU響應(yīng)和退出基準(zhǔn)計(jì)數(shù)器中斷服務(wù)程序占 用CPU運(yùn)行時(shí)間;基準(zhǔn)計(jì)數(shù)值越小,計(jì)數(shù)器系統(tǒng)需要擴(kuò)展的計(jì)數(shù)器越多,將占用CPU運(yùn)行時(shí) 間越長(zhǎng),對(duì)其它程序模塊的執(zhí)行速度產(chǎn)生嚴(yán)重的影響; 陽(yáng)0化]2.第二種方式采用微處理器外擴(kuò)專用計(jì)數(shù)器忍片,所需的計(jì)數(shù)器越多,外擴(kuò)專用 計(jì)數(shù)器忍片就越多,16位微處理器應(yīng)用系統(tǒng)的電路規(guī)模就越大;
[0006] 第=種方式是采用不可編程的硬件計(jì)數(shù),其每個(gè)計(jì)數(shù)器用獨(dú)立的硬件電路實(shí)現(xiàn); 采用運(yùn)種方式實(shí)現(xiàn)計(jì)數(shù)功能,所需的計(jì)數(shù)器越多,電路規(guī)模就越大,且維護(hù)工作量大。
【發(fā)明內(nèi)容】
[0007] 本實(shí)用新型的目的在于充分應(yīng)用FPGA的并行處理功能,提供一種基于FPGA的與 16位微處理器應(yīng)用系統(tǒng)連接的計(jì)數(shù)器IP核,計(jì)數(shù)器IP核內(nèi)部有15個(gè)16位計(jì)數(shù)器,也可W 應(yīng)用14個(gè)16位計(jì)數(shù)器設(shè)置成為7個(gè)32位計(jì)數(shù)器,每個(gè)16位計(jì)數(shù)器或32位計(jì)數(shù)器能夠輸 出溢出信號(hào),能夠編程設(shè)置口控信號(hào)控制計(jì)數(shù)器的工作,計(jì)數(shù)器的工作模式,選擇十六種計(jì) 數(shù)輸入脈沖的濾波參數(shù),該計(jì)數(shù)器IP核只需要經(jīng)過(guò)初始化編程的一條命令設(shè)置每個(gè)計(jì)數(shù) 器的工作運(yùn)行方式,計(jì)數(shù)時(shí)間到產(chǎn)生計(jì)數(shù)溢出信號(hào)時(shí),計(jì)數(shù)器IP核能夠自動(dòng)重新裝載計(jì)數(shù) 參數(shù);計(jì)數(shù)過(guò)程不占用16位微處理器程序執(zhí)行的時(shí)間,能夠?qū)崿F(xiàn)對(duì)數(shù)量多達(dá)15個(gè)16位計(jì) 數(shù)器或1個(gè)16位計(jì)數(shù)器和7個(gè)32位計(jì)數(shù)器的計(jì)數(shù)與計(jì)數(shù)控制等優(yōu)點(diǎn),W克服已有計(jì)數(shù)方 式實(shí)現(xiàn)技術(shù)所存在的不足。
[0008] 為解決上述技術(shù)問(wèn)題,本實(shí)用新型采取的技術(shù)方案是:一種與16位微處理器應(yīng)用 系統(tǒng)連接的計(jì)數(shù)器IP核,其特征在于:該計(jì)數(shù)器IP核包括數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ) 控制模塊,脈沖200分頻器,計(jì)數(shù)處理控制模塊,計(jì)數(shù)器溢出標(biāo)志控制模塊,輸入口控選擇 控制模塊;
[0009]所述數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊與16位微處理器應(yīng)用系統(tǒng)、計(jì)數(shù) 處理控制模塊、計(jì)數(shù)器溢出標(biāo)志控制模塊和輸入口控選擇控制模塊連接;
[0010] 所述脈沖200分頻器還與16位微處理器應(yīng)用系統(tǒng)和計(jì)數(shù)處理控制模塊連接;
[0011] 所述計(jì)數(shù)處理控制模塊還與16位微處理器應(yīng)用系統(tǒng)、計(jì)數(shù)器溢出標(biāo)志控制模塊 和輸入口控選擇控制模塊連接;
[0012] 所述數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊在輸入的片選信號(hào)為低電平的條 件下,如果寫信號(hào)有效,按照16位微處理器應(yīng)用系統(tǒng)給定的計(jì)數(shù)器或計(jì)數(shù)器命令字的地 址,獲得計(jì)數(shù)器運(yùn)行的工作模式分頻倍數(shù)編碼命令字,狀態(tài)控制命令字,16位計(jì)數(shù)器或32 位計(jì)數(shù)器的計(jì)數(shù)參數(shù),并按照計(jì)數(shù)參數(shù)、計(jì)數(shù)器編號(hào)、工作模式分頻倍數(shù)編碼和狀態(tài)控制分 別予W存儲(chǔ)和輸出,還輸出寫工作模式分頻倍數(shù)編碼信號(hào)、寫狀態(tài)控制信號(hào)和寫計(jì)數(shù)器參 數(shù)信號(hào);如果讀信號(hào)有效向16位微處理器應(yīng)用系統(tǒng)傳輸計(jì)數(shù)器實(shí)時(shí)計(jì)數(shù)值;
[0013] 所述脈沖200分頻器對(duì)16位微處理器應(yīng)用系統(tǒng)的時(shí)鐘脈沖進(jìn)行分頻,其輸出作為 計(jì)數(shù)處理控制模塊的計(jì)數(shù)器計(jì)數(shù)控制操作的濾波基準(zhǔn)時(shí)鐘脈沖;
[0014] 所述計(jì)數(shù)處理控制模塊在寫工作模式分頻倍數(shù)編碼信號(hào)的作用下,按照計(jì)數(shù)器編 號(hào)存儲(chǔ)該計(jì)數(shù)器的工作模式,濾波基準(zhǔn)時(shí)鐘分頻倍數(shù)的編碼值;在寫狀態(tài)控制信號(hào)的作用 下,按照計(jì)數(shù)器編號(hào)存儲(chǔ)該計(jì)數(shù)器的狀態(tài)控制信號(hào);在寫計(jì)數(shù)器參數(shù)信號(hào)的作用下,按照計(jì) 數(shù)器編號(hào)存儲(chǔ)該計(jì)數(shù)器的計(jì)數(shù)參數(shù);所述計(jì)數(shù)處理控制模塊在計(jì)數(shù)器IP核外部輸入的計(jì) 數(shù)處理控制運(yùn)行時(shí)鐘脈沖CLKII的作用下,控制計(jì)數(shù)處理控制模塊的運(yùn)行,按照脈沖200分 頻器輸出的一個(gè)濾波基準(zhǔn)時(shí)鐘脈沖周期完成所有已啟動(dòng)計(jì)數(shù)器的一次處理,包括每個(gè)計(jì)數(shù) 器的狀態(tài)控制處理,工作模式的判斷處理,當(dāng)濾波基準(zhǔn)時(shí)鐘的個(gè)數(shù)達(dá)到一個(gè)16位/32位計(jì) 數(shù)器所設(shè)置的濾波基準(zhǔn)時(shí)鐘倍數(shù)值時(shí),從計(jì)數(shù)器IP核外部讀入該計(jì)數(shù)器的計(jì)數(shù)輸入信號(hào), 進(jìn)行一次濾波處理,如果判斷是一次有效地計(jì)數(shù)脈沖,則對(duì)該計(jì)數(shù)器的實(shí)時(shí)計(jì)數(shù)參數(shù)值進(jìn) 行加1操作,產(chǎn)生溢出時(shí),對(duì)實(shí)時(shí)計(jì)數(shù)參數(shù)值自動(dòng)重裝載計(jì)數(shù)參數(shù),并輸出溢出標(biāo)志信號(hào); 在數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊輸入的片選信號(hào)為低電平的條件下,如果讀信 號(hào)有效,按照16位微處理器應(yīng)用系統(tǒng)給定的計(jì)數(shù)器的地址,直接讀出該計(jì)數(shù)器的實(shí)時(shí)計(jì)數(shù) 參數(shù)值經(jīng)數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊傳輸?shù)?6位微處理器應(yīng)用系統(tǒng)的數(shù)據(jù) 總線,一次能夠讀出16位計(jì)數(shù)器的實(shí)時(shí)計(jì)數(shù)參數(shù),32位計(jì)數(shù)器的實(shí)時(shí)計(jì)數(shù)參數(shù)需要分時(shí)兩 次予W讀出;在16位微處理器應(yīng)用系統(tǒng)輸出的復(fù)位信號(hào)作用下,停止所有計(jì)數(shù)器的計(jì)數(shù)操 作;
[0015] 所述計(jì)數(shù)器溢出標(biāo)志控制模塊輸出16位/32位計(jì)數(shù)器的高電平為有效的溢出信 號(hào);計(jì)數(shù)處理控制模塊輸出的16位計(jì)數(shù)器的溢出信號(hào)由低電平變換為高電平時(shí),存儲(chǔ)該計(jì) 數(shù)器溢出標(biāo)志為高電平;如果該計(jì)數(shù)器溢出標(biāo)志為高電平,清溢出標(biāo)志由高電平轉(zhuǎn)換為低 電平,存儲(chǔ)該計(jì)數(shù)器溢出標(biāo)志為低電平;在寫工作模式分頻倍數(shù)編碼信號(hào)的作用下,計(jì)數(shù)器 溢出標(biāo)志控制模塊按照寄存器編號(hào)存儲(chǔ)32位計(jì)數(shù)器工作模式的信息,封鎖該32位計(jì)數(shù)器 低16位的溢出信息保持為低電平;
[0016] 所述輸入口控選擇控制模塊在寫工作模式分頻倍數(shù)編碼信號(hào)作用下,按照計(jì)數(shù)器 編號(hào)存儲(chǔ)該計(jì)數(shù)器的工作模式,根據(jù)該計(jì)數(shù)器工作模式所確定的口控功能要求和輸入的口 控電平,控制輸入口控選擇控制模塊輸出的口控信號(hào)。
[0017] 其進(jìn)一步技術(shù)方案是:所述數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊包括16位 雙向數(shù)據(jù)選通=態(tài)口組,讀寫信號(hào)控制模塊,計(jì)數(shù)參數(shù)寄存器,計(jì)數(shù)器編號(hào)寄存器,工作模 式分頻倍數(shù)編碼寄存器,狀態(tài)控制寄存器;
[0018] 所述16位雙向數(shù)據(jù)選通=態(tài)口組分別與16位微處理器應(yīng)用系統(tǒng)、讀寫信號(hào)控制 模塊、計(jì)數(shù)參數(shù)寄存器、計(jì)數(shù)器編號(hào)寄存器,工作模式分頻倍數(shù)編碼寄存器,狀態(tài)控制寄存 器和計(jì)數(shù)處理控制模塊連接;
[0019] 所述讀寫信號(hào)控制模塊還與16位微處理器應(yīng)用系統(tǒng)、計(jì)數(shù)參數(shù)寄存器、計(jì)數(shù)器編 號(hào)寄存器,工作模式分頻倍數(shù)編碼寄存器,狀態(tài)控制寄存器、計(jì)數(shù)處理控制模塊、計(jì)數(shù)器溢 出標(biāo)志控制模塊和輸入口控選擇控制模塊連接;
[0020] 所述計(jì)數(shù)參數(shù)寄存器還與計(jì)數(shù)處理控制模塊連接;
[0021] 所述計(jì)數(shù)器編號(hào)寄存器還與16位微處理器應(yīng)用系統(tǒng)、計(jì)數(shù)處理控制模塊、計(jì)數(shù)器 溢出標(biāo)志控制模塊和輸入口控選擇控制模塊連接;
[0022] 所述工作模式分頻倍數(shù)編碼寄存器還與16位微處理器應(yīng)用系統(tǒng)、計(jì)數(shù)處理控制 模塊、計(jì)數(shù)器溢出標(biāo)志控制模塊和輸入口控選擇控制模塊連接;
[0023] 所述狀態(tài)控制寄存器還與16位微處理器應(yīng)用系統(tǒng)、計(jì)數(shù)處理控制模塊和計(jì)數(shù)器 溢出標(biāo)志控制模塊連接;
[0024] 所述數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊的讀寫信號(hào)控制模塊在片選信號(hào) 為低電平的條件下,如果寫信號(hào)有效,發(fā)出16位雙向數(shù)據(jù)選通=態(tài)口組寫信號(hào),選通16位 微處理器應(yīng)用系統(tǒng)數(shù)據(jù)總線的數(shù)據(jù)輸入;產(chǎn)生寫計(jì)數(shù)器編號(hào)信號(hào),并判斷輸入的地址值,如 果是計(jì)數(shù)器參數(shù)的地址值,將該地址值寫入計(jì)數(shù)器編號(hào)寄存器,產(chǎn)生寫計(jì)數(shù)器參數(shù)信號(hào),將 數(shù)據(jù)總線的16位數(shù)據(jù)寫入計(jì)數(shù)參數(shù)寄存器;如果是計(jì)數(shù)器命令字地址,判斷命令字的第15 位是否為"0",如果第15位是"0",產(chǎn)生寫計(jì)數(shù)器編號(hào)信號(hào),將16位數(shù)據(jù)總線的第2位~第5 位數(shù)據(jù)寫入計(jì)數(shù)器編號(hào)寄存器,產(chǎn)生寫工作模式分頻倍數(shù)編碼信號(hào),將數(shù)據(jù)總線的第0位、 第1位、第6位-第9位寫入工作模式分頻倍數(shù)編碼寄存器,產(chǎn)生寫狀態(tài)控制信號(hào),將16位 數(shù)據(jù)總線的第10位、第11位和第14位寫入狀態(tài)控制寄存器;如果第15位是"1",則計(jì)數(shù) 器命令字是狀態(tài)控制命令字,產(chǎn)生寫計(jì)數(shù)器編號(hào)信號(hào),將16位數(shù)據(jù)總線的第2位~第5位 數(shù)據(jù)寫入計(jì)數(shù)器編號(hào)寄存器,產(chǎn)生寫狀態(tài)控制信號(hào),將數(shù)據(jù)總線的第10位、第11位和第14 位寫入狀態(tài)控制寄存器;如果讀信號(hào)有效,發(fā)出16位雙向數(shù)據(jù)選通=態(tài)口組讀信號(hào),將計(jì) 數(shù)處理控制模塊的計(jì)數(shù)器IP核內(nèi)部輸出數(shù)據(jù)總線的數(shù)據(jù)傳輸?shù)?6位微處理器應(yīng)用系統(tǒng)的 數(shù)據(jù)總線。
[00巧]其更進(jìn)一步技術(shù)方案是:所述計(jì)數(shù)處理控制模塊包括計(jì)數(shù)器計(jì)數(shù)控制操作模塊, 地址選通控制I,16位計(jì)數(shù)參數(shù)雙端口存儲(chǔ)器,地址選通控制II,16位計(jì)數(shù)實(shí)時(shí)參數(shù)雙端 口存儲(chǔ)器,地址選通控制III,6位工作模式分頻倍數(shù)編碼雙端口存儲(chǔ)器,地址選通控制IV,3 位狀態(tài)控制雙端口存儲(chǔ)器,6位計(jì)數(shù)濾波參數(shù)移位存儲(chǔ)器;
[00%] 所述計(jì)數(shù)器計(jì)數(shù)控制操作模塊分別與脈沖200分頻器、計(jì)數(shù)器溢出標(biāo)志控制模 塊、輸入口控選擇控制模塊、地址選通控制I、16位計(jì)數(shù)參數(shù)雙端口存儲(chǔ)器、地址選通控制 II、16位計(jì)數(shù)實(shí)時(shí)參數(shù)雙端口存儲(chǔ)器、地址選通控制III、6位工作模式分頻倍數(shù)編碼雙端口 存儲(chǔ)器、地址選通控制IV、3位狀態(tài)控制雙端口存儲(chǔ)器和4位計(jì)數(shù)濾波參數(shù)移位存儲(chǔ)器,計(jì) 數(shù)器IP核外部輸入的計(jì)數(shù)輸入信號(hào)和計(jì)數(shù)處理控制運(yùn)行時(shí)鐘脈沖CLKII連接;
[0027] 所述地址選通控制I還與數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊和16位計(jì)數(shù) 參數(shù)雙端口存儲(chǔ)器連接;
[0028] 所述16位計(jì)數(shù)參數(shù)雙端口存儲(chǔ)器還與數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊 和16位計(jì)數(shù)實(shí)時(shí)參數(shù)雙端口存儲(chǔ)器連接;
[0029] 所述地址選通控制II還與16位微處理器應(yīng)用系統(tǒng)、數(shù)據(jù)輸入輸出與命令字分解 存儲(chǔ)控制模塊和16位計(jì)數(shù)實(shí)時(shí)參數(shù)雙端口存儲(chǔ)器連接;
[0030] 所述16位計(jì)數(shù)實(shí)時(shí)參數(shù)雙端口存儲(chǔ)器還與數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制 模塊連接;
[0031] 所述地址選通控制III還與數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊和6位工作 模式分頻倍數(shù)編碼雙端口存儲(chǔ)器連接;
[0032] 所述6位工作模式分頻倍數(shù)編碼雙端口存儲(chǔ)器還與數(shù)據(jù)輸入輸出與命令字分解 存儲(chǔ)巧制板塊連接;
[0033] 所述地址選通控制IV還與數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊和3位狀態(tài) 控制雙端口存儲(chǔ)器連接;
[0034] 所述3位狀態(tài)控制雙端口存儲(chǔ)器還與數(shù)據(jù)輸入輸出與命令字分解存儲(chǔ)控制模塊、 16位微處理器應(yīng)用系統(tǒng)的復(fù)位信號(hào)連接;如果輸入的復(fù)位信號(hào)為有效的復(fù)位信號(hào),復(fù)位3 位狀態(tài)控制雙端口存儲(chǔ)器,停止所有計(jì)數(shù)器的計(jì)數(shù)。
[0035] 其再進(jìn)一步技術(shù)方案是:所述計(jì)數(shù)器溢出標(biāo)志控制模塊包括非n,MO工作模式位 寄存器組,溢出清零脈沖控