




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于FPGA的實用電子稱摘要:該設(shè)計以現(xiàn)場可編程門陣列FPGA為核心控制部件,并基于超高速硬件描述語言VHDL在Xilinx公司的SpartanE系列的XC2S100E芯片上編程實現(xiàn);系統(tǒng)的硬件部分包括FPGA最小系統(tǒng)板,數(shù)據(jù)采集、人機交互界面三大部分。最小系統(tǒng)部分主要是擴展了外部數(shù)據(jù)存儲器,數(shù)據(jù)采集部分由壓力傳感器、信號的前級處理和A/D轉(zhuǎn)換部分組成。人機界面部分為鍵盤輸入 ,點陣式液晶顯示,軟件基于VHDL語言實現(xiàn)了本設(shè)計的全部控制功能,包括基本的稱重功能,和發(fā)揮部分的顯示購物清單的功能,并增加了時鐘、過載提示欠量程提示、語音提示等創(chuàng)新功能。整機系統(tǒng)結(jié)構(gòu)簡單,使用方便。功能齊全,精度高,具
2、有一定的開發(fā)價值。關(guān)鍵詞:電子稱,計價,壓力傳感器,F(xiàn)PGA,VHDL Designofapplied Electronic-balance Based on FPGATutor : Yan WangWeiqing XU Zhengyu Tang Renfu Lan(ElectricEngineeringCollegeNanHuaUniversityHengyangHunan,China)Abstract:This is a design for appliedelectronic-balance which is based on FPGA(Field Programmable Gate A
3、rray).The design will be achieved in the Spartan-II E-XC2S100E chip of Xilinx corporation by programming with the VHDL(Very High-speed Description Language)The hardware of the system includes the minimum system of FPGA, the data collector, the interface of person and machine.The minimum systems func
4、tion mainly is to expand the storage,The data collectoris composedof pressure sensor and A/ D convertor,The interface of persom and machine includes keyboard and LCD display.The software willachieve all control functions of this design according to the language of VHDL.This functions is including to
5、 weigh the function basically, and the function of the shopping detailed list.Besides, we adding several expanding functions such as displaying clock andprompting when the matter is overload .The structure of the whole machine is simple, the usage is convenience., the accuracy is high, It is worth o
6、f empoldering to this appliedelectronic-balance.Keyword:The electronic balance, Pressure sensor, FPGA,VHDL目錄第一章系統(tǒng)方案的設(shè)計41.1電子稱的設(shè)計要求4基本要求41.1.2 發(fā)揮部分4創(chuàng)新部分41.2 設(shè)計的基本思路41.3 系統(tǒng)方案比較和論證4控制器4前級放大器51.3.3 A/D轉(zhuǎn)換器6顯示輸出電路61.4系統(tǒng)組成7第二章單元電路設(shè)計72.1 稱重傳感器72.2 前端信號處理82.3 A/D轉(zhuǎn)換電路92.4主控制控制電路102.5人機交互界面11鍵盤接口電路112.5.2 LCD顯
7、示接口電路122.5.3 LED數(shù)碼管顯示電路122.6日歷時鐘電路132.7電源電路142.8 其它擴展電路142.8.1 通訊接口電路142.8.2語音電路152.8.3報警電路16第三章系統(tǒng)軟件的設(shè)計163.1開發(fā)軟件及編程語言簡介163.2系統(tǒng)軟件的設(shè)計16軟件率程序流程163.1.2 VHDL模塊設(shè)計17程序設(shè)計頂層映射原理193.3 程序清單及仿真19第四章系統(tǒng)測試214.1測試儀器清單214.2測試方法214.3測試結(jié)果和誤差分析214.3.1測試結(jié)果21誤差計算及分析22第五章設(shè)計總結(jié)22參考文獻22附錄 主要元器件清單23附錄2 印制板圖23附錄3程序清單24第一章 系統(tǒng)方案
8、的設(shè)計1.1電子稱的設(shè)計要求1.1.1基本要求1) 能用簡易鍵盤設(shè)置單價,加重后能同時顯示重量、金額和單價;2) 重量顯示:單位為公斤;最大稱重為9.999公斤,重量誤差不大于±0.005公斤;3) 單價金額及總價金額顯示:單價金額和總價金額的單位為元,最大金額數(shù)值為9999.99元,總價金額誤差不大于0.01元;4) 具有去皮功能和總額累加計算功能。1.1.2 發(fā)揮部分能顯示購物清單,自擬10種商品名稱或代號,清單內(nèi)容包括:商品名稱,數(shù)量,單價,金額,本次購物總金額。1) 清單內(nèi)容的商品名稱等可使用代號顯示;2) 清單內(nèi)容增加購貨日期和收銀員編號;3) 清單內(nèi)容在(2)的基礎(chǔ)上增加
9、售貨單位名稱(自擬),且全部內(nèi)容采用中文顯示。1.1.3 創(chuàng)新部分 在完成基本要求和題目所提出的發(fā)揮部分要求的情況下,考慮到電子稱實際應(yīng)用的需要,又增加了時鐘功能,另外由于實際當(dāng)中,稱可以有一定量的過載,但不能超出要求的范圍,為此我們還設(shè)計了過載提示功能。1.2 設(shè)計的基本思路題目要求設(shè)計一個實用電子稱,按照設(shè)計的基本要求,系統(tǒng)可分為三大模塊,數(shù)據(jù)采集模塊、控制器模塊、人機交互界面模塊。其中數(shù)據(jù)采集模塊完成對來自穩(wěn)重傳感器的電壓信號的檢測、放大、AD轉(zhuǎn)換。此時的數(shù)字信號送給控制器處理,由控制器完成被測物體重量的判斷、顯示等功能。此部分對軟件的設(shè)計要求比較高,系統(tǒng)的大部分功能都需要軟件來控制。在
10、擴展功能上,本設(shè)計增加了一個時鐘芯片(PCF8563)用以顯示購物日期/時鐘,一個聲光報警電路用以過載提示。1.3系統(tǒng)方案比較和論證1.3.1控制器方案一基于51系列單片機來實現(xiàn)。目前單片機技術(shù)比較成熟,功能也比較強大,被測信號經(jīng)放大整形后送入單片機,由單片機對測量信號進行處理并根據(jù)相應(yīng)的數(shù)據(jù)關(guān)系譯碼顯示出被測物體的重量,由于系統(tǒng)需要的按鍵較多,因此要加一個鍵盤顯示管理芯片(ZLG7289)原理方框圖如圖1.3.1所示。單片機控制適合于功能比較簡單的控制系統(tǒng),而且其具有成本低,功耗低,體積小算術(shù)運算功能強,技術(shù)成熟等優(yōu)點.但其缺點是外圍電路比較復(fù)雜,編程復(fù)雜。使用這種方案會給系統(tǒng)設(shè)計帶來一定的
11、難度。MCUAT89S52放大器AD轉(zhuǎn)換器顯示器鍵盤電路時鐘芯片傳感信號ZLG7289圖1.3.1 單片機實現(xiàn)方案原理框圖方案二采用現(xiàn)場可編程門陣列(FPGA)為控制核心采用現(xiàn)場可編程門陣列(FPGA)為控制核心,利用EDA軟件編程,下載燒制實現(xiàn)。系統(tǒng)集成于一片Xilinx公司的Spartan系列XC2S100E芯片上,體積大大減小、邏輯單元靈活、集成度高以及適用范圍廣等特點,可實現(xiàn)大規(guī)模和超大規(guī)模的集成電路。采用FPGA測頻測量精度高,測量頻率范圍大,而且編程靈活、調(diào)試方便,本設(shè)計要求的精度較高,所以要求系統(tǒng)的穩(wěn)定性要好,抗干擾能力要強。因此,我們決定采用方案二,即采用FPGA為控制核心。1
12、.3.2前級放大器壓力傳感器輸出的電壓信號為毫伏級,所以對運算放大器要求很高。我們考慮可以采用以下幾種方案可以采用:方案一利用普通低溫漂運算放大器構(gòu)成多級放大器。普通低溫漂運算放大器構(gòu)成多級放大器會引入大量噪聲。由于A/D轉(zhuǎn)換器需要很高的精度,所以幾毫伏的干擾信號就會直接影響最后的測量精度。所以,此中方案不宜采用。方案二由高精度低漂移運算放大器構(gòu)成差動放大器。差動放大器具有高輸入阻抗,增益高的特點,可以利用普通運放(如OP07)做成一個差動放大器。此方案原理圖如圖1.3.2所示。圖1.3.2 高精度運算放大器電路圖電阻R1、R2電容C1、C2、C3、C4用于濾除前級的噪聲,C1、C2為普通小電
13、容,可以濾除高頻干擾,C3、C4為大的電解電容,主要用于濾除低頻噪聲。優(yōu)點:輸入級加入射隨放大器,增大了輸入阻抗,中間級為差動放大電路,滑動變阻器R6可以調(diào)節(jié)輸出零點,最后一級可以用于微調(diào)放大倍數(shù),使輸出滿足滿量程要求。輸出級為反向放大器,所以輸出電阻不是很大,比較符合應(yīng)用要求。缺點:此電路要求R3、R4相等,誤差將會影響輸出精度,難度較大。實際測量,每一級運放都會引入較大噪聲。對精度影響較大。方案三采用專用儀表放大器INA126實現(xiàn)。此芯片內(nèi)部采用差動輸入,共模抑制比高,差模輸入阻抗大,增益高,精度也非常好,且外部接口簡單。INA126接口如圖1.3.3所示。可以通過改變的大小來改變放大器的
14、增益。圖1.3.3 INA126外部接線圖基于以上分析,我們決定采用方案三實現(xiàn)前級放大功能,即制作方便而且精度很好的專用儀表放大器INA126。 1.3.3A/D轉(zhuǎn)換器由上本設(shè)計使用的壓力傳感器和精度的分析可知:A/D轉(zhuǎn)換器誤差應(yīng)在以下12位A/D精度:10Kg/4096=2.44g14位A/D精度:10Kg/16384=0.61g考慮到其他部分所帶來的干擾,12位A/D無法滿足系統(tǒng)精度要求。所以我們需要選擇14位或者精度更高的A/D。方案一逐次逼近型A/D轉(zhuǎn)換器,如:ADS7805、ADS7804等。逐次逼近型A/D轉(zhuǎn)換,一般具有采樣/保持功能。采樣頻率高,功耗比較低,是理想的高速、高精度、
15、省電型A/D轉(zhuǎn)換器件。高精度逐次逼近型A/D轉(zhuǎn)換器一般都帶有內(nèi)部基準源和內(nèi)部時鐘,基于FPGA構(gòu)成的系統(tǒng)設(shè)計時僅需要外接幾個電阻、電容。但考慮到所轉(zhuǎn)換的信號為一慢變信號,逐次逼近型A/D轉(zhuǎn)換器的快速的優(yōu)點不能很好的發(fā)揮,且根據(jù)系統(tǒng)的要求,14位AD足以滿足精度要求,太高的精度就反而浪費了系統(tǒng)資源。所以此方案并不是理想的選擇。方案二雙積分型A/D轉(zhuǎn)換器:如:TLC7135/ICL7135、ICL7109等。雙積分型A/D轉(zhuǎn)換器精度高,但速度較慢(如:TLC7135),具有精確的差分輸入,輸入阻抗高(大于103M),可自動調(diào)零,超量程信號,全部輸出于TTL電平兼容。雙積分型A/D轉(zhuǎn)換器具有很強的抗
16、干擾能力。對正負對稱的工頻干擾信號積分為零,所以對50HZ的工頻干擾抑制能力較強,對高于工頻干擾(例如噪聲電壓)已有良好的濾波作用。只要干擾電壓的平均值為零,對輸出就不產(chǎn)生影響。尤其對本系統(tǒng),緩慢變化的壓力信號,很容易受到工頻信號的影響。故而采用雙積分型A/D轉(zhuǎn)換器可大大降低對濾波電路的要求。作為電子秤,系統(tǒng)對AD的轉(zhuǎn)換速度要求并不高,精度上14位的AD足以滿足要求。另外雙積分型A/D轉(zhuǎn)換器較強的抗干擾能力和精確的差分輸入,低廉的價格。綜合的分析其優(yōu)點和缺點,我們最終選擇了方案二,即使用TLC7135對信號進行AD轉(zhuǎn)換。1.3.4顯示輸出電路方案一全部采用數(shù)碼管顯示,數(shù)碼能顯示時鐘,以及被測物
17、體的重量等信息,此方案顯示直觀,而且編程簡單,但若要同時顯示單價,金額售貨員編號等諸多信息則需要要大量的數(shù)碼管,而且不能顯示中文。由此增加了電路的復(fù)雜程度。也加大了編程的難度。方案二使用LED與字符型LCD相結(jié)合顯示。考慮到系統(tǒng)要求顯示的信息量較多,可以用LED與LCD分別顯示不同信息,LED可以顯示時鐘和特重量,LCD采用帶中文字庫的144*32點陣式液晶顯示器系列: LM3037,,可以設(shè)置顯示單介,金額,中文,購物日期等。LCD具有低功耗、可視面大、畫面友好抗干擾能力強等功能,在顯示技術(shù)已得到廣泛應(yīng)用。由上述分析綜合,我們采用了方案二,讓其各自完成相應(yīng)的顯示任務(wù)。1.4系統(tǒng)組成經(jīng)過方案比
18、較和論證,最終確定的系統(tǒng)組成框圖如圖1.4.1所示。從圖中可以看到系統(tǒng)的基本工作流程和各單元電路所用到的核心器件,其中控制器采用Xilinx公司可編程器件FPGA為核心,基于ISE軟件平臺,采用VHDL編程實現(xiàn)數(shù)據(jù)處理、LED和LCD驅(qū)動、時鐘芯片的I2C通訊、鍵盤控制等模塊,其它單元電路在前面都有所介紹。圖1.4.1 電子稱系統(tǒng)的組成結(jié)構(gòu)圖第二章 單元電路設(shè)計2.1 稱重傳感器按照設(shè)計的要求,稱重范圍09.999Kg,重量誤差不大于Kg,考慮到秤臺自重、振動和沖擊分量,還要避免超重損壞傳感器,所以傳感器量程必須大于額定稱重(9。999Kg)。采用的是湖南宇航科技限公司生產(chǎn)的LS-1型傳感器,
19、表2。1。1為稱重傳感器的技術(shù)指標(biāo)。其量程為20Kg,精度為±,滿量程時誤差0.002Kg。可以滿足本系統(tǒng)的精度要求。其原理如圖2.1.1所示。表2.1.1LS-1型傳感器的技術(shù)指標(biāo)靈敏度mv/v1±0.10(13kg)2±0.10(625kg)非線性%FS±0.02重復(fù)性0.02蠕變%FS/30min±0.02零點輸出%FS±1零點溫度系數(shù)%FS/10±0.02輸入電阻420±15輸出電阻350±3絕緣電阻M5000供橋電壓V10(DC/AC)MAX:15(DC/AC)溫度補償范圍1050允許溫度范圍2
20、060允許過負荷%FS150連接電纜mm4×400連接方式輸入:紅()、黃() 輸出:藍()白()圖2.1.1 稱重傳感器電橋原理圖LS-1稱重傳感器是利用電阻應(yīng)變原理構(gòu)成,當(dāng)外力F直接作用在貼有R1,R2,R3,R4四片應(yīng)變的彈性體上時,彈性體發(fā)生變形,電阻應(yīng)變片的阻值發(fā)生變化,致使電橋發(fā)失去平衡,在R1、R3輸入額定橋壓時,R2、R4上剛有與外力成正比的電壓信號輸出。輸出信號電壓可由下式給出: 2.2 前端信號處理由于穩(wěn)重傳感器輸出的信號為毫伏級信號,比AD轉(zhuǎn)換器的輸入信號低2-3個數(shù)量級,故需要設(shè)計一個前置放大器。經(jīng)過方案比較和論證,我們選擇了儀用放大器INA126,構(gòu)成的放大
21、器及去皮電路。其電路原理圖如圖2.2.1所示。圖2.2.1 前置放大硬件電路圖圖中,通過調(diào)節(jié)RAD1的阻值來改變放大倍數(shù)。其放大增益為微弱信號Vi1和Vi2被分別放大后從INA126的第6腳輸出。A/D轉(zhuǎn)換器TLC7135的輸入電壓變化范圍是-2V+2V,傳感器的輸出電壓信號在020mv左右,因此放大器的放大倍數(shù)在200300左右,可將R接成100K的電位器。由于TLC7135對高頻干擾不敏感,所以濾波電路主要針對工頻及其低次諧波引入的干擾。因為壓力信號變化十分緩慢,所以濾波電路可以把頻率做得很低。圖中的LM741的輸出端與INA126的地端相連,LM741的2腳與6腳相連構(gòu)成電壓跟隨器,R4
22、與正負電源相接,通過改變R4的阻值可使VO與 RET之間的壓差變化,從而實現(xiàn)調(diào)零、去皮的功能。2.3A/D轉(zhuǎn)換電路TLC7135是一種雙積分式4位半單片A/D轉(zhuǎn)換器,其工作原理是將輸入電壓轉(zhuǎn)換成時間(脈沖寬度信號)或頻率I俯沖頻率),再通過定時器(計數(shù)器)獲得數(shù)字信號。其主要性能是:i. 具有高輸入阻抗(109),對被測電路幾乎沒有影響;ii. 具有自動校零和自動判別信號極性;iii. 有超、欠輸出信號;iv. 采用位掃描與BCD碼輸出。A/D轉(zhuǎn)換電路如圖2.3.1所示。由于TLC7135內(nèi)部沒有振蕩器,所以需要外接。但A/D轉(zhuǎn)換器精度與時鐘頻率的漂移無關(guān)。正向積分時間T1和反向積分時間T2按
23、相同比例增加并不影響測量的結(jié)果。ICL7135的時鐘頻率典型值為200kHz最高允許為1200kHz,時鐘頻率越高,轉(zhuǎn)換速度越快。每輸出一位BCD碼的時間為200個時鐘周期,選通脈沖位于數(shù)據(jù)脈沖的中部,如果時鐘頻率太高,則數(shù)據(jù)的接受程序還沒有接受完畢,數(shù)據(jù)就已經(jīng)消失了??紤]到此系統(tǒng)頻率要求不是太高,因此我們?nèi)r鐘頻率250kHz。對于這個時鐘頻率,本設(shè)計由FPGA的50M晶振分頻得到,既減少了硬件電路的設(shè)計,又提高了FPGA的利用率。圖2.3.1 A/D轉(zhuǎn)換電路原理圖在設(shè)計中,TLC7135的所需的基準電源由VCC經(jīng)過三端可調(diào)穩(wěn)壓器LM317穩(wěn)壓后提供,C8、C9為濾波電容。圖中C2是基準電容
24、;C4和R9為積分元件;C5為自零電容;R11和C7組成標(biāo)準的濾波網(wǎng)絡(luò);R10、C6和DW1、DW2組成輸入過壓保護電路;R7為基準電壓調(diào)節(jié)電位器,可以根據(jù)需要顯示的滿度值選擇基準電壓的大小,本設(shè)計選擇的基準電壓為1.0000V,它們的關(guān)系是;滿度值為基準電壓的兩倍。由于A/D轉(zhuǎn)換器精度與外接的積分電阻、積分電容的精度無關(guān),故可以降低對元件質(zhì)量的要求。不過積分電容和積分電容的介質(zhì)損耗會影響到A/D轉(zhuǎn)換器的精度,所以應(yīng)采用介質(zhì)損耗較小的聚丙乙烯電容2.4主控制控制電路本設(shè)計以Xilinx公司的SpartanE系列的XC2S100E芯片為控制核心,F(xiàn)PGA最小系統(tǒng)為控制器實現(xiàn)電子稱的各項功能。FP
25、GA器件采用現(xiàn)場可編程單元陣列LCA結(jié)構(gòu),它由三個可編程基本模塊組成:輸入/輸出模塊IOB陣列、可配置邏輯塊CLB陣列及可編程互連網(wǎng)絡(luò)PI。配置邏輯功能塊CLB的可編程邏輯單元,由分層的通用布線通道(Rouning Channel)連接,同可編程輸入輸出功能塊圍繞來實現(xiàn),基中CLB提供實現(xiàn)邏輯功能的邏輯單元;IOB提供引腳到內(nèi)部信號線的接口,布線通道則提供CLB和IOB的到連接通道。設(shè)計使用的FPGA最小系統(tǒng)板由XC2S100E、50MHZ晶振、電源部分、指示部分和開關(guān)組成,電源部分將5V直流經(jīng)過TPS70451轉(zhuǎn)換得到+3。和5V +1。8V的直流電,PROM(XC18V02)是一個掉電存儲
26、器,在掉電時可自動保存數(shù)據(jù),4個腳雙列插針用于其它外部設(shè)備連接。圖2.4.1為FPGA電路接口圖。 系統(tǒng)實現(xiàn)的功能主要通過軟件的編程實現(xiàn),F(xiàn)PGA內(nèi)部分為四個模塊:數(shù)據(jù)處理模塊、LED和LCD驅(qū)動模塊、I2C通訊模塊和鍵盤控制模塊,各模塊的設(shè)計將在第三章詳細介紹。圖2.4.1 FPGA最小系統(tǒng)插腳原理圖2.5人機交互界面人機交互界面顯示是否直觀,控制是否方便直接影響收銀員的工作效率和顧客的滿意程度,困此設(shè)計時經(jīng)多方考慮,我們盡可能將顯示界面友好化,將控制鍵盤簡單化。由于FPGA可利用的引腳多,可以控制鍵盤、LCD和LEC。不需要外加鍵盤或顯示控制芯片,從而簡化了外部電路。而且編程難度不大,容易
27、實現(xiàn)。2.5.1鍵盤接口電路由于電子稱需要設(shè)置單價,這就需要一個設(shè)置鍵和十個數(shù)字鍵,還具有去皮、結(jié)算、確認、刪除等功能,總共需設(shè)置16個鍵(包括一個復(fù)位鍵)??紤]到FPGA負載電流能力有限,因此按鍵一端均通過10K電阻再與PFGA引腳相連,其電路原理圖如圖2.5.1所示,圖中REL1、RSL2為10K排阻。圖2.5.1 鍵盤電路原理圖(RSL1、RSL2為排阻)2.5.2LCD顯示接口電路圖2.5.2為液晶顯示接口電路,其中主要引腳說明如下:4腳為寄存器選擇,5腳為讀寫選擇,614腳為數(shù)據(jù)總絲,15腳為片選端,本設(shè)計接VCC使其處于工作狀態(tài)。16腳懸空,17腳為復(fù)位信號輸入端,18腳為LCD負
28、壓驅(qū)動腳。圖2.5.2 液晶顯示接口電路圖2.5.3 LED數(shù)碼管顯示電路由于LCD為144*32點陣式液晶,顯示界面有限,本設(shè)計增設(shè)的八位共陽極LED數(shù)碼管能夠顯示商品的重量和商品的總價,使顧客對自己購買的物品一目了然。其顯示的功能主要由軟件的設(shè)計實現(xiàn),為了節(jié)省系統(tǒng)的資源,本系統(tǒng)采用動態(tài)顯示。動態(tài)顯示原理如下:當(dāng)向LED的段碼數(shù)據(jù)口發(fā)送第一個8位數(shù)據(jù),這時只有一個數(shù)碼管顯示該數(shù)碼,延時一段時間后可以發(fā)送第二8位數(shù)據(jù),顯示器分時輪流工作,雖然每次只有一個顯示器顯示,但由于人的視覺暫留現(xiàn)象,我們?nèi)阅芨杏X到所有顯示器都在同時顯示。 圖2.5.3為顯示電路的原理圖,考慮到FPGA驅(qū)動能力有限,我們采
29、用三極管(9012)驅(qū)動數(shù)碼管,并由74HC138譯碼器控制位碼的選通,只有當(dāng)使能端G1為1,G2A,G2B為0時譯碼器有效,故G1接VCC,G2A,G2B接地,否則所有的輸出被封鎖在高電平上。數(shù)碼管的位碼由FPGA通過一個低功耗的鎖存器(74HC573)給出。2.53 數(shù)碼管顯示電路連接圖2.6 日歷時鐘電路按發(fā)揮部分的要求,需要顯示購貨日期。最簡單的辦法是在電路中增加了一顆日歷時鐘芯片。系統(tǒng)采用PCF8563完成時鐘設(shè)計,PCF8563是Philips公司推出的一款帶I2C總線,具有極低功耗的多功能時鐘/日歷芯片,它具有四種報警功能和定時功能;內(nèi)部時鐘電路、內(nèi)部振蕩電路、內(nèi)部低電壓檢測以兩
30、線制I2C總線通信方式,不但使用外圍電路簡潔,而且增加了芯片的可靠性。本系統(tǒng)PCF8563與FPGA接口采用圖2.6.1所示接口方案。圖 日歷時鐘電路原理圖圖中,在1、2端接入32.768kHz的石英晶振,配置成片內(nèi)振蕩器,VDD與地之間接入1個電容供電維持時鐘芯片。PCF8563與FPGA接口采用3根口線, FPGA通過I2C總線讀取PCF8563的基準時間。其中SCL為時鐘輸入端,數(shù)據(jù)隨時鐘信號同步輸入器件或從器件輸出; SDA為雙向引腳,用于串行數(shù)據(jù)的輸入輸出。另外值行一提的是,SDA、SCL、INT均為漏極開路,必須加上拉電阻。2.7電源電路系統(tǒng)多個電源,F(xiàn)PGA需要5V電源,傳感器需
31、要10V以上的線性電源(不能用開關(guān)電源,否則稱重數(shù)據(jù)不穩(wěn)定)。我們采用了三端固定穩(wěn)壓芯片7805和7812為系統(tǒng)提供穩(wěn)定的電源。這個部分由整流電路、濾波電路、穩(wěn)壓電路等組成,如圖2.7.1所示。圖中D為橋式整流管,C1、C2為濾波電容,C3、C4為旁路電容,用以改善負載的瞬態(tài)響應(yīng)。在這里只給出了5V電源電路,+12V電源電路與+5V相似,因此不再畫出。圖2.7.1 +5V電源電路圖2.8其它擴展電路2.8.1 通訊接口電路一般的商用電子稱都能與上位機(PC機)進行通訊,可以將大量的商品數(shù)據(jù)存于上位機,然后通過串口或并口通訊與電子稱相連,達到遠距離控制的目的?;到y(tǒng)采用RS232串口實現(xiàn)該項功能
32、。RS-232的邏輯電平用正負電壓表示,且信號使用負邏輯,邏輯0的電壓范圍是+5V+15V,而邏輯1的電壓范圍是-5V -15V,RS-232端口是計算機與其他設(shè)備溝通的最常用的接口,不但操作簡單,而且價格便宜。FPGA的輸入和輸出使用的是5V邏輯電平而不是RS-232電壓,如何進行兩種信號的轉(zhuǎn)換,是連接時需要解決的問題,事實上,解決的方法很簡單,只需使用一個MAX232電平轉(zhuǎn)換專用芯片即可,其電路如圖2.8.1所示。MAX232包含兩個將TTL輸入轉(zhuǎn)換成RS-232輸出的驅(qū)動器,還包含兩個將RS-232輸入翻譯成CMOS輸出的接收器,這些驅(qū)動器和接收器具有反向的功能。圖2.8.1 RS232
33、通訊接口電路2.8.2 語音電路語音電路是系統(tǒng)主要擴展功能之一,能夠由語音電路發(fā)出超載、欠量程或商品重量、價格等語音提示。本系統(tǒng)采用的ISD1420語音電路為美國ISD公司出品的優(yōu)質(zhì)單片語音錄放電路,ISD1420由振蕩器、語音存儲單元、前置放大器、自動增益控制電路、抗干擾濾波器、輸出放大器組成,能夠錄放的時間為20秒。一個最小的錄放系統(tǒng)僅由一個麥克風(fēng)、一個喇叭、兩個按鈕、一個電源、少數(shù)電阻電容組成如圖2.8.2所示。圖2.8.2語音單元錄放電路原理圖錄音內(nèi)容存入永久存儲單元,提供零功率信息存儲,這個獨一無二的方法是借助于美國ISD公司的專利直接模擬存儲技術(shù)(DAST TM)實現(xiàn)的。利用它,語
34、音和音頻信號被直接存儲,以其原本的模擬形式進入EEPROM存儲器。直接模擬存儲允許使用一種單片固體電路方法完成其原本語音的再現(xiàn)。不僅語音質(zhì)量優(yōu)勝,而且具有斷電語音保護功能。2.8.3報警電路圖2.8.3為系統(tǒng)報警電路原理圖,除了上一小節(jié)中語音可能用于超載和欠量程提示外,系統(tǒng)還設(shè)計了兩個發(fā)光二極管作為超載和欠量程指示燈,使系統(tǒng)更加完善。當(dāng)系統(tǒng)判斷為超載或欠量程時,F(xiàn)PGA給輸出一個低電平信號KG(超載)或KQ(超載),從而驅(qū)動發(fā)光二極管發(fā)光提示。圖2.8.3 報警電路原理圖第三章 系統(tǒng)軟件的設(shè)計3.1開發(fā)軟件及編程語言簡介系統(tǒng)采用硬件描述語言VHDL(Very High Speed Integr
35、ated Circuit Hardware Description Language)按模塊化方式進行設(shè)計,并將各模塊集成于FPGA芯片中,然后通過Xiliinx ISE7.1軟件開發(fā)平臺和ModelSim SE6.仿真工具,對設(shè)計文件自動的完成邏輯編譯、綜合及優(yōu)化、邏輯布局布線、邏輯仿真,最后對FPGA芯片進行編程,實現(xiàn)系統(tǒng)的設(shè)計要求。VHDL具有多層次的描述系統(tǒng)硬件功能的能力;支持自頂向下(Top to Down)和基于庫(Library-Based)的設(shè)計方法;VHDL對設(shè)計的描述具有相對獨立性。因此,設(shè)計者可不必了解硬件結(jié)構(gòu),從系統(tǒng)設(shè)計入手,在頂層進行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計,在方框
36、圖一級用VHDL對電路的行為進行描述,并進行仿真和糾錯,然后在系統(tǒng)一級進行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的FPGA器件中去,從而實現(xiàn)可編程邏輯器件的專用集成電路(ASIC)設(shè)計。3.2系統(tǒng)軟件的設(shè)計根據(jù)系統(tǒng)的要求,系統(tǒng)的大部分功能都以硬件為基礎(chǔ),通過VHDL編程實現(xiàn),本設(shè)計軟件實現(xiàn)的主要能如下1) 設(shè)置單價2) 顯示重量、金額和單價3) 顯示日期、時鐘4) 去皮5) 累計6) 匯總7) 語音報警(超載、欠量程)3.2.1軟件率程序流程系統(tǒng)的主程序流程圖如圖3.2.1所示,該程序流程圖是根據(jù)系統(tǒng)軟件的工作流程得出的,它實際上是各個程序模塊的集合,如程序初始
37、化包括系統(tǒng)分頻、LCD初始化、語音控制模塊初始化等。主程序流程圖給出了系統(tǒng)工作的基本過程,描述了信號的基本流向,起到一個向?qū)У淖饔?。圖3.2.1 系統(tǒng)主程序流程圖VHDL模塊設(shè)計1 分頻模塊本設(shè)計所使用的FPGA最小系統(tǒng)的晶振為50MHZ,要把這個頻率的晶振應(yīng)用于實際中,就必須對該頻率做一些處理,簡單地說就是分頻。分頻為我們所需要的固定頻率值再投于應(yīng)用中。比如本系統(tǒng)中TLC7135的時鐘信號clkout1就是對標(biāo)準clk進行分頻,分頻系統(tǒng)為200。所以clkout1的頻率為:50MHZ5KHZ250KHZClk clkoutReset clkout150M Hz/ 200 = 250KHz也就
38、是說每秒發(fā)出25K個clkout1信號,且占空比為50%。另外分頻模塊還給出一個5KH的頻供其它模塊使用。分頻模塊示意圖如圖3.2.2所示。圖3.2.2 分頻模塊原理圖2 I2C通訊模塊I2C總線是一種串行數(shù)據(jù)總線,只有二根信號線,一根是雙向的數(shù)據(jù)線SDA,另一根是時鐘線SCL。目前,支持I2C總線通信協(xié)議的視頻編、解碼芯片大多只支持100Kb/s或400Kb/s的傳輸速度,并且支持兩種地址:從設(shè)備地址(SCLAVE ADDRESS,8bit),分為讀地址和寫地址,高7位用于選中芯片, 第0位是讀/寫控制位(R/W),決定是對該芯片進行讀或?qū)懖僮?;?nèi)部寄存器單元地址(SUBADRRESS,8b
39、it),用于決定對內(nèi)部的哪個寄存器單元進行操作,通常還支持地址單元連續(xù)的多字節(jié)順序讀寫操作。I設(shè)計的核心工作是對I2C總線命令及時序的狀態(tài)劃分。在控制核內(nèi)共設(shè)置了兩個狀態(tài)機,分別稱為命令狀態(tài)機和時序狀態(tài)機。其中,命令狀態(tài)機用于管理I2C總線上的命令狀態(tài),并實現(xiàn)I2C總線具體的讀、寫操作的命令狀態(tài)轉(zhuǎn)移過程;時序狀態(tài)機用于實現(xiàn)I2C總線上啟動、停止、讀、寫、確認等命令的具體時序關(guān)系。這樣就把控制核從邏輯上分為兩個狀態(tài)機,共同完成最終的總線命令與時序。 I2C程序流程圖如下圖所示。開始結(jié)束發(fā)開始信號寫器件地址寫器件從地址寫寄存器地址寫入初始化數(shù)據(jù)發(fā)結(jié)束信號寫器件地址寫器件從地址重發(fā)開始信號寫器件讀命
40、令讀各個寄存器發(fā)結(jié)束信號發(fā)開始信號寫PCF8563各個寄存器讀PCF8563各個寄存器圖3.3.3時鐘芯片I2C程序流程圖3數(shù)據(jù)處理模塊數(shù)據(jù)處理模塊包括接收部分,數(shù)據(jù)RAM,乘法運算模塊等。系統(tǒng)將商品的代號、名稱、單價等信息存于數(shù)據(jù)RAM中,當(dāng)接收到AD轉(zhuǎn)換器的數(shù)據(jù)(電壓信號)后,將其轉(zhuǎn)化為相應(yīng)重量數(shù)據(jù)信號,并將其進行乘法運算得到金額,即 金額=重量×單價并自動檢測商品是否大于稱重傳感器的量程,如果大于傳感器的量程則向報警電路輸出一個低電平信號BG,使發(fā)光二極管點亮。數(shù)碼管全部顯示零。在進行乘法運算得出結(jié)果后,各信息送到LED或LCD譯碼模塊。圖3.2.3為數(shù)據(jù)處理模塊結(jié)構(gòu)圖。數(shù)據(jù)R
41、AM乘法模塊接收AD轉(zhuǎn)換數(shù)據(jù)電壓-重量轉(zhuǎn)換模塊至譯碼模塊判斷模塊報警信號鍵盤控制圖3.3.4 數(shù)據(jù)處理模塊原理圖4. 譯碼顯示模塊譯碼顯示模塊是建立在內(nèi)部系統(tǒng)和觀測人之間的橋梁。通過譯碼顯示,使輸出結(jié)果可視化,界面友好化。該模塊由LED譯碼和LCD譯碼組成,主要是將各信息量轉(zhuǎn)換成相應(yīng)的顯示代碼。LED譯碼模塊是將數(shù)字量轉(zhuǎn)換為BCD碼來驅(qū)動數(shù)碼管。采用動態(tài)顯示,因此采用VHDL狀態(tài)機設(shè)計,共分為八個狀態(tài),即八個數(shù)碼管的位碼依次選通點亮數(shù)碼管。用FPGA驅(qū)動液晶顯示的原理是對LM3037進行控制,通過8位的總線,先對LM3037進行配置,即寫入命令,然后輸入要顯示的內(nèi)容,即寫入數(shù)據(jù),狀態(tài)轉(zhuǎn)換圖如圖
42、3.3.5所示。3.2.3總控制模塊原理圖圖3.3.5液晶驅(qū)動程序狀態(tài)轉(zhuǎn)換圖5. 鍵盤控制模塊鍵盤控制電路由16個按鍵組成,其中數(shù)據(jù)鍵10個,控制鍵6個。鍵盤控制程序的設(shè)計將各按鍵設(shè)置為特定的功能,使用起來十分方便??梢酝ㄟ^鍵盤設(shè)置日期、時間、商品代號、單價等不同信息。 程序設(shè)計頂層映射原理 系統(tǒng)的程序設(shè)計是基于VHDL的模塊化設(shè)計,通過ISE工程編輯器(Project navigator)產(chǎn)生原理圖模塊(Create Schematic Symbol)或自動產(chǎn)生頂層映射的原理圖(View RTL Schematic),如圖3.3.6所示3.3 程序清單及仿真程序清單(見附錄)。設(shè)計輸入利用V
43、HDL語言完成后,接下來是對程序進行功能仿真(Function Simulation)其仿真的目的是檢查程序是否有錯,是否達到預(yù)定的目標(biāo)。之后是時序仿真(Timing Simulation),其目的是通過時序可以更清楚的了解程序的工作過程,在較復(fù)雜的系統(tǒng)中時序仿真是必不可少的。各模塊的時序仿真圖見附錄。圖 電子稱程序設(shè)計頂層映射原理圖第四章 系統(tǒng)測試在系統(tǒng)硬件和軟件都安裝調(diào)試好后,便可以進行軟件和硬件的綜合測試,并對測試的誤差進行分析。4.1測試儀器清單測試使用的儀器設(shè)備如表4.1.1所示。表測試使用的儀器設(shè)備序號名稱型號數(shù)量備注13位半數(shù)字萬用表UNI-T 1深圳勝利公司 2直流穩(wěn)壓電源DF
44、1731SC2A 1江蘇揚中電子儀器廠 3信號發(fā)生器GFG-8216A1南京無線電儀器廠 4雙蹤示波器YB43651江蘇揚中電子儀器廠5FPGA實驗儀DP-FPGA 1廣州致遠電子有限公司4.2測試方法在系統(tǒng)硬件焊接完成及軟件功能仿真、下載成功之后。接下來對整個系統(tǒng)進行調(diào)試,其方法如下:將傳感器放平,接好電路,使用直流穩(wěn)壓電源(DF1731SC2A)為FPGA及其他電路提供+5V電壓,為傳感器提供12V電壓,不放任砝碼時看重量顯示是否為零,不為零則調(diào)整電位器,改變放大器的放大倍數(shù),使重量值為零,加上不同的砝碼,記下顯示的重量Mx(Kg)。最后進行系統(tǒng)誤差計算。在測試過程中根據(jù)出現(xiàn)的問題改進電路
45、以及程序。反復(fù)進行直到成功。0002 西瓜 00.65元2005年8月2日 10:25LCD顯示重量(Kg)金額(元)LED顯示圖4.2.1 系統(tǒng)測試結(jié)果顯示4.3測試結(jié)果和誤差分析4.3.1測試結(jié)果根據(jù)上節(jié)的測試方法,設(shè)M為砝碼的質(zhì)量,Mx為電子稱顯示的重量,測試后得到表的測試結(jié)果.表 測量結(jié)果數(shù)據(jù)表序號砝碼質(zhì)量/M(g)顯示質(zhì)量/Mx(g)誤差(g)相對誤差%15049.90.10.2%2 100 100.00 03 150 150.0 004 200 200.0 005 250 249.9 0.10.04%6 300 300.0 007 350 350.0 008 400 400.1 0
46、.10.025%4.3.2誤差計算及分析表中誤差為相對誤差,其計算公式為(試)由上式可以看出,系統(tǒng)的測量誤差取決于兩個量M、Mx,計算得出的數(shù)據(jù)越大,說明誤差越大,系統(tǒng)精度越低,從表只可以看出,系統(tǒng)的誤差小于0.2%遠小于設(shè)計要求的誤差。第五章 設(shè)計總結(jié)設(shè)計采用FPGA最小系統(tǒng)為控制核心,實現(xiàn)了一款具有特色的實用電子稱。通過測試,系統(tǒng)完全達到了設(shè)計要求,不但完成了基本要求,發(fā)揮部分的要求,并增加了語音提示、時鐘和過載提示三個創(chuàng)新功能。經(jīng)過幾天的努力實踐,不斷的測試,不斷的改進電路或程序,最后完成了設(shè)計。在設(shè)計過程中,我們不僅僅是完成了設(shè)計任務(wù),更重要的是學(xué)到很多課本上沒有的知識,同時也特別感謝
47、各位老師和同學(xué)的幫助和支持,使我們這次設(shè)計能順利完成。參考文獻1. 潘松,黃繼業(yè)EDA技術(shù)實用教程北京:科學(xué)出版社,2002年10月第一版2. 肖景和數(shù)字集成電路應(yīng)用精粹北京:人民郵電出版社,2002年6月第1版3. 陳永甫電子電路智能化設(shè)計實例與應(yīng)用北京:電子工業(yè)出版社,2002年8月第1版4. 李輝ISP系統(tǒng)設(shè)計技術(shù)入門與應(yīng)用北京:電子工業(yè)出版社,2002年2月第1版5. 曾凡泰,陳美金著VHDL程序設(shè)計北京:清華大大學(xué)學(xué)出版社,2001年1月第2版6. 黃智偉全國大學(xué)生電子設(shè)計競賽訓(xùn)練教程北京:電子工業(yè)出版式社,2005年1月第1版附錄主要元器件清單作用器件型號個數(shù)封裝放大器INA126
48、1DIP8放大器LM3861DIP8放大器AD7111DIP8AD轉(zhuǎn)換TLC71351DIP16時鐘芯片PCF85631DIP8語音芯片ISD14201DIP28FPGA最小系統(tǒng)SpartanE-XC2S100E1DIP40譯碼器74HC1381DIP16I/O擴展82551DIP40 鍵盤控制 ZLG7289 1 DIP28 3289電位器 100K 4 10K 4 100歐 2 200歐 2 晶振 32.768K 112M1 鎖存器 74HC373 2 DIP20 壓力傳感器 稱重傳感器1附錄2印制板圖檢測部分底層印制板圖(包括前置放大和AD轉(zhuǎn)換部分)檢測部分頂層印制板圖FPGA控制板印制
49、板圖附錄3,程序清單1頂層文件- Engineer: 徐文卿,藍仁富,唐正宇- Design Name: 電子稱 - Module Name: TOP- Project Name: 電子稱 - Target Device: - Tool versions: ISE7.1i - Description: 帶時鐘功能,同時顯示商品單價,總價,重量等信息。-library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity top is port(cl
50、kin : in std_logic;-時鐘輸入 reset : in std_logic;-復(fù)位信號keynum : in std_logic_vector(9 downto 0); -數(shù)字鍵輸入 keycom : in std_logic_vector(5 downto 0); -命令鍵輸入 clkout1 : out std_logic;-給ICL7135時鐘信號 din : in std_logic_vector(4 downto 0); -ICL7135位選 bin : in std_logic_vector(3 downto 0); -ICL7135數(shù)據(jù)str : in std_l
51、ogic;-ICL7135輸出指示信號 scl : out std_logic; -PCF8563時鐘芯片SCLsda : inout std_logic; -PCF8563時鐘芯片SDArs : out std_logic;-液晶輸出控制口RSrw : out std_logic; -液晶輸出控制口RWe : out std_logic;-液晶使能口Erst : out std_logic; -液晶復(fù)位psb : out std_logic; -工作時置高電平 lcddata : out std_logic_vector(7 downto 0); -液晶數(shù)據(jù)口leden : out std_
52、logic_vector(2 downto 0); -數(shù)碼管位選口leddata : out std_logic_vector(7 downto 0) -數(shù)碼管段碼口 );end top;architecture Behavioral of top iscomponent keyboard is -鍵盤模塊 port(clkin : in std_logic; reset : in std_logic; keynum : in std_logic_vector(9 downto 0); keycom : in std_logic_vector(5 downto 0);codewei : out
53、 std_logic_vector(1 downto 0); code : out std_logic_vector(15 downto 0) );end component;-ICL7135模塊component icl7135 is port(clkin : in std_logic; reset : in std_logic; din : in std_logic_vector(4 downto 0); bin : in std_logic_vector(3 downto 0); str : in std_logic; leddata : out std_logic_vector(15 downto 0) );end component;component communication is-PCF8563時鐘芯片模塊 port(scl : out std_logic; sda : inout std_logic; clkin : in std_logic; reset : in std_logic; lcddata : out std_logic_vector(31 downto 0); point : out std_logic );end component;com
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國6-氨基己酸數(shù)據(jù)監(jiān)測報告
- 2025年中國15%甲硫.霉威懸浮劑數(shù)據(jù)監(jiān)測報告
- 2025至2030年中國高效脫硫麻石水膜除塵器市場分析及競爭策略研究報告
- 2025至2030年中國門框滾壓成型機市場分析及競爭策略研究報告
- 2025至2030年中國金屬清洗兼防銹劑市場分析及競爭策略研究報告
- 2025至2030年中國視頻資料服務(wù)管理系統(tǒng)市場分析及競爭策略研究報告
- 2025至2030年中國膠帶輸送自動調(diào)偏器市場分析及競爭策略研究報告
- 2025至2030年中國管道自動增壓泵市場分析及競爭策略研究報告
- 2025至2030年中國白晶粉市場分析及競爭策略研究報告
- 2025至2030年中國浮雕雙龍棍劍市場分析及競爭策略研究報告
- PSS的生產(chǎn)工藝及原理課件
- 2023-2024學(xué)年浙江省富陽市小學(xué)數(shù)學(xué)五年級下冊期末自測試卷
- 防火墻安全策略檢查表
- 研究借鑒晉江經(jīng)驗-加快縣域經(jīng)濟發(fā)展
- GB/T 12706.4-2020額定電壓1 kV(Um=1.2 kV)到35 kV(Um=40.5 kV)擠包絕緣電力電纜及附件第4部分:額定電壓6 kV(Um=7.2 kV)到35 kV(Um=40.5 kV)電力電纜附件試驗要求
- 2023年鎮(zhèn)江丹陽市民政局系統(tǒng)事業(yè)單位招聘筆試模擬試題及答案
- 國開電大 操作系統(tǒng) 實驗4:文件管理實驗報告
- 北京理工附中小升初分班考試真題
- 安徽省小學(xué)學(xué)生學(xué)籍表
- 無創(chuàng)腦血氧監(jiān)護儀技術(shù)審評報告
- 糖尿病足的診斷與治療ppt課件
評論
0/150
提交評論