時(shí)域反射儀的硬件設(shè)計(jì)與實(shí)現(xiàn)----關(guān)鍵電路設(shè)計(jì)(二)
電路模擬通道有許多控制電路,基本上都可以通過(guò)FPGA來(lái)完成,比如衰減倍數(shù)控制、交直流禍合,接地控制、使能控制、通道較準(zhǔn)控制等,這些都可以通過(guò)常規(guī)的高低電平來(lái)完成。考慮到前端電路需要的控制信號(hào)線較多,如果直接由FPGA來(lái)控制,必定會(huì)占用較多的I/O口,同時(shí)從布線的角度來(lái)考慮的話,大量的連線從后端連接到前端,必定會(huì)使用較多的板上面積,給整體布線帶來(lái)許多麻煩。為此本設(shè)計(jì)摒棄了直接控制方式,而采用間接控制,所有的控制任務(wù)只需要三條控制線和一個(gè)或多個(gè)串并轉(zhuǎn)換器CD4094就可以完成。
該串并轉(zhuǎn)換器有四個(gè)輸入端,八個(gè)并行輸出端和一對(duì)互補(bǔ)的串行輸出端。四的輸入端中包括:串行數(shù)據(jù)輸入、時(shí)鐘信號(hào)輸入、選通控制、使能輸出控制。串并轉(zhuǎn)換器內(nèi)部主要由三大部分組成:移位寄存器、數(shù)據(jù)鎖存(選通)器和三態(tài)緩沖器。時(shí)鐘信號(hào)將串行數(shù)據(jù)以先后的順序存到移位寄存器,每一個(gè)時(shí)鐘對(duì)應(yīng)一位數(shù)據(jù),選通控制端則控制是否將舊數(shù)據(jù)用新數(shù)據(jù)代替,如果選通控制器一直處于低電平,則并行輸出端的數(shù)據(jù)還是上一次的數(shù)據(jù),如果選通控制在新數(shù)據(jù)到來(lái)之前已經(jīng)是高電平,則如果使能輸出為高,從并行輸出端的數(shù)據(jù)隨著時(shí)鐘到來(lái)依次得到更新。如果是經(jīng)過(guò)八個(gè)串行時(shí)鐘以后,選通控制信號(hào)由低到高的變化,則并行數(shù)據(jù)端的八位輸出數(shù)據(jù)同時(shí)得到更新。串并轉(zhuǎn)換器的兩個(gè)串行輸出端口可以用來(lái)對(duì)數(shù)據(jù)位數(shù)的擴(kuò)展,即實(shí)現(xiàn)多個(gè)串并轉(zhuǎn)換器的級(jí)聯(lián)。
在FPGA內(nèi)部同樣存在一個(gè)并轉(zhuǎn)串的模塊,它將從ARM送過(guò)來(lái)的通道所需要的并行控制型信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的串行信號(hào),轉(zhuǎn)換模塊通過(guò)verilog HDL(硬件描述語(yǔ)言)來(lái)實(shí)現(xiàn)。該模塊結(jié)構(gòu)和仿真時(shí)序圖,如圖4-21和4-22所示。

從時(shí)序圖可以看到當(dāng)W嘆仃E信號(hào)產(chǎn)生一個(gè)上升沿以后,16位的并行數(shù)據(jù)隨著時(shí)鐘的增加,依次從最高位開始串行輸出,當(dāng)最低位輸出以后STROBE在最后一位數(shù)據(jù)產(chǎn)生半個(gè)時(shí)鐘周期以后產(chǎn)生一個(gè)上升沿,該上升沿可以用來(lái)控制在通道中的串并轉(zhuǎn)換器的選通控制引腳,使級(jí)聯(lián)的兩個(gè)串并轉(zhuǎn)換器的并行輸出端同時(shí)得
到更新。CLK_SER輸出用來(lái)為串并轉(zhuǎn)換器提供所必須的時(shí)鐘信號(hào)。
在最初的設(shè)計(jì)當(dāng)中,考慮到數(shù)字電路的設(shè)計(jì)簡(jiǎn)單和方便,對(duì)通道的控制信號(hào)的寫入采用的是循環(huán)寫的方式,即寫完一次以后緊接著寫第二次,無(wú)論數(shù)據(jù)是否更新,CD4094一直都有數(shù)據(jù)寫入。后來(lái)發(fā)現(xiàn)通過(guò)這種方式對(duì)通道進(jìn)行控制,導(dǎo)致了一些不必要的麻煩。首先是控制信號(hào)很多都與被測(cè)信號(hào)有一定的聯(lián)系,如果不停的循環(huán)寫,則把噪聲信號(hào)引入到了被測(cè)信號(hào)上。另外對(duì)通道上的控制信號(hào)的修改次數(shù)相對(duì)于循環(huán)寫的次數(shù)來(lái)說(shuō),修改的次數(shù)遠(yuǎn)遠(yuǎn)小于寫的次數(shù),也就是說(shuō)很多次的寫操作都是沒有任何意義。為此將對(duì)通道上的控制信號(hào)的寫入采用由ARM來(lái)控制,即在ARM讀取一次FPGA內(nèi)部RAM中的數(shù)據(jù)并顯示完以后,就進(jìn)行一次對(duì)通道控制的寫操作,只需要在圖4-21中的WRITE端產(chǎn)生一個(gè)上升沿即可。這樣即消除了噪聲的引入,同時(shí)也保證了數(shù)據(jù)的更新。
評(píng)論