- 相關推薦
一種PC104溫度采集卡的設計
摘要:介紹了一種用于12路通道溫度采集的PC104采集卡的設計。重點描述了實現通道校正、采集數據的控制器的設計過程。該控制器提供了一定的數據緩沖能力和多種參數的工作方式,使得PC104采集卡的功能比較強大和全面,并且非常靈活。其設計思路值得以后類似的采集卡借鑒。實際運行結果表明,該采集卡的設計是成功的,并且工作可靠。PC104總線是一種出現已久的棧式總線,基本上屬于ISA總線的變型。模塊尺寸很。90mm×96mm),多個模塊通過針孔結構堆疊而成,形成的系統結構緊湊、抗沖擊性能好,加上現在廣泛應用的低功耗技術,使PC104總線特別適于用戶自行開發特殊應用產品。
對于低速率、高精度的測量系統而言,A/D芯片AD7711是個功能完事的模擬前端。它直接從傳感器接收信號,通過一個可編程的增益控制后將信號送到模擬調節器,再經濾波后輸出一個16位的串行數字字。它的主要結構特點是:內部包含有一個∑-Δ A/D轉換器,具有非常高的轉換精度;兩個通道的可編程增益前端;帶內部SRAM的校正控制器,使得校正因子可讀可寫;時鐘發生器;低通數字濾波器,具有可編程的通阻帶分截點;一個雙向串行通信端口,能較方便地與微處理器接口;可以單電壓或雙電壓供電,具有較低的功耗。
對于RTD(電阻式溫度檢測)傳感器的應用,AD7711是一款很不錯的選擇。本文介紹的PC104采集卡主要用于分布式溫度點采集測量,上面集成了12個AD7711,形成12個通道,每個通道可以輸入兩路模擬信號,其中一路為單極性輸入,另一路為雙極性輸入。
1 電路原理
PC104溫度采集卡主要由12個AD7711、通道控制器、PC104棧式連接器組成,其原理框圖如圖1所示。板卡地址輸入由撥盤開關完成。串口E2PROM用來保存每個通道的校準參數和一些板卡工作參數。另外還提供了配置ROM EPC2。
通道控制器采用Altera公司的CPLD器件FLEX10K50QC240來實現。PC104主機首先初始化通道控制器,通過板卡命令對板卡進行操作,如啟動、停止、設置工作參數(如中斷選擇、每分鐘采校次數、輸出因子等)。然后通道控制器對各個AD7711通道進行操作,如寫AD7711的控制寄存器、讀寫其校準寄存器里的校正因子、讀取每個通道的采樣數據。通道控制器的另一個功能是模擬PC104主機的指示對串口E2PROM進行讀寫操作,并提供結果。
采樣頻率有1Hz、2Hz、4Hz、8Hz、16Hz、32Hz、64Hz等,指定每個通道每分鐘等間隔采樣次數。板卡的控制器提供數據緩沖能力,每個采樣周期都將12個通道的數據保存在緩沖器里。在存儲了若干個采樣周期的數據后,向主機發出中斷,讓PC104總線讀走數據,輸出因子則指定每次中斷采樣周期的個數。板卡提供八個ISA中斷,主機可以選擇其中一個。
AD7711每次采樣16位數據,所以主機PC104總線從通道控制器讀取數據時,使用16位I/O訪問,因此/IOCS16和SBHE信號應當被驅動,而IOCHRDY則被用來插入等待周期。由于通道控制器和AD7711都采用10MHz時鐘,所以對于CPU主頻比較快的PC104總線,其ALE、/IOW、/IOR、AEN等信號的有效電平脈寬是與時鐘周期有關系的,此時它們的脈寬可能比板卡的時鐘周期100ns要小,故不能用它們直接作為時鐘使能,而應當利用它們的沿來鎖存地址,并觸發得到寬脈沖信號完成使能,鎖存數據。
AD7711采用自時鐘方式。SCLK提供串行時鐘輸出;SDATA是串行數據位;/DRDY的下降沿表明數據字準備好,當傳送完畢時恢復到高電平;/TFS、/RFS是發送和接收數據幀同步信號;A0是地址輸入,表明是對AD7711控制寄存器操作,還是對AD7711數據或校準寄存器操作。
圖2
2 通道控制器的設計
2.1 邏輯框圖
這里采用CPLD器件FLEX10K50QC240來實現通道控制器的所有邏輯。其內部邏輯原理框圖如圖2所示。主要的功能有:①包含有若干個控制或狀態寄存器,主要用來設置工作參數和對AD7711通道進行控制;②對AD7711的數字界面提供接口;③提供足夠的數據緩沖能力;④具有可編程的采樣時鐘發生器;⑤具有內部RAM和控制讀取片外串口E2PROM的能力。
當主機的PC104總線地址被驅動時,則在ALE的下降沿鎖存地址。當選中板卡地址時(這里以0x280~0x28f為例),則利用/IOW的上升沿鎖存數據,并根據地址譯碼的不同,鎖存到不同的寄存器里。這里有四個控制寄存器,即通道操作寄存器(CtlReg,0x282)、板卡命令寄存器(CmdReg,0x286)、用于串口E2PROM和內部RAM的存儲器操作控制寄存器(EepReg,其中包括用于控制的16位寄存器0x288和數據寄存器0x289)及參數寄存器(ParaReg,0x280)。由于通道操作寄存器是32位,主機對同一個口地址(如0x282)連續進行兩個16位寫操作,因此利用兩個連續的/IOW寫數據。通道操作寄存器低24位是寫入AD7711的數據,即24位控制字或校準數據。高8位的含義如下:
R/WF1F0CHCH3CH2CH1CH0R/W:0表示寫,1表示讀。
F1,F0:00表示對AD7711控制寄存器操作,11表示對AD7711校準寄存器操作,01則是讀取數據。
CHCH3CH3CH1CH0:1xxxx表示全通道操作,0xxxx表示某單通道操作。
因為分配給每塊采集卡的I/O地址空間有限,所以利用板卡命令寄存器的低8位作為參數數據,高8位作為命令/參數類型。為了穩定可靠地鎖存數據,參數寄存器的使能信號由板卡命令寄存器寫造中信號延時兩個野兔周期得到。參數類型是指采樣速率、輸出因子、中斷號。板卡命令寄存器高8位提供的命令有啟動(START)、停止、同步(驅動AD7711的/sync線)、復位、FIFO清零等命令。
圖2中的粗線表示數據的流向。通道主控器(ChnMaster)與AD7711數字界面接口,負責產生AD7711的所有讀寫時序。
【一種PC104溫度采集卡的設計】相關文章:
基于FPGA的前端圖像采集卡的設計11-22
基于TC534的數據采集卡設計03-20
USB接口的高速數據采集卡的設計與實現03-18
基于PC104總線的故障診斷裝置的設計03-18
具有USB2.0接口的高速數據采集卡設計03-18
設計住宅是設計一種生活11-22
一種MCU時鐘系統的設計12-06
一種異步FIFO的設計方法03-19