LTC車道
⑴ 關於高速公路多車道車輛智能計數系統的設計的論文
引言 當前,許多領域越來越多地要求具有高精度A/D轉換和實時處理功能。同時,市場對支持更復雜的顯示和通信介面的要求也在提高,如環境監測、電表、醫療設備、攜帶型數據採集以及工業感測器和工業控制等。傳統設計方法是應用MCU或DSP通過軟體控制數據採集的A/D轉換,這樣必將頻繁中斷系統的運行,從而減弱系統的數據運算能力,數據採集的速度也將受到限制。本文採用DSP+FPGA的方案,由硬體控制A/D轉換和數據存儲,最大限度地提高系統的信號採集和處理能力。 系統結構 整個採集卡包括信號調理、數據採集、數據處理和匯流排介面設計。 本文設計了具有信號衰減、增益放大和濾波等功能的信號調理電路,採用16位精度、最高采樣率為500KSPS的A/D轉換器AD7676;數字系統設計利用FPGA極其靈活、可編程的特點,選用Altera公司FPGA晶元EP2C8Q208,完成精度校正和邏輯時序控制;DSP採用TI公司的TMS320VC5416,使A/D轉換後的數據在傳輸到上位機之前,進行數據整理、標記、打包以及數據預處理。數據採集卡可同時進行8通道數據採集,通道可進行衰減倍數、采樣速度以及放大增益設置。同時提供模擬輸出通道,用於實現波形產生和模擬驅動功能。能夠進行自動校準,保證數據採集的准確性。PCI匯流排介面電路採用PLXTechnology公司的PCI匯流排介面晶元PCI9030,完成數據採集和狀態、控制信號的傳輸。 系統硬體電路設計 數據採集模塊設計 從感測器送來的8路模擬輸入信號通過多路模擬開關ADG507選擇進入模擬通道,如果多通道同時採集,則採用時分復用方式,由FPGA依次控制各通道的通斷。模式選擇開關ADG509為四選一模擬開關,可分別選擇被測模擬信號、標准參考電壓值或用於通道校準的、經過DAC轉換後的信號進入後級濾波衰減網路電路。送入ADC的信號要先經過低通濾波,以濾除高頻雜訊。濾波電路設計為二階阻容低通濾波器,對頻率高於50KHz的信號濾波。衰減電路設計為有源衰減,選用Linear公司的差分放大器LTC1992,可完成輸入信號極性轉換,實現單端信號轉差分信號,同時通過由FPGA控制繼電器選通不同的電阻網路調整衰減倍數,可實現對不同電壓輸入范圍信號的調整,以滿足AD7676的輸入電壓范圍。信號增益可編程放大器LTC6911可通過編程設置以1、2、5步進變化的1V/V~100V/V增益倍數,數據採集過程中通過FPGA內部的比較電路自動調整增益放大器增益倍數,極大提高了對微弱信號的分辨能力。AD7676為差分信號輸入,MAX6325基準源提供基準為2.5V的參考電壓,采樣時鍾由晶振提供10MHz時鍾信號經FPGA內部分頻電路得到,單通道最高采樣率為500KSPS。 FPGA電路設計 FPGA晶元也是一種特殊的ASIC晶元,屬於可編程邏輯器件,它是在PAL、GAL等邏輯器件的基礎上發展起來的。同以往的PAL、GAL等相比,FPGA規模比較大,適合於時序、組合等邏輯電路應用。本文選用Altera公司的FPGA晶元EP2C8Q208,完成數據採集卡的時序和地址解碼電路設計。由於EP2C8Q208有36個M4KRAM,在FPGA內部設計一個16位寬度、4KB深度的FIFO,使用FIFO提高數據採集卡對多通道信號的採集存儲能力。FIFO有半滿、全滿、空標志位,當DSP檢測到半滿標志位時,FIFO同時讀寫;全滿時只讀不寫;空時只寫不讀。A/D采樣控制信號由DSP通過FPGA控制;DSP對採集後的數據進行進一步處理,以提高精度,也具有傳統CPU或MCU的功能,對時序、觸發、DMA中斷請求作出相應處理。 DSP電路設計 DSP採用TMS320VC5416,它是16位定點DSP,具有高度的操作靈活性和很高的運行速度,採用改善的哈佛結構(1組程序存儲器匯流排,3組數據存儲器匯流排,4組地址匯流排),具有專用硬體邏輯的CPU、片內128KB的存儲器、片內外設,以及一個效率很高的指令集。 DSP在系統中的作用主要是將A/D轉換後的數據在傳輸到上位機之前,進行數據整理、標記、打包以及數據預處理。數據採集系統所有控制信號都由DSP控制FPGA邏輯電路產生。DSP外掛Flash存放DSP程序及其它配置數據,在上電時,DSP採用並行方式調入DSP內部執行。 校準電路設計 校準電路是本設計的重要環節,數據採集卡的高精度性能不僅取決於高解析度的ADC,在更大程度上要依靠該數據採集卡優良的自校準和抗雜訊能力來實現。 校準時,DSP發出標准值,經D/A和A/D轉換後,所採集的數據值與原標准值相比較,取其偏差系數組成去噪方程,以實現數據採集卡的自校準。 PCI匯流排介面電路設計 PCI匯流排規范十分復雜,其介面的實現比較困難。數據採集卡採用PCI9030作為用戶介面,為PCI匯流排介面的開發提供了一種簡捷的方法,只需設計簡單的局部匯流排介面控制電路即可實現PCI匯流排的高速數據傳輸。使用Altera公司的QuartusII,使得硬體實現軟體化設計,更新了傳統的電路設計和調試方式,大大縮短了開發周期,特別是其設計模擬和定時分析使得設計更加可靠,確保了系統的正確性。 系統軟體設計 驅動程序設計 在Windows98/2000/XP環境下,處於Windows用戶態的應用程序不能直接對硬體設備進行操作,要實現對數據採集卡的硬體資源(如內存、中斷等)的訪問,必須編寫運行在核心態的設備驅動程序。目前,使用較多的開發工具是GUNGO公司的驅動程序開發組件WinDriver。利用WinDriver開發驅動程序,不需熟悉操作系統的內核知識。整個驅動程序中的所有函數都是工作在用戶態的,通過與WinDriver的.VXD和.SYS文件交互來達到驅動硬體的目的。因為WinDriver開發環境提供了針對PLX公司晶元的存儲器范圍、寄存器和中斷處理等模塊,所以本文採用了GUNGO公司的WinDriver5.3開發工具,它支持PLX公司的PCI介面晶元,用戶無需具有DDK和核心態程序開發經驗,調試時可結合PLX公司的PLXmon工具。 操作界面設計 採用美國國家儀器公司的LabVIEW軟體進行界面設計。LabVIEW是一種圖形化編程語言,操作界面模擬實際儀器的控制面板,使用戶能完成通道選擇、模式選擇、增益設定、采樣率設定等功能,操作簡單方便。 系統指標分析 ADC誤差分析 常用的ADC主要存在量化誤差、增益誤差和偏置誤差。量化誤差是任何ADC都存在的,僅僅能通過提高ADC解析度來減少,為把量化誤差減少為±1LSB/2,通常的方法是把變換特性偏移1LSB/2。偏移誤差是指對ADC採用零伏差動輸入時實際代碼與理想代碼之間的差異。增益誤差是指從負滿量程轉為 正滿量程輸入時實際斜率與理想斜率之差。偏移和增益誤差通常是ADC中主要的誤差源。為了進行偏移校準,本文採用0V或非常小的信號並讀取輸出代碼。如果結果為正,那麼轉換器就存在正偏移誤差,從結果中減去偏移值;如果結果為負,那麼轉換器就存在負偏移誤差,可向結果加上偏移值。通過對ADC施加滿量程或近於滿量程的信號並測量輸出代碼來實現增益校準。偏移校準在增益校準之前進行。 模擬開關誤差分析 多路開關大體上可分為兩種類型,即模擬電子開關和機械觸點式開關。模擬開關具有轉換速度快、使用壽命長、體積小、成本低、集成度高和無抖動等優點;但也存在一些缺點,如導通電阻較大、存在道間干擾、通道間共地等。 本文所設計的數據採集卡使用ADI公司的ADG507和ADG509,導通電阻Ron100~300Ω,輸入信號要通過Ron分壓,輸出到負載電阻上的電壓要下降一些。為此,本設計用OPA2277做成壓級跟隨器連接到後面的負載電路上,以拉高多路模擬開關的負載阻抗,削弱串聯內阻的影響。 精度設計 數據採集卡使用了可編程增益放大器LTC6911,最大可調增益為100V/V,極大提高了採集卡對微弱信號的分辨能力。同時,信號調理部分的電阻衰減網路可完成對信號的1/2、1/4分壓,擴大了數據採集卡的動態范圍。信號和干擾雜訊在時域混合在一起,但是在頻域有不同特性,因此,預先設計濾波器對雜訊信號進行抑制,避免雜訊電平很高,用增益放大器接收這樣的信號會導致放大器飽和,使儀器不能正常工作。 電壓基準源是A/D或D/A轉換電路的重要部件,系統輸出精度在很大程度上取決於電壓基準源的精度。這里主要考慮輸出精度、穩定性和溫度漂移系數。MAX6325是低雜訊、高精度的掩埋齊納型基準電壓源晶元,其初始輸出電壓精度高達0.02%,溫度系數為0.5ppm/℃。 結語 數據採集卡採用16位精度ADC,模擬信號通道設計考慮了微弱信號檢測、雜訊抑制、高頻濾波、差分放大電路和可編程增益放大電路,數字電路部分設計以EP2C8Q208為核心,利用FPGA的時序嚴格、速度較快、可編程性好等特點,將可能需要的各種控制和狀態信號引入FPGA,利用FPGA的大容量和現場可編程的特性,根據不同的要求進行現場修改,增大了系統設計的成功率和靈活性。同時,DSP對數據的預處理極大地提高了數據的精度。在PCB布線時認真考慮了濾波、接地和合理的信號走線,提高了數據採集卡的可靠性。