原创 用DSP定时器实现方波输出

2006-10-7 22:49 5801 7 8 分类: 处理器与DSP
在DSP的电机控制中,经常要用到方波输出,就是常说的PWM,PTO。一般的控制方式采用的是使用2812的EV单元去产生对称波形。但是在现代的一些控制领域,特别是位置控制领域,经常要实现开环控制脉冲个数,并产生多种频率的脉冲输出。EV是很难实现的。
   我提供一种新的实现方法,可以实现上面的功能:使用定时器中断来反向GPIO口实现脉冲输出的。
比如,我使用CPUTIMER2来实现波形输出:
     1.初始化定时器值为半个周期值。
         ConfigCpuTimer(&CpuTimer2, 100, 10);
StartCpuTimer2();
     2.中断程序如下:
interrupt void CpuTim2Int(void)
{
Uint32 i;

if (State==1)  //电平反向state为电平值
     State=0;
    else {
State=1;
xxx++;                               //xxx为脉冲个数,发300000个脉冲就停止
if (xxx==300000) {
xxx=0;
StopCpuTimer2();
}
CpuTimer2Regs.PRD.all=i/2;                   //i为脉冲周期值
GpioDataRegs.GPATOGGLE.bit.GPIOA0=1;//pto2



这样可以实现随时对应一个GPIO口对应一个脉冲频率,而且可很方便的精确计数。因为波形是自己软件制造,因而能很好的软件计数。
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2013-5-7 08:35

能输出1hz的脉冲吗

zhaoliang_0801_926809075 2007-4-14 14:23

就是利用液晶作为显示器件, 4个按键作为菜单编辑调整时间,

自己发挥吧 !

加上模块的话高级一些,可以采用 时钟芯片或者 遥控调整的方式

注意 ,只用开发板来做的话,时间是没法保存的,掉电就没有了!

相关推荐阅读
用户58572 2006-10-23 15:09
Gun汇编的保留字
Gun汇编的保留字不是很多书会提到的, 查找起来很不方便, 我自己整理了一下. 希望对以后有用. .ascii  “<string>”<?xml:namespace prefix =...
用户58572 2006-10-14 21:18
ARM学习笔记
1.寄存器R16用作CPSR(Current Program Status Register,当前程序状态寄存器),CPSR可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位...
用户58572 2006-10-14 21:12
画中画的硬件原理
要实现画中画功能,首先得有两个前提,背景图片,动画或视频,在图片中嵌入视频信息。    先用ARM产生图片信息,用视频解码芯片解调视频信息,再用FPGA把这两路信号合成,输出到FTF LCD上显示,难...
用户58572 2006-10-14 21:03
44B0的初始化程序的理解
 44B0的初始化程序就是初始化各个关键的寄存器,建立中断向量,然后转移到主函数去执行程序。      不过44B0不支持地址映射,所以程序不COPY到RAM种执行。44B0初始化对我们广大初学者来说...
用户58572 2006-10-14 21:02
通过网络烧写39VF160步骤
通过FTP烧写FLASH是一个编程工具,提供对39VF160的编程,这个程序出售时已经烧写到ARM anywhereII的29F040中,用户拿到开发板后可以直接使用。具体内容1.电路连接:     ...
用户58572 2006-10-13 20:39
砌墙工人的命运
三个工人砌一堵墙   有人过来说:“你们在干什么?”   第一个没好气的地说:“没看见吗?砌墙。”   第二个抬头笑了笑,说:“我们在盖一幢高楼。”   第三个边干边哼着歌曲,他的笑容很灿烂开心:我们...
我要评论
1
7
关闭 站长推荐上一条 /3 下一条