連續(xù)三天都說同一件事情:信號的轉(zhuǎn)換

2020/05/25
75
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

三天前一個同學在微信公眾號提了關于在?模擬課程中的問題[1]?,即要求設計一個系統(tǒng),輸入一個正弦波,可以輸出一個二倍頻的三角波。三角波的幅值、占空比(上升沿、下降沿的時間)可以被改變。

在前天給出了一個?信號轉(zhuǎn)換的解題思路[2]?,并在昨天?對前面的思路進行了物理仿真?驗證,結(jié)果可以看到這個簡單的思路還存在著不少的問題。

?

▲ 正弦波轉(zhuǎn)換成倍頻三角波,并且占空比、幅值可以調(diào)節(jié)

?

這些問題歸納起來主要有以下幾條:

  • 控制量之間的耦合,特別是頻率,占空比對輸出信號幅值的影響;頻率對于占空比的影響雖然經(jīng)過改進之后有所解耦,還是會有部分的影響;輸出三角波存在失真。這主要是最后一級從方波到三角波轉(zhuǎn)換的過程中,對于信號的直流分量的變化與波形失真之間的關系;最后一點,也是最重要的一點,就是電路非常復雜。
  • ?

  • ?

▲ 三角波的占空比獨立可調(diào)整

?

估計這兩天看過推文的同學開始嘀咕,這個問題,如果使用數(shù)字電路,特別是使用一個單片機就可以輕輕松松的搞定。的確這也反映出使用數(shù)字電路和模擬電路在對待同樣的問題上的迥然差別。

在模擬電子中,信號都是看做是在時間和幅值的連續(xù)變化的模擬量,對于信號處理的手段大多是進行倍乘、積分、微分、比較整形等方法。另外,系統(tǒng)必須滿足因果關系。在此過程中,信號的幅值、頻譜寬度等會受到電子線路中器件的限制。

▲ 三角波的幅度獨立可以調(diào)整

?

當然,還有非常重要的一個方面就是方案會受到器件的非線性、溫度漂移、以及無處不在的干擾的影響。這就使得方案在精度、穩(wěn)定性參數(shù)變化范圍等方面受到影響。

那么改成數(shù)字電路,特別是使用 MCU,DSP,FPGA可編程器件,就會在改進很多。

比如使用一款 STC 的單片機 STC8G1K08,價格僅僅只有 1.3 塊人民幣,包括有眾多的電路外設。其中的模擬比較器可以將輸入正弦波變成方波,并進一步測對應的信號的周期。雖然它沒有 DA 輸出,但高速的 PWM 輸出功能通過濾波也可以形成所需要的信號。

▲ 使用 STC8G1K08 單片機實現(xiàn)相同的功能

?

使用數(shù)字器件完成同樣的信號轉(zhuǎn)換問題,是將信號分解成等時間間隔的脈沖信號(也就是對信號進行采樣),為了能夠使用有限位數(shù)的數(shù)字表示這些采樣,還需要對信號的幅值進行量化(離散化)。只要保證時間和幅值的離散化足夠小,就可以逼近模擬信號。

將輸入的參考正弦波送入到單片機的比較器管腳,內(nèi)部完成過零比較中斷,測量得到對應正弦信號的半周期。然后在根據(jù)設定的三角波的占空比以及幅值,生成對應三角波輸出 DA 轉(zhuǎn)換的數(shù)據(jù)。

▲?利用 STC8G1K 內(nèi)部比較器將輸入的正弦波轉(zhuǎn)換成方波

?

通過定時器,按照一定速率(5kHz)將三角波的波形數(shù)據(jù)送到 PWM 定時器,外部在配合一個簡單的 RC 低通濾波器,便可以獲得對應的二倍頻三角波形了。

在本文前面的的動圖就是這個單片機將輸入正弦波信號進行轉(zhuǎn)換后的波形。該方案中,三角波信號的頻率、占空比、幅值之間的調(diào)節(jié)就不在有任何耦合,可以獨立的進行調(diào)節(jié)。

▲ 模擬方案與單片機方案

?

由于受到單片機本身 RAM 容量、CPU 頻率、PWM 分辨率的影響,這個方案對于信號轉(zhuǎn)換有一定的限制:

  • 三角波的占空比從 0~100%,分成 100 個等級進行調(diào)節(jié);三角波的幅值從 0~255,分成 256 個等級進行調(diào)節(jié);三角波的頻率從 5.6Hz~250Hz。

過低的頻率則需要內(nèi)部有更大的 RAM 來存儲輸出波形的數(shù)據(jù);更高的頻率則要求內(nèi)部 PWM,CPU 的頻率要更高才行。

比如,下圖顯示了三角波的頻率達到 500Hz 時,輸出波形中就包含了明顯變形失真。這是因為在一個周期內(nèi)之后十幾個采樣點輸出。

▲ 高頻下對應的輸出三角波的形狀

?

在現(xiàn)代的一些電子線路中,除了微弱信號、強功率信號、超高頻信號以及與人的感知交互的等場合,還需要模擬電路設計。越來越多的領域則逐步轉(zhuǎn)向數(shù)字可編程電子線路來完成對信號的處理。

當然了,設計一個可以沿著黑線行進的智能車,如果只允許使用模擬電路的方案,不允許使用 MCU,你覺得可能嗎?

如果你想不到答案的話,也許下面這個黑板上的電路你可以仔細看一下了。這是只使用模擬器件就可以完成巡線機器人的電路。最后就只剩下一個問題,這種使用模擬電路搭建的自主巡線車模還能被稱為智能車嗎?

▲ 只是用一個模擬器件便可以讓車模沿著線行進

?

本文中所涉及到的 STC 單片機進行信號轉(zhuǎn)換的硬軟件文件可以從以下鏈接下載:

  1. 實驗 AD 設計文件和 C51 程序[3]

參考資料

[1]模擬課程中的問題:?https://zhuoqing.blog.csdn.net/article/details/106240267

[2]信號轉(zhuǎn)換的解題思路:?https://zhuoqing.blog.csdn.net/article/details/106293296

[3]實驗 AD 設計文件和 C51 程序:?https://download.csdn.net/download/zhuoqingjoking97298/12453886

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

公眾號TsinghuaJoking主筆。清華大學自動化系教師,研究興趣范圍包括自動控制、智能信息處理、嵌入式電子系統(tǒng)等。全國大學生智能汽車競賽秘書處主任,技術組組長,網(wǎng)稱“卓大大”。