新軟件技藝在汽配儀器儀表勘驗頻譜構建器里運用
1汽車電子轉速表、里程表是汽車儀表總成的重要部分,其產品質量的優劣直接影響車輛的駕駛和安全性。以前此產品是用通用信號源進行校驗,多段頻率切換和幅值調整麻煩,效率低下,不能有效地適應大批量生產的要求。現開發的便攜式儀表總成校驗系統一次能同時對各項性能指標進行檢測及判斷其合格與否。汽車儀表總成由發動機轉速表、里程表、水溫表、油量表等及幾十個報警指示燈組成,汽車儀表總成校驗的任務是對所有準備出廠的儀表進行一次全面的性能檢測,儀表所需的各種信號均由計算機控制供給,并對最后的結果自動記錄在案。
用于校驗汽車轉速表和里程表的頻率信號,方波/正弦波可選,頻率2Hz~20kHz可任意設置,精度0.1Hz,峰值0.5V~15V可任意設置。目前的汽車儀表校驗系統大多采用各類成品信號板,集成在PC機上的PCI插槽或外部接口上,通過廠家提供的接口函數控制各類信號的輸出,這為設計大型儀表校驗系統提供了極大的方便。但是,對于便攜式儀表檢驗箱,要求重量輕,體積小,攜帶方便,其內部不可能集成大量的各類板卡。為此設計了一款基于DDS技術的頻率信號發生器,精度高,體積小,成本低,可維護性好。
2系統設計
本系統采用單片機和CPLD控制DDS(直接數字頻率合成)芯片AD9850,產生檢驗儀表所需正弦/方波信號,系統框圖如1所示。1中單片機是系統的控制中心,由于DDS芯片AD9850產生各種頻率的正弦信號中含有豐富的高次諧波,設計一有源雙二階低通濾波器,在30kHz處產生產生-80dB的銳截止頻率特性,以輸出純凈的正弦信號。同時將低通的輸出送入AD9850內部的比較器,產生標準的TTL方波。單片機控制多路選擇器,將方波或正弦作為DA轉換器AD7520的電壓基準信號,F場可編程邏輯器件[3]CPLDEPM7064完成單片機與PC機、單片機與AD7520的數據傳輸,實現對AD9850片內寄存器的地址譯碼和時序邏輯控制。
AD7520的輸出信號,經過調理和放大,成為峰值為15V的頻率信號,經過甲乙類互補推挽功放電路,最終得到系統需要的各種頻率信號。
為保證信號在負載發生變化時保持穩定的峰值和頻率,在放大電路中以及放大電路與功放輸出之間都加入了適當的負反饋。下面對設計中的主要問題分別予以介紹。
2.1AD9850的內部結構及工作原理
AD9850是AD公司生產的DDS芯片中應用較為廣泛的一種,它有并行和串行兩種加載方式,并行方式比串行方式的加載速度快,本文選擇并行加載方式。AD9850的功能框圖如2所示。AD9850片內包括高速DDS、10BitDAC、比較器、數據輸入寄存器及頻率/相位數據寄存器等,參考時鐘為DDS提供精確的時鐘,復位信號有效時,模擬輸出為恒定的cos0,頻率更新/數據寄存器復位與字加載時鐘配合,實現頻率/相位數據的輸入,使芯片輸出所要求頻率/相位的信號。
AD9850的頻率/相位控制字一共有40Bit,其中32Bit為頻率控制字,5Bit為相位控制字,1Bit是電源休眠控制,最后2Bit為工作方式控制。
AD9850并行方式加載頻率/相位控制字的各位分配表如1所示,并行加載時序圖如3所示。若輸出信號的頻率為fOUT,參考頻率為CLKIN,AD9850的頻率控制字為△Frequency,則三者之間的關系為:△Frequency=(f OUT×2 32)/CLKIN(1)其中W0的Data~Data 5Bit用于相位控制,
則相位控制的精度為:△Phase=360°/2 5=11.25°
。2)并行方式寫入過程如下:首先,CPLD控制FQ_UD由高電平轉為低電平,AT89C51將數據W0輸出;之后,CPLD控制W_CLK由低電平轉為高電平,再由高電平轉為低電平,此時寫完控制字W0,AT89C51按照寫入W0的過程,依次寫入W1,W2,W3,W4;最后,CPLD控制FQ_UD,使其由低電平轉為高電平,完成40Bit數據的寫入,并將地址指針指向W0,為下次寫入頻率/相位制字作好準備。
2.2CPLD內部邏輯設計
為便于修改,節省電路板的面積和提高系統的可靠性,如4所示,采用了CPLD實現了如下任務:單片機與PC機之間的指令與數據傳輸;單片機與AD7520的數據傳輸,實現對AD9850片內寄存器的地址譯碼和時序邏輯控制。
由于整機系統中采用了一塊AMPCI-7201IO卡,除做其他用途外,還有余量。為簡化設計,這里沒有采用通常的串口通信,而是直接采用單片機和IO卡通信,自定義了一套簡易實用的通信協議,保證單片機和PC機的正常通信。由于單片機是8Bit數據總線,各自設計了一個8Bit的輸入數據緩沖器和輸出數據緩沖器,為通信中的指令或數據提供寄存。為保證信號峰值的精度,系統中采用了10BitDA轉換器,為此設計了高2Bit數據寄存器和低8位數據寄存器,分時從單片機接收數據。所有的數據緩沖器或寄存器都通過唯一設置的數據接口與單片機交換,以保證速度和邏輯上的匹配。地址/邏輯譯碼單元為輸入/輸出數據緩沖器提供使能信號,為數據接口和數據寄存器提供地址信號,為DDS芯片AD9850提供并行裝載的時序邏輯信號。
2.3單片機程序設計
由于采用了CPLD實現了部分處理功能,單片機的主要任務是控制整個系統協調動作和數據處理,準確無誤地接收PC機發出的各種指令和數據,根據具體地指令要求處理接收到的數據,通過CPLD控制AD9850達到精確調頻的目的,控制AD7520達到精確調幅的目的。按照自定義的通信協議的要求,整個程序設計成一個無限循環,程序的主要流程如5所示。初始化部分涉及到特殊功能寄存器和片內外設的初始狀態設置,禁止AD9850的信號輸出,禁止AD7520的信號輸出,關閉各通道繼電器,以保證系統上電后在沒有操作之前,不會有信號對儀表產生任何影響。在單片機和PC機建立正常通信后,單片機根據接收到指令和數據完成相應的處理和控制。由于將直流電壓的D/A和A/D部分電路也設計在電路中,因此程序中也考慮到直流部分的信號處理。
3系統集成與測試
單片機部分程序用C51在WAVE6000環境下編寫,PC機部分應用程序用C++在VISUALC++6.0環境下編寫,CPLD內部邏輯用VERILOG_HDL和原理圖混合的方法,在MUXPLUSII環境下實現。
【中國糧油儀器在線】部分信息來自互聯網,力求安全及時、準確無誤,目的在于傳遞更多信息,并不代表本網對其觀點贊同或對其真實性負責。