www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]在低成本、多通道數(shù)據(jù)采集系統(tǒng)中,串行接口A/D轉(zhuǎn)換器得到了廣泛的應(yīng)用,但是通道的輪換以及串行數(shù)據(jù)的傳輸會(huì)降低數(shù)據(jù)采集的速度和CPU的工作效率。以ADS7844為例介紹基于FPGA和VHDI。語(yǔ)言的A/D控制器設(shè)計(jì)方法,并通過(guò)計(jì)算機(jī)時(shí)序仿真結(jié)果驗(yàn)證了該控制器的正確性。該控制器具有輸入通道自動(dòng)轉(zhuǎn)換、數(shù)據(jù)并行輸出等特點(diǎn),提高了采集速度和CPU的工作效率。

隨著現(xiàn)代電子技術(shù)的應(yīng)用和發(fā)展,越來(lái)越多的電子應(yīng)用由模擬系統(tǒng)向數(shù)字系統(tǒng)轉(zhuǎn)變,而A/D轉(zhuǎn)換器為模擬系統(tǒng)和數(shù)字系統(tǒng)的界面,承擔(dān)著模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)的任務(wù),在一些多路信號(hào)采集系統(tǒng)和實(shí)時(shí)數(shù)字信號(hào)處理系統(tǒng)中,A/D轉(zhuǎn)換的多路擴(kuò)展、高精度、低成本、實(shí)時(shí)性顯得越來(lái)越重要。在一般信號(hào)采集系統(tǒng)中,由單片機(jī)或微控制器對(duì)高精度A/D轉(zhuǎn)換器進(jìn)行控制,通常采用軟件模擬A/D轉(zhuǎn)換器時(shí)序的方法。因此增加了CPU的負(fù)擔(dān),降低了CPU的工作效率,在多片A/D轉(zhuǎn)換器多通道擴(kuò)展應(yīng)用中,降低了信號(hào)采集的實(shí)時(shí)性。

現(xiàn)場(chǎng)可編程門(mén)陣列FPGA(Field ProgrammableGate Array)是20世紀(jì)80年代中期在PAL,GAL等邏輯器件的基礎(chǔ)上發(fā)展起來(lái)的一種可編程邏輯器件,其特點(diǎn)是高集成度、高速和高可靠性,設(shè)計(jì)人員可以現(xiàn)場(chǎng)修改器件的邏輯功能。VHDL(VHSIC Hardvcare Description Language)是目前通用的硬件描述語(yǔ)言之一,可用來(lái)描述一個(gè)數(shù)字電路的輸入、輸出以及相互間的行為與功能。

FPGA的高集成度和高速的特性,使之相對(duì)于單片機(jī)和微控制器,更適合用于對(duì)高速A/D器件的采樣控制。本文設(shè)計(jì)一種基于FPGA的高速串行輸入/輸出A/D轉(zhuǎn)換器的控制器,該控制器完成對(duì)ADS7844芯片的采樣控制,提高了采樣的實(shí)時(shí)性、減輕了主CPU的運(yùn)行負(fù)擔(dān)。

2 ADS7844功能介紹

ADS7844是Burr_Brown公司推出的一種高性能、寬電壓、低功耗的12 b串行數(shù)模轉(zhuǎn)換器。它有8個(gè)模擬輸入端,可用軟件編程為8通道單端輸入A/D轉(zhuǎn)換器或4通道差分輸入A/D轉(zhuǎn)換器,其轉(zhuǎn)換率高達(dá)200 kHz,而線性誤差和差分誤差最大僅為±1 LSB。ADS7844在電源電壓為2.7~5 V之間均能正常工作,最大工作電流為1 mA,進(jìn)入低功耗狀態(tài)后的耗電僅為3μA。ADS7844通過(guò)6線串行接口與CPU進(jìn)行通信,接口簡(jiǎn)單方便。

2.1 ADS7844的引腳功能

CH0~CH7:模擬輸入端,當(dāng)器件被設(shè)置為單端輸入時(shí),這些引腳可分別與信號(hào)地COM構(gòu)成8通道單端輸入A/D轉(zhuǎn)換器;當(dāng)器件被設(shè)置為差分輸入時(shí),利用CH0-CH1,CH2-CH3,CH4-CH5,CH6-CH7可構(gòu)成4通道差分輸入A/D轉(zhuǎn)換器;

COM:信號(hào)地;

Vref:參考電壓輸入端,最大值為電源電壓;

CS:片選端、低電平有效、該腳為高電平時(shí),其他數(shù)字接口呈三態(tài);

Dclk:外部時(shí)鐘輸人端,在時(shí)鐘作用下,CPU將控制字寫(xiě)入ADS7844,并將轉(zhuǎn)換結(jié)果從中讀出;

Din:串行數(shù)據(jù)輸入端,在片選有效時(shí),控制字在Dclk上升沿被逐位鎖入ADS7844;

Dout:串行數(shù)據(jù)輸出端,在片選有效時(shí),轉(zhuǎn)換結(jié)果在DcIk的下降沿開(kāi)始被逐位從ADS7844移出;

BUSY:“忙”信號(hào)輸出端,在接收到控制字的第一位數(shù)據(jù)后變低,只有在轉(zhuǎn)換結(jié)束且片選有效時(shí),該腳才輸出一個(gè)高脈沖;

SHDN:電源關(guān)閉端、低電平有效。當(dāng)SHDN為低電平時(shí),ADS7844進(jìn)入低功耗狀態(tài);

Vcc,GND:分別為電源端和數(shù)字地。

2.2 ADS7844的控制字及轉(zhuǎn)換時(shí)序

ADS7844的控制字如表1所述。

ADS7844的控制字共有8位,其中S是起始位,控制字的起始位總為“1”。A2~A0是通道選擇位,在單端輸入時(shí)分別對(duì)應(yīng)8個(gè)通道,而對(duì)于差分輸入,000~011分別對(duì)應(yīng)CH0-CH1,CH2-CH3,CH4-CH5,CH6-CH7,而100~111則分別對(duì)應(yīng)CH0-CH1,CH1-CH0,CH3-CH2,CH5-CH4,CH7-CH6。Bit3沒(méi)有定義。SGL/DIF是模式控制位,該位為“1”時(shí)是單端輸入模式,為“0”時(shí)是差分輸入模式。PD1和PD0是電源關(guān)閉模式控制位,若為“00”,則表示ADS7844在不進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí)自動(dòng)進(jìn)入電源關(guān)閉模式,若為“11”,芯片則始終處于電源開(kāi)啟模式。

ADS7844有多種轉(zhuǎn)換時(shí)序,基本時(shí)序如圖1所示。

從圖1中可見(jiàn),一個(gè)轉(zhuǎn)換周期需要24個(gè)時(shí)鐘周期,其中8個(gè)用于輸入控制字,16個(gè)用于讀取轉(zhuǎn)換結(jié)果??刂谱值乃形辉跁r(shí)鐘上升沿被鎖入芯片,轉(zhuǎn)換結(jié)果在時(shí)鐘的下降沿被逐位移出。所有移人和移出的數(shù)據(jù)都是高位在前、低位在后。需要說(shuō)明的是,ADS7844是12位A/D轉(zhuǎn)換器,其轉(zhuǎn)換結(jié)果只有12位,故在移出12位結(jié)果后,還需送入4個(gè)時(shí)鐘來(lái)完成整個(gè)轉(zhuǎn)換過(guò)程,這4個(gè)多余的時(shí)鐘移出的數(shù)據(jù)為“0”,使用時(shí)不應(yīng)作為轉(zhuǎn)換結(jié)果處理。

3 ADS7844控制器的設(shè)計(jì)

用FPGA設(shè)計(jì)的采樣控制器AD_CONTROLLER與ADS7844的接口電路如圖2所示,基本時(shí)序如上所述。AD_CONTROLLER的輸入時(shí)鐘取12 MHz,經(jīng)內(nèi)部4分頻后輸出至ADS7844的CLK引腳。cs_all為來(lái)自CPU的啟動(dòng)信號(hào),當(dāng)其為低時(shí)AD_CONTROLLER開(kāi)始工作。addr[3..0]為對(duì)應(yīng)的ADS7844的通道地址,data[15..0]為某地址所對(duì)應(yīng)通道的A/D轉(zhuǎn)換結(jié)果,當(dāng)某一通道轉(zhuǎn)換結(jié)束,oe信號(hào)由低電平變?yōu)楦唠娖讲⒊掷m(xù)1個(gè)周期。

AD_CONTROLLER主要由分頻模塊(fq),A/D轉(zhuǎn)換周期形成模塊(fq_cs);A/D轉(zhuǎn)換器片選信號(hào)模塊(cs_pulse);通道地址及控制字形成模塊(addr_1);A/D轉(zhuǎn)換數(shù)據(jù)輸出模塊(from_ad)和控制字移位輸出模塊(to_ad)組成,其結(jié)構(gòu)如圖3所示。

取FPGA工作頻率10 MHz,經(jīng)分頻器4分頻得2.5 MHz作為A/D轉(zhuǎn)換器的時(shí)鐘。分頻器通常用計(jì)數(shù)器實(shí)現(xiàn),各VHDL教材上都已詳細(xì)講述,這里不再贅述。信號(hào)cs每隔28個(gè)clk1時(shí)鐘周期發(fā)出1個(gè)clk1周期的高電平脈沖并轉(zhuǎn)換1次模擬輸入通道,28個(gè)cIk1周期中,A/D轉(zhuǎn)換器片選cs_ad信號(hào)占用4個(gè)周期,控制字的串行輸出(di)占用8個(gè)周期,ADS7844芯片由Din引腳接收到控制字后,在下一個(gè)周期的下降沿開(kāi)始將A/D轉(zhuǎn)換后的數(shù)據(jù)串行輸出至Dout引腳,由from_ad模塊進(jìn)行串/并轉(zhuǎn)換并輸出(data[15..0]),此串并轉(zhuǎn)換需16個(gè)周期。信號(hào)stld的下降沿將由狀態(tài)機(jī)產(chǎn)生的控制字(control_word[7..0])鎖存入to_ad模塊內(nèi)部的并/串移位寄存器(74165),經(jīng)過(guò)8個(gè)周期后控制字由di引腳輸入ADS7844芯片。cs脈沖的產(chǎn)生由計(jì)數(shù)器實(shí)現(xiàn),這里不做詳細(xì)介紹。cs_ad片選信號(hào)通過(guò)cs_ad模塊將cs信號(hào)展寬2個(gè)周期而得到,其電路結(jié)構(gòu)如下:

電路由1個(gè)計(jì)數(shù)器(cs_wide)、前沿D觸發(fā)器(inst6)和后沿D觸發(fā)器(inst3)組成。當(dāng)cs信號(hào)上升沿到時(shí),inst6觸發(fā),cs_ad置高電平。2個(gè)周期后,inst3由下降沿觸發(fā)輸出高電平,反相后將inst6和計(jì)數(shù)器cs_wide清零,同時(shí)cs_ad輸出低電平。由此看出,cs_ad的信號(hào)正是cs信號(hào)經(jīng)過(guò)2個(gè)周期展寬后得到。

通道地址及控制字形成模塊(addr_1)可以實(shí)現(xiàn)所需的各種輸入模式,并產(chǎn)生通道地址和控制字,以單端輸入模式為例,VHDL代碼如下:

500)this.style.width=500;" />
500)this.style.width=500;" />

這里用雙進(jìn)程的有限狀態(tài)機(jī)(FSM)來(lái)設(shè)計(jì)通道地址產(chǎn)生器。當(dāng)addr<=“0000”時(shí)表示沒(méi)有通道被選擇,ADS7844沒(méi)有工作;當(dāng)addr<=“0000”時(shí)表示通道1被選擇,依次類(lèi)推。

4 計(jì)算機(jī)仿真分析

用Quartus Ⅱ 6.0進(jìn)行分析綜合、布局,共占用Altera cyclone FPGA 59個(gè)LE(logic elements),波形仿真如圖5所示。

圖5中elk的周期為100 ns,clk1為系統(tǒng)時(shí)鐘4分頻后的工作時(shí)鐘,當(dāng)cs_all為低電平時(shí),AD_CONTROLLER開(kāi)始工作。由狀態(tài)機(jī)產(chǎn)生的控制字(10000100)在stld的下降沿被鎖存入移位寄存器,當(dāng)cs_ad由高變低時(shí),控制字被逐位移出至di端口。在此,假設(shè)當(dāng)ADS7844接收到控制字并由ad_do端口逐位移出1通道轉(zhuǎn)換后的數(shù)據(jù)1000000000010000,經(jīng)過(guò)16個(gè)周期后oe由低變高,oe的下降沿可以將移入寄存器的數(shù)據(jù)鎖存。由圖5可見(jiàn),仿真波形與ADS78414控制波形一致,達(dá)到了設(shè)計(jì)的目的。

5 結(jié) 語(yǔ)

本試驗(yàn)用于混合動(dòng)力汽車(chē)電池管理系統(tǒng)電池電壓、電流信息采集部分。電池管理系統(tǒng)通常采用雙單片機(jī)的結(jié)構(gòu),一個(gè)單片機(jī)完成電池信息采集功能,另外一個(gè)單片機(jī)完成電池SoC(State of Charge)計(jì)算及人機(jī)交互功能。這種系統(tǒng)結(jié)構(gòu)復(fù)雜,可靠性降低。為解決這一問(wèn)題,該A/D控制器被封裝成基于Avalon總線的自定義IP核,應(yīng)用于Altera公司FPGA所支持的NIOS Ⅱ嵌入式系統(tǒng)中,NIOS Ⅱ軟核CPU僅在A/D控制器引起的中斷服務(wù)程序中讀取采集到的數(shù)據(jù),這樣大大提高了采集速度和CPU的效率,使得有更多的CPU資源應(yīng)用于SoC計(jì)算和人機(jī)交互。這種基于SoPC(Systemon Programmable Chip)的電池管理系統(tǒng)結(jié)構(gòu)緊湊、功能齊全、可靠性大大提高。

FPGA用來(lái)設(shè)計(jì)控制電路有很多優(yōu)點(diǎn)。FPGA不僅可進(jìn)行任意次編程,而且用戶可以借助開(kāi)發(fā)工具快速編程、編譯、優(yōu)化、仿真直到最后芯片制作。高集成性使得用戶可以利用硬件描述語(yǔ)言及開(kāi)發(fā)工具在單片F(xiàn)PGA芯片上實(shí)現(xiàn)各種復(fù)雜的邏輯電路和片上系統(tǒng),提高了系統(tǒng)性能、減小了電路面積、降低了成本。高速性有效地解決模擬控制的精度與數(shù)字控制的速度之間的矛盾。隨著FPGA性能的提高和成本的降低,以FPGA為基礎(chǔ)的數(shù)字電路和SoPC(Systam on ProgrammableChip)代表了嵌入式系統(tǒng)的發(fā)展方向,FPGA將應(yīng)用得越來(lái)越廣泛。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

最近為什么越來(lái)越多的研究開(kāi)始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來(lái)什么神奇效果呢?原來(lái),F(xiàn)PGA擁有大量的可編程邏輯資源,相對(duì)于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點(diǎn),是GPU無(wú)法比擬的;同時(shí)...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬(wàn)象,我們今天來(lái)看看在音樂(lè)科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

強(qiáng)大的產(chǎn)品可降低信號(hào)噪音并提高分辨率與動(dòng)態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項(xiàng)目采用以太網(wǎng)通信,實(shí)踐起來(lái)有些奇怪,好像設(shè)計(jì)成只能應(yīng)答某類(lèi)計(jì)算機(jī)的ICMP(ping)命令, 某類(lèi)計(jì)算機(jī)指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識(shí)別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國(guó)外廠商的FPGA芯片價(jià)格飆升,由于價(jià)格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國(guó)產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險(xiǎn),用一片少一片,了解到國(guó)產(chǎn)FPGA發(fā)展的也不錯(cuò),完全自...

關(guān)鍵字: FPGA 芯片 EDA

本篇是FPGA之旅設(shè)計(jì)的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對(duì)溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過(guò)程類(lèi)似,所以可以參考一下前面的...

關(guān)鍵字: FPGA DS18B20溫度傳感器

這是FPGA之旅設(shè)計(jì)的第十三例啦,本例是一個(gè)綜合性的例程,基于OLED屏幕顯示,和DHT11溫濕度采集,將DHT11采集到的溫濕度顯示到OLED屏幕上。

關(guān)鍵字: FPGA OLED屏幕

第八例啦,本例將介紹如何通過(guò)FPGA采集DS18B20傳感器的溫度值。

關(guān)鍵字: FPGA DS18B20傳感器

這是FPGA之旅設(shè)計(jì)的第九例啦?。。”纠龑⒔榻B如何使用FPGA驅(qū)動(dòng)OLED屏幕,并在接下來(lái)的幾例中,配合其它模塊,進(jìn)行一些有趣的綜合實(shí)驗(yàn)。由于使用的OLED屏是IIC接口的,對(duì)IIC接口不是很清楚的,可以參考第五例的設(shè)計(jì)...

關(guān)鍵字: FPGA OLED屏幕

這是FPGA之旅設(shè)計(jì)的第十例啦,在上一例中,已經(jīng)成功驅(qū)動(dòng)了OLED屏幕,本例將結(jié)合上一例,以及第四例多bytes串口通信做一個(gè)有趣的例程。

關(guān)鍵字: FPGA OLED屏 串口

工業(yè)控制

13478 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉