基于ATt i n y 1 3的模擬量隔離采集
1 概 述
在工控應(yīng)用中,模擬信號(hào)采集通常需要采用隔離技術(shù),以避免大型電氣設(shè)備啟合或切換過程中造成的電源和地線波動(dòng)影響弱電控制系統(tǒng)。常見的模擬量隔離方法主要有隔離放大器、電磁隔離和光電隔離3種方式。隔離放大器,精度很好,但成本高;電磁隔離,設(shè)備體積較大,精度較差。
光電隔離技術(shù)是一種非常有效的抗干擾手段。光耦作為常見的光電隔離器件,主要用于數(shù)字量隔離傳輸。如果使用光耦傳輸模擬量,那么要求光耦的非線性度非常小,以保證輸入的模擬信號(hào)的線性,絕大部分的光耦都很難達(dá)到。為了實(shí)現(xiàn)對(duì)模擬量的光電隔離采集,必須先進(jìn)行模/數(shù)(A/D)轉(zhuǎn)換,才能將轉(zhuǎn)換后的數(shù)字量經(jīng)由光耦傳遞給下一級(jí)電路。
傳統(tǒng)方法,直接使用A/D芯片進(jìn)行模/數(shù)轉(zhuǎn)換,然后經(jīng)光耦傳輸。按接口形式,A/D芯片可分并行和串行訪問2種方式。并行A/D芯片采集精度越高,并行數(shù)據(jù)線占用的光耦數(shù)目越多,而且需要配以控制A/D轉(zhuǎn)換操作相應(yīng)的隔離信號(hào),這種方式接線多,占用資源也多;串行A/D芯片可以節(jié)省不少光耦,但需要復(fù)雜的時(shí)序才能完成對(duì)A/D的讀寫操作。
本文提出一種使用集成A/D的微型單片機(jī)AT-tiny13進(jìn)行模擬量隔離采集,使用單根數(shù)據(jù)線完成數(shù)據(jù)傳輸。模擬量隔離采集采用了簡(jiǎn)化的UART通信方式,即單工通信方式,只需要發(fā)送線TXD,無需接收線RXD。這樣,單根數(shù)據(jù)線就能承擔(dān)發(fā)送A/D轉(zhuǎn)換值任務(wù),接收方只要具備硬件UART或軟件UART(接收),就可以輕松獲取隔離模擬量值。
2 ATtiny13簡(jiǎn)介
ATtiny13具有1 KB Flash,64字節(jié)EEPROM,64字節(jié)SRAM,6個(gè)通用I/O口線,32個(gè)通用工作寄存器,1個(gè)具有比較模式的8位定時(shí)器/計(jì)數(shù)器,片內(nèi)/外中斷,以及4路10位ADC。
3 硬件設(shè)計(jì)
模擬量隔離采集電路如圖1所示。ATtiny13有2路10位ADC可控選擇,本設(shè)計(jì)中只使用了1路ADC。光耦PC817用于傳輸A/D轉(zhuǎn)換值。CLKI代表從外部引入的時(shí)鐘源。
4 軟件UART
ATtiny13內(nèi)部沒有集成UART功能。為了彌補(bǔ)這一缺陷,可以使用軟件控制I/O引腳模擬UART功能,按照設(shè)定的采集速率將A/D轉(zhuǎn)換值經(jīng)光耦隔離輸出。
4.1 異步串行協(xié)議
采用UART異步串行協(xié)議通信時(shí),數(shù)據(jù)按順序逐位輸出。接收方通過監(jiān)測(cè)起始位(低電平有效)和停止位(高電平有效)來判斷一幀信息的起始與結(jié)束。數(shù)據(jù)幀中還可包括若干數(shù)據(jù)位和奇偶校驗(yàn)位。異步串行協(xié)議的起始位與停止位必須使用,其余各位可調(diào)整位長(zhǎng)度。異步串行協(xié)議格式如下:
本文定義幀格式為:起始位(1位),數(shù)據(jù)位(5位),無奇偶校驗(yàn)位,停止位(1位)。ATtiny13自帶精度為10位的A/D轉(zhuǎn)換器,而數(shù)據(jù)位設(shè)定為5位寬度,所以需要連續(xù)發(fā)送2次異步串行通信幀,才能將一次A/D轉(zhuǎn)換值傳送完整。按照高位先出的方法,前1次發(fā)送A/D轉(zhuǎn)換值的高5位,后1次發(fā)送低5位。
評(píng)論