




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編號(hào) 本科生畢業(yè)設(shè)計(jì)基于FIR算法的汽車(chē)動(dòng)態(tài)稱(chēng)重系統(tǒng)的理論研究Theoretical Research of FIR Algorithm-Basedin Vehicle Dynamic Weighing Systems學(xué)生姓名專(zhuān)業(yè)學(xué)號(hào)指導(dǎo)教師學(xué)院二一三年六月畢業(yè)設(shè)計(jì)(論文原創(chuàng)承諾書(shū)1.本人承諾:所呈交的畢業(yè)設(shè)計(jì)(論文 ,是認(rèn)真學(xué)習(xí)理解學(xué)校的長(zhǎng)春理工大學(xué)本科畢業(yè)設(shè)計(jì)(論文工作條例后,在教師的指導(dǎo)下,保質(zhì)保量獨(dú)立地完成了任務(wù)書(shū)中規(guī)定的內(nèi)容,不弄虛作假,不抄襲別人的工作內(nèi)容。2.本人在畢業(yè)設(shè)計(jì)(論文中引用他人的觀點(diǎn)和研究成果,均在文中加以注釋或以參考文獻(xiàn)形式列出,對(duì)本文的研究工作做出重要貢獻(xiàn)的個(gè)人和
2、集體均已在文中注明。3.在畢業(yè)設(shè)計(jì)(論文中對(duì)侵犯任何方面知識(shí)產(chǎn)權(quán)的行為,由本人承擔(dān)相應(yīng)的法律責(zé)任。4.本人完全了解學(xué)校關(guān)于保存、使用畢業(yè)設(shè)計(jì)(論文的規(guī)定,即:按照學(xué)校要求提交論文和相關(guān)材料的印刷本和電子版本;同意學(xué)校保留畢業(yè)設(shè)計(jì)(論文的復(fù)印件和電子版本,允許被查閱和借閱;學(xué)??梢圆捎糜坝?、縮印或其他復(fù)制手段保存畢業(yè)設(shè)計(jì)(論文,可以公布其中的全部或部分內(nèi)容。以上承諾的法律結(jié)果將完全由本人承擔(dān)!作者簽名: 年 月日摘要交通運(yùn)輸業(yè)的發(fā)展無(wú)疑對(duì)國(guó)民經(jīng)濟(jì)建設(shè)起到了積極的推動(dòng)作用,但是號(hào)稱(chēng)公路隱形殺手的營(yíng)運(yùn)車(chē)輛超載現(xiàn)象屢禁不止,其危害是多方面的:加速損壞公路路面,增加公路養(yǎng)護(hù)成本;使國(guó)家稅費(fèi)大量流失;造成
3、交通事故頻繁發(fā)生;嚴(yán)重的環(huán)境污染;加速車(chē)輛的損壞。因此加強(qiáng)公路運(yùn)輸?shù)墓芾怼⒈U闲熊?chē)安全等問(wèn)題也顯得日趨重要。車(chē)輛動(dòng)態(tài)稱(chēng)重,即在非停車(chē)的運(yùn)動(dòng)狀態(tài)下的稱(chēng)重,與停車(chē)狀態(tài)下的靜態(tài)稱(chēng)重相比,其主要特點(diǎn)是節(jié)省時(shí)間,效率高,使得稱(chēng)重時(shí)不至于造成對(duì)正常交通的干擾。汽車(chē)動(dòng)態(tài)稱(chēng)重是加強(qiáng)公路超限運(yùn)輸、強(qiáng)制實(shí)施超限法規(guī)等管理現(xiàn)代化、科學(xué)化的技術(shù)條件。動(dòng)態(tài)車(chē)輛稱(chēng)重系統(tǒng)的研究對(duì)于保護(hù)公路的正常使用有著重要的經(jīng)濟(jì)意義和社會(huì)價(jià)值。關(guān)鍵字:動(dòng)態(tài)稱(chēng)重稱(chēng)重本體FPGA FIR 單片機(jī)ABSTRACTThe development of communication and transportation industry has un
4、doubtedly played an active role in the construction of national economy. However, the overloading of trucking vehicles, which is known as stealthy killers of the highway, remains incessant in despite of repeated prohibition. Harms created by overloading are of manifolds, accelerating road damage, in
5、creasing road maintenance cost, leading to substantial run off of taxation and toll fee, bringing about frequent occurrence of traffic accidents, seriously polluting the environment, speeding up vehicle wear-off etc. So that it becomes more and more important to reinforce control over road transport
6、ation. Dynamic weighing, i.e. weighing the vehicle on its moving state, with the characteristic of higher efficiency and time-saving, avoids the disturbance to the traffic in the weighing process, as compared with static weighing. Vehicle dynamic weighing is the technical precondition to the moderni
7、zed and scientific management of reinforcing overloading control and forcing overloading control regulations. And the study of dynamic weighing system is of economic significance and social value in assurance of appropriate use of the roads.KEY WORDS:dynamic weighing; Weighing noumenon; FPGA; FIR; s
8、ingle chip microprocessor目錄摘要 . I ABSTRACT . II 第1章前言 . (11.1選題背景及意義 (11.2動(dòng)態(tài)稱(chēng)重概述 (11.3動(dòng)態(tài)車(chē)輛稱(chēng)重系統(tǒng)國(guó)內(nèi)外研究現(xiàn)狀 (21.4 幾種動(dòng)態(tài)測(cè)試方式及系統(tǒng) (3第2章硬件系統(tǒng)介紹 (52.1整體設(shè)計(jì)介紹 (52.2 FPGA概述 (62.3 放大濾波電路設(shè)計(jì) (82.4 A/D采集電路設(shè)計(jì) (112.5 顯示電路設(shè)計(jì) (132.6 通訊電路設(shè)計(jì) (14第3章軟件設(shè)計(jì) (173.1 FPGA軟件設(shè)計(jì) (173.2 FIR算法實(shí)現(xiàn) (183.3 單片機(jī)軟件設(shè)計(jì) (25第4章結(jié)論 (27第5章展望和不足 (28參考文
9、獻(xiàn) (29致謝 (1第1章前言1.1選題背景及意義隨著經(jīng)濟(jì)的發(fā)展和科技的進(jìn)步,現(xiàn)代交通運(yùn)輸業(yè)飛速發(fā)展。近幾年來(lái)我國(guó)對(duì)公路基礎(chǔ)設(shè)施特別是高速公路建設(shè)的力度逐年加大,全國(guó)公路建設(shè)完成投資日益增加。交通運(yùn)輸業(yè)的發(fā)展無(wú)疑對(duì)國(guó)民經(jīng)濟(jì)建設(shè)起到了積極的推動(dòng)作用,但是號(hào)稱(chēng)公路隱形殺手的營(yíng)運(yùn)車(chē)輛超載現(xiàn)象屢禁不止,其危害是多方面的1。主要表現(xiàn)在:加速損壞公路路面,增加公路養(yǎng)護(hù)成本;使國(guó)家稅費(fèi)大量流失;造成交通事故頻繁發(fā)生;嚴(yán)重的環(huán)境污染;加速車(chē)輛的損壞等幾個(gè)方面。因此加強(qiáng)公路運(yùn)輸?shù)墓芾怼⒈U闲熊?chē)安全等問(wèn)題也顯得日趨重要。依據(jù)交通部對(duì)車(chē)輛軸類(lèi)型及軸載質(zhì)量的標(biāo)準(zhǔn),我們準(zhǔn)備對(duì)滿(mǎn)足我國(guó)管理規(guī)范要求的全自動(dòng)車(chē)輛動(dòng)態(tài)稱(chēng)重超限
10、管理系統(tǒng)進(jìn)行實(shí)驗(yàn)性研究,為交通部門(mén)實(shí)施有效的超限管理提供了強(qiáng)有力的手段。鑒于國(guó)內(nèi)車(chē)輛超載、超限的嚴(yán)重性,公路交通管理相關(guān)部門(mén)急于收集當(dāng)前公路上行駛的車(chē)輛車(chē)型組成、軸載譜和超重程度、分析超重車(chē)輛對(duì)路面的損害影響程度,以便估算公路交通部門(mén)需為此增加的建設(shè)投資,并制定相應(yīng)的管理措施和法規(guī),為公路運(yùn)營(yíng)部門(mén)按車(chē)重收費(fèi)提供有效技術(shù)手段。同時(shí)提高動(dòng)態(tài)稱(chēng)重的精度,提高稱(chēng)重時(shí)車(chē)輛通過(guò)速度、降低稱(chēng)重系統(tǒng)的成本仍是一個(gè)未能解決的問(wèn)題,國(guó)內(nèi)外一直都在探索一種全新型的動(dòng)態(tài)稱(chēng)重方案。如何設(shè)計(jì)出速度快、抗干擾能力強(qiáng)、準(zhǔn)確度高的新型全自動(dòng)汽車(chē)動(dòng)態(tài)稱(chēng)重超限管理系統(tǒng),對(duì)交通部門(mén)有效地實(shí)施超限管理,保證行車(chē)安全、延長(zhǎng)公路的使用壽命
11、、降低公路養(yǎng)護(hù)的成本、減少環(huán)境污染等方面有著顯著的社會(huì)效益和經(jīng)濟(jì)效益。1.2動(dòng)態(tài)稱(chēng)重概述車(chē)輛動(dòng)態(tài)稱(chēng)重,即在非停車(chē)的運(yùn)動(dòng)狀態(tài)下的稱(chēng)重。與停車(chē)狀態(tài)下的靜態(tài)稱(chēng)重相比,其主要特點(diǎn)是節(jié)省時(shí)間,效率高,使得稱(chēng)重時(shí)不至于造成對(duì)正常交通的干擾。這對(duì)公路建設(shè)與管理有著極為重要的意義,同時(shí)對(duì)車(chē)輛運(yùn)輸現(xiàn)代化管理也有較大的促進(jìn)作用。目前較為流行的是軸重稱(chēng)量軸重儀,即分別測(cè)出車(chē)輛各軸的軸重量,再由測(cè)量系統(tǒng)計(jì)算出整車(chē)重量。在靜態(tài)稱(chēng)重時(shí),車(chē)輛的輪胎平穩(wěn)地作用于軸重儀稱(chēng)臺(tái)上,無(wú)任何其它外力干擾,能反映真實(shí)軸重。因此可以實(shí)現(xiàn)高精度測(cè)量。動(dòng)態(tài)稱(chēng)重時(shí),車(chē)輛以一定速度通過(guò)軸重儀測(cè)量平臺(tái),不僅輪胎對(duì)平臺(tái)的作用時(shí)間很短(在幾百毫秒以?xún)?nèi),
12、而且作用在平臺(tái)上的力除真實(shí)軸重外,還有許多因素產(chǎn)生的干擾力,如:車(chē)速、車(chē)輛自身諧振、路面激勵(lì)、輪胎驅(qū)動(dòng)力等??梢哉f(shuō)真實(shí)軸重被淹沒(méi)在各種干擾力中,給動(dòng)態(tài)稱(chēng)重實(shí)現(xiàn)高精度測(cè)量造成很大困難。因此,在外界隨機(jī)不確定的干擾力作用下如何準(zhǔn)確測(cè)量真實(shí)軸重,就成了動(dòng)態(tài)軸重測(cè)試系統(tǒng)的技術(shù)難點(diǎn)和關(guān)鍵。就所存在的干擾進(jìn)行整理、分析綜合,從動(dòng)態(tài)測(cè)試系統(tǒng)的整體角度探討能減小或消除這些干擾力影響程度的措施和測(cè)試方式,無(wú)疑有助于高精度動(dòng)態(tài)稱(chēng)重技術(shù)的進(jìn)步及測(cè)試系統(tǒng)的發(fā)展1。1.3動(dòng)態(tài)車(chē)輛稱(chēng)重系統(tǒng)國(guó)內(nèi)外研究現(xiàn)狀在20世紀(jì)60年代末70年代初,國(guó)外開(kāi)始研究高速公路動(dòng)態(tài)車(chē)輛稱(chēng)重系統(tǒng)以防止車(chē)輛超載對(duì)路面所造成的損壞,我國(guó)則起步較晚,開(kāi)
13、始于80年代初期2。1974年,法國(guó)取得了一項(xiàng)壓電纜動(dòng)態(tài)汽車(chē)稱(chēng)重器Vibracoax的專(zhuān)利。1988年,英國(guó)研制出了性能優(yōu)于Vibracoax的新型壓電稱(chēng)重傳感器Vibetek5。1992年,由歐洲高速公路系統(tǒng)研究實(shí)驗(yàn)室聯(lián)盟(FEHRI發(fā)起,按照歐盟運(yùn)輸委員會(huì)(ECTD的程序框架進(jìn)行了COST323計(jì)劃。該計(jì)劃主要內(nèi)容就是研究對(duì)公路上行駛的汽車(chē)進(jìn)行動(dòng)態(tài)載荷監(jiān)控的相關(guān)問(wèn)題,其中最重要的是在瑞士進(jìn)行為期30個(gè)月的WIM系統(tǒng)實(shí)際應(yīng)用測(cè)試。1994年,歐盟開(kāi)始進(jìn)行WA VE(weighing in motion of axleand vehicles for Europe計(jì)劃即著名的CET(cold
14、environment test測(cè)試。結(jié)果表明德國(guó)PAT、美國(guó)Mikros等在測(cè)量性能方面處于領(lǐng)先水平。2000年ITS年會(huì)上展出由美國(guó)MSI公司開(kāi)發(fā)的共聚物壓電軸傳感器,可以同時(shí)測(cè)量車(chē)速、車(chē)軸數(shù)、軸距及車(chē)型分類(lèi)、動(dòng)態(tài)稱(chēng)重。為了規(guī)范世界上的動(dòng)態(tài)稱(chēng)重系統(tǒng),1990年德克薩斯大學(xué)的學(xué)者起草了ASTME131890標(biāo)準(zhǔn)3。1目前,國(guó)外汽車(chē)動(dòng)態(tài)稱(chēng)重系統(tǒng)的研究以美國(guó)和德國(guó)水平較高,德國(guó)PAT公司生產(chǎn)的產(chǎn)品精度已達(dá)到±3%4。2我國(guó)高等級(jí)公路的發(fā)展較國(guó)外晚,但超載現(xiàn)象特別嚴(yán)重,尤其是礦產(chǎn)資源富有地區(qū)。我國(guó)于20世紀(jì)80年代出現(xiàn)了帶基坑和無(wú)基坑兩種電子汽車(chē)衡5,1994年一種動(dòng)、靜態(tài)兩用電子軌道衡
15、6在太原鋼鐵公司通過(guò)了鑒定,該產(chǎn)品集動(dòng)態(tài)和靜態(tài)軌道衡的優(yōu)點(diǎn)子一身,較好地解決了檢測(cè)精度與汽車(chē)通過(guò)速度之間的矛盾。作為國(guó)家“八五”重點(diǎn)科技項(xiàng)目,交通部重慶公路科學(xué)研究所研制了一種固定式動(dòng)態(tài)汽車(chē)稱(chēng)重系統(tǒng)7,該系統(tǒng)軸重誤差小于±10%,置信度為95%。3汽車(chē)動(dòng)態(tài)稱(chēng)重技術(shù)在現(xiàn)實(shí)中的應(yīng)用。發(fā)達(dá)國(guó)家在公路骨干網(wǎng)上普遍設(shè)立了車(chē)輛動(dòng)態(tài)稱(chēng)重檢測(cè)設(shè)備,對(duì)汽車(chē)超載現(xiàn)象實(shí)施嚴(yán)格管理。目前,國(guó)內(nèi)還沒(méi)有一家企業(yè)能夠自主生產(chǎn)汽車(chē)動(dòng)態(tài)稱(chēng)重儀,其關(guān)鍵總成或配件依靠進(jìn)口。本課題主要對(duì)動(dòng)態(tài)車(chē)輛稱(chēng)重系統(tǒng)進(jìn)行深入的分析和研究以解決其關(guān)鍵問(wèn)題。1.4 幾種動(dòng)態(tài)測(cè)試方式及系統(tǒng)動(dòng)態(tài)稱(chēng)重時(shí),車(chē)輛以一定速度通過(guò)軸重儀測(cè)量平臺(tái),不僅輪胎
16、對(duì)平臺(tái)的作用時(shí)間很短(在幾百毫秒以?xún)?nèi),而且作用在平臺(tái)上的力除真實(shí)軸重外,還有許多因素產(chǎn)生的干擾力,如:車(chē)速、車(chē)輛自身諧振、路面激勵(lì)、輪胎驅(qū)動(dòng)力等??梢哉f(shuō)真實(shí)軸重被淹沒(méi)在各種干擾力中,給動(dòng)態(tài)稱(chēng)重實(shí)現(xiàn)高精度測(cè)量造成很大困難。因此,在外界隨機(jī)不確定的干擾力作用下如何準(zhǔn)確測(cè)量真實(shí)軸重,就成了動(dòng)態(tài)軸重測(cè)試系統(tǒng)的技術(shù)難點(diǎn)和關(guān)鍵。就所存在的干擾進(jìn)行整理、分析綜合,從動(dòng)態(tài)測(cè)試系統(tǒng)的整體角度探討能減小或消除這些干擾力影響程度的措施和測(cè)試方式,無(wú)疑有助于高精度動(dòng)態(tài)稱(chēng)重技術(shù)的進(jìn)步及測(cè)試系統(tǒng)的發(fā)展89。所謂算術(shù)平均,即對(duì)傳感器輸出信號(hào)進(jìn)行多次快速數(shù)據(jù)采集,然后取算術(shù)平均值作為測(cè)試結(jié)果,以濾除隨機(jī)誤差。該測(cè)試系統(tǒng)基于高
17、速A/D轉(zhuǎn)換器與單片機(jī)數(shù)據(jù)采集處理功能。當(dāng)車(chē)輪通過(guò)稱(chēng)臺(tái)時(shí),單片機(jī)在稱(chēng)重時(shí)區(qū)段內(nèi)通過(guò)高速A/D轉(zhuǎn)換器對(duì)傳感器輸出信號(hào)進(jìn)行自動(dòng)快速采集,并將多次采集的數(shù)據(jù)進(jìn)行預(yù)處理和存儲(chǔ),然后取算術(shù)平均,其結(jié)果認(rèn)為是在動(dòng)態(tài)下測(cè)試的軸重。從理論上來(lái)講,該系統(tǒng)應(yīng)能保證一定的測(cè)量精度。但是,在實(shí)際操作中,會(huì)受到若干條件限制(如稱(chēng)量時(shí)間較短、模數(shù)轉(zhuǎn)換不夠快,致使車(chē)輛通過(guò)速度上限與稱(chēng)量精度相矛盾。而且,由于稱(chēng)臺(tái)較短,稱(chēng)重時(shí)間有限,所采集的數(shù)據(jù)不可能足夠的達(dá)到精確平均值,有相當(dāng)?shù)钠?。因?依此測(cè)試方式研制的軸重儀比較適合于靜態(tài)稱(chēng)重或低速準(zhǔn)動(dòng)態(tài)稱(chēng)重(限速稱(chēng)重。由于干擾因素的存在,使行駛車(chē)輛在某些固有頻率下震動(dòng)。當(dāng)車(chē)輛通過(guò)稱(chēng)臺(tái)
18、時(shí)對(duì)稱(chēng)臺(tái)的作用力波形將由兩部分組成,即與軸重成正比的靜態(tài)分量和由各種諧波成分組成的動(dòng)態(tài)分量(如圖1-1所示。80年代,日本提出了一種位移積分法的測(cè)試方式,較好的解決了濾除動(dòng)態(tài)分量干擾問(wèn)題,大大提高了動(dòng)態(tài)軸重稱(chēng)量精度。其原理大致是:將稱(chēng)重系統(tǒng)的輸出信號(hào)對(duì)一小段位移沿(L1其長(zhǎng)度(L積分,L1的兩端是通過(guò)對(duì)稱(chēng)的前后排傳感器的輸出進(jìn)行比較給定的。圖1-1示出了稱(chēng)重的典型波形,圖中陰影部分面積用于該測(cè)試方式中的計(jì)算,以得到接近于軸重的靜態(tài)分量,消除動(dòng)態(tài)分量。動(dòng)態(tài)分量在積分區(qū)間被比較理想的平均了,使車(chē)輛震蕩造成的干擾影響很小。由于積分是對(duì)前后排傳感器的輸出做出的比較后劃分的位移區(qū)段進(jìn)行的,因此即使車(chē)輛在
19、較高車(chē)速下行使,仍能保證有較高的測(cè)試精度。但這需要大量的數(shù)據(jù)才能保證其精度,其實(shí)現(xiàn)起來(lái)比較麻煩,這也是目前動(dòng)態(tài)稱(chēng)重系統(tǒng)在提高汽車(chē)通過(guò)速度時(shí),精度無(wú)法保證的關(guān)鍵所在。靜重負(fù)荷路長(zhǎng)L L1t圖1-1 軸重的典型波形本文在參考了以上幾種方法以后,提出了一種FIR 數(shù)字濾波方法,這種方法具有濾波效果好濾波參數(shù)修改方便而且容易實(shí)現(xiàn)等優(yōu)點(diǎn)。由于FIR 算法的運(yùn)算量比較大,如果單純用單片機(jī)來(lái)實(shí)現(xiàn)很難做到實(shí)時(shí)處理,所以我們用FPGA 來(lái)實(shí)現(xiàn)FIR 算法,單片機(jī)用來(lái)做一些輔助工作。第2章硬件系統(tǒng)介紹2.1整體設(shè)計(jì)介紹由于傳感器輸出為毫伏級(jí)差動(dòng)信號(hào)所以放大器必須為差動(dòng)。在現(xiàn)場(chǎng)干擾比較嚴(yán)重,其中有傳感器本身的干擾,
20、其中共模干擾部分通過(guò)差動(dòng)放大電路可以有效的消除,而串模干擾必須通過(guò)低通濾波消除,此時(shí)就得考慮濾波電容的大小。如果電容選擇的大一些可以有效的消除串模干擾,但是同時(shí)濾波電路的輸出信號(hào)會(huì)有一個(gè)比較大延遲,對(duì)汽車(chē)重量的實(shí)時(shí)測(cè)量來(lái)說(shuō)這是不允許的。如果選用的電容比較小,雖然可以保證實(shí)時(shí)性但卻不能有效慮除干擾信號(hào)。所以電容大小的選擇必須折中考慮。雖然有一部分干擾信號(hào)不能慮除但是可以通過(guò)軟件濾波實(shí)現(xiàn),比如可以通過(guò)平均值方法或者用自適應(yīng)方法,這就需要CPU有足夠的速度來(lái)保證計(jì)算的實(shí)時(shí)性,但是這種CPU往往價(jià)格比較高昂,所以仍然選用通用微處理器89C51。為了保證信號(hào)處理的實(shí)時(shí)性,我們用硬件完成濾波算法。本設(shè)計(jì)選
21、用Altera公司的FLEX10K10器件,它具有速度快操作簡(jiǎn)單等特點(diǎn)。我們用FPGA器件實(shí)現(xiàn)數(shù)字濾波FIR算法。同時(shí)FLEX10K10器件還擔(dān)任著一些簡(jiǎn)單邏輯電路設(shè)計(jì)的任務(wù)。其中處理完的數(shù)據(jù)通過(guò)單片機(jī)的串口傳送到上位機(jī),并且這個(gè)串口還用于數(shù)碼管的顯示,而串口切換是由FPGA完成的。 圖2-1設(shè)計(jì)整體框圖由于本文選用的A/D1674芯片轉(zhuǎn)換時(shí)間只有10s,而所設(shè)計(jì)的電路是每隔20s 啟動(dòng)轉(zhuǎn)換一次,所以有足夠的時(shí)間完成模數(shù)轉(zhuǎn)換。汽車(chē)軸重臺(tái)的寬度為40cm,汽車(chē)通過(guò)軸重臺(tái)的最大速度為15km/h,這樣可以求出汽車(chē)通過(guò)的最短時(shí)間為0.096s。在這段時(shí)間里可以采集4800個(gè)數(shù)據(jù)。由于前30ms是傳感
22、器的反應(yīng)時(shí)間,除去這部分?jǐn)?shù)據(jù),將剩下的數(shù)據(jù)進(jìn)行FIR數(shù)字濾波后,噪聲被有效的抑制。為了進(jìn)一步的平滑波形,每8個(gè)數(shù)據(jù)做一次平均,這樣就消弱了由于汽車(chē)高速通過(guò)軸重臺(tái)時(shí)由于顛簸產(chǎn)生的尖峰信號(hào)。FPGA的每次濾波包含有FIR運(yùn)算和8個(gè)數(shù)據(jù)的平均值運(yùn)算。FPGA每完成一次濾波就會(huì)向單片機(jī)發(fā)一個(gè)中斷請(qǐng)求,此時(shí)單片機(jī)讀取濾波后的數(shù)據(jù)。由于選用的A/D是12位,而單片機(jī)89C51是8位的,所以經(jīng)過(guò)處理后的數(shù)據(jù)必須分兩次讀入。第一次讀入低八位,第二次讀入高4位,然后對(duì)數(shù)據(jù)處理。此時(shí)可以認(rèn)為單片機(jī)接收的數(shù)據(jù)為濾波后不含有噪聲的數(shù)據(jù),只要求出此時(shí)的最大值就是汽車(chē)的真實(shí)重量。2.2 FPGA概述FLEX10K主要由嵌
23、入式陣列塊、邏輯陣列塊、FastTrack和I/O單元四部分組成。1.嵌入式陣列嵌入式陣列是由一系列的EAB(嵌入式陣列塊構(gòu)成的。當(dāng)要實(shí)現(xiàn)有關(guān)存貯器功能時(shí),每個(gè)EAB提供2048位用來(lái)構(gòu)造RAM、ROM、FIFO或雙口RAM等功能。當(dāng)EAB 用來(lái)實(shí)現(xiàn)乘法器、微控制器、狀態(tài)機(jī)以及DSP等復(fù)雜邏輯時(shí),每個(gè)EAB可以貢獻(xiàn)100到600個(gè)門(mén)。EAB可以單獨(dú)使用,也可以組合起來(lái)使用。2.邏輯陣列邏輯陣列是由一系列的邏輯陣列塊(LAB構(gòu)成的。每個(gè)LAB包含8個(gè)LE和一些連接線,每個(gè)LE含有一個(gè)4輸入查找表(LUT、一個(gè)可編程觸發(fā)器、進(jìn)位鏈和級(jí)聯(lián)鏈, LE的結(jié)構(gòu)能有效地實(shí)現(xiàn)各種邏輯。每個(gè)LAB是一個(gè)獨(dú)立的結(jié)
24、構(gòu),它具有共同的輸入互連與控制信號(hào),LAB的這種“粗粒度”結(jié)構(gòu)有利于器件布線和高性能的實(shí)現(xiàn),例如8位計(jì)數(shù)器、地址譯碼器或狀態(tài)機(jī)。多個(gè)LAB組合起來(lái)也可以構(gòu)成更大的邏輯塊,每個(gè)LAB代表大約96個(gè)可用邏輯門(mén)。3.快速通道(FastTrackFLEX10K器件內(nèi)部信號(hào)的互連和器件引腳之間的信號(hào)互連是由快速通道(FastTrack連線提供的,它是貫通器件長(zhǎng)、寬的快速連續(xù)通道。4.I/O單元I/O單元(IOE列連線帶行連線帶邏輯陣列嵌入式陣列局部連線邏輯單元(LE邏輯陣列塊(LAB邏輯陣列嵌入式陣列塊(EAB圖2-2 FLEX10K器件的結(jié)構(gòu)方框圖FLEX10K器件的I/O引腳是由一些I/O單元(IO
25、E驅(qū)動(dòng)的。IOE位于快速通道的行和列的末端,每個(gè)IOE有一個(gè)雙向I/O緩沖器和一個(gè)既可做輸入寄存器也可做輸出寄存器的觸發(fā)器。當(dāng)IOE作為專(zhuān)用時(shí)鐘引腳時(shí),這些寄存器提供了特殊的性能。當(dāng)它作為輸入時(shí),可提供4.2ns的建立時(shí)間和0 ns的保持時(shí)間;而作為輸出時(shí),這些寄存器可提供少于5.7ns的“時(shí)鐘到輸出”的延時(shí)時(shí)間。IOE具有許多特性,如JTAG編程支持、擺串控制、三態(tài)緩沖和漏極開(kāi)路輸出。圖3-3是FLEX10K結(jié)構(gòu)的方框圖。由圖可以看出,一組LE組成了一個(gè)LAB,LAB是排列成行和列的,每一行也包含一個(gè)EAB。LAB和EAB是由快速通道連接的,IOE處于快速通道連線的行和列的兩端。FLEX10
26、K器件還提供了6個(gè)專(zhuān)用輸入引腳,這些引腳用來(lái)驅(qū)動(dòng)觸發(fā)器的控制端,以確??刂菩盘?hào)高速、低偏移(1.2ns地有效分配。這些信號(hào)使用了專(zhuān)用的布線支路,以便具有比快速通道更短的延遲和更小的偏移。專(zhuān)用輸入中的4個(gè)輸入引腳可用來(lái)驅(qū)動(dòng)全局信號(hào),這4個(gè)全局信號(hào)也能由內(nèi)部邏輯驅(qū)動(dòng),它為時(shí)鐘分配或產(chǎn)生用以清除器件內(nèi)部多個(gè)寄存器的異步清除信號(hào)提供了一個(gè)理想的方法。當(dāng)電路設(shè)計(jì)者利用MAX+PLUS軟件工具將電路輸入,并且經(jīng)過(guò)編譯、優(yōu)化、仿真,從波形上看已經(jīng)完全達(dá)到最初的要求以后,就應(yīng)當(dāng)考慮CPLD器件的系統(tǒng)配置與下載方法了。 圖2-3 FPGA 下載電路CPLD器件的工作狀態(tài)分為三種:一種稱(chēng)之為用戶(hù)狀態(tài)(Usermo
27、de,指電路中CPLD器件正常工作時(shí)的狀態(tài);一種則是配置狀態(tài)(Configuration,指將編程數(shù)據(jù)裝入CPLD器件的過(guò)程,也可稱(chēng)之為構(gòu)造;第三種就是初始化狀態(tài)(Initialization,CPLD器件復(fù)位各類(lèi)寄存器。讓I/O引腳為邏輯器件正常工作作準(zhǔn)備?!?】【9】一、配置方式 圖2-4 FLEX10K器件的工作狀態(tài)CPLD器件配置分為兩大類(lèi):主動(dòng)配置方式和被動(dòng)配置方式。主動(dòng)配置由CPLD 器件引導(dǎo)配置操作過(guò)程,它控制著外部存貯器和初始化過(guò)程;而被動(dòng)配置由部計(jì)算機(jī)或控制器控制配置過(guò)程。根據(jù)數(shù)據(jù)線的多少將CPLD器件配置分為并行配置和串行配置兩類(lèi)。在FLEX10K10器件正常工作時(shí),它的配
28、置數(shù)據(jù)貯存在SRAM之中。由于SRAM 的易失性,所以每次加電期間,配置數(shù)據(jù)都必須重新構(gòu)造,將I/O引腳和寄存器初始化之后便進(jìn)入了用戶(hù)狀態(tài),其各種工作狀態(tài)如圖2-4所示。二、串口下載電纜ByteBlaster原理我們知道,使用FLEX器件的一個(gè)特別突出的優(yōu)點(diǎn)就是:FLEX器件可以通過(guò)在線配置的手段來(lái)調(diào)整電路結(jié)構(gòu)、延時(shí)信息等,這給電路設(shè)計(jì)人員調(diào)試電路帶來(lái)極大的方便。而并口下載電纜ByteBlaster正是將PC機(jī)中的配置信息傳送到PCB板FLEX器件中必不可少的器件。ByteBlaster不但可以用來(lái)對(duì)FLEX系列器件進(jìn)行配置重構(gòu),而且可以用來(lái)對(duì)MAX 9000以及MAX 7000S/MAX 7
29、000A等器件進(jìn)行編程。ByteBlaster 有兩種配置模式:被動(dòng)串行模式(PS一常用來(lái)配置重構(gòu)FLEX10K、FLEX 8000和FLFX 6000系列器件、邊界掃描模式(JTAG一具有邊界掃描電路的配置重構(gòu)或在線編程。三、ByteBlaster的連接及原理ByteBlaster下載電纜具有以下幾部分:與PC機(jī)并口相連的25針插座頭;與PCB 板插座相連的10針插頭;25針到10針的變換電路。1.ByteBlaster 25針插頭。ByteBlaster與PC機(jī)并口相連的是一個(gè)25針的插頭,在PS和JTAG兩種模式下具有不同的名稱(chēng),如表3-2所示。2.ByteBlasterl0針插頭Byt
30、eBlaster的10針插頭是與PCB板上的10針插座連接的。表3-3中列出了Byte Blaster在兩種不同模式下的各引腳名稱(chēng)。2.3 放大濾波電路設(shè)計(jì)4233*2123321R R R R V Vo R R R R V V +-=+*- 23(1231243123(4R R Vo R V R R V R R V R R R +-=-+ 123(4241(323(1V R R R V R R R R R Vo R +-+=+當(dāng)R1=R2 R3=R4時(shí)候,上式將變?yōu)?13(3231(331(1V R R R V R R R R R Vo R +-+=+21(*13V V R R Vo -=
31、令R1=3K,R3=100K,則此放大電路的放大倍數(shù)為:-33.3倍。 圖2-5 第一級(jí)差動(dòng)放大電路 圖2-6 第二級(jí)放大電路 圖2-7 整體放大電路131VR R Vo R Vi +-= Vi R VR R Vo 113+-= 令VR1=50K,R3=10K,R1=1K,根據(jù)此公式可以計(jì)算出第二級(jí)電路放大倍數(shù)為1060倍。同樣道理,第三級(jí)電路的放大倍數(shù)為120倍,所以總的放大倍數(shù)為33339960倍。利用運(yùn)放作為有限增益可控源的二階低通濾波器,其傳遞函數(shù)為:【10】*343(2C C R R S C R R R C R C R S C C R R R R R S H +-+=與二階低通濾波器
32、標(biāo)準(zhǔn)式20220/(+=SQ S H S H相比較,得:3430R R R H +=212110C C R R =1-+=C R C R R R C R C R C R C R Q 圖2-8 有限增益低通濾波器對(duì)該電路來(lái)講,有R 1、R 2、C 1、C 2、H 0五個(gè)參數(shù)可選擇,但只有上述三個(gè)關(guān)系式,因而在元件選擇上有一定的自由度;一種方法是令R 1=R 2=R ,C 1=C 2=C ,則有RC 10= 3430R R R H += 031H Q -=故當(dāng)0,Q 已知時(shí)候,有:01=RC ,QH 130-=,當(dāng)R 3=、R 4=0時(shí)候有:H 0=1, (100010*1.0110HZ KU R
33、C = 圖2-9 二階濾波電路2.4 A/D 采集電路設(shè)計(jì)模擬信號(hào)經(jīng)過(guò)放大隔離后要進(jìn)行A/D 轉(zhuǎn)換變成數(shù)字量,計(jì)算機(jī)才能處理。ADC 的最主要性能指標(biāo)就是分辨率和轉(zhuǎn)換時(shí)間,這兩條取決于測(cè)試設(shè)備的精度要求和信號(hào)變化速率。由于稱(chēng)重臺(tái)范圍是03000公斤,而要求誤差為1公斤以下,所以滿(mǎn)足:1/212<1/3000<1/211 圖2-10 AD1674的工作時(shí)序由圖可見(jiàn)2-12,AD1674的工作狀態(tài)由CE 、CS 、R /C 、12/8、0A 五個(gè)控制信號(hào)決定,當(dāng)CE=1,CS =0同時(shí)滿(mǎn)足時(shí),才能處于工作狀態(tài)。當(dāng)AD1674處于工作狀態(tài)時(shí),R /C =0時(shí)啟動(dòng)A/D 轉(zhuǎn)換;當(dāng)R /C
34、=1時(shí)進(jìn)行數(shù)據(jù)讀出。12/8和0A 端用來(lái)控制轉(zhuǎn)換字長(zhǎng)和數(shù)據(jù)格式。0A =0時(shí)啟動(dòng)轉(zhuǎn)換,則按完整的12位A/D 轉(zhuǎn)換方式工作,如果按0A =1啟動(dòng)轉(zhuǎn)換,則按8位A/D 轉(zhuǎn)換方式工作。當(dāng)AD1674處于數(shù)據(jù)讀出工作狀態(tài)(R /C =1時(shí),0A 和 12/8成為輸出數(shù)據(jù)格式控制端。12/8=1,對(duì)應(yīng)12位并行輸出;12/8=0,則對(duì)應(yīng)8位雙字節(jié)輸出。其中0A =0時(shí)輸出高8位,0A =1時(shí)輸出低4位,并以4個(gè)0補(bǔ)足尾隨的低4位。必須指出12/8端與TTL 電平不兼容,故只能用硬布線接至+5V 或0V 上。另外0A 在數(shù)據(jù)輸出期間不能變化。表2-1為AD1674邏輯控制真值表。表2-1 AD1674
35、邏輯控制真值表 根據(jù)以上分析得到AD1674與FPGA的接口電路如圖3-13所示。 圖2-11 A/D轉(zhuǎn)換電路AD574A圖中AD1674的數(shù)據(jù)總線與FPGA的I/O口直接相連,12/8端接5V,按12位并行輸出采集數(shù)據(jù),A、CE、CS、R/C端接到FPGA的I/O口,來(lái)控制AD啟動(dòng)和讀數(shù)據(jù)。轉(zhuǎn)換結(jié)束信號(hào)也接到FPGA的一個(gè)I/O口,按中斷方式確定其是否轉(zhuǎn)換結(jié)束。2.5 顯示電路設(shè)計(jì)在單片機(jī)系統(tǒng)中,通常用LED數(shù)碼顯示器來(lái)顯示各種數(shù)字或符號(hào)。由于它具有顯示清晰、亮度高、使用電壓低、壽命長(zhǎng)的特點(diǎn),因此使用非常廣泛。下面讓我們來(lái)看電路圖2-14,4片74LS164首尾相串,而時(shí)鐘端則接在一起,這樣
36、,當(dāng)輸入8個(gè)脈沖時(shí),從單片機(jī)RXD端輸出的數(shù)據(jù)就進(jìn)入到了第一片74LS164中了,而當(dāng)?shù)诙€(gè)8個(gè)脈沖到來(lái)后,這個(gè)數(shù)據(jù)就進(jìn)入了第二片74LS164,而新的數(shù)據(jù)則進(jìn)入了第一片74LS164,這樣,當(dāng)?shù)谒膫€(gè)8個(gè)脈沖完成后,首次送出的數(shù)據(jù)被送到了最左面的74LS164中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三片74LS164中。 圖2-12 顯示電路圖74LS164的實(shí)際連線不同則LED的翻譯碼也不同,實(shí)際電路中所使用的譯碼方式如表3-5所示。表2-2 顯示譯碼表 2.6 通訊電路設(shè)計(jì)在汽車(chē)重量測(cè)試系統(tǒng)中,要求能夠把測(cè)試的數(shù)據(jù)送到上位機(jī),同時(shí)接受上位機(jī)的控制命令以便計(jì)算機(jī)聯(lián)網(wǎng)組成全自動(dòng)汽車(chē)檢測(cè)線。這就需要上位
37、微機(jī)系統(tǒng)與單片機(jī)系統(tǒng)之間進(jìn)行數(shù)據(jù)通訊。在MCS-51單片機(jī)中有一個(gè)異步通信串行接口,能方便的構(gòu)成雙機(jī)、多機(jī)及PC機(jī)串行通信接口。MCS-51的串行口主要有二個(gè)物理上獨(dú)立的串行數(shù)據(jù)緩沖器SBUF、發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門(mén)組成。發(fā)送數(shù)據(jù)緩沖器SBUF只能寫(xiě)入不能讀出,接收數(shù)據(jù)緩沖器只能讀出,不能寫(xiě)入,二個(gè)緩沖器共用一個(gè)地址99H。有二個(gè)特殊功能寄存器SCON和PCON可用來(lái)控制串行口的工作方式及波特率。波特率發(fā)生器可用定時(shí)器T1或T2構(gòu)成。本系統(tǒng)中要實(shí)現(xiàn)單片機(jī)與上位PC兼容機(jī)的數(shù)據(jù)通信。在PC兼容機(jī)系統(tǒng)中,利用異步通信適配器可實(shí)現(xiàn)異步串行通信。該適配器以INS8250通信
38、芯片為核心,配以可進(jìn)行電平轉(zhuǎn)換的發(fā)送器和接收器電路及一些控制邏輯電路,將其做成接口卡的形式,其端口地址范圍為3F8H3FFH。利用此異步通信適配器,可以很方便地完成PC兼容機(jī)與MCS-51單片機(jī)的數(shù)據(jù)通信。PC兼容機(jī)與MCS-51單片機(jī)最簡(jiǎn)單的連接是零調(diào)制三線經(jīng)濟(jì)型連接,這是全雙工通信所必須的最少數(shù)目的線路。MCS-51單片機(jī)輸入、輸出電平為T(mén)TL 電平,而PC兼容機(jī)配置的是RS-232標(biāo)準(zhǔn)串行接口,二者的電氣規(guī)范不一致,因此要完成PC兼容機(jī)與單片機(jī)的數(shù)據(jù)通信,必須進(jìn)行電平轉(zhuǎn)換。以前大多數(shù)單片機(jī)系統(tǒng)的RS-232轉(zhuǎn)換接口都采用MC1488和MC1489構(gòu)成,它需要±12V和±
39、;5V電源供電,而且由兩片芯片構(gòu)成一個(gè)RS-232接口,電路相對(duì)比較復(fù)雜。本系統(tǒng)采用一種新型的單電源RS-232發(fā)送/接收器,使電路復(fù)雜性大為降低,這就是INTERSIL公司的ICL232芯片。INTERSIL公司的ICL232是單片集成雙RS-232發(fā)送/接收器,采用單一+5V電源供電,外接至多四只電容,二只電阻便可以構(gòu)成標(biāo)準(zhǔn)的RS-232通信接口,該器件完全符合EIA RS-232標(biāo)準(zhǔn),性能更為可靠。ICL232的功能框圖見(jiàn)圖3-15所示。由圖3-15可見(jiàn),ICL232的主要組成部分為:一個(gè)電荷泵部分,一個(gè)雙重發(fā)送部分和一個(gè)雙重接收部分。電荷泵部分由二只電荷泵組成,用以實(shí)現(xiàn)升壓和電壓極性轉(zhuǎn)
40、換功能。C1、C2電容值的大小影響輸出阻抗,增大電容值可降低輸出阻抗。另外,增加接在V+和V-端的電容C3、C4的值有助于降低V+和V-端電源方波影響。其接收部分的驅(qū)動(dòng)輸出電壓在±8V左右,接收時(shí),輸入超過(guò)2.4V則輸出為低,輸入在+0.830V之間則為高。 圖2-13 ICL232結(jié)構(gòu)框圖由ICL232構(gòu)成的PC兼容機(jī)與MCS-51單片機(jī)之間的通信接口電路如圖2-14所示。由圖可見(jiàn),由ICL232構(gòu)成的通信接口電路簡(jiǎn)單,工作可靠。 圖2-14 ICL232功能框圖第3章軟件設(shè)計(jì)3.1 FPGA軟件設(shè)計(jì)通常設(shè)計(jì)過(guò)程可劃分為下述的六個(gè)步驟11:設(shè)計(jì)要求的定義:在從事設(shè)計(jì)進(jìn)行編寫(xiě)代碼工作
41、之前,必須先對(duì)你的設(shè)計(jì)目的和要求有一個(gè)明確的認(rèn)識(shí)。對(duì)所需的信號(hào)建立時(shí)間、時(shí)鐘輸出時(shí)間、最大系統(tǒng)工作頻率、關(guān)鍵的路徑等這些要求,只要有一個(gè)明確的定義,這將有助于你的設(shè)計(jì),然后再選擇適當(dāng)?shù)脑O(shè)計(jì)方式和相應(yīng)的器件結(jié)構(gòu),進(jìn)行設(shè)計(jì)的綜合。用VHDL語(yǔ)言進(jìn)行設(shè)計(jì)描述:有了設(shè)計(jì)要求的定義后,你可以嘗試去編寫(xiě)設(shè)計(jì)代碼。但是,我們建議首先應(yīng)決定設(shè)計(jì)方式。只有對(duì)如何描述你的設(shè)計(jì)有了一個(gè)最佳的認(rèn)識(shí),才能更為有效的使你編寫(xiě)設(shè)計(jì)代碼,然后再通過(guò)綜合,進(jìn)行所需要的邏輯實(shí)現(xiàn)。通常的設(shè)計(jì)方式有三種:自頂向下設(shè)計(jì)、自底向上設(shè)計(jì)、平坦式設(shè)計(jì)。前兩種方式包括設(shè)計(jì)階層的生成,而后一種是將描述的電路當(dāng)作單模塊來(lái)進(jìn)行的。決定了設(shè)計(jì)方式以后
42、,根據(jù)具體的語(yǔ)法和語(yǔ)義結(jié)構(gòu),你可以參照你已設(shè)定的功能塊、數(shù)據(jù)流狀態(tài)圖等,來(lái)進(jìn)行設(shè)計(jì)代碼的編寫(xiě)。編寫(xiě)一個(gè)優(yōu)化的代碼的關(guān)鍵在于要依照硬件的內(nèi)在要求去思考,特別是,要能向綜合軟件運(yùn)行時(shí)的思考方式那樣去體驗(yàn)如何實(shí)現(xiàn)你的設(shè)計(jì)。原代碼模擬:對(duì)于大型設(shè)計(jì),采用語(yǔ)言模擬器進(jìn)行設(shè)計(jì)的原代碼模擬可以節(jié)省時(shí)間。并行工作程序?qū)е码娐纺M提前至設(shè)計(jì)的早期階段。采用原代碼模擬,可以在設(shè)計(jì)的早期階段檢測(cè)到設(shè)計(jì)中的錯(cuò)誤,從而進(jìn)行修正,以便盡可能的減少對(duì)設(shè)計(jì)日程計(jì)劃的影響。但對(duì)于小型設(shè)計(jì),則往往不需要先做原代碼模擬,即使做了,意義并不大。因?yàn)閷?duì)于大型設(shè)計(jì),其綜合、布局、布線往往要花費(fèi)好幾個(gè)小時(shí),在綜合之前進(jìn)行原代碼模擬,就可以
43、大大減少設(shè)計(jì)重復(fù)和修正錯(cuò)誤的次數(shù)和時(shí)間。當(dāng)然,大型設(shè)計(jì)往往是階層結(jié)構(gòu)的序列子設(shè)計(jì)和模塊的組合。設(shè)計(jì)綜合:設(shè)計(jì)優(yōu)化和設(shè)計(jì)布局布線:綜合是把設(shè)計(jì)描述轉(zhuǎn)換到網(wǎng)表或方程生成的過(guò)程。這個(gè)過(guò)程也可以被解釋為設(shè)計(jì)描述作為輸入,而設(shè)計(jì)網(wǎng)表和邏輯方程作為輸出。優(yōu)化處理依賴(lài)于三個(gè)因素:布爾表達(dá)方式,有效資源類(lèi)型,以及自動(dòng)的或用戶(hù)定義的綜合指引。裝配是指把通過(guò)綜合和優(yōu)化過(guò)程所得到的邏輯,安放到一個(gè)邏輯器件之中的過(guò)程。布局布線工具的好壞對(duì)于FPGA設(shè)計(jì)的性能有著很大的影響。傳導(dǎo)延時(shí)基本上取決于布線延時(shí),一個(gè)優(yōu)化的布局布線可將電路的關(guān)鍵部分緊密的配置在一起,以消除布線延時(shí)。布局布線工具采用一定的算法,指引用戶(hù)約束和性能
44、估價(jià)來(lái)選擇最佳的布局方式,以逐步實(shí)現(xiàn)符合性能要求的優(yōu)化的布局結(jié)果。布局、布線后的設(shè)計(jì)模塊模擬:即使你在設(shè)計(jì)綜合之前進(jìn)行了設(shè)計(jì)模擬,在設(shè)計(jì)被裝配之后,還是需要對(duì)設(shè)計(jì)在進(jìn)行模擬。布局后的模擬不僅可使您能夠再一次檢測(cè)設(shè)計(jì)的功能,而且還能檢查的時(shí)序功能,諸如信號(hào)建立時(shí)間、時(shí)鐘到輸出、寄存器到寄存器的時(shí)延。如果實(shí)驗(yàn)?zāi)M結(jié)果不能滿(mǎn)足設(shè)計(jì)的要求,就需要重新綜合并將設(shè)計(jì)重新裝配于新的器件之中,其間不乏反復(fù)嘗試各種綜合過(guò)程和裝配過(guò)程,或選擇不同速度的器件。同時(shí),也可以重新觀察和分析VHDL 原代碼,以確認(rèn)描述使正確有效的。只有這樣,取得的綜合和裝配的結(jié)果才會(huì)符合你的設(shè)計(jì)要求。器件編程:在成功地完成設(shè)計(jì)描述、綜合
45、、優(yōu)化、裝配和設(shè)計(jì)模擬之后,則可以對(duì)器件進(jìn)行編程和繼續(xù)進(jìn)行系統(tǒng)設(shè)計(jì)的其他工作。綜合、優(yōu)化和裝配軟件將生成一個(gè)器件編程所用的數(shù)據(jù)文件。3.2 FIR 算法實(shí)現(xiàn)FIR 濾波器的h(n 0nN -1H(z=-=-1N 0n n z n (h (4-1據(jù)此找不到模擬系統(tǒng)函數(shù)H(s。(因?yàn)槭?-z 的多項(xiàng)式,而非有理分式形式FIR 濾波器頻率響應(yīng)為:【3】【4】H(j e=-=-1(N n n j e n h =(j e H (j e (4-2nN -1 (奇對(duì)稱(chēng)稱(chēng)為第二類(lèi)(n h (4-6 本文采用FIR 數(shù)字濾波,它是由卷積原理實(shí)現(xiàn),如公式4-13所示。Y(n=-=-1N 0k k n (x k (
46、h (4-13其中h(k為系統(tǒng)濾波參數(shù)而x(n為采集的信號(hào),Y(n為濾波后的輸出信號(hào)。由公式4-1和公式4-5可知,可以把FIR 濾波器設(shè)計(jì)成具有線性相位。利用這一情況,可以得到乘法次數(shù)少的結(jié)構(gòu)。圖4-12畫(huà)出了這種結(jié)構(gòu),可直接證明它是式4-1的結(jié)構(gòu),這個(gè)結(jié)構(gòu)需要(N+1/2次乘法,只是級(jí)聯(lián)或并聯(lián)結(jié)構(gòu)所需次數(shù)的一半,因此實(shí)際應(yīng)用中多數(shù)使用這種方法。FIR 算法是本文的核心算法,在用VHDL 語(yǔ)言實(shí)現(xiàn)的過(guò)程中需要用到乘法運(yùn)算和移位卷積運(yùn)算,本文把主要程序列出,并對(duì)程序做了注釋和說(shuō)明。 h(m圖3-1 FIR算法實(shí)現(xiàn)結(jié)構(gòu)圖ROM程序:library ieee;package rom is 定義的包
47、體subtype lw_int is integer range 0 to 255;聲明范圍為0-255整型數(shù)的子類(lèi)型function rom(l:lw_intreturn unsigned;定義一個(gè)rom函數(shù)end rom;packag e body rom is 包體說(shuō)明function rom(l:lw_intreturn unsigned isalias in1:lw_int is l; 聲明函數(shù)的參數(shù)為lw_int類(lèi)型variable v_in1:unsigned(7 downto 0; 定義一個(gè)無(wú)符號(hào)數(shù)組begincase in1 iswhen 0=>v_in1:="
48、;00000001" 以下為FIR運(yùn)算中使用when 1=>v_in1:="00000001" 的h(n參數(shù)when 2=>v_in1:="00000001"when 3=>v_in1:="00000001"when 4=>v_in1:="00000001"when 5=>v_in1:="00000001"when 6=>v_in1:="00000001"when 7=>v_in1:="00000001"
49、when 8=>v_in1:="00000001"when 9=>v_in1:="00000001"when 10=>v_in1:="00000001"when 11=>v_in1:="00000001"when 12=>v_in1:="00000001"when 13=>v_in1:="00000001"when 14=>v_in1:="00000001"when 15=>v_in1:="0000
50、0001"when 16=>v_in1:="00000001"when others=>null;end case;return(v_in1;end;end rom;程序功能說(shuō)明:當(dāng)進(jìn)行卷積運(yùn)算時(shí)候需要知道沖擊響應(yīng)h(n的數(shù)值,在本設(shè)計(jì)中可以直接調(diào)用函數(shù)rom(,即:h(0=rom(0,h(5=rom(5等。當(dāng)計(jì)算好h(n的數(shù)值后,就可以修改此程序的數(shù)組列表。在其他程序調(diào)用本程序之前必須對(duì)其進(jìn)行編譯。程序mul_fun.vhd清單:library ieee;package mul_fun is 程序包說(shuō)明function mul(l:unsigned(
51、11 downto 0;r:unsigned(7 downto 0return unsigned;end mul_fun ;package body mul_fun is 包體說(shuō)明,描述程序包function mul(l,r:unsignedreturn unsigned is函數(shù)變量類(lèi)型及返回值說(shuō)明alias in1:unsigned(11 downto 0 is l;alias in2:unsigned(7 downto 0 is r;variable v_left,v_add:unsigned(19 downto 0;v_left為移位寄存器,v_add 為累加值variable v_i
52、n1:unsigned(11 downto 0;variable v_in2:unsigned(7 downto 0;beginv_left(7 downto 0:=in2(7 downto 0;v_left(19 downto 8:="000000000000"v_add:=(others=>'0'v_in1:=in1;v_in2:=in2;for i in 0 to 11 loop 如果當(dāng)前位為1,則將移位寄存器中內(nèi)容加到累加和寄存器中if v_in1(i='1' thenv_add:=v_add+v_left;end if;v_l
53、eft:=(others=>'0'case i is 根據(jù)i的數(shù)值不同對(duì)移位寄存器中內(nèi)容移位when 0=>v_left(8 downto 1:=v_in2(7 downto 0;when 1=>v_left(9 downto 2:=v_in2(7 downto 0;when 2=>v_left(10 downto 3:=v_in2(7 downto 0;when 3=>v_left(11 downto 4:=v_in2(7 downto 0;when 4=>v_left(12 downto 5:=v_in2(7 downto 0;when
54、5=>v_left(13 downto 6:=v_in2(7 downto 0;when 6=>v_left(14 downto 7:=v_in2(7 downto 0;when 7=>v_left(15 downto 8:=v_in2(7 downto 0;when 8=>v_left(16 downto 9:=v_in2(7 downto 0;when 9=>v_left(17 downto 10:=v_in2(7 downto 0;when 10=>v_left(18 downto 11:=v_in2(7 downto 0;when 11=>v_
55、left(19 downto 12:=v_in2(7 downto 0;when others=>null;end case;end loop;return(v_add;end;end mul_fun ;程序說(shuō)明:由于在FIR計(jì)算中需要用到乘法,而在VHDL語(yǔ)言中沒(méi)有提供乘法函數(shù),所以我們用移位相加的辦法來(lái)實(shí)現(xiàn)乘法。在本設(shè)計(jì)中使用的A/D轉(zhuǎn)換器為12位,而卷積運(yùn)算中h(n的參數(shù)我們用8位二進(jìn)制表示,所以需要用到12位二進(jìn)制與8位二進(jìn)制的乘法,以上程序就是完成此項(xiàng)功能的子函數(shù)。它本身不能完成仿真功能,只能由其他程序調(diào)用此函數(shù)來(lái)完成。程序mul_ok.vhd清單:library ieee;e
56、ntity mul_ok isport(cp :in std_logic; 定義時(shí)鐘信號(hào)in1:in unsigned(11 downto 0; 定義輸入信號(hào)in2:in unsigned(7 downto 0; 定義輸入信號(hào)out1:out unsigned(19 downto 0 定義輸出信號(hào);end mul_ok;architecture lw of mul_ok isbeginprocess(cpbeginif cp'event and cp='1' thenout1<=mul(in1,in2; 輸入信號(hào)相乘結(jié)果給輸出信號(hào)elsenull;end if;e
57、nd process;end lw;程序說(shuō)明:在本程序中我們調(diào)用了先前編好的程序mul_fun.vhd中的函數(shù)mul(,為了使運(yùn)算同步我們引入了時(shí)鐘信號(hào)。當(dāng)在時(shí)鐘上升沿到來(lái)的時(shí)候執(zhí)行乘法運(yùn)算。具體仿真結(jié)果如圖所示。16進(jìn)制乘法:fff×00=0,fff×ff=fef01,fff×02=1ffe。可見(jiàn)結(jié)果正確。 圖3-2 乘法仿真結(jié)果library ieee;entity fir_lw is 實(shí)體說(shuō)明port(cp,reset:in std_logic; 時(shí)鐘信號(hào)和復(fù)位信號(hào)sample: in unsigned(11 downto 0; 采樣信號(hào)result: out unsigned(19 downto 0 計(jì)算的結(jié)果;end fir_lw ;architecture beh of fir_lw is 對(duì)實(shí)體的描述beginfir_main:process(cptype shift_arr is array(16 downto 0 of unsigned (11 downto 0;定義子類(lèi)型vari
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)自動(dòng)化在制造業(yè)的應(yīng)用前景
- 工業(yè)遺址改造為環(huán)境藝術(shù)設(shè)計(jì)的實(shí)踐
- 工業(yè)自動(dòng)化技術(shù)對(duì)能源消耗的影響研究
- 工作中的高效化-從智慧家居看現(xiàn)代職場(chǎng)環(huán)境改造
- 工作效率與時(shí)間管理的心理學(xué)原理
- 工作滿(mǎn)意度與組織績(jī)效關(guān)系研究
- 工作空間的多元化與包容性設(shè)計(jì)
- 工程中的數(shù)學(xué)應(yīng)用與思維訓(xùn)練
- 工廠自動(dòng)化設(shè)備的選型與配置
- 工作更高效的團(tuán)隊(duì)設(shè)備應(yīng)用指南
- 低壓電工復(fù)審培訓(xùn)
- 鋼結(jié)構(gòu)墻板拆除施工方案
- 2025年養(yǎng)老護(hù)理員專(zhuān)業(yè)知識(shí)測(cè)試卷:養(yǎng)老護(hù)理員護(hù)理技能操作試題集
- 新能源汽車(chē)充電系統(tǒng)故障診斷與維修技術(shù)研究
- 護(hù)理典型案例分享
- 2025年GCP(藥物臨床試驗(yàn)質(zhì)量管理規(guī)范)相關(guān)知識(shí)考試題與答案
- 2019-2020學(xué)年廣東省中山市七年級(jí)下學(xué)期期末數(shù)學(xué)試卷-(含部分答案)
- 9.2解析三大訴訟 課件-高中政治統(tǒng)編版選擇性必修二法律與生活
- 冬蟲(chóng)夏草的鑒別和栽培技術(shù)課件
- 口腔內(nèi)科學(xué)練習(xí)題庫(kù)(附答案)
- 中藥材合作種植協(xié)議書(shū)5篇
評(píng)論
0/150
提交評(píng)論