新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 多通道A/D轉(zhuǎn)換控制模塊的設(shè)計與實現(xiàn)

多通道A/D轉(zhuǎn)換控制模塊的設(shè)計與實現(xiàn)

作者: 時間:2017-06-03 來源:網(wǎng)絡(luò) 收藏

控制信號中的模擬量傳輸正逐步改為數(shù)字量傳輸,各種非數(shù)字化設(shè)備也必將逐步為數(shù)字化智能產(chǎn)品所取代。但是,在實際生產(chǎn)現(xiàn)場依然有大量的數(shù)據(jù)是模擬量,例如壓力、液位、溫度等,必須通過A/D轉(zhuǎn)換才能將這些數(shù)據(jù)送到控制系統(tǒng)進行分析處理。為滿足實際需要,本文提出利用MC143150 Neuron芯片和12位串行模數(shù)轉(zhuǎn)換器ADS7844開發(fā)與設(shè)計A/D轉(zhuǎn)換,實現(xiàn)了多個模擬量信號的并行采集、分析與處理功能,具有精度高和性能可靠等特點。

本文引用地址:http://www.butianyuan.cn/article/201706/347184.htm

  1 硬件設(shè)計

  A/D轉(zhuǎn)換的硬件總體結(jié)構(gòu)如圖1所示,主要包括模擬信號電路、8通道12位串行A/D轉(zhuǎn)換器ADS7844和MC143150 Neuron芯片。設(shè)計中利用8通道12位串行A/D轉(zhuǎn)換器ADS7844實現(xiàn)模擬量的數(shù)字化轉(zhuǎn)換,同時利用MC143150 Neuron芯片對ADS7844的8通道模擬輸入量的數(shù)字化轉(zhuǎn)換結(jié)果進行循環(huán)采集,實現(xiàn)多個模擬量數(shù)據(jù)的并行采集、分析與處理,較大程度地滿足了應(yīng)用現(xiàn)場的實際要求。

  1.1 ADS7844

  ADS7844是Burr-Brown公司生產(chǎn)的寬電壓、低功耗、高性能的12位串行模數(shù)轉(zhuǎn)換器。它有8個模擬輸入端,可編程設(shè)置為8通道單端輸入或4通道差分輸入的A/D轉(zhuǎn)換器,還可編程使芯片處于低功耗電源工作模式。ADS7844的轉(zhuǎn)換率可達(dá)200 kHz,而線性誤差和差分誤差最大僅為±1LSB。ADS7844電源電壓為2.7~5 V之間均能正常工作,最大工作電流為1 mA,進入低功耗狀態(tài)后的耗電僅3μA。

  (1)ADS7844的引腳功能。

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

  COM:信號地;

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

 ?。浩x端,低電平有效,該腳為高電平時,其他數(shù)字接口線呈三態(tài);

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

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

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

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

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

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

  (2)ADS7844的控制字。

  通過ADS7844的控制字可以設(shè)置其信號聯(lián)結(jié)方式、選擇數(shù)據(jù)轉(zhuǎn)換通道和電源工作模式。ADS7844控制字如表1所示。

  其中,S是起始位,控制字的起始位總為“1”;A2~A0是通道選擇位,在單端輸入時分別對應(yīng)8個通道,對應(yīng)關(guān)系見表2,而對于差分輸入,CH0~CH1、CH2~CH3、CH4~CH5、CH6~CH7分別對應(yīng)差分信號的輸入端,其對應(yīng)關(guān)系如表3所示。

  SGL/DIF是模式控制位,該位為“1”時是單端輸入模式,為“0”時是差分輸入模式;PD1和PD0是電源模式控制位,其含義如表4所示。

  (3)ADS7844的轉(zhuǎn)換時序圖。

  ADS7844有3種轉(zhuǎn)換時序,分別是15-時鐘轉(zhuǎn)換時序、16-時鐘轉(zhuǎn)換時序和24-時鐘轉(zhuǎn)換時序,通常采用轉(zhuǎn)換周期為24個時鐘周期的工作時序,其中8個用于輸入控制字,16個用于讀取轉(zhuǎn)換結(jié)果,如圖2所示??刂谱值乃形辉跁r鐘上升沿被鎖入芯片,轉(zhuǎn)換結(jié)果在時鐘的下降沿被逐位移出。所有移入和移出的數(shù)據(jù)都是高位在前、低位在后。需要說明的是,ADS7844是12位A/D轉(zhuǎn)換器,其轉(zhuǎn)換結(jié)果只有12位,故在移出12位結(jié)果后,還需送入4個時鐘來完成整個轉(zhuǎn)換過程,這4個多余時鐘移出的數(shù)據(jù)為“0”,使用時不應(yīng)作為轉(zhuǎn)換結(jié)果處理。

  1.2 MC143150 Neuron芯片

  MC143150 Neuron芯片是Motorola公司成熟的VLSI設(shè)備,集成了硬件和固件,提供了完整的系統(tǒng)資源,3個管線處理器,其中一個用于執(zhí)行用戶編寫的應(yīng)用程序、另外兩個完成網(wǎng)絡(luò)中Neuron芯片間的信息交互任務(wù)。Neuron芯片通過11只引腳與應(yīng)用指定的外部硬件相連,可以配置直接I/O對象、并行雙向I/O對象、串行I/O對象等多種工作方式,從而可以借助最少的外接電路實現(xiàn)靈活的輸入輸出功能。

  為了便于現(xiàn)場應(yīng)用,將MC143150 Neuron芯片、收發(fā)器Transceiver、定時器以及存儲器集成在一起,如圖3 所示。其中Clock給MC143150 Neuron芯片提供工作基準(zhǔn)時鐘信號,RAM/ROM等存儲器用于存放MC143150 Neuron芯片的固件與用戶應(yīng)用程序,Transceiver用于模塊間網(wǎng)絡(luò)互聯(lián),I/O調(diào)處與A/D轉(zhuǎn)換器ADS7844的對應(yīng)數(shù)據(jù)端口、外圍電源、MC143150 Neuron芯片的Reset和Service控制按鍵相連接,維護MC143150 Neuron芯片的正常工作以及實現(xiàn)端口數(shù)據(jù)的采集、分析和處理等功能。

2 軟件設(shè)計

  Neuron C是專門為Neuron芯片設(shè)計的編程語言,它以ANSI C為基礎(chǔ),包括對ANSI C的擴展,可直接支持Neuron芯片的軟件固化。Neuron C定義了多種I/O對象類型,如直接、計數(shù)器/計時器、串行和并行。下面介紹MC143150 Neuron芯片對ADS7844的8個通道工作在差分輸入方式下進行循環(huán)采樣的程序設(shè)計過程。

  選用MC143150 Neuron芯片的Neurowire輸入/輸出作為I/O對象,使MC143150 Neuron芯片循環(huán)采集ADS7844輸出端口DOUT信號,實現(xiàn)與ADS7844同步全雙工串行通信。

  2.1 Neurowire輸入/輸出對象語法結(jié)構(gòu)定義

  IO_8:Neurowire輸入/輸出對象使用管腳IO_8~IO_10,IO_8指定時鐘管腳,IO_9是串行數(shù)據(jù)輸出管腳,IO_10是串行數(shù)據(jù)輸入管腳。

  Master:指定Neuron芯片在管腳IO_8上提供時鐘,設(shè)置為輸出管腳。

  Slave:指定Neuron芯片檢測在管腳IO_8上的時鐘,設(shè)置為輸入管腳。

  Select(pin-nbr):為Neurowire master指定片選管腳,為IO_0~IO_7管腳之一。

  Timeout(pin-nbr):為Neurowire Slave指定一個可選擇的超時信號管腳,其范圍是IO_0~IO_7。當(dāng)使用超時信號管腳時,當(dāng)neuron芯片等待時鐘的上升沿或下降沿時,將檢查該管腳的邏輯電平。如果檢測到邏輯電平為“1”,則傳輸停止。

  Kbaud(const—expr):為Neurowire master指定比特率,const—expr可以為1 kb·s-1、10 kb·s-1或20 kb·s-1。對于10 MHz的Neuron芯片輸入時鐘,缺省值為20 kb·s-1。

  Clockedge(+|-):指數(shù)據(jù)觸發(fā)時鐘信號極性,clockedge(+)為上升沿,clockedge(-)為下降沿。

  io-object-name:由用戶為該I/O對象指定的名字。

  2.2 采樣的程序清單

  3 結(jié)束語

  目前,該A/D轉(zhuǎn)換通過長時間運行測試,其性能可靠,故障率低,節(jié)約能耗,實現(xiàn)了多個模擬量轉(zhuǎn)換、采集與處理功能,給現(xiàn)場自動化控制系統(tǒng)的集成帶來較大的靈活性。




關(guān)鍵詞: 多通道 A/D 控制模塊

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉