基於STM 32和LTC 1859的數據採集系統

2020-12-16 電子產品世界

崔海朋 (青島傑瑞工控技術有限公司,山東 青島 266071)

本文引用地址:http://www.eepw.com.cn/article/202003/410486.htm

摘  要:現在很多採集系統要求較高的精度,而且信號形式、範圍也有所不同,處理電路比較複雜,硬體成本 高。為了解決該問題,設計了基於STM32和LTC1859的16位高精度數據採集系統,詳細介紹了軟硬體設計。此 系統不僅可以實現8路電流信號的單端輸入,也可以實現8路電壓信號的單端輸入,成本低,精度高。 

關鍵詞:數據採集;Cortex-M3LTC1859

0  引言 

現在很多數據採集系統要求較高的精度,同時要求 可以適應不同的信號形式,例如可以連接電流信號、電 壓信號,信號的範圍也不同,常規的方法是採用複雜的 電路處理再進行數據採集,這樣不僅增加了硬體成本, 還降低了系統精度。本系統設計的基於Cortex-M3處理 器和 LTC1859的 16位高精度數據採集系統,不僅可以 實現8路的電流信號的輸入,還可以實現8路電壓信號的 輸入,對輸入信號的範圍可以通過軟體來設置,同時 AD採集電路與Cortex-M3處理器採用了電源隔離和信 號隔離,提高了系統的可靠性。 

LTC1859是ADI公司推出的一款高性能的具停機功 能的8通道、 16位、100 ksps的 AD轉換器,每個通道可 通過軟體實現 0~5 V,0~10 V,0~±5 V,0~± 10V的 不同範圍的輸入電壓,同時還可以實現單輸入和差分 信號輸入的選擇,每個通道可承受至±25 V的故障保 護。LTC1859的多路復用器可以配置為接受 4個差分輸 入、8個單端輸入、或差分與單端輸入的組合。該器件 提供了卓越的DC性能,具有在整個溫度範圍內的15位無漏失碼和±3 LSB MAX INL。LTC1859與控制器之 間採用SPI總線進行通信。LTC1859用單5 V電源工作, 同時僅消耗40 mW功率。LTC1859還具有溫度係數為 ±1.0×10-5/℃的 2.5 V內部基準,如果需要較高的準確 度,還可以從外部驅動。對於那些對功耗敏感的應用, LTC1859提供了兩種斷電模式:打盹模式和休眠模式。 

本系統的 Cortex-M3處理器為意法半導體公司推 出的32位RISC處理器STM32F103VCT6,主頻最高可 達72 MHz。該處理器具有256 kB的程序存儲器,48 kB 的RAM,同時它有8個定時器、5路串口、3路SPI、2 路I2C,具有獨立看門狗和窗口看門狗,非常適合於與 LTC1859構成高精度的數據採集和控制系統。

1  硬體系統設計 

本系統設計了由 2片LM324運放和1片 LTC1859構 成 8通道的單端信號輸入。每片LM324含有4個運放,2 片LM324構成了8路信號調理電路,其中電阻實現電流 信號到電壓信號的轉換,當連接電壓信號時,該電阻 不連接。LM324為電壓跟隨器電路,這裡不再詳述。LTC1859的電路如圖1所示。本電路具有通用性,在實 際應用中性能穩定,效果很好。下面對電路進行詳細 分析。 

LTC1859引腳中CH0~CH7是8路模擬輸入通道, 在本系統中構成了8路單端輸入信號。 MUXOUT+、 MUXOUT-為模擬復用器的正負輸出,把它們連在 ADC+、ADC-上進行正常操作。BUSY為輸出轉換 器的狀態,當正在轉換中為低,轉換結束變高,連在 ARM處理器的I/O口上,SDO為SPI總線的串行數據輸 出,接在Cortex-M3處理器的SPI接口的MISO引腳上, SDI為SPI總線的串行數據輸入,接在Cortex-M3處理器 的SPI接口的MOSI引腳上,SCK為SPI總線的時鐘,接 在Cortex-M3處理器的SPICLK上。RD為引腳SDO數字 輸出的能使信號,當RD為低能使輸出,當RD為高SDO 為高阻抗。在本系統中,該引腳連接至地,一直使能

LTC1859的輸出功能。CONVST為啟動轉換引腳。其它 引腳分別接電源、數字地、模擬地,在布線時注意數字 地和模擬地的分開,幾個電容推薦採用鉭電容,這樣可 以提高系統的精度。

2  隔離電路設計 

為了提高系統的可靠性,本系統設計了電源隔離和 SPI總線隔離電路,使LTC1859採集電路與Cortex-M3處 理器電氣完全隔離,外部輸入信號不會影響到處理器電 路的運行,大大提高了系統的可靠性。下面從2個方面 來重點介紹。 

2.1 電源隔離 

LTC1859的供電採用DC/DC變換器實現電源與 CPU電源的隔離。電源模塊採用廣州金昇陽公司的 B1212M-2M。B1212M-2M採用小型DIP封裝,溫度特 性好,隔離電 壓1 000 V DC。 圖2中12 V輸出 電壓為前端信 號調理電路中 LM324晶片供 電,後端電源採 用了L7805CV穩 壓,為LTC1859 供電。 

2.2 SPI總線的 隔離是非常關 鍵的一部分 

本系統採 用了專用的 SPI隔離晶片 ADUM1411。 它是ADI公司推 出的四通道數 字隔離晶片, 單晶片可以替 代 4 個光耦,採用晶片級脈衝變壓器磁耦合技術,施密特觸發器輸 入/輸出,隔離電壓2 500 V。與傳統的光耦隔離相比, 具有壽命長,節省PCB(印製板)面積等諸多優點。 每個ADUM1411晶片含有3路數字輸出和1路數字輸入 通道。由於LTC1859有5條控制線與Cortex-M3處理器 進行通訊,因此本系統選用了2片ADUM1411實現與 Cortex-M3處理器的完全隔離。電路如圖3所示。

3  軟體設計 

系統採用SPI總線通信,軟體的關鍵是Cortex-M3處 理器和LTC1859之間的時序匹配,下面詳細介紹。 

3.1 LTC1859軟體配置 

LTC1859是在SCK的下降沿傳輸,上升沿被捕獲, 這就要求Cortex-M3處理器在進行SPI初始化時採用上 升沿無延時模式。8位的控制字通過SDI輸入,用於配 置LTC1859以進行下一個轉換,同時前一個轉換輸出在 SDO上輸出,在數據交換的末端,在CONVST上施加1 個上升沿啟動被請求的轉換。轉換完成後,轉換結果將 在下1個數據傳送周期提供。LTC1859的8位命令控制字 在首8個SCK的上升沿按時間順序記錄到SDI輸入中, SDI隨後的輸入的位被忽略。8位的控制字含有對通道地 址、信號輸入範圍和斷電模式的控制,具體內容參見手 冊,這裡不再贅述。本系統中配置為8通道單端輸入方 式,信號輸入範圍默認配置為0~5 V,斷電模式設置為上電模式,不進入打盹和休眠模式。 

3.2 Cortex-M3處理器SPI接口配置 

Cortex-M3處理器的SPI接收設置為全雙工主模式。 為了一次可以讀取到LTC1859轉換後的16位的結果, SPI接收設置為16位模式。禁止軟體NSS功能,SPI的速 率默認設置為256分頻後的速率,實際應用可以根據需 要進行更改。初始化代碼如下:

void SPI1_Configuration(void) 

SPI_InitTypeDef   SPI_ InitStructure; 

SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;  //全雙工 

SPI_InitStructure.SPI_Mode = SPI_Mode_Master;   //主模式 

SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;//16bit模式 

SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;   //空閒時為低電平 

SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //上升沿無延遲模式 

SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;  //禁止軟體NSS功能 

SPI_InitStructure.SPI_BaudRatePrescaler = SPI_ BaudRatePrescaler_256;      //SPI速率設置 

SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //高位先發 

SPI_Init(SPI1, &SPI_InitStructure); 

SPI_Cmd(SPI1, ENABLE); 

3.3 模數轉換採集 

下面詳細介紹軟體編寫,SPI總線的時鐘很快,既 可以採用中斷方式,也可以採用查詢方式。本系統採用查詢方式,其軟體流程如圖 4所示。

程序原始碼及其詳細注釋如下,該函數的入口參數 為通道號,即為0~7,函數根據通道號讀取該通道的數 據,同時將該數據值返回,其中部分函數為STM32的庫 函數,這裡不再詳細講述。 

u16 ReadADC1859(u16 channel) 

u16 control_code; 

control_code=Get_Control_Code(channel);//根 據通道計算控制字 

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_ FLAG_TXE) == RESET); //等待發送緩衝器為空 

SPI_I2S_SendData(SPI1,control_code);   //發送 控制字 

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_ FLAG_RXNE) == RESET);//等待接收緩衝器變非空 

temp_value = SPI_I2S_ReceiveData(SPI1); / / 讀取數據 

GPIO_ResetBits(GPIOA, GPIO_Pin_4);//convst 置低 

GPIO_SetBits(GPIOA, GPIO_Pin_4);  //convst 置高啟動一個轉換 

delay40ns();  //延遲 

delay40ns(); 

GPIO_ResetBits(GPIOA, GPIO_Pin_4);//將 convst拉低 

while(GPIO_ReadInputDataBit(GPIOC, GPIO_ Pin_4)==0x00); //等待busy變高 

delay40ns();  //延遲 

delay40ns(); 

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_ FLAG_TXE) == RESET); //等待發送緩衝器為空

SPI_I2S_SendData(SPI1,control_code);   //發送 控制字 

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_ FLAG_RXNE) == RESET);//等待接收緩衝器變非空 

temp_value = SPI_I2S_ReceiveData(SPI1); / / 讀取數據 

return temp_value; //數據返回 

}

4  結論 

本系統成功實現了基於STM32處理器和LTC1859的 16位高精度數據採集系統,給出了全新實用的硬體和軟 件設計,適用於不同信號類型和電壓範圍變化較大的數 據採集系統。該系統精度高,成本低,可靠性高,具有 一定的應用推廣價值。

參考文獻: 

[1] LTC1857/LTC1858/LTC1859 DataSheet[EB]. Linear Corp, 2004. 

[2] 李軍民,祝紅軍,王瑞.基於DSP和LTC1859數據採集系統設計 [J].微計算機信息,2010,26(02):115-117. 

[3] 陳東升,高俊俠,胡科堂.基於STM32的遠程溫控系統設計[J].電 子產品世界,2011(5):30-32. 

[4] 王永虹,徐煒,郝立平.STM32系列ARM Cortex-M3微控制器原理及實踐[M].北京:北京 航空航天大學出版社,2008.

本文來源於科技期刊《電子產品世界》2020年第03期第43頁,歡迎您寫論文時引用,並註明出處。

相關焦點

  • 基於完整數據採集系統設計方案
    基於完整數據採集系統設計方案
  • 如何利用STM32CubeMX來自動生成STM32代碼
    再加上兼容的一套中間件(RTOS、USB、TCP/IP 和圖形),所有內嵌軟體組件附帶了全套例程。  STM32CubeMX 軟體是運行於 JRE 上面的軟體,因此我們在安裝 STM32CubeMX 這個軟體之前,現需要安裝 JRE。
  • 基於DSP晶片TMS320C25409和IDT7202晶片實現多路數據採集系統的設計
    打開APP 基於DSP晶片TMS320C25409和IDT7202晶片實現多路數據採集系統的設計 徐瑞亞 , 李玲 發表於 2020-12-23 10:00:27
  • 基於單片機與PC通信的數據採集控制系統設計研究
    系統的基本組成  1. 1 系統的基本架構  文中構建的基於單片機與PC 通信的數據採集控制系統基本架構如圖1 所示:    圖1:系統基本架構框圖  如圖1 所示,被控對象通過傳感器的作用,採集到相應的數據,經過電壓轉換以及模擬/數字轉換之後,向單片機發送,單片機端可以根據數據採集的情況以及預先設置的程序
  • 基於STM 32和AD 5791的高精度數模轉換電路設計
    為了解決該問題,採用了20位的高精度數模轉換器(DAC)AD5791,並應用於基於STM32的測量儀表中。本文詳細介紹了軟硬體設計。此系統實現了超高精度的單路可調電壓輸出,精度高和噪聲低。本系統設計的基於STM32微處理器和AD5791的20位超高精度測量系統中,實現了單路超高精度可調電壓信號的輸出,輸出電壓信號的幅值可以通過軟體來設置。該系統可靠性高,不需要校準電路。
  • 基於高速A/D轉換與快速存儲操作總線接口的高速同步數據採集系統設計
    基於高速A/D轉換與快速存儲操作總線接口的高速同步數據採集系統設計 工程師黃明星 發表於 2018-07-18 14:18:00 隨著大規模集成的電路的飛速發展,PC機性能不斷提高。
  • STM32F030 PB1引腳無法置高問題的解決
    推薦閱讀 STM32F030C8T6 STM32F030R8T6 STM32F030 STOP低功耗模式配置 11uA
  • 正點原子-戰艦V3第四章 STM32F1 基礎知識入門
    這章我們分 7個小結,·4.1 MDK 下 C 語言基礎複習·4.2 STM32F1 系統架構 ·4.3 STM32F103 時鐘系統 ·4.4 IO 引腳復用器和映射·4.5 STM32F1 NVIC
  • 基於USB3.0和FPGA的多串口傳輸系統設計
    多串口數據通信技術主要研究數據的多串口採集、存儲和處理。由於串口通信技術的廣泛應用,使得多串口採集卡一直是研究的熱點,從早期的基於PCI總線的多串口數據採集卡到後來的基於USB的多串口數據採集卡,以及現在的基於USB3.0的多串口數據採集卡。
  • 【綠色智能】DAS數據採集系統之硬體篇
    DAS數據採集系統 隨著信息化系統建設的逐步推進,河北鑫達鋼鐵集團有限公司的員工已經認識到了信息化的發展對公司實現創新型現代化強企越來越重要,那麼實現信息化的途徑是什麼呢?當然是獲取數據。而獲取數據的主要途徑就是通過DAS系統對數據進行採集。
  • ADI推出全新數據採集系統(DAS)
    ADI推出全新數據採集系統(DAS)   Analog Devices, Inc. (ADI)今日推出一款數據採集系統(DAS),用於增強智能電網設備監控功能,保護這些設備免受有害系統故障的損壞並改善居民及商用的電力輸送。
  • 佳能RF24-105mm f/4.0-7.1 IS stm鏡頭詳解
    作為佳能首款「廉價版」的RF標準變焦鏡頭,目前佳能RF24-105mm f/4.0-7.1 IS stm鏡頭已經在日本官方網站正式上線了,那麼這款新鏡頭究竟有什麼新特點呢?下面耗子哥簡單跟大家聊一聊:一、匹配佳能EOS RP,組成小巧廉價的全畫幅系統佳能EOS RP搭配RF24-105mm f/4.0-7.1 IS stm鏡頭,整體重量僅有880克!這大概是佳能5D系列單反的機身重量而已。
  • 別糾結了,數據採集系統中的轉換器這麼選就對了!
    工業過程控制、可攜式醫療設備和自動化測試設備中使用的多路復用數據採集系統(DAS)需要更高的通道密度。在這些系統中,用戶希望測量多個傳感器和監控器信號,並將很多輸入通道掃描至單個ADC或多個ADC中。多路復用的整體優勢在於每通道所需的ADC數量較少,節省了印刷電路板(PCB)空間,降低了功耗和成本。
  • 數據採集卡與傳感器有什麼區別?
    常用的有單端32路/差分16路、單端16路/差分8路   ●採樣頻率:單位時間採集的數據點數,與AD晶片的轉換一個點所需時間有關,例如:AD轉換一個點需要T = 10uS,則其採樣頻率f = 1 / T為100K,即每秒鐘AD晶片可以轉換100K的數據點數。
  • LM12H458高集成度的數據採集系統DAS晶片的應用
    1 概述  LM12H458是高集成度的數據採集系統?DAS?晶片,它將採樣保持、A/D轉換集成在一塊晶片內,從而大大減少了外圍電路的設計。其8路模擬信號輸入既可作為單端輸入,又可兩兩組成差分輸入。
  • 意法半導體推出面向大眾市場的 STM32WL LoRa無線系統晶片系列產品
    片上射頻子系統有兩路可選功率輸出,幫助客戶遵守全球各地對免執照頻段無線電的功率限制。今天新推出的STM32WL型號包括基於Arm®Cortex®-M4內核和Cortex-M0 + MCU內核的雙核STM32WL55。
  • 武漢大學採購高速DIC數據採集系統、混凝土(砂漿)3D列印系統項目...
    一、項目編號:ZB0107-2007-ZCHW0693(招標文件編號:ZB0107-2007-ZCHW0693)  二、項目名稱:武漢大學採購高速DIC數據採集系統、混凝土(砂漿)3D列印系統項目  三、中標(成交)信息  供應商名稱:成都光納科技有限公司  供應商地址:成都市成華區建設北路三段2號1
  • 基於實時仿真平臺實現燃料電池汽車的硬體設計
    因為仿真測試平臺可以模擬出在實車試驗中難以實現的特殊行駛狀態和危險狀態,從而對整車控制器進行全面的測試。控制器硬體在環仿真測試中,系統用數學模型來代替,控制器使用實物,系統模型和控制器之間的接口要與實際保持一致,在仿真調試完畢後,達到控制器和系統之間的「垂直安裝」或「垂直集成」。控制器在完成硬體在環仿真之後,就可以進入系統集成和測試環節,最後實現初期設計的各項功能和指標。
  • 基於胎壓差分法的車輛自載重檢測系統設計
    摘要:針對車輛超載檢測系統精度不高、效率低的現狀,本文研究一種基於胎壓差分的測量方法,並在此基礎上利用傳感技術、無線收發技術、嵌入式硬體技術等,集成開發車輛載重檢測系統,實現胎壓變化的監測與記錄。通過準確性試驗得出該系統的相對誤差在±5%以內;由穩定性實驗得出最大相對誤差為3.8%。因此該測量系統具有較高的理論價值和實用價值。
  • 基於物聯網架構的箱式變電站智能監測系統
    國內學者提出多種箱變智能監測裝置設計方案,基本技術路線是採用集中式數據採集設計方案,不便於功能擴展和信息集成。在設備狀態診斷方面,以分類和預測為主的機器學習技術成為主要研究方向。隨著物聯網技術的飛速發展,支持物聯網通信和邊緣計算能力的數據採集系統逐步得到推廣應用。2019年國家電網公司提出電力物聯網概念,大力發展物聯技術應用於生產實踐。