<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于CPLD和ISA總線(xiàn)的數據采集系統設計

基于CPLD和ISA總線(xiàn)的數據采集系統設計

作者: 時(shí)間:2010-04-02 來(lái)源:網(wǎng)絡(luò ) 收藏

1.2 8254可編程定時(shí)器電路
8254可編程定時(shí)器內部具有3個(gè)獨立的16位減法計數器,它可由程序設置成多種工作方式,有6種可選工作方式。計數器按照設置各工作方式寄存器中控制字工作,按十進(jìn)制計數或二進(jìn)制計數,最高計數速率可達10 MHz。
系統需要由8254提供AD轉換電路的時(shí)鐘信號和片選信號,通過(guò)改變8254的控制字改變系統的轉換頻率。8254定時(shí)器的輸入時(shí)鐘由外部晶振提供。定時(shí)器和定時(shí)器的輸出信號直接送入可編程邏輯器件XC9572,經(jīng)處理后提A/D轉換電路使用。上位機寫(xiě)入的控制字經(jīng)送至8254,同時(shí)XC9572給8254提供必要的控制信號,如:8254讀/寫(xiě)信號、片選信號、地址信號等。
假設系統的外部時(shí)鐘為2 MHz,如果需要8254的定時(shí)器0輸出一個(gè)頻率為l MHz,占空比為50%的時(shí)鐘,則8254的定時(shí)器控制字可設置為:D7~D0=00110110,其中,D7D6=00,表示選擇定時(shí)器;D5D4=11,表示先讀/寫(xiě)低8位,后讀/寫(xiě)高8位數據;D3D2Dl=011,表示工作方式3,方波發(fā)生器;D0=0,表示二進(jìn)制計數。
1.3 A/D轉換電路
A/D轉換電路完成和轉換,主要包括MD轉換和模擬信號采樣兩部分電路。
8通道模擬采樣開(kāi)關(guān)ADG508用于采樣模擬信號。由送來(lái)的通道選擇信號(CH0~CH2)用于選擇輸入的通道號。被選通的通道采樣得到的模擬信號送給ADS7816的IN+端,進(jìn)行AD轉換,如圖3所示。

本文引用地址:http://dyxdggzs.com/article/191750.htm


A/D轉換電路采用TI公司的ADS7816,該器件是12位串行A/D轉換器,采樣頻率高達200 kHz,轉換所需時(shí)間短,轉換精度高,輸出形式為位串行,因此在對ADS7816進(jìn)行讀數據操作時(shí)需注意數據轉換過(guò)程中的時(shí)序。


圖4是ADS7816的數據轉換時(shí)序。當ADS7816的片選端下降沿到來(lái)時(shí),開(kāi)始啟動(dòng)一次A/D轉換,保持轉換時(shí)鐘輸入和片選信號低電平,最初的1.5~2個(gè)時(shí)鐘時(shí)間里,完成模擬信號的采樣,這段時(shí)間ADS7816的輸出呈高阻狀態(tài)(HI-Z)。緊接著(zhù)的1個(gè)時(shí)鐘周期里,DOUT輸出1個(gè)空位(NULL BIT)。隨后,ADS7816在12個(gè)連續的時(shí)鐘周期內把12位的A/D轉換結果輸出,其中先輸出最高位(MSB),最后輸出最低位(LSB)。如果12位數據送出后仍有轉換時(shí)鐘且ADS7816的片選仍保持低電平,那么轉換器會(huì )從最低位起逐位重復輸出之前轉換的結果。當下一個(gè)片選信號的下降沿到來(lái)時(shí),A/D轉換器開(kāi)始啟動(dòng)下一次A/D轉換。

2 系統軟件設計
系統軟件設計包括基于VHDL的邏輯控制程序設計和基于C語(yǔ)言的上位機采集測試程序設計。
2.1 VHDL程序設計
系統設計硬件中,可編程邏輯器件完成的內容有:接收上位機的地址和數據,為模擬開(kāi)關(guān)提供通道選擇信號,為A/D轉換電路提供時(shí)鐘信號和片選信號,接收ADS7816轉換的數據,向上位機傳送轉換結果。
從圖4中可得到ADS7816在片選信號下降沿到來(lái)后的14.5~15個(gè)時(shí)鐘周期里,完成一次轉換并逐位輸出12位轉換結果。為了能夠得到完整的正確的A/D轉換結果,采用計數方式設置標志位FLG。在A(yíng)DS7816的片選信號為低電平的前15個(gè)時(shí)鐘周期中,即“計數器計數值≤14”時(shí),FLG=l,表示A/D轉換正在進(jìn)行;當“計數器的計數值>14”,則FLG=0,表示A/D轉換結束。當FLG=0時(shí),程序可讀取一次正確的A/D轉換數據。
因為ADS7816的數據轉換結果是串行輸入到中,需在中將得到的數據進(jìn)行串并轉換后再通過(guò)的8位數據線(xiàn)分2次送出。
系統進(jìn)行數據轉換前需先選擇輸入通道,確定采集哪一路信號。上位機輸入的通道號經(jīng)CPLD送至8路模擬采樣開(kāi)關(guān)。



關(guān)鍵詞: CPLD ISA 總線(xiàn) 數據采集

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>