单片机的专用信号发生器设计与应用

[09-12 16:23:55]   来源:http://www.88dzw.com  单片机学习   阅读:8146

文章摘要:四 信号发生器的软件设计4.1 信号编码以产生 为例,来说明如何对信号进行编码。AD7226的每一个通道都能单独的配置成双极性输出,参考图6,以7226的通道A为例, 可以得到输出表达式: 如果取R1=R2,则有:其中DA=DBIN /256,其分子部DBIN就是锁存器A中锁存的数字量,也就是偏移二进制码。由于D/A输出双极性电压的范围是-VREF ~VREF(127/128),所以要把Uj1放大VREF倍,即对VREFUj1进行编码,然后通过放大电路处理,得到最终需要的Uj1。这样就有:则:在这里要注意 的取值范围是-1~ ,而不是-1~+1。取整时要按照四舍五入的原则以减少误差,表1是双极

单片机的专用信号发生器设计与应用,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

四 信号发生器的软件设计

4.1 信号编码
以产生 为例,来说明如何对信号进行编码。
AD7226的每一个通道都能单独的配置成双极性输出,参考图6,以7226的通道A为例, 可以得到输出表达式: 

如果取R1=R2,则有:

其中DA=DBIN /256,其分子部DBIN就是锁存器A中锁存的数字量,也就是偏移二进制码。
由于D/A输出双极性电压的范围是-VREF ~VREF(127/128),所以要把Uj1放大VREF倍,即对VREFUj1进行编码,然后通过放大电路处理,得到最终需要的Uj1。这样就有:

则:

在这里要注意 的取值范围是-1~ ,而不是-1~+1。取整时要按照四舍五入的原则以减少误差,表1是双极性输出时二进制编码表以及对应模拟输出电压。

表 1 双极性输出偏移二进制码表

4.2 软件设计
软件的任务是根据上位机的指令完成信号的控制和输出,编程语言采用8051汇编语言,整个程序由初始化模块、基准信号输出模块、测角及基准信号输出模块、中断模块、延时模块和喂狗模块组成。软件流程如图8所示。
4.3 与上位机接口时序
信号发生器采用中断的模式响应上位机的控制指令,其指令的时序如图9所示。
系统上电后,上位机须发送清零指令,复位INT0、INT1为低电平,Uj1、Uj2、Uc输出为0。在INT0、INT1为低电平期间,可以发送基准信号输出指令INT0,输出基准信号Uj1、Uj2;在基准信号输出期间,即INT0为高电平期间,可以发送测角信号输出指令INT1,此时输出测角信号 Uc,Uj1、Uj2同步输出。当INT0变为低电平时,无论INT1为何种状态,三路信号输出都为0。发送基准信号和测角信号输出前必须保证INT0、 INT1有效复位低电平。在INT0为低电平期间,陀螺仪模拟器不响应任何INT1指令。如果发生不可预料的逻辑紊乱,可以通过复位INT0、INT1,再按照图9所示时序关系发送指令。


五 结 论通过软件硬件的调试和检测,表明该模拟装置的硬件和软件系统能很好的工作,在系统的联调中能正确的模拟角位移传感器的基准信号和测角信号,满足设计的要求,已经在某产品的检测系统中获得了应用。


上一页  [1] [2] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行