市場上銷售的信號發生器價格昂貴。
結合實際需要,我們設計了一個任意波形發生器。
電路設計充分利用MATLAB的仿真功能,在MATLAB中生成,采樣并進行模數轉換,得到的數字波形數據存儲在數據存儲器中,由單片機控制和CPLD。
讀出波形數據,并在后向信道上執行A / D轉換和放大處理,以獲得所需的模擬信號波形。
采用上述方法設計的任意波形發生器,信號生成靈活方便,功能擴展靈活,信號參數可調,實現了硬件電路的軟件設計。
本實用新型電路結構簡單,實用性強,成本低。
任意波形發生器的設計思想是利用MATLAB強大的仿真功能,輕松快速地生成給定頻率,周期和脈沖寬度的任意波形數據;并將數據預先存儲在數據存儲器中。
在單片機的控制下,CPLD電路用于產生地址讀數據,并被發送到D / A轉換電路以獲得所需的任意波形信號。
系統結構框圖如圖1所示。
分頻電路和地址發生器由CPLD實現:1。
單片機控制電路單片機采用AT89C52芯片通過軟件編程生成所需的控制信號。
主要控制參數包括:信號周期,脈沖寬度;分頻電路啟動信號,地址發生器復位信號; E2PROM的選通信號; D / A轉換電路的選通信號。
在具體電路中,P1.0端口控制分頻電路的啟動,P1.1控制地址發生器清零,P2.0控制28C256和AD7545的選通信號。
MCU工作在定時器0模式,軟件設計用C語言實現。
流程圖如圖2所示:2。
波形數據生成MATLAB是一款優秀的數學工具軟件,具有強大的計算功能;它可以輕松生成各種信號波形,實現波形信號生成,軟件采樣和仿真。
號碼轉換。
設計了任意波形發生器,數據存儲器選用28C256芯片,信號波形由MATLAB仿真生成;獲得的波形數據存儲在數據存儲器28C256中。
在具體設計中,我們需要單個/ FM混合信號,周期為200ms,脈沖寬度為5ms。
單頻信號的脈沖寬度為4ms,頻率為30KHz; FM信號的脈沖寬度為1ms,頻率為30KHz [[_]] 35KHz。
在MATLAB中將采樣率設置為500KHz,并獲得2,500個波形數據。
在將混合波形數據燒錄到數據存儲器的過程中,由于波形數據很大,因此不僅手動直接進入數據存儲器而且非常耗時且容易出錯。
為了克服這個缺點,通過MATLAB編程方法將生成的波形數據存儲在HEX文件的INTEL格式中,然后將波形數據燒入數據存儲器。
利用上述方法,波形數據生成簡單快速;可根據需要在軟件程序中輕松修改信號參數;在不改變硬件電路的情況下,可以實現信號參數的功能擴展。
3,CPLD邏輯設計分頻電路由兩個74HC163實現。
在通過分頻電路劃分12??MHz晶體振蕩器標準頻率之后,獲得500KHz的采樣頻率作為地址發生器的時鐘。
分頻電路的操作由單片微計算機控制。
地址發生器電路由三個74HC163時鐘頻率500KHz組成,由分頻電路提供;并且預先存儲的波形數據采樣頻率是一致的,以實現數據的無失真讀取。
4,D / A轉換電路D / A轉換電路的實現如圖3所示。
在電路中,AD7545將波形數據轉換為模擬信號; LF353執行信號濾波和整形。
任意波形發生器的趨勢是更高的采樣率,更高的分辨率和更大的存儲容量。
目前,實時帶寬超過1 GHz的產品很少,分辨率只有8位,不能滿足移動通信和高速網絡的快速發展。
測量要求。
與數字存儲示波器相比,任意波形發生器的完整規格之間存在顯著差距。
前者的采樣率為20 GS / s,帶寬為6 GHz。
后者的采樣率為4.8 GS / s,帶寬為2 GHz。
任意波形發生器必須首先趕上數字存儲示波器,然后繼續前進,因為在電路配置中,任意波形發生器的核心部件是高速數模轉換器,具有很大的工藝潛力和顯然缺乏。
這是市場需求。
任意波形發生器的另一個重要應用領域是低頻,如心電圖,汽車點火,防撞安全氣囊,醫療器械等。
頻率范圍低于音頻,多組信號輸出,分辨率16位或更多。
這種任意波形發生器有許多VXI總線,PXI總線和PC總線模塊,每年都會推出新產品。