999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數字電壓表的VHDL程序設計與硬件實現

2014-02-27 07:37:06李亞峻徐世超黃建民
天津科技大學學報 2014年1期
關鍵詞:設計

李亞峻,徐世超,黃建民,王 潔,馬 強

(天津科技大學電子信息與自動化學院,天津 300222)

數字電壓表的VHDL程序設計與硬件實現

李亞峻,徐世超,黃建民,王 潔,馬 強

(天津科技大學電子信息與自動化學院,天津 300222)

將FPGA與模數轉換器TLV571相結合設計了數字電壓表.用VHDL語言編程實現了模擬電壓的測量、模數轉換、計算與讀取,用狀態機完成了FPGA對TLV571的控制.將數字電壓、模擬電壓的BCD碼與ROM地址、數據一一對應,用查找表的方式從相應的ROM地址中取出高4位和低4位BCD碼,對二者進行BCD碼加法運算即可獲得模擬電壓值.通過實驗平臺測試驗證了數字電壓表設計的正確性.

現場可編程門陣列;VHDL語言;模數轉換;BCD碼

目前的數字電壓表主要以單片機[1–2]和現場可編程門陣列(FPGA)[3–4]作為系統的控制核心.基于單片機設計的優點是技術成熟、設計成本較低、編程靈活.但是,單片機系統的外圍電路由許多獨立元件連接而成,所以系統的復雜度高、抗干擾能力差、可靠性較低、功耗高.基于FPGA設計的優點是測量精度高、速度快、讀數方便、抗干擾能力強、可擴展性強.另外,FPGA由可編程門陣列和可編程邏輯器件二者演變而來,它既有前者的高集成度和通用性,又有后者的用戶可編程性[4].FPGA控制器的硬件功能完全由軟件編程實現,調試方便,不需改變硬件電路即可實現系統更新,克服了基于單片機設計系統的缺點[5].

文獻[4]采用了基于FPGA的設計方法,但是在其VHDL程序設計中存在明顯不足:該程序用多個if嵌套語句編程實現,隨著數據的有效位數增加,編程復雜度將增加,使程序的可讀性變差;而且,此方法對高4位和低4位BCD碼相加后進行BCD碼調整,只考慮了求和后每一位十六進制數大于9且小于等于15的情況,沒有考慮大于15、小于等于18的情況.

本文基于FPGA器件、用VHDL語言編程實現數字電壓表的設計,介紹數字電壓、模擬電壓BCD碼與存儲器(ROM)地址、數據的關系,詳細闡述了BCD碼加法運算的原理.

1 數字電壓表的總體架構

1.1 數字電壓表的VHDL模塊化設計

圖1中虛線框內為采用VHDL語言編程實現的FPGA控制器adc_volmeter3V3.設計中采用了模塊化設計思想,每個模塊實現某種特定功能.時鐘分頻模塊clkdiv為其他模塊提供時鐘信號,模數轉換控制器ad_ctrl控制外部的并行模數轉換器TLV571正常工作,ROM adcrom的地址和存儲數據分別對應于數字電壓和模擬電壓值的BCD碼,BCD碼運算控制器conv_bcd實現BCD碼的加法運算,數碼管顯示控制模塊seg7實現被測電壓在4個數碼管上的動態顯示.

圖1中各模塊輸入輸出端口連線上的標識符表明該連線為FPGA控制器的內部信號線,用于各模塊之間的連接,如clkdiv模塊為seg7模塊提供時鐘信號clk_seg7,ad_ctrl模塊輸出的數字電壓d_adc為adcrom模塊提供存儲模擬電壓值的地址addr.

1.2 FPGA器件與外設的連接

圖1中也顯示了FPGA器件與外設的連接關系.各模塊輸入輸出端口連線左右兩側的標識符表示FPGA器件相應引腳將與實驗平臺上的外設進行硬件連接.圖1右上角為FPGA器件與TLV571的連接關系,tube_n和dp_gtoa分別接數碼管的位選和段選端,clk_100,M接100MHz的外部晶振,rst接按鈕用于復位.

clkdiv模塊和seg7模塊有大量的VHDL源程序可供參考,這里不作介紹.下面重點介紹TLV571的工作原理與實現、數字電壓和模擬電壓值與ROM地址和數據的對應關系、BCD碼的加法運算.

2 AD轉換器TLV571的工作時序與FPGA控制

2.1 TLV571的工作時序

TLV571是8位并行AD轉換器,每次轉換需要16個時鐘周期.為了使其正常工作,需要先配置內部的控制寄存器CR0、CR1.該芯片共有24個引腳,其中,A1/D7、A0/D6、D5~D0為數據輸入/輸出端,用于輸入對CR0(A1A0=00時)和CR1(A1A0=01時)的配置信息、輸出AD轉換后的8位數字電壓;片選、寫、讀、轉換完成標志均低電平有效;待測電壓由AIN端輸入.

CR0、CR1配置不同則AD轉換器的工作時序有所不同[6].在本設計中CR0寄存器被配置為00,101,000(16進制數為28,H),CR1寄存器被配置為01,000,000(16進制數為40,H),即選擇由外部時鐘控制、用軟件方式啟動、當變為低電平時表示AD轉換已完成、輸出8位二進制數,其工作時序如圖2所示.

圖2 TLV571工作時序圖(軟件啟動)Fig. 2 Timing chart of TLV571(software start)

2.2 TLV571的FPGA控制

圖1中的ad_ctrl模塊是TLV571的控制模塊,其VHDL語言編程采用了狀態機的方式.如圖3所示,共有8個狀態s0—s7,每個狀態下的片選信號nCS、寫信號nWR、讀信號nRD和AD轉換完成標志nINT嚴格按照圖2的工作時序進行設置.

圖3 TLV571狀態轉換圖Fig. 3 Diagram of TLV571 state transition

3 模擬電壓BCD碼的存儲

已知FPGA實驗平臺上的TLV571參考電壓為3.3V,因此數字電壓表的可測量范圍為0~3.3V.TLV571為8位并行輸出,可知其電壓最小分辨率為3.3V/256≈0.013V,即AD輸出數字電壓d_adc為00,000,001時所對應的模擬電壓值為0.013V,據此可求出任意8位數字電壓所對應的模擬電壓值.

為了簡化運算,事先將數字電壓的高4位和低4位所對應的模擬電壓值存儲在ROM中,如表1第2、4、6、8列所示,其中第2列d_adch和第6列d_adcl分別為d_adc的高4位和低4位.根據AD輸出的實際數字電壓,查表1后將d_adch和d_adcl所對應的模擬電壓值相加即可得到待測模擬電壓值.例如當d_adc為10,111,111時,其高4位1,011和低4位1,111對應的模擬電壓值分別為2.288V和0.195V,所以可得待測模擬電壓值為2.288+0.195=2.483V.

存儲器只能存儲二進制數,所以實際存儲在ROM中的數據是模擬電壓值的BCD碼,即用十六進制表示的十進制數.ROM中存儲的數據與模擬電壓值對應,ROM地址與AD輸出的數字電壓d_adc對應.由表1可知,每個模擬電壓值所對應的BCD碼由4位十六進制數組成,ROM中的每個存儲單元可存放2位十六進制數,所以每個BCD碼占用2個存儲單元,32個BCD碼共占用64個存儲單元.由此可令ROM的低端地址00,H~1F,H存儲電壓值對應的高4位BCD碼d_bcdh,ROM的高端地址20,H~3F,H存儲電壓值對應的低4位BCD碼d_bcdl.而ROM地址與d_adch和d_adcl的對應關系為:用d_adch乘以2作為ROM地址addr_h1,用d_adcl乘以2再加上偏移量20,H作為ROM地址addr_l1.

計算ROM地址的VHDL程序如下:

表1 數字電壓、模擬電壓與ROM地址、ROM數據的對應關系Tab. 1 Correspondence among digital voltage,analog voltage,ROM address and ROM data

4 BCD碼加法運算原理

2個十進制數相加逢十進一,2個十六進制數相加逢十六進一,為了使2個與電壓值對應的BCD碼在進行加法運算時能夠逢十進一,需要對運算規則進行調整:設1個16位的中間變量tmp用于存儲調整值,設最低位的進位位co=0.按照從低位到高位的順序,將2個BCD碼相同位之和與co相加.當結果大于1,001(9)時,tmp與之相同位賦值0,110(6),并使相鄰高位的co=1;當結果小于等于1,001(9)時,tmp與之相同位賦值0,000,并使相鄰高位的co=0.循環4次后將2個BCD碼之和與tmp按二進制數相加,所得結果的十六進制數表示即為2個BCD碼之和.VHDL程序段如下:

——大于9時需加6,且向高位有進位

以模擬電壓2.483V為例,經由AD轉換后得到數字電壓d_adc為10,111,111,查表1可知,高4位1,011對應的ROM地址addr_h1為16,H、addr_h2為17,H,其中存放的數據d_bcdh為2,288,H;低4位1,111對應的ROM地址addr_l1為3E,H、addr_l2為3F,H,其中存放的數據d_bcdl為0,195,H.對這2個BCD碼進行加法運算,最終得到BCD碼2,483,H與模擬電壓值完全一致,只是在最高位后面缺小數點,這個問題只需在數碼管顯示控制模塊seg7中不僅點亮相應數字的段,而且點亮最高位數碼管的點即可解決.

5 硬件測試

數字電壓表的硬件測試在合眾達SEED-XDTK FPGA教學實驗平臺上進行,所用FPGA器件為Xilinx公司的XC4VSX25.在Xilinx集成開發環境ISE10.1中對工程進行綜合、實現、產生可編程文件后下載(配置目標器件)到實驗平臺上.用萬用表(倍思特數字萬用表DT–9205,20V檔,精確到小數點后2位)和本設計實現的數字電壓表(精確到小數點后3位)檢測并顯示實驗平臺上6個測試點的電壓值,結果見表2.測量的相對誤差小于3%.

VHDL Programming and Hardware Realization of the Digital Voltmeter

LI Yajun,XU Shichao,HUANG Jianmin,WANG Jie,MA Qiang
(College of Electronic Information and Automation,Tianjin University of Science & Technology,Tianjin 300222,China)

Combining FPGA with ADC TLV571,a digital voltmeter was designed. The analog voltage measurement,analog-digital conversion,computing and reading were realized with VHDL language. TLV571,was controlled by FPGA with a state machine. The digital voltage and BCD codes of analog voltage are in one-to-one correspondence with the ROM address and data. Using the look-up tables,the highest four bit BCD codes and the lowest four bit BCD codes can be read from corresponding ROM addresses and then the analog voltage can be computed through the addition operation of the two BCD codes. Experiments with experimental platform confirmed the validity of the digital voltmeter’s design.

FPGA;VHDL;ADC;BCD code

TP332.1

A

1672-6510(2014)01-0065-04

10.13364/j.issn.1672-6510.2014.01.013

2013–08–21;

2013–11–04

天津市教育科學“十二五”規劃課題(HEYP6021);天津科技大學實驗室開放基金資助項目(1202A301)

李亞峻(1973—),女,內蒙古包頭人,講師,lyj_2872@sohu.com.

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 久久精品电影| 国产成人av一区二区三区| 亚洲人成网址| 国产欧美日韩精品综合在线| 人妻无码中文字幕第一区| 国禁国产you女视频网站| 在线网站18禁| 国产99视频精品免费观看9e| 玩两个丰满老熟女久久网| 国产精品香蕉在线观看不卡| 蜜桃视频一区二区三区| 国产另类乱子伦精品免费女| 国产亚洲视频在线观看| 亚洲va精品中文字幕| 色悠久久久久久久综合网伊人| 凹凸国产熟女精品视频| 91色爱欧美精品www| 亚洲IV视频免费在线光看| 看国产毛片| 搞黄网站免费观看| 欧美97色| 日韩毛片基地| 国产精品区视频中文字幕| 国产成人AV大片大片在线播放 | 精品视频第一页| 午夜a视频| 在线观看亚洲成人| 18禁高潮出水呻吟娇喘蜜芽| 国产成人精品三级| 午夜爽爽视频| 玩两个丰满老熟女久久网| 亚洲精品综合一二三区在线| 2020极品精品国产| 欧美三級片黃色三級片黃色1| 亚洲第一页在线观看| 国产在线视频二区| 欧美午夜理伦三级在线观看| 久久综合伊人 六十路| 亚洲无限乱码一二三四区| 夜夜高潮夜夜爽国产伦精品| 国产不卡一级毛片视频| 凹凸精品免费精品视频| 国产成人久视频免费| 无码免费试看| 日韩高清在线观看不卡一区二区| 无码精品一区二区久久久| 国产美女在线免费观看| 精品国产Av电影无码久久久| 国产成人一级| 国产丝袜一区二区三区视频免下载| 日韩国产 在线| 国产精品微拍| 色噜噜中文网| 欧美一区二区啪啪| 噜噜噜久久| 午夜影院a级片| 国产成人精品男人的天堂| 国产精品欧美激情| 欧美专区日韩专区| 日韩激情成人| 国产精品永久不卡免费视频| 91色老久久精品偷偷蜜臀| 一级毛片在线免费视频| 精品自窥自偷在线看| 亚洲视频四区| 亚洲国产一区在线观看| 成人午夜精品一级毛片| 久久午夜夜伦鲁鲁片无码免费| 精品一区二区三区水蜜桃| 国精品91人妻无码一区二区三区| 黄色免费在线网址| 国产在线视频导航| 欧美视频二区| 在线毛片网站| 亚洲资源在线视频| 成人国产免费| 国产另类乱子伦精品免费女| 亚洲美女一区二区三区| 亚洲第一成网站| 天天躁夜夜躁狠狠躁图片| 亚洲第一黄色网址| 亚洲第一区在线|