中華廚具網(wǎng)
    手機(jī)版    二維碼   標(biāo)簽云  廚具企業(yè)大全

基于fpga的簡易電壓表設(shè)計(jì)

2024-05-14 12:28:32 來源:網(wǎng)絡(luò) 作者/編輯: 瀏覽次數(shù):1677 手機(jī)訪問 使用手機(jī)“掃一掃”以下二維碼,即可分享本文到“朋友圈”中。

傳統(tǒng)的數(shù)字電壓表設(shè)計(jì)通常以大規(guī)模(專用集成電路)為核心器件,并輔以少量中規(guī)模集成電路及顯示器件構(gòu)成。這種電壓表的設(shè)計(jì)簡單、精確度高,但是由于采用了器件使得它欠缺靈活性,其系統(tǒng)功能固定,難以更新擴(kuò)展。而應(yīng)用設(shè)計(jì)的電壓表,采用芯片控制通用a/d轉(zhuǎn)換器,可使速度、靈活性大大優(yōu)于通用數(shù)字電壓表。、

本文引用地址:

本文采用step-max10m08核心板和step base board v3.0底板來完成簡易電壓表設(shè)計(jì),我們將設(shè)計(jì)拆分成三個(gè)功能模塊實(shí)現(xiàn):

adc081s101_driver: 驅(qū)動(dòng)spi接口adc芯片實(shí)現(xiàn)模擬電壓信號(hào)采集。

bin_to_bcd:將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成bcd碼的方法。

segment_led:通過驅(qū)動(dòng)獨(dú)立式數(shù)碼管將電壓數(shù)據(jù)顯示出來。

top-down層次設(shè)計(jì)

模塊結(jié)構(gòu)設(shè)計(jì)

1. adc介紹

模數(shù)轉(zhuǎn)換器即a/d轉(zhuǎn)換器,或簡稱adc,通常是指一個(gè)將模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)的電子元件。通常的模數(shù)轉(zhuǎn)換器是將一個(gè)輸入電壓信號(hào)轉(zhuǎn)換為一個(gè)輸出的數(shù)字信號(hào)。由于數(shù)字信號(hào)本身不具有實(shí)際意義,僅僅表示一個(gè)相對大小。故任何一個(gè)模數(shù)轉(zhuǎn)換器都需要一個(gè)參考模擬量作為轉(zhuǎn)換的標(biāo)準(zhǔn),比較常見的參考標(biāo)準(zhǔn)為最大的可轉(zhuǎn)換信號(hào)大小。而輸出的數(shù)字量則表示輸入信號(hào)相對于參考信號(hào)的大小。

模擬系統(tǒng)與數(shù)字系統(tǒng)結(jié)合模型

并行adc和串行adc模型

上圖兩個(gè)都是8位adc模型,分辨率為 2的8次方等于256,即將vref分成256份,能夠分辨的模擬步進(jìn)為vref / 256,量化數(shù)據(jù)n = 256 * vin / vref 。

并行adc與數(shù)字電路接口包含一根clk和8根data管腳,clk為芯片時(shí)鐘管腳,data為芯片數(shù)據(jù)管腳,每個(gè)clk周期從data管腳采集8bit的數(shù)據(jù),完成一次模數(shù)轉(zhuǎn)換,所以clk頻率等于采樣率。

串行adc(以adc081s101為例)與數(shù)字電路接口為三根線(cs,clk,din),兼容三線spi總線,cs為芯片使能管腳,clk為芯片時(shí)鐘管腳,din為芯片數(shù)據(jù)管腳,當(dāng)adc芯片使能時(shí)每個(gè)clk周期從din采集1bit的數(shù)據(jù),但是根據(jù)adc081s101的時(shí)序,需要16個(gè)clk完成一次采樣,所以clk頻率至少等于采樣率的16倍。

2. adc模塊電路連接

本設(shè)計(jì)所采用的step base board v3.0底板上的adc模塊電路,其電路圖如下:

adc模塊電路

直接連接adc081s101芯片的控制端,adc有6個(gè)管腳,3腳vin為vcc和vref功能復(fù)用,即vin = vcc = vref。adc前端是運(yùn)放電路lmv721,運(yùn)放模塊為電壓跟隨電路,再往前端是一個(gè)跳冒排針,用來選擇adc采樣信號(hào)的來源,當(dāng)短路帽將1、2腳短路時(shí),adc采集電位計(jì)電壓,當(dāng)短路帽將2、3腳短路時(shí),adc采射頻端子或p4排針信號(hào)。本設(shè)計(jì)我們是采集旋轉(zhuǎn)編碼器的電壓,所以需要用短路帽將1、2腳短路。

3. adc模塊驅(qū)動(dòng)設(shè)計(jì)

adc081s101串行通信時(shí)序如下圖:

注:

1. sclk空閑時(shí)為高電平,cpol = 1,上升沿(第二個(gè)邊沿)采樣,cpha = 1,如果例化通用spi核完成設(shè)計(jì),需要采用spi的第四種工作模式。

2. cs信號(hào)拉低有效,經(jīng)過16個(gè)時(shí)鐘完成一次adc轉(zhuǎn)換并采樣,采樣回來的數(shù)據(jù)前3位無效,接下來為db7~db0(有效數(shù)據(jù)),再接下來為無效數(shù)據(jù)。

針對adc081s101時(shí)序,我們用verilog設(shè)計(jì)一個(gè)計(jì)數(shù)器,當(dāng)計(jì)數(shù)器值不同時(shí)完成不同操作,實(shí)現(xiàn)一次adc采樣,程序?qū)崿F(xiàn)如下:

到這我們就完成了串行adc芯片adc081s101的驅(qū)動(dòng)設(shè)計(jì),整個(gè)采樣周期用了35個(gè)系統(tǒng)時(shí)鐘,如果我們采用12mhz時(shí)鐘作為該模塊系統(tǒng)時(shí)鐘,采樣率fs = 12m/35 = 343ksps,adc主頻fsclk = 12 mhz /2 = 6mhz。

adc081s101主頻及采樣率要求如下,按照要求我們當(dāng)前的主頻和采樣率不足,所以在使用該模塊時(shí),可以使用更高的時(shí)鐘(比如24mhz)以達(dá)到芯片的要求

注:時(shí)鐘頻率fsclk,最小值為10mhz,最大值為20mhz,采樣率在ksps~1msps

模塊接口如下:clk和rst_n為系統(tǒng)時(shí)鐘及復(fù)位,adc_cs,adc_clk和adc_dat為adc控制管腳,adc_data為adc采樣數(shù)據(jù),adc_done產(chǎn)生一個(gè)脈沖對應(yīng)adc_data得到一個(gè)有效數(shù)據(jù)

4. 時(shí)鐘獲取

因?yàn)樾枰叩臅r(shí)鐘供adc模塊使用,我們例化pll核得到24mhz時(shí)鐘,同時(shí)例化pll模塊和adc081s101_driver模塊,并將pll的輸出與adc081s101_driver模塊的clk連線。

pll模塊和adc081s101_driver模塊的連接程序?qū)崿F(xiàn)如下:

5. 采樣結(jié)果顯示

假設(shè)adc模擬輸入電壓為3.3v,理論上我們得到的采樣數(shù)據(jù)adc_data應(yīng)該為8’hff,而電壓表最終顯示在數(shù)碼管上的數(shù)據(jù)應(yīng)該為3.3,我們?nèi)绾螌?’hff轉(zhuǎn)換成可以顯示的3.3數(shù)據(jù)呢?這就設(shè)計(jì)到adc量化數(shù)據(jù)的逆向運(yùn)算了。

我們知道量化運(yùn)算 n = 256 * vin / vref,

那么逆向運(yùn)算為vin = n * vref / 256,其中vref = 3.3v,所以vin = n * 0.0129

所以我們需要用fpga計(jì)算adc_data * 0.0129的結(jié)果,然后為了使用十進(jìn)制的顯示,先將結(jié)果進(jìn)行bcd轉(zhuǎn)碼,然后顯示在數(shù)碼管上。

將adc采樣數(shù)據(jù)按規(guī)則轉(zhuǎn)換為電壓數(shù)據(jù)(乘以0.0129),這里我們直接乘以129,得到的數(shù)據(jù)經(jīng)過bcd轉(zhuǎn)碼后小數(shù)點(diǎn)左移4位即可,程序?qū)崿F(xiàn)如下:

二進(jìn)制轉(zhuǎn)bcd碼程序?qū)崿F(xiàn)如下:

最后得到20位的數(shù)據(jù)輸出,每4位表示一個(gè)bcd碼,所以有5位有效數(shù)據(jù),這里我們還需要將小數(shù)點(diǎn)左移4位,計(jì)算出來的數(shù)應(yīng)該是x.xxxx伏特,1個(gè)整數(shù)位和4個(gè)小數(shù)位,核心板上只有兩個(gè)數(shù)碼管,取最高的兩個(gè)bcd碼顯示到數(shù)碼管x.x伏特,個(gè)位小數(shù)點(diǎn)點(diǎn)亮,分位小數(shù)點(diǎn)熄滅,程序?qū)崿F(xiàn)如下:

綜合后的設(shè)計(jì)框圖如下:

rtl設(shè)計(jì)框圖

到這一步就完成了基于fpga的簡易電壓表設(shè)計(jì)。將程序下載到fpga中,step base board v3.0底板上p3接口的1、2腳短路,旋轉(zhuǎn)底板右上角的電位計(jì),觀察核心板數(shù)碼管變化,也可同時(shí)用萬用表測量p3短路處的電壓,與數(shù)碼管上的結(jié)果對比。

實(shí)物圖:

來源:網(wǎng)絡(luò)

以上是網(wǎng)絡(luò)信息轉(zhuǎn)載,信息真實(shí)性自行斟酌。

 
本條標(biāo)題:基于fpga的簡易電壓表設(shè)計(jì)
本條信息網(wǎng)址:
文本助手 資訊搜索 分享好友 打印本文 關(guān)閉窗口
閱讀關(guān)鍵詞
  • 手機(jī)瀏覽本文

    手機(jī)應(yīng)用中掃描本文二維碼,即可瀏覽本文或分享到您的社交網(wǎng)絡(luò)中。

  • 微信公眾號(hào)

    掃描二維碼,關(guān)注中華廚具網(wǎng)微信公眾號(hào),實(shí)時(shí)了解行業(yè)最新動(dòng)態(tài)。

版權(quán)/免責(zé)聲明:
一、本文圖片及內(nèi)容來自網(wǎng)絡(luò),不代表本站的觀點(diǎn)和立場,如涉及各類版權(quán)問題請聯(lián)系及時(shí)刪除。
二、凡注明稿件來源的內(nèi)容均為轉(zhuǎn)載稿或由企業(yè)用戶注冊發(fā)布,本網(wǎng)轉(zhuǎn)載出于傳遞更多信息的目的;如轉(zhuǎn)載稿涉及版權(quán)問題,請作者聯(lián)系我們,同時(shí)對于用戶評(píng)論等信息,本網(wǎng)并不意味著贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性。
三、轉(zhuǎn)載本站原創(chuàng)文章請注明來源:中華廚具網(wǎng)

0相關(guān)評(píng)論
今日熱點(diǎn)文章更多
品牌聚焦更多
推薦品牌更多
熱門頻道
關(guān)閉廣告
合作伙伴:
中華廚具網(wǎng) 魯ICP備2021046805號(hào)         魯公網(wǎng)安備 37162502000363號(hào) (c)2018-2025SYSTEM All Rights Reserved 投資有風(fēng)險(xiǎn) 加盟需謹(jǐn)慎
關(guān)閉廣告
關(guān)閉廣告
亚洲国产二区三区久久| 久久久久亚洲精品男人的天堂| 亚洲精品第一综合99久久| 一本色道久久综合狠狠躁| 精品国产91久久久久久久| 久久精品成人免费观看97| 亚洲狠狠婷婷综合久久蜜芽| 国产精品视频久久久| 亚洲欧美成人久久综合中文网| 久久久久久亚洲Av无码精品专口 | 日韩人妻无码一区二区三区久久99| 欧美喷潮久久久XXXXx| 久久99精品久久久久久水蜜桃| 亚洲人成伊人成综合网久久久| 久久精品?ⅴ无码中文字幕| 久久亚洲精品成人av无码网站| 国产日韩欧美久久| 青青国产成人久久91网| 亚洲AV无码久久精品狠狠爱浪潮| 国产女人aaa级久久久级| 99久久精品毛片免费播放| 综合久久给合久久狠狠狠97色 | 亚洲综合久久夜AV | 伊人丁香狠狠色综合久久| jizzjizz国产精品久久| 午夜不卡久久精品无码免费| 久久精品国产男包| 人妻无码精品久久亚瑟影视| 久久国产成人| 久久男人中文字幕资源站| 久久久黄片| 亚洲欧洲精品成人久久曰影片| 久久艹国产| 亚洲第一永久AV网站久久精品男人的天堂AV| 久久精品国产亚洲一区二区| 久久国产精品无码一区二区三区 | 亚洲精品午夜国产VA久久成人 | 亚洲欧美成人久久综合中文网| 国产精品欧美久久久久天天影视| 国产叼嘿久久精品久久| 94久久国产乱子伦精品免费|