PWM(Pulse-Width Modulation)在電源管理、電機(jī)控制等場所的應(yīng)用非常廣泛。英創(chuàng)公司的嵌入式工控主板也充分地考慮到了這樣的應(yīng)用需求,所以在EM9000、EM9360、EM9260、EM9160及最新的EM9170中,均設(shè)計(jì)了一路或多路PWM信號輸出。如需要更多的PWM通道,則可以使用ETA754模塊再擴(kuò)展出兩路PWM信號輸出。ETA754是基于精簡ISA總線的擴(kuò)展模塊,可與英創(chuàng)公司的所有主板產(chǎn)品配合使用,ETA754擴(kuò)展模塊的核心是一片經(jīng)典的82C54三通道可編程定時(shí)器芯片。
為了說明如何使用ETA754,以EM9170作為應(yīng)用平臺進(jìn)行舉例說明。由于82C54的特點(diǎn),要使其輸出PWM信號,需要使用兩路計(jì)數(shù)器配合使用,即計(jì)數(shù)器0通道的輸出連接到計(jì)數(shù)器1和計(jì)數(shù)器2的GATE信號上(相互之間可以互換)。所以一片82C54最多可以輸出兩路PWM信號,它的輸出信號連接圖如下所示:
基于上圖的應(yīng)用,存在幾個(gè)特點(diǎn)需要注意:
1、兩路PWM信號的輸出頻率是一樣的
2、最低輸出頻率為153HZ
3、要使PWM信號的占空比分辨率達(dá)到1%,最高輸出頻率為100KHz
4、輸出頻率超過100KHz后,占空比分辨率為:(f/100KHz)%
基于EM9170測試時(shí),一共只有三個(gè)函數(shù),即打開、關(guān)閉、設(shè)置輸出。函數(shù)說明如下:
/*
功能:ETA754初始化
輸入參數(shù):
無輸入?yún)?shù)
返回值:
操作成功:
操作失敗:-1
*/
int ETA754Init();
/*
功能:關(guān)閉ETA754
輸入?yún)?shù):
Channel:要設(shè)置工作模式的計(jì)數(shù)器通道,限Channel _1\ Channel _2有效。
返回值:
操作成功:
操作失敗:-1
*/
int ETA754Close( unsigned char Channel );
/*
功能:在ETA754的計(jì)數(shù)器通道和通道上產(chǎn)生PWM信號輸出,以下參數(shù)是計(jì)數(shù)器輸入時(shí)鐘頻率為MHz
輸入?yún)?shù):
Channel:要設(shè)置的PWM通道,限Channel _1\ Channel _2有效。
PWMFrequency:輸出的PWM信號頻率,最小HZ,最高M(jìn)Hz
PWMDuty:輸出的PWM信號的占空比,-99有效(在Hz-100KHz之間,占空比分辨率能達(dá)到%)
如輸出頻率超過KHz,則占空比的分辨率只能做到(x/100000)/100。
返回值:
操作成功:當(dāng)前輸出的頻率
操作失敗:-1
*/
int ETA754_PWM( unsigned char Channel, int PWMFrequency , int PWMDuty );
下面的例子就是從PWM1通道和PWM2通道輸出相同頻率、不同占空的代碼:
ETA754Init(); // 初始化ETA754及所占用的ISA總線資源
ETA754_PWM( Channel_1 , 100000 , 50 ); // 從PWM1口輸出100KHz、50%占空比的信號
ETA754Close(Channel_1); // 禁止PWM1口輸出信號,這時(shí)為低電平
ETA754_PWM( Channel_2 , 100000 , 20 ); // 從PWM1口輸出100KHz、20%占空比的信號
ETA754Close(Channel_2); // 禁止PWM2口輸出信號,這時(shí)為低電平
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6086瀏覽量
35477
發(fā)布評論請先 登錄
相關(guān)推薦
評論