基于EP1C6Q240C8的FPGA芯片實(shí)現(xiàn)電子測試系統(tǒng)的設(shè)計(jì)
出處:互聯(lián)網(wǎng) 發(fā)布于:2020-08-04 13:36:57
引言
在大工業(yè)現(xiàn)場,常常會用到一些大型的吊車調(diào)運(yùn)貨物。這些吊車往往高達(dá)十幾米甚至幾十米。通常情況下,吊車司機(jī)往往是憑借著經(jīng)驗(yàn)來判斷吊鉤所升的高度,或者通過地面上人員的指揮來判斷上升的位置。這樣作的缺點(diǎn)是 不夠,由于憑借人的肉眼觀測,會出現(xiàn)很大的視覺偏差,同時又要求另外配置人員指揮,增加了不必要的人力資源浪費(fèi)?;谝陨峡紤],本文設(shè)計(jì)出一套用于測試吊鉤上升高度的電子測試系統(tǒng)。
根據(jù)現(xiàn)場測量,吊鉤上升的速度較快,并且現(xiàn)場環(huán)境惡劣,用普通的單片機(jī),一方面速度上跟不上,另一方面考慮到系統(tǒng)的穩(wěn)定性,所以就選擇了目前應(yīng)用越來越廣泛的FPGA來設(shè)計(jì)。
1、系統(tǒng)的原理:
本系統(tǒng)是利用傳感器檢測脈沖的個數(shù),然后將計(jì)數(shù)脈沖轉(zhuǎn)換為長度單位,來實(shí)現(xiàn)對吊鉤實(shí)際高度的測量。具體過程如下:
首先由固定在主電動機(jī)上的光電碼盤采集吊鉤上升高度所轉(zhuǎn)的脈沖數(shù),該脈沖信號通過信號線送到FPGA經(jīng)過處理之后開始計(jì)數(shù),然后通過FPGA來完成脈沖到高度的換算,并將吊鉤走的高度顯示出來。系統(tǒng)組成框圖如圖1所示。
FPGA主要完成的任務(wù)是:(1)設(shè)定高度、主電動機(jī)輪的直徑和滑輪組數(shù)。(2)高度測量。(3)顯示實(shí)際高度。
高度、直徑和滑輪組的設(shè)定是通過波段開關(guān)來完成的。脈沖數(shù)的輸入是通過光電碼盤采集到的脈沖直接送入的。顯示是用四位LED進(jìn)行顯示的。
2、FPGA實(shí)現(xiàn)
本文采用的是ALTERA公司的EP1C6Q240C8型號的FPGA,整個體統(tǒng)采用模塊化設(shè)計(jì)的思想,將各個模塊用VHDL語言描述出來再進(jìn)行連接。
2.1 參數(shù)設(shè)定模塊
該模塊是將輸入的高度、直徑轉(zhuǎn)換為十進(jìn)制的高度值和單位脈沖的寬度。用于后面的計(jì)算。其中B1[11..0]和B2[11..0]是實(shí)際輸入的二進(jìn)制數(shù),輸入的量分別為高度和主電動機(jī)的輪直徑,這些參數(shù)根據(jù)實(shí)際情況設(shè)定,通過波段開關(guān)手動輸入,由于本系統(tǒng)用的是12位的波段開關(guān),所以輸入的 整數(shù)為4095,直徑的 可以達(dá)到毫米級,高度的 可以達(dá)到厘米級,由于本系統(tǒng)預(yù)先設(shè)定的高度為20米,所以確定的波段開關(guān)為12位,而實(shí)際中可以根據(jù)所應(yīng)用的實(shí)際現(xiàn)場來具體設(shè)定波段開關(guān)的位數(shù)。
輸入的二進(jìn)制量經(jīng)過該模塊轉(zhuǎn)換后變成單位脈沖的寬度(單位是十分之一毫米)和設(shè)定的高度值(單位是厘米)。
2.2 脈沖輸入模塊
由于在實(shí)際中為了減少電動機(jī)的負(fù)荷,往往用到一些動滑輪,那么所吊重物所走的實(shí)際高度與主電動機(jī)所轉(zhuǎn)的圈數(shù)存在一個倍數(shù)關(guān)系,這個系數(shù)與滑輪組的個數(shù)有關(guān),所以實(shí)際所計(jì)的脈沖數(shù)對應(yīng)于重物走的高度之間也存在一個倍數(shù)關(guān)系,該模塊的功能就是將前面輸入的脈沖寬度和設(shè)定高度,以及滑輪組數(shù)通過運(yùn)算轉(zhuǎn)換成設(shè)定的主電動機(jī)所走的脈沖數(shù)。
在該模塊中,在進(jìn)行脈沖寬度和設(shè)定高度向脈沖數(shù)轉(zhuǎn)換的過程中,由于FPGA不能進(jìn)行浮點(diǎn)運(yùn)算,所以要將其中的運(yùn)算全部轉(zhuǎn)化為整數(shù)進(jìn)行運(yùn)算,在這里我們采用的是 基本的四舍五入的運(yùn)算方法,即當(dāng)脈沖個數(shù)的十分之一位大于五時就將設(shè)定的脈沖數(shù)加一,若計(jì)算的脈沖數(shù)小于五,則舍掉。
2.3 計(jì)數(shù)模塊
該模塊是由四個 基本的雙向加減計(jì)數(shù)器74193組成,輸出值是16位, 可以計(jì)數(shù)到65535,通過輸入不同的端口來控制脈沖的加減運(yùn)算,輸入的是設(shè)定的脈沖數(shù),是由脈沖輸入模塊輸出,是通過參數(shù)設(shè)置而得到的計(jì)數(shù)脈沖的個數(shù),實(shí)際的高度是這個設(shè)定脈沖的基礎(chǔ)上進(jìn)行相應(yīng)的加減運(yùn)算的。
2.3.1 數(shù)字濾波模塊
現(xiàn)場環(huán)境要求信號線的傳輸距離較大(50米),接收到的脈沖信號嚴(yán)重畸變,如圖2上面的波形所示。
由于脈沖計(jì)數(shù)是對方波的上升沿進(jìn)行識別的,信號中的毛刺造成FPGA無法準(zhǔn)確識別脈沖的個數(shù),所以必須采用一定的濾波方法,傳統(tǒng)的濾波方法多是采用模擬電路完成的,本文是在FPGA中采用數(shù)字電路濾波,真正實(shí)現(xiàn)了片上系統(tǒng)。
濾波的原理是采用“移動窗口”的采樣方法,通過設(shè)定“窗口”的寬度可以很好地采集到方波的高低電平,將毛刺濾掉。經(jīng)過濾波后的波形如圖2下面的波形所示,經(jīng)過波形仿真發(fā)現(xiàn)經(jīng)過濾波后波形信號明顯變好。同時,該濾波方法可以根據(jù)采集波形的寬度來設(shè)定“窗口”寬度,這樣就很好地實(shí)現(xiàn)了通用性。
2.3.2 分頻模塊
在濾波的過程中,信號的采樣頻率是很關(guān)鍵的,通常的采樣頻率是根據(jù)香農(nóng)采樣定律來定的,本文是根據(jù)現(xiàn)場要求,為了提高 ,將采樣頻率設(shè)定為信號頻率的100倍。系統(tǒng)提供的晶震頻率是50M的,所需要的采樣頻率為10KHZ,所以通過兩個分頻模塊來完成50MHZ的頻率向10KHZ的頻率的轉(zhuǎn)換,本文是通過兩個分頻模塊來實(shí)現(xiàn)分頻,首先是將50MHZ的頻率分為200KHZ的頻率,然后進(jìn)一步將200KHZ的分為采樣所需要的頻率10KHZ。
2.3.3 方向檢測
由于吊鉤在行進(jìn)的過程中有可能向上,也可能向下,本系統(tǒng)采用了一個相位檢測系統(tǒng)來檢測吊鉤的運(yùn)動方向,再根據(jù)加減計(jì)數(shù)模塊的特性來進(jìn)行加減運(yùn)算。如圖3所示,圖中的輸入量A,B是經(jīng)過濾波電路之后的脈沖信號。輸出信號AOUT,BOUT是相位檢測的結(jié)果,傳感器送來的脈沖信號AB相位差90度,如果首先檢測到的是A相的高電平,那么AOUT輸出的是A相脈沖,BOUT則一直為高電平。反之,如果首先檢測到B相的高電平,那么BOUT輸出為B相的脈沖,AOUT則一直為高電平。將AOUT和BOUT送到計(jì)數(shù)模塊就可以完成加減計(jì)數(shù)功能了。
2.4 脈沖-高度轉(zhuǎn)換模塊
該模塊的功能是將實(shí)際計(jì)算的脈沖數(shù)轉(zhuǎn)換為對應(yīng)的實(shí)際高度值輸出顯示,輸入量分別為單位脈沖寬度Cn[9..0],滑輪組的數(shù)目n[3..0]和計(jì)算的脈沖數(shù)load[15..0]。輸出的是實(shí)際高度loadToBCD[13..0],實(shí)際的高度是重物所走的高度,而計(jì)數(shù)脈沖是主電動機(jī)轉(zhuǎn)過的圈數(shù),它們之間存在一個滑輪組倍數(shù)關(guān)系的轉(zhuǎn)換,也就是:
重物所走距離=(脈沖數(shù)×單位脈沖的寬度)/滑輪組數(shù)
在運(yùn)算的過程中,為了提高 ,本文同樣采用了四舍五入的算法,但是, 的提高是建立在增加耗用FPGA中邏輯單元的基礎(chǔ)之上的,同時也影響了運(yùn)算的速度。
2.5 整數(shù)—BCD碼轉(zhuǎn)換模塊
實(shí)際高度要送到四位LED數(shù)碼管進(jìn)行顯示,由脈沖-高度轉(zhuǎn)換模塊輸出的高度數(shù)是一個整數(shù)量,需要轉(zhuǎn)換為BCD碼之后才能送七段碼驅(qū)動電路顯示。
2.6 其他模塊
2.6.1 報(bào)警高度設(shè)定模塊
在現(xiàn)場為了保證司機(jī)在操作吊鉤的過程中不會出現(xiàn)以外情況,常常設(shè)有一個報(bào)警點(diǎn),當(dāng)?shù)蹉^到達(dá)這個點(diǎn)時,蜂鳴器會發(fā)出聲音報(bào)警提示。本文設(shè)定的報(bào)警高度是1米,系統(tǒng)可以根據(jù)實(shí)際情況任意設(shè)定報(bào)警點(diǎn)。
2.6.2 報(bào)警高度輸出模塊
由于涉及到滑輪組,需要將設(shè)定的高度轉(zhuǎn)換為主電動機(jī)所轉(zhuǎn)的距離,再將這個距離與轉(zhuǎn)換為相應(yīng)的脈沖數(shù)alarmout[15..0]輸出。
2.6.3 報(bào)警比較模塊
此模塊是將圖12所示的模塊所轉(zhuǎn)換的脈沖數(shù)與實(shí)際所計(jì)的脈沖數(shù)進(jìn)行比較,如果脈沖數(shù)對應(yīng)的高度到達(dá)設(shè)定的報(bào)警點(diǎn),蜂鳴器發(fā)出聲音,提醒司機(jī)。
3、 結(jié)論
本文改變了傳統(tǒng)的設(shè)計(jì)方法,采用了先進(jìn)的FPGA設(shè)計(jì),很好地解決了軟件設(shè)計(jì)存在地速度慢,穩(wěn)定性差的特點(diǎn)。將性能好、速度高和靈活性好的FPGA引入到設(shè)計(jì)中,設(shè)計(jì)出了一套可以應(yīng)用于惡劣環(huán)境的位置測量儀。
本文創(chuàng)新點(diǎn): 采用了先進(jìn)的FPGA設(shè)計(jì),很好地解決了軟件設(shè)計(jì)存在地速度慢,穩(wěn)定性差的特點(diǎn)。設(shè)計(jì)出了一套可以應(yīng)用于惡劣環(huán)境的位置測量儀。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 運(yùn)算放大器壓擺率的核心要點(diǎn)2025/9/5 16:27:55
- 深度剖析放大器穩(wěn)定系數(shù) K 與 Mu 的差異2025/9/2 16:44:05
- 什么是運(yùn)算放大器失調(diào)電流2025/9/1 17:01:22
- 什么是運(yùn)算放大器電源電壓抑制比(PSRR)2025/9/1 16:48:49
- 有沒有適配m1的模擬器2025/8/11 16:55:19