999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

與8位微處理器系統連接的計數器IP核的設計

2017-05-30 20:49:46柯寶中侯麗潘紹明蔡啟仲
廣西科技大學學報 2017年2期

柯寶中 侯麗 潘紹明 蔡啟仲

摘 要:針對工業上對計數器的需求以及計數器擴展存在的問題,充分應用FPGA的并行處理功能,提出了一種模塊內部串行處理,各模塊間并行執行的計數器IP核的設計方法;設計了系統的電路結構,指令格式,并行處理模塊電路和串行處理流程程序,研制的計數器IP核為具有多達14個16位或6個32位的計數器,能夠自動重新裝載計數參數,選擇計數輸入脈沖濾波參數等功能.經仿真驗證了研制的計數器IP核功能的正確性.

關鍵詞:FPGA;并行處理;計數器;IP核

中圖分類號:TP332 文獻標志碼:A

0 引言

在大規模定時/計數控制或其他需要應用眾多定時/計數器的8位微處理器應用系統中,擴展定時器/計數器的方法有3種:一是應用微處理器內部有限數量的定時器/計數器,輔以軟件計數方式予以解決,但增加了計數程序的運行時間;二是采用微處理器外擴專用定時器/計數器芯片,所需的定時器/計數器越多,外擴專用定時器/計數器芯片就越多,8位微處理器應用系統的電路規模就越大;三是采用不可編程的硬件定時/計數,其每個定時器/計數器用獨立的硬件電路實現;采用這種方式實現定時計數功能,所需的定時/計數器越多,電路規模就越大,維護工作量越大[1-5].本文應用FPGA[6-8]的并行處理功能設計一種實現十余個計數器并行計數的IP核,提出模塊內部串行處理,各模塊間并行執行的設計方法,設計并行處理模塊電路和串行處理流程程序,滿足工業應用系統對計數器的需求,提高計數器IP核的運行速率.

1 設計的基本思路

通常計數器電路的設計是對每個計數器專門設計一個加1或減1計數器,這是一般微處理器設計計數器常用的方法.而本文對每個計數器設置一個存儲單元作為計數寄存器,設計16位字長的命令字,在數據輸入輸出與命令字分解儲存控制模塊中對命令字進行分析,輸出被選中的計數器的控制信號,并在計數處理控制模塊中設計3個并行處理的處理流程,實現計數脈沖輸入端口狀態的循環掃描、濾波、計數、溢出的并行處理.

計數寄存器和命令寄存器采用8位字長的寄存器,其地址編碼與計數、命令字寄存器設計如表1所示.表1中,相鄰的2個計數寄存器組成1個16位計數寄存器,2個16位計數寄存器組成1個32位的計數寄存器,能夠得到14個16位計數器或6個32位計數器.表1中還有2個16位命令寄存器.

2 命令字指令格式

16位命令字寄存器分為工作模式與濾波命令字寄存器和狀態控制命令字寄存器,其命令字指令格式如表2和表3所示.

工作模式與濾波命令字寄存器的各位定義如下:

D0D1:M1M0(工作模式).00:16位計數器;01:32位計數器;10:GATE16位計數器;11:GATE32位計數器.

D2~D5:S3~S0(計數器編號).16位計數器:0~13;32位計數器:0~5.

D6~D7:F1F0(濾波參數).00:濾波參數為1;01:濾波參數為100;10:濾波參數為1 000;11:濾波參數為10 000.

狀態控制命令字寄存器的各位定義如下:

D0:清溢出標志,低電平有效.

D1:清當前計數值,低電平有效.

D5~D2:S3~S0(計數器編號).16位計數器:0~13;32位計數器:0~5.

D6:保留位,用于后續的擴展.

D7:啟停位,1:啟動;0:停止.

3 計數器IP核電路設計

計數器的系統電路結構如圖1所示,包括數據輸入輸出與命令字分解存儲控制模塊,計數處理控制模塊,脈沖12分頻器,輸入門控選擇控制模塊,計數器溢出控制模塊.

3.1 數據輸入輸出與命令字分解儲存控制模塊

數據輸入輸出與命令字分解存儲控制模塊的主要功能是控制數據輸入輸出和命令字分解輸出,以及輸出寫、讀等控制信號.該控制模塊將系統寫入的低8位命令字分解為工作模式與濾波命令和計數器編號,并發出寫信號1將工作模式與濾波命令按照計數器編號將分頻倍數編碼寫入相對應的控制模塊.將高8位命令字分解為清溢出標志,清當前計數值,啟停計數器工作和計數器編號,并發出寫信號2將這些控制信號寫入相對應的控制模塊.

如果系統寫信號有效,地址為某一計數器的計數寄存器,該控制模塊向計數處理控制模塊發出寫信號3,通過計數參數數據線將計數器參數寫入所對應的計數寄存器.

如果系統讀信號有效,按照系統給定計數器的計數寄存器地址,直接讀出該計數寄存器的實時計數值,通過計數實時值數據線讀出傳輸到應用系統的數據總線,16位計數器的實時計數參數需要分時2次予以讀出,32位計數器的實時計數參數需要分時4次予以讀出.在8位微處理器應用系統輸出的復位信號作用下,停止所有計數器的計數操作.

3.2 計數處理控制模塊

計數處理控制模塊包括雙端口存儲器,計數控制操作模塊.計數處理控制模塊是整個計數器IP核的核心控制模塊.

3.2.1 雙端口寄存器模塊 計數處理控制模塊內部包括5個雙端口寄存器模塊,分別為8位計數參數模塊,8位計數實時參數寄存器模塊,4位工作模式分頻倍數編碼寄存器模塊,3位狀態控制雙端口寄存器模塊,4位計數濾波參數移位寄存器模塊.其中4位工作模式分頻倍數編碼雙端口存儲器,3位狀態控制雙端口存儲器均采用順序存取.由于計數器的初值可能是16/32位,則8位計數參數雙端口存儲器和8位計數實時參數雙端口存儲器采用的是8位的存儲單元,16位的數據將順序存在相連的兩個地址內,32位的則存在相連的4個地址內.4位計數濾波參數移位存儲器主要是檢測外部計數源的下降沿.

3.2.2 計數控制操作模塊 計數控制操作模塊按照模塊內部串行處理,各模塊間并行執行的設計思路,設計并行處理模塊和串行處理流程程序.該模塊包括了3個處理流程:計數器指令分析處理流程,濾波檢測處理流程,計數器加1與溢出流程.控制器對每個計數器的操作分為:讀取數據,數據操作和數據存儲[9].

計數器指令分析處理流程:一個濾波基準時鐘脈沖周期完成計數器的一次分析處理,判斷該計數器是否啟動,其主要過程是當指令寫入后,計數器指令分析處理模塊開始執行指令分析操作,先通過讀取判斷計數器j是否超出計數器的個數(當設置為32位計數器時j最大為5,當設置為16位計數器時j最大為13,所以取j最大為13),一個時鐘后從雙端口存儲器中讀取該計數器的信息,2個時鐘之后開始對計數器的信息進行判斷,根據不同的指令信息確定該計數器是否啟動完成,操作完成后設置該計數器的啟動標志位,并將計數器編號加1循環判斷下個計數器是否啟動,其流程圖如圖2所示.

濾波檢測模塊的功能是檢測外部計數信號是否產生下降沿.當計數器的啟動標志位為1時,根據計數器設置的濾波參數值對外部計數源進行采樣檢測,當檢測到1100時,設置計數器的加1標志位為1,其流程圖如圖3所示.

計數器加1與溢出模塊主要是實現是否加1的過程,通過計數器加1標志來判斷.當加1標志為1時,該計數器加1,清加1標志;然后判斷計數器是否溢出,如果溢出則設置溢出標志位為1,自動重新裝載初值,重新判斷計數器加1標志;如果沒溢出則設置計數器溢出標志為0時,返回重新判斷計數器加1標志,其流程圖如圖4所示.

根據上面對于各個模塊流程圖的分析理解可以計算出1個計數器完成一次計算需要的周期為15個時鐘,則完成一次所有計數器的操作需要的掃描周期為T=15*14*(1 / T系統 ),所以當系統時鐘為48 MHz時,對應該計數器的計數最高頻率為228.57 kHz.

3.3 輸入門控選擇控制模塊

輸入門控選擇控制模塊主要功能是使計數器不僅可以通過軟件編程控制計數器運行,還可以通過門控信息實現外部信號對計數器運行的控制.

4 通信協議

應用FPGA設計的計數器IP核與微處理器的總線連接,每個計數器輸入的計數脈沖來自于IP核的計數脈沖輸入端口,其IP核的封裝如圖5所示.

計數器與8位微處理器的接口采用了8位并行數據通信方式.端口包括8位的DB數據線,5位的AB地址線,CS片選信號線,CLK時鐘輸入信號線,WR寫控制線,RD讀控制線,RST復位信號線.其中數據線采用了三態門實現雙向I/O口.計數器與微處理之間的通信時序如圖6所示,片選信號CS為低,當WR信號有效時,進行寫操作;片選信號CS為低,當RD信號有效時,進行讀操作;每個數據和指令寫入或讀出都只維持一個系統時鐘.

5 仿真與驗證

通過modelsim軟件進行仿真,編寫一個testbench.v文件用于模擬實際處理發送指令的操作.在仿真的過程中可以觀察各個模塊內部數據的變化.測試的方法:通過編程仿真外部的輸入信號啟動計數器,并測試計數器是否在規定的時間內執行相應的操作.

1) 順序向FPGA寫入2個計數器的指令和計數初值.

根據寫入的指令和地址可以確定計數器的工作模式、工作狀態、濾波參數.

如圖7(a)所示:首先寫入第一個計數器的指令為8'b10000000,8'b10000001,計數初值為16'b11111111_11111110,即設置計數器0的工作模式是16位的無門控計數,工作狀態是啟動該計數器,清溢出標志,濾波參數為1 000.

如圖7(b)所示:接下來順序寫入第二個計數器的指令8'b11001101,8'b10001100,計數初值32'b01000011_01000011_00000101_00000001,即設置計數器3的工作模式是無門控32位計數,工作狀態是啟動該計數器,濾波參數為10 000.

2) 設置外部計數源信號.

如圖8所示:設置計數器0的外部計數源c0產生了3個計數信號,計數器3的外部計數源c3產生了2個計數信號.

3) 對啟動的計數器在外部計數信號不再發出后,讀出2個計數器的當前值.

如圖9(a)所示:計數器0的當前值為16'b11111111_11111110,根據計數器0外部計數信號為3個,由于計數器0的初值16'b11111111_1111110,當檢測外部計數信號下降沿后計數器加1,計數值滿溢出標志tf0為1,由于計數器具有自動裝載初值的功能則計數器0的當前值變成16'b11111111_11111110.由圖8可知,在計數信號下降沿到達后,tf0產生一個脈沖信號.

如圖9(b)所示:計數器3的當前值為32'b01000011_01000011_00000101_00000011.根據圖8所示計數器3的外部計數信號為2個,可以知道計數器3的計數結果正確,由于計數結果未超出上限值則計數結果未溢出,由此可以看出計數器0與計數器3可以同時對各自外部計數信號進行計數.

6 結論

本文以FPGA為平臺研制了一種與8位微處理器應用系統連接的計數器IP核,提出了模塊內部串行處理,各模塊間并行執行的設計思路,設計了計數器的指令格式和命令字地址編碼.這不僅能夠實現計數、自動重新裝載、溢出等功能,而且可以利用命令字地址編碼來實現地址映射存儲器存儲計數器的相關操作,使得計數器的操作更簡單,從而達到設計要求.該設計克服了已有計數方式存在的不足,使得IP核與微處理器應用系統連接,編程控制便利,適合計數器計數與計數控制系統需求.

參考文獻

[1] 薛迎春. 基于FPGA的8051IP核的設計與驗證研究[D].蘇州:蘇州大學,2010.

[2] 劉鳳新,潘小莉. 基于VHDL的定時/計數芯片的設計[J].微計算機應用,2004,25(1):122-125.

[3] 閆永志,劉偉,何方. 基于FPGA的可編程定時器/計數器8253的設計與實現[J].電子設計應用, 2004(2):26-28.

[4] 柯寶中,侯麗,蔡啟仲,等. 一種與8位微處理器應用系統連接的計數器IP核:L201520463374.7[P].2015-11-18.

[5] 余玲. 基于FPGA的可重構定時器IP核設計[J].輕工科技, 2015,31(7):86-88.

[6] 李克儉,付杰,蔡啟仲,等. 基于FPGA的串行定時器設計[J].廣西工學院學報,2012,23(3):61-65.

[7] 周曙光,李克儉,蔡啟仲,等. 基于FPGA的PLC并行數據輸出控制器設計[J].廣西工學院學報,2013,24(1):14-18.

[8] 任杰,李克儉,潘紹明,等. 雙口RAM讀寫正確性自動測試的有限狀態機控制器設計方法[J].廣西科技大學學報,2015,

26(4):36-41.

[9] 張煒,李克儉,蔡啟仲,等. 基于FPGA的PLC并行定時器的設計[J].計算機工程與設計,2013,34(4):1244-1249.

Abstract: To meet the demand of counters and solve the problem of their extension in industry, this design uses the parallel processing function of FPGA to propose a design of the counter IP core which features the module internal serial processing and each module parallel executing. We design the circuit configuration of the system, instruction format, parallel processing module circuit and serial processing procedures. The IP core includes 14 16-bit or 6 32-bit counters. When the count value of each counter overflows, the counter will reload the count parameter automatically, and choose pulse filtering parameter by programming. The simulation results show the correctness of the IP core functions.

Key words: FPGA; parallel processing; counter; IP core

(學科編輯:黎 婭)

主站蜘蛛池模板: 最新国产午夜精品视频成人| 国产精品美女在线| 国产成熟女人性满足视频| 无码人妻免费| av天堂最新版在线| 日本成人在线不卡视频| 熟女成人国产精品视频| 中文字幕在线一区二区在线| 国产精品福利导航| 国产成人你懂的在线观看| 亚洲欧美天堂网| 亚洲日韩精品欧美中文字幕| 一本大道无码日韩精品影视| 第一区免费在线观看| 久久精品人妻中文视频| 亚洲第一视频免费在线| 亚洲综合久久成人AV| 性69交片免费看| 国产精品偷伦视频免费观看国产| 乱系列中文字幕在线视频 | 中文字幕无码制服中字| 福利在线免费视频| 国产日韩欧美一区二区三区在线| 亚洲免费播放| 日本免费新一区视频| 香蕉蕉亚亚洲aav综合| 人妻21p大胆| 精品国产成人高清在线| 日韩第九页| 韩日无码在线不卡| 99激情网| www.亚洲一区| 色婷婷亚洲十月十月色天| av性天堂网| 欧美日韩专区| 亚洲永久色| 欧美性精品| 国产美女免费网站| 午夜精品一区二区蜜桃| 成·人免费午夜无码视频在线观看 | 波多野结衣的av一区二区三区| 黄色网站在线观看无码| 亚洲国产综合第一精品小说| 午夜免费视频网站| 亚洲精品不卡午夜精品| 一级毛片在线播放免费| 5388国产亚洲欧美在线观看| 在线观看精品国产入口| 欧美精品色视频| 伊伊人成亚洲综合人网7777| 国产福利影院在线观看| 国产在线观看一区精品| 亚洲无卡视频| 精品少妇三级亚洲| 久久久久无码精品国产免费| 一区二区理伦视频| 国产91丝袜| 午夜精品福利影院| 国产成人高精品免费视频| 最新国产成人剧情在线播放| 久久不卡精品| 国产又大又粗又猛又爽的视频| 免费一级大毛片a一观看不卡| 亚洲欧洲自拍拍偷午夜色无码| 青青热久免费精品视频6| 国产免费久久精品99re丫丫一 | 国产精品自在在线午夜区app| 又黄又湿又爽的视频| 58av国产精品| 欧美成人精品欧美一级乱黄| 久久这里只有精品23| 97se亚洲综合在线天天| 老色鬼欧美精品| 亚洲色精品国产一区二区三区| 亚洲女同一区二区| 91在线视频福利| 免费毛片在线| 亚洲美女视频一区| 91色在线观看| 一级毛片免费高清视频| 国产大片黄在线观看| 国产综合另类小说色区色噜噜 |