微控制器是將微型計算機的主要部分集成在一個芯片上的單芯片微型計算機,。在片上PWM(脈沖寬度調制)資源方面,,低成本的8位單片微控制器是很吝嗇的。設計人員在采用PWM資源時,,經(jīng)常被迫要犧牲一個捕捉/比較通道或定時器通道,,因為PWM通道要共用相同的片上資源。很多基于微控制器的獨立電氣設備都不會使用同步串行端口,。因此,,可以用微控制器的波特率發(fā)生器和并/串轉換器部分來生成位模式,構成一個256位的PWM形式,。然后用RC濾波器過濾這個PWM輸出,,提取出一個模擬信號。同步通信沒有異步通信的起始位和停止位,,因此位模式可以產(chǎn)生出長周期的高電平或低電平,。

圖1,,可以用片上未用的同步串行端口產(chǎn)生PWM信號,并將其轉換為一個慢速運動的模擬信號,。
采用這種概念,,可以用一個十進制數(shù)165產(chǎn)生原數(shù)據(jù)(圖2)。一個PWM轉換周期包含生成的256位,,即32字節(jié),。“on”位的數(shù)量對應于轉換為PWM的原數(shù)據(jù)值。因此,,對于165位的原數(shù)據(jù),,有165位個on,,91位個off,。要產(chǎn)生一個165位的on周期,前20個字節(jié)(即160位)傳送為0×ff個on態(tài)字節(jié),。訣竅在于第21個字節(jié)(或過渡字節(jié))的組成,。該字節(jié)的一些LSB(最低有效位)為1,其余為0,,構成所需要的on周期長度,。在這一例子中,電路需要5個以上的on位:160+5=165,。因此,,過渡字節(jié)的形式應為0001111b(字節(jié)=0×1f)。

圖2,,采用這種概念,,可以用十進制值165產(chǎn)生原數(shù)據(jù)。
圖3以流程圖的形式表示這個過程,。通過選擇晶體,、PLL(鎖相環(huán))和波特率,可以根據(jù)自己的應用修改PWM頻率,。用簡單的RC濾波器就可以將PWM轉換為一個慢速運動的模擬值,。雖然本方法描述的是一個8位PWM,但也可以修改每個PWM周期的總位數(shù),,從而增加或降低分辨率,。相應地增加或減少了轉換時間。

圖3,,通過選擇晶體,、PLL和波特率,可以針對自己應用修改PWM頻率,。
代碼采用的是Microchip公司的PIC18F4525,,它用一只4MHz晶體,,以及用于同步串行通信的10kHz波特率,獲得10000/256=39.31Hz的PWM頻率,??梢杂靡粋€0.1s的RC濾波器對其作濾波,對慢速運動的模擬信號來說這已足夠,,如運動控制應用的速度設置點,。采用20MHz晶體時,可以實現(xiàn)大于1.5MHz的同步串行波特率,,以及數(shù)kHz的PWM頻率,。