• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術(shù) > 設(shè)計應用 > 基于ATt i n y 1 3的模擬量隔離采集

    基于ATt i n y 1 3的模擬量隔離采集

    作者: 時間:2009-12-15 來源:網(wǎng)絡(luò) 收藏


    1 概 述
    在工控應用中,模擬信號通常需要采用技術(shù),以避免大型電氣設(shè)備啟合或切換過程中造成的電源和地線波動影響弱電控制系統(tǒng)。常見的方法主要有放大器、電磁隔離和光電隔離3種方式。隔離放大器,精度很好,但成本高;電磁隔離,設(shè)備體積較大,精度較差。
    光電隔離技術(shù)是一種非常有效的抗干擾手段。光耦作為常見的光電隔離器件,主要用于數(shù)字量隔離傳輸。如果使用光耦傳輸,那么要求光耦的非線性度非常小,以保證輸入的模擬信號的線性,絕大部分的光耦都很難達到。為了實現(xiàn)對的光電隔離,必須先進行模/數(shù)(A/D)轉(zhuǎn)換,才能將轉(zhuǎn)換后的數(shù)字量經(jīng)由光耦傳遞給下一級電路。
    傳統(tǒng)方法,直接使用A/D芯片進行模/數(shù)轉(zhuǎn)換,然后經(jīng)光耦傳輸。按接口形式,A/D芯片可分并行和串行訪問2種方式。并行A/D芯片精度越高,并行數(shù)據(jù)線占用的光耦數(shù)目越多,而且需要配以控制A/D轉(zhuǎn)換操作相應的隔離信號,這種方式接線多,占用資源也多;串行A/D芯片可以節(jié)省不少光耦,但需要復雜的時序才能完成對A/D的讀寫操作。
    本文提出一種使用集成A/D的微型單片機AT-tiny13進行模擬量隔離采集,使用單根數(shù)據(jù)線完成數(shù)據(jù)傳輸。模擬量隔離采集采用了簡化的UART通信方式,即單工通信方式,只需要發(fā)送線TXD,無需接收線RXD。這樣,單根數(shù)據(jù)線就能承擔發(fā)送A/D轉(zhuǎn)換值任務(wù),接收方只要具備硬件UART或軟件UART(接收),就可以輕松獲取隔離模擬量值。

    本文引用地址:http://www.czjhyjcfj.com/article/188463.htm


    2 iny13簡介
    iny13具有1 KB Flash,64字節(jié)EEPROM,64字節(jié)SRAM,6個通用I/O口線,32個通用工作寄存器,1個具有比較模式的8位定時器/計數(shù)器,片內(nèi)/外中斷,以及4路10位ADC。


    3 硬件設(shè)計
    模擬量隔離采集電路如圖1所示。iny13有2路10位ADC可控選擇,本設(shè)計中只使用了1路ADC。光耦PC817用于傳輸A/D轉(zhuǎn)換值。CLKI代表從外部引入的時鐘源。

    4 軟件UART
    ATtiny13內(nèi)部沒有集成UART功能。為了彌補這一缺陷,可以使用軟件控制I/O引腳模擬UART功能,按照設(shè)定的采集速率將A/D轉(zhuǎn)換值經(jīng)光耦隔離輸出。
    4.1 異步串行協(xié)議
    采用UART異步串行協(xié)議通信時,數(shù)據(jù)按順序逐位輸出。接收方通過監(jiān)測起始位(低電平有效)和停止位(高電平有效)來判斷一幀信息的起始與結(jié)束。數(shù)據(jù)幀中還可包括若干數(shù)據(jù)位和奇偶校驗位。異步串行協(xié)議的起始位與停止位必須使用,其余各位可調(diào)整位長度。異步串行協(xié)議格式如下:

    本文定義幀格式為:起始位(1位),數(shù)據(jù)位(5位),無奇偶校驗位,停止位(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位。


    上一頁 1 2 下一頁

    關(guān)鍵詞: ATt 模擬量 隔離 采集

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 平南县| 保亭| 特克斯县| 桦川县| 基隆市| 民县| 济南市| 鲁甸县| 宁陕县| 玉龙| 岳池县| 利津县| 库伦旗| 留坝县| 南召县| 伊川县| 丰宁| 鸡西市| 温宿县| 福州市| 洪江市| 大埔区| 页游| 清原| 宁远县| 珠海市| 舟山市| 苍南县| 永定县| 衡水市| 双流县| 自贡市| 重庆市| 扎囊县| 太仆寺旗| 化州市| 南部县| 彰化市| 咸阳市| 巴林右旗| 江源县|