AD7674和C8051 F060構(gòu)成的數(shù)據(jù)采集系統(tǒng)
3 A/D轉(zhuǎn)換
本文中的AD7674采用NORMAL模式進(jìn)行數(shù)據(jù)采樣轉(zhuǎn)換。在這種模式下對采樣轉(zhuǎn)換之間的時間沒有限制,這樣可同時保證高的轉(zhuǎn)換精度和采樣速率。
CNVST信號控制AD7674轉(zhuǎn)換的開始,一旦轉(zhuǎn)換開始就不能放棄或重新開始,直到轉(zhuǎn)換完成。CNVST信號與CS和RD互不干擾。
AD7674的并口總線寬度可配置為18位、16位或8位。數(shù)據(jù)既可以在每次轉(zhuǎn)換完成后讀出,也可在下一次轉(zhuǎn)換過程中讀出,讀數(shù)據(jù)時序如圖3所示。然而在轉(zhuǎn)換過程讀數(shù)據(jù)模式中,推薦在前半轉(zhuǎn)換周期讀數(shù)據(jù),這樣可以避免數(shù)字接口和模擬轉(zhuǎn)換電路之間潛在的數(shù)據(jù)沖突。本文采用的是8位并口總線寬度,配置為 MODE0=0,MODE1=1,以便于和單片機(jī)進(jìn)行數(shù)據(jù)傳輸。
值得注意的是在讀取A/D轉(zhuǎn)換數(shù)據(jù)時,采用轉(zhuǎn)換完畢后讀取數(shù)據(jù)。要保證時序關(guān)系正確,一定要在數(shù)據(jù)轉(zhuǎn)換結(jié)束,而下一次轉(zhuǎn)換開始之前把數(shù)據(jù)讀走;假如讀取數(shù)據(jù)時數(shù)據(jù)轉(zhuǎn)換沒有結(jié)束或剛啟動下一次數(shù)據(jù)轉(zhuǎn)換,則會造成讀取數(shù)據(jù)錯誤。本文采用CPLD經(jīng)由外部有源晶振進(jìn)行分頻,產(chǎn)生轉(zhuǎn)換信號CNVST與讀信號RD相關(guān),使得RD信號和CNVST信號同步,從而保證讀取的采集數(shù)據(jù)正確無誤。
4 軟件編程
在軟件編制時,首先要對單片機(jī)C8051F060進(jìn)行初始化和對AD7674進(jìn)行配置,再啟動轉(zhuǎn)換信號進(jìn)行數(shù)據(jù)轉(zhuǎn)換和讀取數(shù)據(jù)。單片機(jī)C8051F060的初始化包括對單片機(jī)的I/O端口、交叉開關(guān)和系統(tǒng)時鐘的初始化。AD7674配置包括轉(zhuǎn)換模式、總線接口數(shù)據(jù)方式和采樣數(shù)據(jù)存儲格式的配置。部分源代碼程序如下:
結(jié) 語
本文詳細(xì)介紹了高速率、高精度的18位AD7674與C8051F060之間并口通信的接口電路及其軟件設(shè)計。該嵌入式數(shù)據(jù)采集系統(tǒng)設(shè)計簡潔,在Keil 集成開發(fā)環(huán)境下采用單片機(jī)C語言編寫、調(diào)試完成。由于數(shù)據(jù)采集系統(tǒng)可應(yīng)用于各種信號處理系統(tǒng)中,具有很高的推廣價值。本文采用的單片機(jī)配置靈活,傳輸速度快,接口采用并口通信,可實現(xiàn)嵌入式數(shù)據(jù)采集系統(tǒng)高速數(shù)據(jù)傳輸;同時AD7674與AD7678、AD7679等18位SAR ADC以及AD7621、AD7623等16位高速SAR ADC引腳相兼容,從而大大增強(qiáng)了系統(tǒng)開發(fā)的靈活性和拓展性。
評論