999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

串行數據芯片的編程檢測方法

2010-04-12 00:00:00劉雪雪
現代電子技術 2010年2期

摘 要:串行數據芯片的調試檢測常因設備問題而花費很多時間。這里介紹ADC0832芯片的控制方法、接口電路、控制原理,通過自制印制板調試ADC0832芯片,闡述一般串行數據芯片的編程調試檢測過程。通過這一過程,敘述串行數據芯片中地址無法檢測問題的解決方法,特別是在地址為00時檢測不到轉換數據時,采用新型MSO-2024示波器采樣,為編程人員提供了準確的判斷依據。

關鍵詞:ADC0832芯片;轉換數據;軟件調試;硬件調試

中圖分類號:TP368.1文獻標識碼:A

文章編號:1004-373X(2010)02-160-04

Programming Detection Method for Serial Data Chip

LIU Xuexue

(Wuxi Machinery and Electron Higher Professional and Technical School,Wuxi,214028,China)

Abstract:It is time-consuming to debug serial data chips due to the problems of the equipment.The procedure of program debugging for general serial data chips by introducing controlling methods of ADC0832 chip,interface circuit,controlling principle,debugging ADC0832 chip with self_made printed plate.This procedure provides a solution to the address detection problem of serial data chips especially when the address is 00,and the converted data can′t be detected.The new model MSO-2024 oscillograph is needed to get samples to provide programmers with accurate basis for judgement.

Keywords:ADC0832 chip;data conversion;software debugging;hardware debugging

0 引 言

目前自動化檢測技術出現新的趨勢,在使用微處理器后,制造業設備的信息采集已從分立元件改為使用集成芯片。隨著微處理器速度的提高,在低速運行時串行式集成芯片逐步代替并行式集成芯片。文獻\\提出在雙通道模式輸入時,如果IN-的電壓大于IN+的電壓則轉換的后的數據結果始終為00H。筆者在對ADC0832芯片調試時有自己的看法,并有與他們不同的調試結果。在此對ADC0832串行數據芯片調試過程介紹如下。

串行數據芯片比并行數據芯片更難檢測,因為并行數據芯片的地址是由地址總線決定的,一旦硬件電路確定,地址也就確定,并且不能更改,了解了引腳的控制要求,測出的電平只要與控制要求相同,所以檢測與維護維修比較簡單。而串行式芯片的地址是通過芯片內部結構,并由軟件參與控制,才能最后確定。如果芯片控制程序與硬件的時序不匹配,將導致芯片地址無法寫入,即使地址是寫入,也有可能讀不出轉換數據。如果檢測人員不懂程序,就無法判斷是硬件錯誤,還是軟件錯誤。所以串行式芯片的檢測更難。下面提供實例加以說明。

在此對串行數據芯片ADC0832進行了研究,從ADC0832芯片的性能與檢測方法究來展開說明。

1 ADC0832芯片的接口說明及控制方法[2]

ADC0832是美國國家半導體公司生產的一種8 位分辨率、雙通道A/D轉換芯片,其最高分辨可達256級,可以適應一般的模擬量轉換要求。其內部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5 V之間。芯片轉換時間僅為32 μs,具有雙數據輸出可作為數據校驗,以減少數據誤差,轉換速度快且穩定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI數據輸入端,可以輕易地實現通道功能的選擇。由于它體積小,兼容性強,性價比高深受技術人員歡迎。

1.1 ADC0832的特點

ADC0832具有以下特點[3]:8位分辨率;雙通道A/D轉換;輸入/輸出電平與TTL/CMOS相兼容;5 V電源供電時輸入電壓在0~5 V之間;工作頻率為250 kHz,轉換時間為32 μs;一般功耗僅為15 mW; 8P,14P_DIP(雙列直插),PICC 多種封裝;商用級芯片溫寬為0~70 ℃,工業級芯片溫寬為40~85 ℃。圖1為8腳雙列直插式芯片頂視圖。

圖1 芯片頂視圖

1.2 ADC0832芯片接口說明[2]

ADC0832芯片接口說明[2]:CS片選使能,低電平芯片使能;CH0為模擬輸入通道0,或作為IN±使用;CH1為模擬輸入通道1,或作為IN±使用;GND為芯片參考0電位(地);DI為數據信號輸入,選擇通道控制;DO為數據信號輸出,轉換數據輸出;CLK為芯片時鐘輸入;VCC/VREF為電源輸入及參考電壓輸入(復用)。

1.3 ADC0832 與單片機的接口電路

ADC0832與單片機的接口電路如圖2所示。

圖2 ADC0832 與單片機的接口電路

1.4 單片機對ADC0832 的控制原理

在正常情況下ADC0832 與單片機的接口應為4條數據線,分別是CS,CLK,DO,DI。但由于DO端與DI端在通信時沒有同時有效并與單片機的接口是雙向的,所以電路設計時可以將DO和DI并聯在一根數據線上使用。如圖3所示當ADC0832未工作時其CS輸入端應為高電平,此時芯片禁用,CLK,DO和DI的電平可任意。當需要進行A/D轉換時,需先將CS使能端置于低電平并且保持低電平直到轉換完全結束。此時芯片開始轉換工作,同時由處理器向芯片時鐘輸入端CLK 輸入時鐘脈沖,DO,DI端則使用DI端輸入通道功能選擇的數據信號。在第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號[3]。

圖3 ADC0832時序圖

在第2,3個脈沖下沉之前DI端應輸入2位數據用于選擇通道功能,如表1所示,當此兩位數據為“1”,“0”時,只對CH0進行單通道轉換。當兩位數據為“1”,“1”時,只對CH1進行單通道轉換。當兩位數據為“0”,“0”時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入。當兩位數據為“0”,“1”時,將CH0作為負輸入端IN-,CH1 作為正輸入端IN+進行輸入。到第3個脈沖的下沉之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開始利用數據輸出DO進行轉換數據的讀取。從第4個脈沖下沉開始由DO端輸出轉換數據最高位DATA7,隨后每一個脈沖下沉DO端輸出下一位數據。直到第11個脈沖時發出最低位數據DATA0,一個字節的數據輸出完成。在從此位開始可以輸出下一個字節的數據,或數據輸出完成,標志一次A/D轉換的結束。最后將CS置高電平禁用芯片,直接將轉換后的數據進行處理就可以。更詳細的時序說明如圖3所示\\。

表1 通道地址設置表

通道模式

地址通道號

SGL/DIF0DD/SIGN01

單通道

10+

11+

雙通道

00+-

01-+

作為單通道模擬信號輸入時ADC0832的輸入電壓是0~5 V且8位分辨率時的電壓精度為19.53 mV。如果作為由IN+與IN-輸入的輸入時,可是將電壓值設定在某一個較大范圍之內,從而提高轉換的寬度。

2 自制單片機控制ADC0832 芯片印制板

自制單片機控制ADC0832 芯片印制板如圖4所示。

圖4 單片機控制ADC0832芯片的印制板

3 編寫ADC0832 芯片接口程序

為了高速有效地實現通信,這里采用匯編語言編寫接口程序。由于ADC0832 的數據轉換時間僅為32 μs,所以A/D轉換的數據采樣頻率可以很快,從而也保證在某些場合對A/D轉換數據實時性的要求。數據讀取程序以子程序調用的形式出現,方便了程序的移植。

由于ADC0832芯片的工作頻率為250 kHz,所以控制芯片的時序為4 μs,編寫程序時應以這一頻率為基準編寫程序。編寫了以下程序[5]:

;CS BIT P3.5

;CLK BIT P3.6

;I/O BIT P3.7

MAIN:CLR P3.5;CS

SETB P3.6;拉高CLK端

ACALL OUT

ACALL IN

SETB P3.5;CS

MOV P2,A

LJMP MAIN

OUT: SETB P3.7;啟動位

NOP;地址后一定要有1 μs的空操作否則芯片寫不穩定

CLR P3.5;第一個下降沿,拉低/CS端

NOP

SETB P3.6;拉高CLK端,兩個拉高之間時間為4 μs,因

為器件的頻率為250 MHz

CLR P3.7;地址0

NOP

CLR P3.6;拉低CLK端.形成下降沿2

NOP

NOP

SETB P3.6;拉高CLK端

SETB P3.7;地址0

NOP

CLR P3.6;拉低CLK端.形成下降沿 3

RET

IN: MOV R7,#08

SETB P3.6 ;CLK

CLR P3.6 ; CLK

IN1: SETB P3.6 ; CLK

CLR P3.6;CLK

MOV C,P3.7 ;I/O

RLC A

DJNZ R7,IN1

RET

END

將上述ADC0832接口程序進行調試:

先用Proteus仿真軟件對程序進行調整[6,7],開始時芯片不能正常工作,輸入的模擬量不能轉換成數字量,這時就改變程序中的時序,使CLK的頻率保持在250 kHz,即CLK兩次低電平或高電平之間保持4 μs,經過調整,再次仿真此時芯片能正常轉換,如圖5所示。可見ADC0832的正常運行的關鍵在于控制時序,要正確控制時序,還必須確切知道程序中每句語句的執行時間。上述程序只是地址參數為01時的調試結果。

改變地址參數,發現地址參數為01,10,11時都能正常轉換,惟有地址參數為00不能正常轉換。暫時無法查明原因。

僅用軟件調試不足以證明程序的正確性,所以著手用硬件來調試。

硬件調試時一般可采用邏輯分析儀或頻率達100 MHz以上的示波器來幫助調試。在此利用邦達儀器公司的泰克MSO-2024示波器[8],對程序進行進一步調試。

將MSO-2024示波器1~3通道的主要參數調到:觸發類型為邊沿、DC、50 V/格、10 μs/格、采樣頻率13.157 7 kHz,使儀器進入工作狀態。

圖5 用protuse仿真的ADC0832的時序

把1通道接在CS信號上,把2通道接在CLK信號上,3通道接在DI/DO信號上,讓單片機系統進入運行狀態[9]。

觀察示波器中CS,CLK,DI/DO信號的時序波形,特別是DI/DO信號的地址、數據是否完整,第一個時序是起始位,第2、3個時序是地址,些時示波器地址段顯示01,后面是A/D轉換后的數字數據,調節可變電阻R,觀察到數據段的數據隨之在變化,同時P2口的發光二極管也有明暗變化,分析判斷AD0832是正常轉換的。從這一過程確準所使用的硬件是可用的。

用此硬件,修改程序的地址參數,檢測ADC0832程序,結果仿真軟件通過,硬件上同樣通過,還是地址參數為00時不能通過,軟件調試、硬件調試都通不過。提示為芯片設計的預期效果與實際使用操作沒有溝通。所以對地址參數為00的程序進一步調試。

首先對比通道參數01的時序與通道參數00的時序,如圖6所示。前3個時序都顯示單片機按控制要求控制著ADC0832,而到第4個時序時應顯示轉換的數據,地址參數為01時ADC0832正常轉換,所以數據正常顯示;而地址參數為00時ADC0832沒能正常轉換,數據為全0。

考慮可能是因為地址為00,而地址段與數據段之間DI/DO沒有變化,芯片不能識別是地址還是數據,所以在地址段后加上一個高電平,即在程序中加上SETB P3.7,結果ADC0832能正常轉換,如圖7所示。由此可見問題出在地址段與數據段的有效連接,也就是地址過后,DO信號需要處在高電平狀態下A/D才能正常轉換。

圖6 地址參數為01、00時的時序對比

將前面的主程序修改為:

MAIN:CLR P3.5;cs

SETB P3.6;拉高CLK端

ACALL OUT

ACALL IN

SETB P3.5;CS

MOV P2,A

LJMP MAIN

圖7 正常轉換后的通道參數為00的時序

4 結 語

串行芯片調試的關鍵在于點:

(1) 對芯片的性能要有深刻體會,特別是芯片工作頻率為250 kHz,轉換時間為32 μs;要在編寫程序時特別注意,需要編寫程者了解每句指令的執行時間,嚴格控制CLK的時序,即控制CLK的時序為4 μs,整個轉換時間控制在32 μs。

(2) DI/DO信號輸入/輸出時,數據是串行輸入/輸出的,先是輸入地址參數,后面輸出的才是轉換數據。而地址參數是01,10,11時芯片都能正常輸出數據,當地址參數為00無法判斷是地址還是數據時,就應考慮將輸出信號置于高電平狀態下,芯片才不會鉗位在低電平而不能正常轉換。

(3) 測量高速串行數據,需要高頻率或能測試串行數據的示波器,如果示波器頻率不高也是無法調試的。

(4) 在雙通道模式輸入時,如果IN-的電壓大于IN+的電壓則轉換后的數據結果也不為00H。

由于目前維修人員對串行數據芯片調試知識與技能的饋乏,往往將可以使用的設備作為廢品,造成巨大的浪費,故在職技教學中必須重視此項內容的教學。

參考文獻

[1]莊建清,徐瑋.51單片機綜合學習系統\\.電子制作雜志,2008(8):21-23.

[2]杜洋.A/D轉換芯片ADC0832的應用\\.http://hi.baidu.com/doyoungnet/blog/item/f23400cacc039d81c917689a.html,2008.

[3]百渡百科.ADC0832\\.http://baike.baidu.com/view/2412671.html,2009.

[4]ADC0832簡單應用\\.http://hi.baidu.com/37772166/blog/item/cfff3834cef83a3e5ab5f55a.html,2008.

[5]劉雪雪,趙良法.單片機原理及實踐\\.北京:高等教育出版社,2006.

[6]EDN實驗板之ADC0832轉換數碼管顯示+Proteus同步仿真\\.http://blog.ednchina.com/bawgijfd/52883/post.aspx,2007/10/23.

[7]周潤景.Proteus在MCS-51ARM7系統中的應用百例\\.北京:電子工業出版社,2006.

[8]深圳市金凱博電子有限公司.MSO2024 數字信號示波器200 MHz帶寬\\.http://www.chem17.com/st19476/product-656136.html,2008.

[9]泰克科技有限公司.泰克示波器說明書\\.2004.

[10]徐媛媛,吳援明.基于AD9858的寬帶正交信號產生技術的研究\\.現代電子技術,2007,30(7):12-14.

主站蜘蛛池模板: 天天色天天综合| 91网在线| 国产精品无码AⅤ在线观看播放| 日韩国产黄色网站| 欧美综合成人| 精品99在线观看| 日韩黄色大片免费看| 国产香蕉97碰碰视频VA碰碰看| 永久成人无码激情视频免费| 久久午夜夜伦鲁鲁片不卡| 国产成人a在线观看视频| 中文字幕波多野不卡一区| 亚洲a级毛片| 日韩av无码精品专区| 91在线精品免费免费播放| 日韩乱码免费一区二区三区| 国产h视频在线观看视频| 久久免费视频播放| 有专无码视频| 亚洲看片网| 在线免费不卡视频| 欧美成人看片一区二区三区| 蝌蚪国产精品视频第一页| 亚洲美女一级毛片| 欧美三级自拍| 欧美日韩一区二区三区四区在线观看| 国产亚洲精品97在线观看| 久久伊伊香蕉综合精品| 国产成人精品一区二区秒拍1o| 99久久精品国产综合婷婷| 国产乱子伦视频三区| 凹凸国产分类在线观看| 亚洲一区二区日韩欧美gif| 最新国产精品鲁鲁免费视频| 久久精品这里只有精99品| 国产精品丝袜视频| 青青久久91| 国产一区二区三区夜色| 欧美在线视频a| 国产精品视频久| 久久 午夜福利 张柏芝| 广东一级毛片| 毛片网站在线播放| 久久久久88色偷偷| www.亚洲天堂| 日韩第八页| 啦啦啦网站在线观看a毛片| 国产精品一区在线观看你懂的| 国产日韩久久久久无码精品| 精品国产Av电影无码久久久| 青青国产视频| 99精品久久精品| 一区二区偷拍美女撒尿视频| 女同久久精品国产99国| 成人精品视频一区二区在线| 亚洲视频四区| 色哟哟国产成人精品| 精品国产美女福到在线不卡f| 亚洲高清中文字幕在线看不卡| 日韩精品免费一线在线观看| 波多野一区| 国产中文一区a级毛片视频| av午夜福利一片免费看| 97se亚洲| 亚洲天堂精品视频| 大香网伊人久久综合网2020| 成人午夜视频免费看欧美| 国产精品密蕾丝视频| 亚洲成人播放| 91福利一区二区三区| 综1合AV在线播放| 国产香蕉在线视频| 国产成人啪视频一区二区三区 | 激情综合五月网| aⅴ免费在线观看| 亚洲中字无码AV电影在线观看| 国产女人在线| 成年人国产网站| 91小视频在线| 99在线视频免费| 欧美一级夜夜爽www| 超碰aⅴ人人做人人爽欧美 |