摘要:文中采用高精度AD芯片AD7891與C8051F040單片機組成高速數據采集系統,通過SPI總線,將AD7891與C8051F040直接連接,方便的實現了8路模擬量的高速采集和傳輸,并給出了SPI總線的接口電路及軟件設計。
關鍵詞:高精度;單片機;SPI;高速采集
隨著微處理器的發展及其在各領域的廣泛應用,人們對電子測量技術和電子儀器系統提出越來越高的要求,對測試速度和度的要求也與日俱增。測試系統主要包括對實時數據的高速采集、現場顯示和分析處理3部分,其中zui重要的一環就是實時數據高速采集,因為它關系到能否真實反映被測對象的狀態和性能。根據實際項目需要,文中基于80C51F040單片機的SPI總線和AD7891芯片,設計實現了多路數據的高速采集。文中給出了系統的主要硬件電路和對時序控制的軟件編程。
1、系統的硬件實現
本數據采集系統功能是能對多路電壓和電流進行高速采集和分析處理,其要求精度高,線性度好,采集電壓要求以1mV為單位,模擬信號輸入范圍為-10~+10V。系統處理芯片采用Silicon Laboratories公司出品的C8051F040單片機是*集成的混合信號系統級芯片(SOC),具有與MCS-51*兼容的指令內核,該系列單片機采用流水線處理(pipeline)技術不再區分時鐘周期和機器周期,能在執行指令期間預處理下一條指令,提高指令執行效率。而且大部分C8051F040單片機具備控制系統所需要的模擬和數字外設,包括看門狗、ADC、DAC、電壓比較器、電壓基準輸出、定時器、PWM、定時器捕捉和方波輸出等,并具備多種總線接口,包括UART、SPI、SMBUS(與IC兼容)總線以及CAN總線。C8051F系類單片機采用FlashROM技術,集成JTAG,支持在線編程。C8051F系列單片機諸多特點和*性,使其廣受單片機系統設計工程師青昧,成為很多測控系統設計的機型。雖然C8051F040內部提供A/D轉換器,但在實時高速采集中易受干擾,性噪比比較低,A/D轉換速度不能滿足高速數據采集系統的要求,為了滿足系統的指標、提高數據的性采樣和系統的抗*力,本數據采集系統根據實際情況采用外擴的A/D轉換芯片。
本數據采集系統采用的A/D芯片是美國ADI公司推出的一種AD789112位數據采集系統(DAS),它具有并行和串行兩種工作模式,適合各種
微處理器、控制器以及數字信號處理機接口。AD7891內含有多路轉換器、采樣保持放大器、12位高速ADC、+2.5V基準電壓源和高速接口電路,并有8個具有過壓保護的模擬信號通道,AD7891-1可承受的過壓為±17V。AD7891的模數轉換時間是1.6μs,采樣時間為1.4μs。當只對一個通道信號采樣時,采樣率為500kSPS;當對8個通道信號逐個采樣時,采樣率為62.5kSPS,AD7891-1使用硬件或軟件方法控制轉換開始得數據采樣時間分別為0.6μs和0.7μs,相應的數據采集率分別為454.5kSPS和435kSPS。AD7891采用單電源工作,功耗低,可選擇輸入信號的范圍,也可并行或串行工作,非常適合用于數據采集系統、電機控制、移動通信系統和測試設備等方面的應用。AD7891管腳功能說明如表1所示。
通常在高速數據采集系統中,AD7891和單片機之間的接口有串行和并行兩種方式,采用軟件控制數據線的方式來滿足系統所要求得采集速度。由于C80C51F040單片機具有SPI總線接口功能,所以本數據采集系統采用串行工作方式,數據的讀取通過單片機的SPI總線來傳輸,不僅能夠滿足采集系統的快速性要求,在硬件上也較易實現闈。圖1是AD7891與80C51F040單片機的接口電路。
2、系統的軟件實現
為了實現對模擬量的高速采樣,首先要對AD7891的時序進行分析,圖2為AD7891的串行讀操作時序圖,圖3為AD7891的串行寫操作時序圖。
圖2為AD7891的串行讀操作時序圖,從圖2中可以看出,當單片機要從AD7891中讀取數據時,必須先將置低,串行數據時一位一位的接收的。在整個數據傳輸過程中,必須一直保持低電平。傳輸的數據格式是一次傳輸16位數據,數據的傳輸是以FORMAT位開始的,緊接著是3位地址位,接下來是12位數據位,存放的是12位AD轉換的值,每一位數據都是在時鐘的上升沿開始發送的,16位數據發送完成后,DATAOUT線一直保持高阻態直到和SCLK其中任意一個有一個上升沿的脈沖出現。
圖3為AD7891的串行寫操作時序圖,從圖3中可以看出,當單片機向AD7591中寫數據時,必須先將置低,AD7891的控制寄存器只接收前6位數據,前三位A0、A1、A2用于配置AD采樣通道,在接收完前6位數據之后不再接收數據,數據的接收都是在時鐘的下降沿進行的。下面給出通道1采集的主要程序代碼(C語言)
3、結束語
文中基于串行SPI通信方式,設計了一個高速數據采集系統,用SPI總線來實現數據的讀取,能夠滿足數據采集系統的要求,具有硬件結構簡單,軟件編程容易的特點。