路曉 張勇 言行果 吉耀輝 劉宜欣
摘要:隨著嵌入式技術(shù)的迅速發(fā)展,數(shù)據(jù)采集已成為控制電路中不可或缺的一部分,因此,數(shù)模轉(zhuǎn)化器和單片機被廣泛應(yīng)用于各種控制電路中。ADS8509是德州儀器公司生產(chǎn)的16位串行模數(shù)轉(zhuǎn)換器。文章通過分析ADS8509的工作原理、接口特點及使用方法,給出了在內(nèi)部時鐘模式下,ADS8509與STM32單片機的數(shù)據(jù)采集電路和相關(guān)程序代碼,得到基于STM32的ADS8509的使用方法。
關(guān)鍵詞:模數(shù)轉(zhuǎn)換器;數(shù)據(jù)采集;單片機;外圍電路;內(nèi)部時鐘
中圖分類號:TP311? ? ?文獻標識碼:A
文章編號:1009-3044(2022)14-0009-03
1 引言
單片機是嵌入式系統(tǒng)中的核心部件[1],STM32是意法半導(dǎo)體公司生產(chǎn)的一款微控制器產(chǎn)品系列的總稱[2],本質(zhì)上也是一款單片機。這款單片機吸取了其他單片機內(nèi)部結(jié)構(gòu)、外設(shè)等的優(yōu)點,并做了一些重要的改變,主要是程序存儲器的可擦除次數(shù),語句執(zhí)行速度等。本文主要采用STM32F1系列單片機,它具有集成度高、低功耗、低成本、集成接口豐富、實時性強、處理速度快等優(yōu)點[3-6]。
模數(shù)轉(zhuǎn)換器簡稱A/D轉(zhuǎn)換器或ADC,是指將模擬信號轉(zhuǎn)換成數(shù)字信號的電子元件,是現(xiàn)實世界中模擬量向數(shù)字量轉(zhuǎn)換的橋梁,是現(xiàn)代電子技術(shù)發(fā)展的關(guān)鍵[11-13]。目前有多種類型的A/D轉(zhuǎn)換器,有傳統(tǒng)的并行、逐次逼近型、積分型、
2 STM32及ADS8509主要性能及相關(guān)管腳說明
2.1 主要性能
STM32F1系列單片機采用ARM公司的高性能“Cortex-M3”內(nèi)核,兼容5V的I/O管腳,內(nèi)嵌復(fù)位電路、RC振蕩器,且外設(shè)接口豐富,如:串行調(diào)試和JTAG接口、DMA、A/D和D/A轉(zhuǎn)換器、串行通信接口、SPI通信接口、I2C通信接口等[6-10]。最高工作頻率72M,但采用內(nèi)部時鐘時,最高工作頻率為64M。片上集成32-512KB的Flash存儲器和6-64KB的SRAM。
ADS8509是一款具有250KHz采樣速率, 16位串行數(shù)據(jù)輸出的高速模數(shù)轉(zhuǎn)換器,兼容模擬量輸入、串口輸出、SPI串行通信協(xié)議,最大非線性誤差小于±2LSB的A/D轉(zhuǎn)換器。采用CMOS技術(shù)并具有單電源供電功能。ADS8509具有雙極性和單極性兩種電壓輸入方式,本電路采用該芯片的單極性工作方式,電壓輸入范圍為0~5V。數(shù)據(jù)輸出采集有內(nèi)部時鐘和外部時鐘兩種參考基準,使用外部時鐘時,該芯片通過接收外部時鐘來實現(xiàn)數(shù)據(jù)采集傳輸,采用內(nèi)部時鐘時,只要給控制信號,芯片會自己發(fā)送時鐘信號,進行傳輸。本電路以內(nèi)部時鐘和電壓參考源為基準,采用二進制編碼方式輸出十六位串行數(shù)據(jù)。
2.2 管腳說明
單片機STM32管腳眾多,本文中用到的主要是其SPI接口和調(diào)試接口,因此只對這部分功能進行說明。通常SPI 通訊使用四條連接線:SCK、MOSI、MISO、NSS,其中NSS為選擇信號線,其他均為數(shù)據(jù)線,它們的具體功能如下:
(1) NSS:從設(shè)備選擇線,也稱為CS。用于多個從設(shè)備共用SCK、 MOSI及 MISO三條信號線。當有多個SPI從設(shè)備時,所有從設(shè)備的三條信號線全部并聯(lián)在一起,共用三條數(shù)據(jù)線,但是有多少個從設(shè)備必須有多少個從設(shè)備選擇線,即片選信號線。片選信號低電平有效,即當該從設(shè)備的片選信號為低電平時,該從設(shè)備被選中與主機進行SPI通訊,變?yōu)楦唠娖綍r,通訊結(jié)束。因為SPI協(xié)議中沒有設(shè)備地址,所以通過NSS信號來選擇通訊地址。
(2) SCK:SPI傳輸時鐘信號線,主要用于傳輸數(shù)據(jù)的同步。進行通訊時,不同設(shè)備具有不同的通信速率,它由通訊主機產(chǎn)生,主要決定了數(shù)據(jù)傳輸?shù)乃俾?。但是?shù)據(jù)的傳輸?shù)乃俾屎蛢蓚€設(shè)備所能承受的最大傳輸速率都有關(guān)系,如STM32系列單片機SPI時鐘的最大頻率為fpclk/2,進行設(shè)計時除了要考慮芯片的傳輸速率還要考慮STM32的傳輸速率。
(3) MOSI: 主設(shè)備輸出/從設(shè)備輸入引腳。這條線主要是用作數(shù)據(jù)傳輸?shù)?,由于STM32可以作為主設(shè)備也可以作為從設(shè)備,所以需要區(qū)分數(shù)據(jù)傳輸時,它接收還是發(fā)送,這條數(shù)據(jù)線代表主機用來輸出數(shù)據(jù)的信號線,因此這條信號線的方向為從主機到從機。
(4) MISO: 主設(shè)備輸入/從設(shè)備輸出引腳。與上面那條數(shù)據(jù)線相反,這條數(shù)據(jù)線的方向是從機到主機,這條信號線主要是用來接收數(shù)據(jù)的。
ADS8509工作溫度范圍在-40℃~85℃之間。它有20引腳SO和28引腳SSOP兩種封裝形式,引腳圖如圖1所示。本文使用的是20引腳SO封裝形式的芯片,并且采用單極性5V供電電源。下面對芯片的主要引腳進行介紹:
SB/:用來選擇是用二進制輸出還是用二進制補碼形式輸出。該引腳電平為低時,用補碼形式輸出,為高時,用標準二進制輸出。
EXT/>:用來選擇時鐘模式,當該引腳電平為高時,采用外部時鐘模式;為低時,采用內(nèi)部時鐘模式。
:用來判斷芯片是否轉(zhuǎn)換完成,即忙輸出。芯片轉(zhuǎn)換開始后,該信號引腳會輸出低電平,直到轉(zhuǎn)換完成變成高電平。
R/:用于芯片開始轉(zhuǎn)換的信號。檢測到該引腳低電平,啟動芯片AD轉(zhuǎn)換。
TAG:該芯片可以級聯(lián),該引腳用于外部時鐘模式下選擇輸入端。
DATA:用于采集數(shù)據(jù)的輸出。
DATACLK:用于選擇芯片時鐘,同步數(shù)據(jù)輸出。在內(nèi)部時鐘模式下,為時鐘輸出端;在外部時鐘模式下,為數(shù)據(jù)輸入端。6614696C-949E-448D-B7F8-D701A45A26B1
SYNC:同步輸出,一般用在外部時鐘情況下。
3 ADS8509的工作原理
有兩個信號來控制ADS8509的轉(zhuǎn)換:
(1)內(nèi)部時鐘模式:
當ADS8509片選信號保持低電平同時EXT/為低電平,采用內(nèi)部時鐘模式。在該模式下,DATACLK為輸出端,同時控制信號R/的下降沿可以使ADS8509內(nèi)部的采樣—保持器進入保持狀態(tài),同時啟動轉(zhuǎn)換并將上一次的轉(zhuǎn)換結(jié)果通過DATA引腳輸出。其中輸出數(shù)據(jù)DATA與時鐘引腳DATACLK同步,其工作時序如圖2所示:
(2)外部時鐘模式:
和內(nèi)部時鐘模式相似,該芯片片選控制信號CS被置為低電平,時鐘選擇引腳被置為高電平時使用外部時鐘模式,同時將TAG引腳接低電平。采用外部時鐘模式時,一般開始BUSY信號為高電平時開始讀數(shù),讀的是上一次轉(zhuǎn)化的數(shù)據(jù),數(shù)據(jù)與外部輸入時鐘同步移入DATA引腳中。讀數(shù)據(jù)允許的最高傳輸頻率為28.5MHz.
在采用外部時鐘時,外部時鐘可以是間斷的也可以是連續(xù)的。顧名思義,間斷的外部時鐘就是需要讀取數(shù)據(jù)的時候就給外部時鐘,連續(xù)的外部時鐘是一直給外部時鐘。考慮到靈活性和穩(wěn)定性一般采用間斷模式,即需要讀數(shù)據(jù)的時候輸入外部時鐘。
外部時鐘模式下的工作時序如圖3所示:
4 ADS8509與單片機STM32接口的應(yīng)用電路
5 結(jié)語
本文詳細描述了ADS8509芯片的性能及工作原理。設(shè)計了在內(nèi)部時鐘模式下,ADS8509與STM32單片機硬件接口的數(shù)據(jù)采集電路,同時給出了程序代碼,得到正確使用該數(shù)模轉(zhuǎn)換器ADS8509的方法。此外,ADS8509的控制引腳,很容易受到外部信號的干擾,設(shè)計電路時應(yīng)做好相應(yīng)的濾波處理,同時注意采樣速率,過快的采樣速率,容易導(dǎo)致數(shù)據(jù)出現(xiàn)亂碼。
參考文獻:
[1] 曾堯.基于STM32的智能小車循跡優(yōu)化設(shè)計[J].機械工程師,2022(1):25-27.
[2] 王勇,李紹銘,賈茂盛,等.基于STM32的學(xué)習(xí)型紅外遙控器[J].工業(yè)控制計算機,2021,34(12):139-140,143.
[3] 康健,袁志鋼,陳靜,等.基于STM32的消防物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計[J].工業(yè)控制計算機,2021,34(12):118-119,149.
[4] 朱衍明,林九根,宋家平,等.基于嵌入式系統(tǒng)STM32的UUV通用運動控制層設(shè)計[J].計算機測量與控制,2021,29(12):120-125.
[5] 劉軍.基于STM32的智能灌溉控制系統(tǒng)設(shè)計[J].農(nóng)機化研究,2022,44(10):181-184.
[6] 未慶超,李振玲,商城超,等.伺服控制裝置的STM32與FPGA通信模塊設(shè)計[J].電子技術(shù),2021,50(12):4-6.
[7] 陳舒生,李榮浩,張曉龍.基于STM32F103的一種新型前混式商用燃氣爐控制系統(tǒng)[J].科技風(fēng),2021(35):25-27.
[8] 趙嘉豪,葉梁杰,羅心韻,等.基于STM32的光電搬運機器人設(shè)計與試驗[J].機械制造與自動化,2021,50(6):158-161,165.
[9] 劉天成,田學(xué)軍.基于ESP8266與STM32的智能晾衣桿系統(tǒng)設(shè)計[J].山西電子技術(shù),2021(6):6-10.
[10] 鄭爭兵,韓團軍,王桂寶.基于STM32的高精度電能測量系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2021,44(24):29-33.
[11] 郭夏夏,俞水鋒,田社平.基于PIC18F4550的USB數(shù)據(jù)采集系統(tǒng)的設(shè)計及應(yīng)用[J].計量技術(shù),2013(5):34-37.
[12] 古利.FPGA+ADS8509在高速預(yù)檢儀表中的應(yīng)用[J].衡器,2013,42(1):21-25.
[13] 劉偉,王汝琳,張守祥,等.基于DSP和ADS8509的煤矸石振動信號實時采集[J].煤礦機械,2009,30(7):197-199.
[14] 安艷.基于DSP的主動型氫鐘腔自動調(diào)諧系統(tǒng)設(shè)計[D].上海:中國科學(xué)院研究生院(上海天文臺),2007.
[15] 吳星明.AD8509/AD8511 9和11通道多路轉(zhuǎn)換輸入LCD基準電壓驅(qū)動器的特點及應(yīng)用[J].電子技術(shù)應(yīng)用,1998,24(8):69-70.
收稿日期:2022-01-06
作者簡介:路曉(1993—),女,山西大同人,設(shè)計師,碩士,主要研究方向為驅(qū)動控制。6614696C-949E-448D-B7F8-D701A45A26B1