英创信息技术ARM9工控主板的ETA754 PWM模块应用

描述

        PWM(Pulse-Width Modulation)在电源管理、电机控制等场所的应用非常广泛。英创公司的嵌入式工控主板也充分地考虑到了这样的应用需求,所以在EM9000、EM9360、EM9260、EM9160及最新的EM9170中,均设计了一路或多路PWM信号输出。如需要更多的PWM通道,则可以使用ETA754模块再扩展出两路PWM信号输出。ETA754是基于精简ISA总线的扩展模块,可与英创公司的所有主板产品配合使用,ETA754扩展模块的核心是一片经典的82C54三通道可编程定时器芯片。

        为了说明如何使用ETA754,以EM9170作为应用平台进行举例说明。由于82C54的特点,要使其输出PWM信号,需要使用两路计数器配合使用,即计数器0通道的输出连接到计数器1和计数器2的GATE信号上(相互之间可以互换)。所以一片82C54最多可以输出两路PWM信号,它的输出信号连接图如下所示:

嵌入式主板

        基于上图的应用,存在几个特点需要注意: 
        1、两路PWM信号的输出频率是一样的
        2、最低输出频率为153HZ
        3、要使PWM信号的占空比分辨率达到1%,最高输出频率为100KHz
        4、输出频率超过100KHz后,占空比分辨率为:(f/100KHz)%

        基于EM9170测试时,一共只有三个函数,即打开、关闭、设置输出。函数说明如下:

/*
功能:ETA754初始化
输入参数:
        无输入参数
返回值:
        操作成功:
        操作失败:-1
*/
int ETA754Init();
/*
功能:关闭ETA754
输入参数:
        Channel:要设置工作模式的计数器通道,限Channel _1\ Channel _2有效。
返回值:
        操作成功:
        操作失败:-1
*/
int ETA754Close( unsigned char Channel );
/*
功能:在ETA754的计数器通道和通道上产生PWM信号输出,以下参数是计数器输入时钟频率为MHz
输入参数:
        Channel:要设置的PWM通道,限Channel _1\ Channel _2有效。
        PWMFrequency:输出的PWM信号频率,最小HZ,最高MHz
        PWMDuty:输出的PWM信号的占空比,-99有效(在Hz-100KHz之间,占空比分辨率能达到%)
        如输出频率超过KHz,则占空比的分辨率只能做到(x/100000)/100。
返回值:
        操作成功:当前输出的频率
        操作失败:-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口输出信号,这时为低电平
ETA754_PWM( Channel_2 , 100000 , 20 ); // 从PWM1口输出100KHz、20%占空比的信号
ETA754Close(Channel_2); // 禁止PWM2口输出信号,这时为低电平


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分