你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
FPGA和CPLD內(nèi)部自復(fù)位電路設(shè)計(jì)方案
發(fā)布時(shí)間:2016-07-12 責(zé)任編輯:susan
【導(dǎo)讀】復(fù)位信號(hào)是時(shí)序電路設(shè)計(jì)的基本信號(hào),本文描述了復(fù)位的定義,分類(lèi)及不同復(fù)位設(shè)計(jì)的影響,并討論了針對(duì)FPGA和CPLD的內(nèi)部自復(fù)位方案。
1、定義
復(fù)位信號(hào)是一個(gè)脈沖信號(hào),它會(huì)使設(shè)計(jì)的電路進(jìn)入設(shè)定的初始化狀態(tài),一般它作用于寄存器,使寄存器初始化為設(shè)定值;其脈沖有效時(shí)間長(zhǎng)度必須大于信號(hào)到達(dá)寄存器的最大時(shí)延,這樣才有可能保證復(fù)位的可靠性。
下面將討論FPGA/CPLD的復(fù)位電路設(shè)計(jì)。
2、分類(lèi)及不同復(fù)位設(shè)計(jì)的影響
根據(jù)電路設(shè)計(jì),復(fù)位可分為異步復(fù)位和同步復(fù)位。
對(duì)于異步復(fù)位,電路對(duì)復(fù)位信號(hào)是電平敏感的,如果復(fù)位信號(hào)受到干擾,如出現(xiàn)短暫的脈沖跳變,電路就會(huì)部分或全部被恢復(fù)為初始狀態(tài),這是我們不愿看到的。因此,異步復(fù)位信號(hào)是一個(gè)關(guān)鍵信號(hào),在電路設(shè)計(jì)時(shí),如PCB Layout需要對(duì)其優(yōu)先考慮和作特別保護(hù),避免信號(hào)線出現(xiàn)的干擾產(chǎn)生非期望的復(fù)位。
對(duì)于同步復(fù)位,電路在時(shí)鐘信號(hào)下對(duì)復(fù)位信號(hào)進(jìn)行采樣,復(fù)位信號(hào)只在時(shí)鐘的跳變沿(邊沿)有效;如果復(fù)位信號(hào)受到干擾,只要該干擾脈沖不出現(xiàn)在時(shí)鐘的跳變沿,或者脈沖能量不足以使時(shí)鐘采樣到有效的信號(hào),電路就不會(huì)被異常復(fù)位,這樣可有效降低信號(hào)線上出現(xiàn)毛刺等干擾信號(hào)所產(chǎn)生誤復(fù)位操作的概率,提高了電路的抗干擾能力。
在FPGA/CPLD設(shè)計(jì)中,如果復(fù)位信號(hào)是通過(guò)組合邏輯產(chǎn)生的,我們?cè)诜抡娴臅r(shí)候經(jīng)??梢钥吹?,由于組合邏輯的競(jìng)爭(zhēng)冒險(xiǎn)產(chǎn)生的毛刺,會(huì)導(dǎo)致采用異步復(fù)位設(shè)計(jì)的電路被誤復(fù)位;因此在設(shè)計(jì)當(dāng)中要對(duì)異步復(fù)位信號(hào)進(jìn)行同步化處理,避免誤操作產(chǎn)生。
具體的做法是:設(shè)計(jì)一個(gè)專(zhuān)門(mén)的復(fù)位模塊,它對(duì)復(fù)位信號(hào)(記為R)進(jìn)行同步化處理,產(chǎn)生新的復(fù)位信號(hào)(記為RS),這個(gè)RS信號(hào)可作為其他模塊的復(fù)位輸入信號(hào);而其他模塊的電路可全部采用異步復(fù)位的設(shè)計(jì)方式;這樣的設(shè)計(jì)對(duì)復(fù)位信號(hào)進(jìn)行統(tǒng)一處理,可根據(jù)需要調(diào)整,相對(duì)靈活,需要注意的是,要盡量降低時(shí)鐘邊沿與復(fù)位信號(hào)R失效時(shí)刻的亞穩(wěn)態(tài)出現(xiàn)概率。
在實(shí)際的FPGA/CPLD應(yīng)用當(dāng)中,會(huì)出現(xiàn)沒(méi)有外部復(fù)位信號(hào)的情景,而FPGA/CPLD的時(shí)序設(shè)計(jì)又需要一個(gè)復(fù)位信號(hào)來(lái)使內(nèi)部的寄存器初始化為設(shè)定的狀態(tài),這時(shí)候就需要通過(guò)內(nèi)部邏輯產(chǎn)生一個(gè)內(nèi)部復(fù)位信號(hào)。
3、FPGA內(nèi)部自復(fù)位方法
內(nèi)部自復(fù)位信號(hào)是器件上電后僅產(chǎn)生一次的信號(hào),之后一直保持無(wú)效至器件掉電。這種一次性信號(hào),產(chǎn)生它的數(shù)字電路自身需要一個(gè)初始的確定狀態(tài),并且需要上電后就處于該種狀態(tài);對(duì)于FPGA來(lái)說(shuō),其內(nèi)部寄存器在上電后的狀態(tài)是不確定的,即無(wú)法預(yù)期的,因此利用寄存器的狀態(tài)來(lái)產(chǎn)生復(fù)位信號(hào),不是那么可靠;但我們可以考慮FPGA的其他資源,一般FPGA內(nèi)部都有RAM資源,這些RAM都可以被配置數(shù)據(jù)初始化的,也就是說(shuō)當(dāng)FPGA上電配置完成后,被初始化的RAM的數(shù)據(jù)內(nèi)容是確定的。利用這個(gè)特點(diǎn),我們就可以設(shè)計(jì)可靠的內(nèi)部自復(fù)位信號(hào)。
下面給出實(shí)現(xiàn)方法:
1)配置一個(gè)數(shù)據(jù)長(zhǎng)度為1位,地址長(zhǎng)度為n位,且全部初始化為1的單口RAM;
2)設(shè)計(jì)一個(gè)針對(duì)該單口RAM的讀寫(xiě)模塊,其內(nèi)部維護(hù)一個(gè)n位讀指針rp和一個(gè)n位寫(xiě)指針wp,rp在每個(gè)時(shí)鐘節(jié)拍將其值賦給wp后并加1,保證rp領(lǐng)先于wp,將單口RAM的輸出數(shù)據(jù)作為復(fù)位信號(hào),另外RAM的輸入數(shù)據(jù)固定為0;這樣RAM數(shù)據(jù)被先讀出,然后被置為0,因此上電配置完成后經(jīng)過(guò)2n個(gè)時(shí)鐘節(jié)拍,RAM的數(shù)據(jù)從全1變成全0,從而實(shí)現(xiàn)一次性脈沖信號(hào)的產(chǎn)生。另外,通過(guò)控制地址長(zhǎng)度n或時(shí)鐘頻率,就可得到所需的脈沖寬度。
4、CPLD內(nèi)部自復(fù)位方法
CPLD其內(nèi)部沒(méi)有RAM,這樣就不能依靠RAM的初始化數(shù)據(jù)來(lái)產(chǎn)生可靠的復(fù)位;從原理上說(shuō),器件上電后,其寄存器的狀態(tài)是不確定的,因此我們是沒(méi)法得到一個(gè)確定的初始狀態(tài)去產(chǎn)生一個(gè)可靠的內(nèi)部復(fù)位信號(hào),不過(guò)我們還是可以產(chǎn)生一個(gè)有一定失敗概率但概率可控的復(fù)位信號(hào),其基本原理是:設(shè)計(jì)一個(gè)n位的狀態(tài)機(jī),見(jiàn)下圖,其中一種狀態(tài)表示復(fù)位結(jié)束(記為L(zhǎng)OOP),只要進(jìn)入該狀態(tài)就會(huì)一直保持在LOOP狀態(tài)上,至于其他狀態(tài)都會(huì)跳入復(fù)位狀態(tài)(記為RESET),RESET狀態(tài)是暫態(tài),一個(gè)時(shí)鐘周期就離開(kāi)進(jìn)入LOOP狀態(tài);由于狀態(tài)LOOP出現(xiàn)的概率僅為:1/2n,我們控制n的長(zhǎng)度,就可以將復(fù)位失敗概率控制在設(shè)定的要求內(nèi)。
Figure 1 內(nèi)部復(fù)位狀態(tài)圖
在實(shí)際的應(yīng)用中,我們發(fā)現(xiàn)某些CPLD產(chǎn)品有一個(gè)特性,見(jiàn)下圖:
Figure 2 摘自某產(chǎn)品的《handbook.pdf》
從上圖可知,該CPLD在完成內(nèi)部配置后,其內(nèi)部所有寄存器都處于清零狀態(tài),因此可以說(shuō)寄存器在上電后是有一個(gè)確定的初始狀態(tài),但這個(gè)特性應(yīng)該是對(duì)通過(guò)修改具有固定內(nèi)連電路的邏輯功能來(lái)編程的CPLD所特有的,對(duì)通過(guò)改變內(nèi)部連線的布線來(lái)編程的FPGA來(lái)說(shuō),并未查到它具有這種特性,因此我們可以采取更簡(jiǎn)單的方法來(lái)產(chǎn)生內(nèi)部自復(fù)位信號(hào):維護(hù)一個(gè)n位計(jì)數(shù)器,它隨時(shí)鐘節(jié)拍一直遞增直至某個(gè)設(shè)定的最大值M,之后就停止計(jì)數(shù),這樣M之前的狀態(tài)就可實(shí)現(xiàn)為一個(gè)一次性的脈沖信號(hào)。
另外,該產(chǎn)品用戶(hù)如果希望配置完成后CPLD內(nèi)部各個(gè)寄存器的狀態(tài)處于可控或者特定的狀態(tài)(尤其當(dāng)其值不一定是清零的狀態(tài)),那么用戶(hù)可以使用器件提供的專(zhuān)用管腳DEV_CLRn來(lái)達(dá)到所期望的效果。
5、結(jié)語(yǔ)
復(fù)位信號(hào)是時(shí)序電路設(shè)計(jì)的基本信號(hào),雖然只是一個(gè)脈沖信號(hào),但要使設(shè)計(jì)的電路可靠地工作,復(fù)位信號(hào)也是一個(gè)需認(rèn)真對(duì)待的因素。
特別推薦
- 兆易創(chuàng)新GD32F30x STL軟件測(cè)試庫(kù)獲得德國(guó)萊茵TüV IEC 61508功能安全認(rèn)證
- 芯科科技第三代無(wú)線開(kāi)發(fā)平臺(tái)引領(lǐng)物聯(lián)網(wǎng)發(fā)展
- MSO 4B 示波器為工程師帶來(lái)更多臺(tái)式功率分析工具
- 艾為電子推出新一代高線性度GNSS低噪聲放大器——AW15745DNR
- 瑞薩發(fā)布四通道主站IC和傳感器信號(hào)調(diào)節(jié)器, 以推動(dòng)不斷增長(zhǎng)的IO-Link市場(chǎng)
- e絡(luò)盟現(xiàn)貨供應(yīng) Abracon 新推出的 AOTA 系列微型鑄型電感器
- 加賀富儀艾電子推出支持Wi-Fi 6和藍(lán)牙的無(wú)線局域網(wǎng)/藍(lán)牙組合模塊
技術(shù)文章更多>>
- 數(shù)字驅(qū)動(dòng)工業(yè),智能賦能制造 AMTS & AHTE SOUTH CHINA 2024同期會(huì)議全公開(kāi)!
- 團(tuán)體觀展招募!104CEF開(kāi)啟組團(tuán)觀眾通道,解鎖更多禮遇
- 觸摸式OLED顯示屏有望重新定義汽車(chē)用戶(hù)界面
- 用Python自動(dòng)化雙脈沖測(cè)試
- 揭秘電動(dòng)汽車(chē)中直流鏈路電容器的奧秘(上)
技術(shù)白皮書(shū)下載更多>>
- 車(chē)規(guī)與基于V2X的車(chē)輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車(chē)安全隔離的新挑戰(zhàn)
- 汽車(chē)模塊拋負(fù)載的解決方案
- 車(chē)用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
電阻觸控屏
電阻器
電阻作用
調(diào)速開(kāi)關(guān)
調(diào)諧器
鼎智
動(dòng)力電池
動(dòng)力控制
獨(dú)石電容
端子機(jī)
斷路器
斷路器型號(hào)
多層PCB
多諧振蕩器
扼流線圈
耳機(jī)
二極管
二極管符號(hào)
發(fā)光二極管
防靜電產(chǎn)品
防雷
防水連接器
仿真工具
放大器
分立器件
分頻器
風(fēng)力渦輪機(jī)
風(fēng)能
風(fēng)扇
風(fēng)速風(fēng)向儀