2023年11月20日 星期一

如何透過示波器存下來的波形檔案進行類比電路模擬

在設計電路的時候,常常會遇到雜訊問題,於是我們就會在電路板上進行跳線修改,增加元件增加電容之類的工作,但如果是要增加一個n階的濾波器,有可能因為手工難以修改或增加,而且也無法確定增加的電路是否能正常工作,因此我會藉由電路模擬軟體來協助分析,但是特定的雜訊可能無法在模擬軟體中生成,怎麼辦??

我們可以透過在示波器錄下來波形的圖檔,轉存成.csv/.xls/.txt/.dat或是ASCII files, 然後存在電腦另存.txt file, 其實裡面的內容不外乎是time(second)與amplitude(volt),也就是時域裡的時間跟振福!

有了這個波形檔案我們就可以透過模擬軟體來實現雜訊濾波器電路的模擬了,首先將示波器存好的檔案轉到電腦中存成.txt,去除檔案中的文字,例如time(second)與amplitude(volt)之類的相關文字,只留示波器X/Y兩軸所錄下來的數字,該數字可能有科學符號,例如E-02,代表是10^-2次方,這必須保留以免,數值不正確!

我所使用的模擬軟體是Microchip授權給使用者免費使用的MINDI, 屬於Simetrix/Simplis這類的模擬軟體,首先需要設計濾波器,這部分有兩種方法,一是照濾波器公式計算,二是用類比濾波器軟體幫你設計,建議可以使用Analog Filter Wizard網頁版,假設預計設計的是High Pass Filter,就選擇如下圖對應的Filter type


然後進入Specification之後選擇填入Passband與Stopband,並選擇Filter Response, Filter Response與電路複雜度跟濾波器效果有很大的關係,當然成本也會有所增加



接下來進入Components選擇電壓,就會跳出濾波器電路+參考電壓的電路,然後把電路記下來繪製到慣用的模擬軟體,可以是CADENCE ORCAD PSPICE / SIMETRIX / ADI LTSPICE / MICROCHIP MINDI / TI TINA等等之類的軟體,我用的是MICROCHIP MINDI, 因為免費且容易使用,但有元件數量的限制,使用者自行斟酌!



以下是我的波形.txt檔, 用來放進去MINDI模擬軟體的PWLFILE



設定好模擬的選項(暫態Transient),我的雜訊加訊號是100ms這麼長,因此時間設100ms,就可以開始模擬了!
如下圖可以看到紅色波形是示波器從實際的電路板電路中錄下來的波形加雜訊,經過濾波之後是綠色的波形,雖然訊號變小了,但很明顯的SNR變得好很多,若再經過下一級放大就可以得到足夠大的訊號了!
整個電路方塊大約是這樣:
Input --> HPF --> Amplifier output







STM32於IAR 9.3以後的版本將uart導向至printf

首先,請先參考如以下IAR提供的"在IAR Embedded Workbench中实现打印输出技術資料" https://www.iar.com/cn/knowledge/support/technical-notes/general/implementing-printf-ou...