《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于可編程數字電位器在AVR單片機中的應用
基于可編程數字電位器在AVR單片機中的應用
電子工業專用設備
謝珺耀
摘要: AVR單片機和X9221系列可編程數字電位器都有內置的E2ROM單元,可以非常方便地為用戶保留一些工藝參數;X9221系列電位器0~63級的變化可以將電位器調節到手動無法實現的平滑級別,調節過程中不會產生噪聲且壽命長、不受機械振動污染潮濕影響等。
關鍵詞: avr 數字電位器 X9221
Abstract:
Key words :

1 引言  

    AVR" title="AVR">AVR嵌入式單片機具有豐富的硬件、軟件資源,其中的串行I2C接口能滿足很多應用場合的要求,兩個AVR單片機通過I2C總線直接連接就可實現單片機相互通信;AVR單片機還可以和任何具有I2C總線接口的外設直接連接而無須其它硬件電路支持。而X9221" title="X9221">X9221系列可編程數字電位器" title="數字電位器">數字電位器在智能測試設備上應用非常廣泛,通過I2C總線可以簡單地構成單片機與各種外設之間乃至與計算機之間的通信,建立友好的人機界面聯系。硬件設計簡單、靈活,只需要將所有設備的SDA和SCL信號線分別并聯在一起并加上拉電阻即可,有助于提高設備的自動化水平、可靠性、穩定性及電氣裝配的工藝性。AVR單片機和X9221系列可編程數字電位器都有內置的E2ROM單元,可以非常方便地為用戶保留一些工藝參數;X9221系列電位器0~63級的變化可以將電位器調節到手動無法實現的平滑級別,調節過程中不會產生噪聲且壽命長、不受機械振動污染潮濕影響等。  

2 X9221系列數字電位器介紹  

2.1電氣特性及硬件結構原理  

    X9221系列電位器共有15種規格型號,有雙列直插DIP20和表面貼裝SOIC20兩種封裝。電源電壓民品級、工業級為4.5~5.5V,軍品級為2.7~5.5V;一組封裝芯片內有兩個數字電位器,參見圖1,X9221系列電位器封裝及引腳功能。內置的E2ROM單元,可以在掉電時將數據很好地保存,上電時自動加載到自己的RAM單元,電位器接口是標準的I2C總線,其中的數據寄存器可通過I2C總線進行讀寫操作;電位器滑動端(VW0/RW0,VW1/RW1)相當于普通電位器中間抽頭,是無摩擦"觸點"。  

     X9221系列電位器總電阻配置有3種阻值2 kΩ、10kΩ、50kΩ,用戶可根據自己的設計需求來選型。每一個芯片有A0~A3四位二進制編程的器件地址以區分I2C總線上接入的不同外設,因此,一條總線上最多可接入16個X9221器件。器件內部有兩組類型的寄存器"DATA"和"WCR",他們的訪問則由串行數據線上的命令字來確定。電阻陣列通過內部編碼可以有64種狀態,0~63種狀態的連續變化,相當于電位器中心抽頭從普通電位器的一端滑動到另一端;所有的寄存器都可以通過I2C總線進行雙向操作,即可讀可寫。  

    "在線"實時的調節電位器"中間抽頭位置"可以有3種方法:通過I2C總線向WCR寄存器寫數據(串行加載)、通過對相應的DATA類寄存器直接寫數據(并行加載)、以及增量減量命令(下面會討論到)直接寫數據;概念上電位器"中間抽頭位置"可以由"WCR"寄存器來替代,其另一類寄存器可以由"DATA"寄存器來替代。  

2.2數字電位器I2C總線時序及指令  

2.2.1一般I2C總線通信時序  

    X9221系列數字電位器其接口是按標準的I2C總線設計的,因此,硬件連接非常簡單,只需把串行時鐘線SCL、串行數據線SDA與之對應相連即可。其通信完全符合I2C總線協議要求,串行時鐘線SCL、串行數據線SDA按照規定的協議產生一序列脈沖串,進而完成傳輸一組數據的任務。參見圖2 I2C總線通信時序。  

    X9221系列數字電位器完全以從機的身份出現在I2C總線上,它不可以主機的身份出現在I2C總線上,也就是說對其寄存器的讀寫操作都受控于主機,這一點一定要在硬件和軟件設計上留意。當主機發出"START"信號后,從機(X9221A)芯片即將拉高SDA線,表明放棄數據線權限由主機控制,主機發送一個字節后再由從機(X9221A)芯片自動拉低SDA線,表明數據收到,如果此時從機將SDA線拉不低,表明從機沒有正常接受數據,主機必須啟動下一個寫周期。可以理解為主機每發送一個字節后都會等待一個ACK回答響應信號,否則,主機認為從機(X9221A)沒有正常接收數據。  

2.2.2 X9221指令表  

    表1是X9221所有指令說明,其中前4種指令的正常執行需要在串行數據線上至少有3個步驟:①通過數據線寫從機地址;②寫指令;③寫數據。才能完成一個寄存器的讀或寫,這4種指令適用于X9221三字節時序格式操作。如果是寫在WCR類型的寄存器中,掉電后數據丟失,寫在DATA類型的寄存器中,掉電后數據存在其中;全局轉換的4種指令的正常執行需要在串行數據線上至少有2個步驟:①通過數據線寫從機地址、②寫指令,才能完成所有寄存器之間的數據交換,適用于X9221兩字節時序格式操作;最后一種"+/-"指令相當于"在線"上下調節電位器中間抽頭,比較直觀,很好理解。"+/-"指令僅訪問WCR類型寄存器,且只是寫操作,如果數據線SDA保持高電平,下一個時鐘信號SCL周期到來,WCR寄存器數據"+1"。如果數據線SDA保持低電平,下一個時鐘信號SCL周期到來,WCR寄存器數據"-1"。然而,不管哪種命令,只要寫DATA類型的寄存器(芯片內的E2ROM存儲單元),寫操作要花費大約10 ms時間才能完成,在設計通信軟件時一定要特別留意。

3 AVR系列單片機與數字電位器硬件和軟件設計  

3.1 X9221數字電位器與AVR系列單片機硬件接口  

    X9221數字電位器與AVR系列單片機硬件接口如圖3所示。硬件連接非常簡單,只需將所有設備串行數據線SDA、串行時鐘線SCL相連接并接10 kΩ左右的上拉電阻即可。連接在I2C總線上的邏輯電平為"線與"邏輯關系,只要有一個設備將其拉低,總線上即出現低電平,當所有設備總線都懸掛起時呈現高阻狀態。主機發送模式就是向其中一個外設寫入數據,首先產生一個啟動信號"START","START"發送成功后才向外設發送設備地址,地址發送成功后,再發送數據,數據可以是1~N個字節,所有數據發送完成,最后發送"STOP"完成主機寫的過程。主機接收模式也是一樣的,過程類似。對X9221來說地址發送完成后,必須發送指令模式,告訴X9221目前將做什么,指令的含義上面已提到,指令模式后是一組數據,其它過程一樣。  

    為了使I2C總線處于正常狀態,所有總線上的設備必須加電,如果有一個設備沒有加電,總線將處于不正常工作狀態。在總線上有幾個設備同時欲將發送數據時,競爭中某主機發現仲裁失敗后,應立即回到從機狀態或放棄總線請求,保證獲取總線控制權的主機正常發送數據;不同的主機有不同的總線時鐘頻率,通過SCL信號"線與"來保證,即高電平為高電平中最短的,低電平為低電平中最長的,也就是說協議"照顧"了速度最慢的設備;集結在總線上所有的傳送必須包含相同數目的數據包,否則,多主機系統中仲裁結果無法定義,這在設計上要特別注意。  

3.2 X9221數字電位器與AVR系列單片機通信軟件設計  

    下面是一個通過查詢由atmega16單片機向X9221發送數據的例程,在這個例程中需要注意的是TWINT標志利用軟件寫"1"進行清零(清除硬件置位標志),而當前發送完成后由硬件自動將TWINT標志置"1",TWINT標志是不能通過硬件清零的;每次通過檢查TWINT標志判斷當前發送是否完成,通過讀取狀態寄存器TWSR的值判斷發送的數據是否正確。  

START:  

LDI R16,$A4;設置AVR單片機I2C總線控制寄存器  

OUT TWCR,R16;軟件清除TWINT標志WAIT1:  

IN R16,TWCR;讀取控制寄存器TWCR  

SBRS R16,7;等待硬件置位TWINT標志  

RJMP WAIT1;TWINT標志沒置位,循環檢查等待  

IN R16,TWSR;讀取狀態寄存器TWSR  

ANDI R16,$F8;屏蔽無效位  

CPI R16,$08:檢查"START"信號是否發送成功  

BRNE ERROR;"START"信號發送未成功,轉入出錯處理  

LDI R16,$56;發送X9221器件地址56="5"器件標識,"6"器件地址  

OUT TWDR,R16  

LDI R16,$84  

OUT TWCR,R16;軟件清除TWINT標志  

IN R16,TWSR  

ANDI R16,$F8  

CPI R16,$18;檢查X9221器件地址是否發送成功  

BRNE ERROR;X9221器件地址發送未成功,轉入出錯處理  

LDI R16,$2F;設置所發送的數據(0~63有效,例中為47)  

OUT TWDR,R16;數據輸出到數據寄存器TWDR  

LDI R16,$84  

OUT TWCR,R16;軟件清除TWINT標志;檢查數據"2F"是否發送完成,類似于上述循環繼續
LDI R16,$94;發送"STOP"信號,一次'$2F'數據發送完成  

OUT TWCR,R16  

ERROR:···;出錯處理過程  

END  

    在此例程中,器件的地址對X9221來說為56,其中"5"是器件本身固有的以區別于其它類型的設備,而"6"是設計硬件時規定的,可以是"0~F"任何十六進制數值;例程中AVR單片機僅作為主機使用且向X9221發送數據,其實從X9221中讀取當前數據也是一樣的。本例程采用查詢方式,程序顯得繁瑣,但是如果采用中斷方式的話,程序就會顯得簡單多,只要標志SREG寄存器中"I"位和I2C總線控制寄存器中的"TEWIE"置"1",即中斷使能有效,當"TWINT"標志置"1"立即產生中斷請求,表明完成當前數據發送完成,可以準備下一個字節數據發送或停止發送等操作。  

4 X9221可編程數字電位器在半導體專用設備一些應用研究  

4.1用于測量微小電壓變化  

    圖4是微小電壓測量電路模型,用于芯片鍵合設備中去檢測吸頭上是否有芯片吸附以及吸頭是否堵塞、或者芯片是否丟失等現象。當內徑為大約0.1~0.15 mm的吸頭去吸附一個小芯片時,如果芯片較透明,光敏傳感器檢測出來的電壓變化較小,一般在10~50 mV間;同樣當吸頭吸附一個小芯片時,氣路真空的壓力也會產生變化,這種壓力的變化以傳感器電壓變化輸出。為了改變電位器"中間抽頭"以便與傳感器檢測輸入電壓相匹配,計算機通過RS232接口向單片機發送數據,單片機收到數據后轉發給X9221可編程數字電位器以改變基準電壓值。比較基準電壓U∑+按下式確定:  

    U∑+是LM393運放同相輸入端電壓(在這種狀態下,考慮到前級傳感器輸出基本上處于放大狀態,所用傳感器電源電壓為+5 V,最高輸出電壓按3.5 V計算)  

    N是0~63共64種狀態變化值,那么,當U∑+從0~3.5 V變化時,最小分辨率可以達到55 mV左右,用手工進行一般電位器調節達到這樣的分辨率是難以掌控的。  

    基準電壓(即U∑+)通過機器的人機界面可以"直接調節",如果將電位器數值進行標定,隨時還可以看到當前的基準電壓大小。傳感器輸出電壓與基準電壓比較,使電壓比較器輸出反應當前的狀態,不同的時刻高低電平代表不同的意義,如"吸頭阻塞"、"芯片丟片"、"真空不足"等。  

4.2測量微小電流變化  

    圖5是微小電流測量電路模型,用于引線鍵合設備中去檢測斷線、連線、短路等情況,被測器件是一個半導體元件,當在焊盤上鍵合上一根金線時,通過檢測漏電流來判斷這條金線與芯片鍵合過程中是否存在"斷線"、"連線"、"短路"等情況。計算機通過界面操作發送指令以改變X9221可編程數字電位器的阻值,進而改變電壓源的放大倍數以改變加在被測元件的電壓,從而達到適應不同品種的半導體器件性能要求。  

    設:信號源的輸出為Us,運放LM324輸出為U0,X9221電阻為Rx,被測元件阻抗為Rz,被測元件流過的漏電流為I0,則用以下兩個表達即可表達它們之間的關系:  


  
     通過主機界面改變Rx可編程電阻值,即可以改變U0,U0的改變等于改變了I0,而I0的改變等于改變了流過被測器件的最大允許電流,從而保護了被測器件不會因為檢測漏電流而損壞,通過檢測被測器件上施加的電壓和U0之差值即可判斷漏電流大小,從而檢測金線是否與被測器件焊盤點鍵合上。I0是根據不同器件在工藝參數上需要經常調節的量,以適應不同場合的要求。  

5 結束語  

    可編程數字電位器的最大優點在于直接可以和帶有I2C總線單片機相連而無需特殊設計,上位機可以隨機讀取電位器當前設定值。利用它的這些優點,可以提高設備儀器的智能化水平,特別是在帶有I2C總線的嵌入式單片機中應用十分靈活簡單。隨著電子技術的飛速發展,人們對設備、儀器以及家用電器的追求已不再僅僅滿足功能使用上,而是在產品應用的人性化上要求越來越高,由于大多數自動化設備上,都具有友好的人機界面,人們通過計算機界面想完成所有操作,比如調節一個電位器以調節電流、電壓或者電機速度、轉矩、頻率等物理量,利用可編程數字電位器完全可以通過界面完成。適時采用可編程數字電位器不但可以降低成本、簡化電路設計、提高可靠性,而且可以使設計更加人性化。另外,AVR單片機可以通過JTAG接口完成仿真調試、下載程序;片內有FLASH和E2ROM存儲單元,有標準的串行接口、I2C總線接口、SPI接口增強了其硬件功能;支持C語言編程,便于掌握C語言者無需太多地了解硬件就能進行一些編程。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久超碰97中文字幕| 亚洲免费电影在线| 亚洲黄色一区二区三区| 国产精品一区二区久久精品| 欧美日韩高清在线播放| 免费日本视频一区| 免费成人黄色片| 男人插女人欧美| 麻豆国产精品va在线观看不卡| 久久黄色网页| 久久久久看片| 久久九九精品| 久久免费国产精品1| 亚洲午夜av| 亚洲综合大片69999| 亚洲欧美国产日韩天堂区| 亚洲欧美日韩成人| 欧美一级专区| 久久久五月天| 欧美freesex交免费视频| 欧美阿v一级看视频| 欧美激情1区2区| 欧美日韩p片| 欧美午夜一区二区三区免费大片| 国产精品久久久久婷婷| 国产精品久久777777毛茸茸| 国产精品日韩欧美| 国产日韩专区在线| 在线观看日韩av电影| 亚洲欧洲另类国产综合| 一本在线高清不卡dvd | 一区二区三区四区五区精品| 亚洲性感激情| 欧美一区二区三区四区在线观看 | 鲁大师影院一区二区三区| 嫩草国产精品入口| 欧美日韩不卡视频| 国产精品中文字幕欧美| 黄色精品一区二区| 亚洲精品四区| 亚洲欧美日韩综合国产aⅴ| 久久国产一二区| 日韩亚洲一区二区| 午夜影院日韩| 欧美96在线丨欧| 国产精品国产三级国产aⅴ入口 | 在线亚洲电影| 久久黄色级2电影| 一区二区三区四区五区精品视频| 欧美伊人久久久久久久久影院| 久久影院午夜论| 欧美色图一区二区三区| 国产欧美视频一区二区| 亚洲电影第1页| 亚洲午夜高清视频| 亚洲国产成人一区| 宅男精品视频| 久久精品在线播放| 欧美日韩美女在线| 国产日韩欧美在线播放| 亚洲人成毛片在线播放| 亚洲欧美激情一区| 99在线观看免费视频精品观看| 午夜在线精品偷拍| 欧美电影免费观看大全| 国产精品一区一区| 日韩视频在线一区二区| 久久国产精品高清| 正在播放亚洲一区| 麻豆freexxxx性91精品| 国产酒店精品激情| 99国产精品久久久久久久成人热| 亚洲第一黄色网| 午夜一区在线| 欧美视频官网| 亚洲激情网站免费观看| 欧美一区二区高清| 亚洲一区二区三区影院| 欧美成人精品不卡视频在线观看| 国产一区二区成人| 亚洲视频专区在线| 日韩亚洲在线| 乱中年女人伦av一区二区| 国产乱码精品一区二区三区五月婷 | 国产九九视频一区二区三区| 亚洲精品在线二区| 亚洲国产精品久久久久久女王| 香蕉久久夜色精品国产使用方法| 欧美日韩伦理在线免费| 在线观看日韩精品| 欧美在线看片| 欧美在线视频在线播放完整版免费观看 | 乱中年女人伦av一区二区| 国产精品永久免费视频| 一区二区三区偷拍| 野花国产精品入口| 欧美成人在线影院| 又紧又大又爽精品一区二区| 久久成人18免费观看| 欧美一区二区在线免费播放| 欧美性大战久久久久| 亚洲精品一二| 99精品免费网| 欧美劲爆第一页| 亚洲激情偷拍| 99精品视频免费观看视频| 女人天堂亚洲aⅴ在线观看| 国产亚洲精品久久久久久| 亚洲男人av电影| 午夜久久tv| 国产精品影音先锋| 亚洲综合久久久久| 亚洲欧美在线一区二区| 国产精品理论片在线观看| 亚洲午夜免费视频| 午夜在线a亚洲v天堂网2018| 国产精品网站视频| 亚洲性人人天天夜夜摸| 午夜影院日韩| 国产在线精品二区| 亚洲缚视频在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲春色另类小说| 99国产精品久久久久老师| 欧美激情精品久久久久久黑人| 亚洲国产高潮在线观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 性欧美长视频| 久久久久网址| 亚洲国产精品第一区二区三区| 日韩五码在线| 国产精品红桃| 亚洲欧美一级二级三级| 久久九九热re6这里有精品 | 亚洲精品一区二区三区不| 正在播放亚洲一区| 国产精品毛片a∨一区二区三区|国 | 欧美激情综合在线| 一本久久a久久精品亚洲| 亚洲欧美亚洲| 好吊妞这里只有精品| 亚洲精品一区久久久久久| 欧美色道久久88综合亚洲精品| 亚洲一区精品在线| 久久久国产视频91| 亚洲国产一区二区在线| 亚洲免费在线视频一区 二区| 国产一区二区精品在线观看| 久久精品国产一区二区三| 欧美激情导航| 亚洲尤物在线视频观看| 老司机午夜精品| 一本久久a久久免费精品不卡| 午夜视频在线观看一区二区三区| 国产一区二区主播在线| 日韩一二三在线视频播| 国产精品无码永久免费888| 久久精品一区二区国产| 欧美日韩国产不卡| 香蕉精品999视频一区二区| 能在线观看的日韩av| 亚洲视频综合| 欧美成人首页| 亚洲一区二区综合| 女同一区二区| 亚洲欧美成人网| 欧美黑人多人双交| 亚洲自拍偷拍福利| 欧美激情一区二区三区全黄| 午夜精品成人在线视频| 欧美激情精品久久久久久蜜臀| 亚洲女爱视频在线| 欧美激情一区二区三区蜜桃视频 | 欧美性猛交视频| 亚洲国产岛国毛片在线| 欧美午夜一区二区福利视频| 亚洲国产成人av在线| 国产精品久久久久久久久久直播| 亚洲国产美女精品久久久久∴| 国产精品毛片va一区二区三区 | 黄色成人av网| 亚洲午夜av| 亚洲国产成人午夜在线一区| 欧美一区二粉嫩精品国产一线天| 亚洲精品欧美激情| 久久久水蜜桃| 亚洲免费影视| 欧美日韩999| 亚洲激情在线| 国产午夜精品全部视频在线播放| 亚洲天堂av综合网| 亚洲国产精品一区二区www| 久久精视频免费在线久久完整在线看| 夜夜嗨av一区二区三区网站四季av| 免费视频最近日韩| 欧美一区二区三区在线观看| 国产精品久久激情| 一区二区三区视频在线观看 | 艳妇臀荡乳欲伦亚洲一区| 女主播福利一区|