位置:51电子网 » 技术资料 » 测试测量

DSP与CAN总线的测速和远程传送一体化

发布时间:2008/5/26 0:00:00 访问次数:959

        

    

    

    速度测量是控制工程的基本问题之一。在许多情况下,测速信号需要远距离传送。实现这个问题的一个主要方法是使用soc(片上系统)芯片。它所带的丰富外设改变了关于硬件和软件的观念。搭建硬件系统变为对硬件结构的理解掌握,软件的编程也从算法编制为主变为部件设置为主,具有简捷、完整的特点,体现了芯片的技术优势。soc类的tms320lf2407dsp芯片在测速和远程传送应用中的简捷一体化设计也体现了这一点。

    1 相关系统结构

    tms320lf2407所带有的事件管理器和can控制器模块为测速和远程传送提供了便利。 tms320lf2407有2个事件管理器eva和evb,各有3个捕获单元。对应6个捕获输入引脚capx(对eva,x=1,2,3;对evb,x=4,5,6)。6个捕获输入引脚分别与qepl/iopa3、qep2/iopa4、iopa5、qep3/iope37、qep4/iopfo和iopfl 共用。当捕获输入引脚capx上检测到所选的跳变时,所选的gp定时器的计数值被捕获并存入到一个2级深的fifo堆栈中。

    tms320lf2407的can控制器模块包括有邮箱和相应的控制/状态寄存器。共有6个邮箱:2个接收邮箱(mbox0、1),2个发送邮箱(mbox4、5),2个可配置为接收或发送邮箱(mbox2、3)。tm$320lf2407的can控制器模块完全支持can2.0b协议。

    通常情况下,测速传感器系统输出的是数字测速脉冲信号。因此,可把这个加到tms320lf2407dsp芯片捕获引脚上。利用tms320lf2407芯片的捕获单元测量输入脉冲的周期,再由内置的can总线控制器单元发出can周期信号,实现测速和远程传送一体化。

    2 系统配置

    2.1 捕获单元及相应定时器的配置

    tm$320lf2407捕获单元的工作原理是:以输入脉冲上升沿、下降沿或上升沿下降沿为界,由相应的定时器计数来度量周期,计数值被捕获送入相应的一个2级深的捕获堆栈fif0中。因此,涉及到捕获和定时器两部分的配置操作。需要配置的捕获操作有:在i/o口复用控制寄存器mcrx(x=a、b或c)中把相应引脚配置为捕获输入;在捕获控制寄存器capcona/b中选择(使能)捕获单元、选择(使能)相应的定时器和边沿选择(上升沿、下降沿或上升沿下降沿);在中断标志寄存器eva/bifrx和中断屏蔽寄存器eva/bimrx中设置中断控制情况。需要配置定时器的操作有:对单个通用定时器txcnt清零;在全局通用定时器控制寄存器gptcona/b中设置相应定时器的操作及计数方向;在单个通用定时器周期控制寄存器txpr中设置比较周期;在单个通用定时器控制寄存器txcon中设置计数操作模式。

    周期控制寄存器txpr中设置的比较周期应大于输入脉冲信号的周期。在不知道输入脉冲信号周期的情况下,应设置为最大值。当度量周期超过最大捕获时间时,用定时器溢出的方法再加软件计数解决。

    2.2 捕获周期的取出和传送

    存放于捕获堆栈fifo的捕获周期的取出有中断和查询两种方法。捕获单元所在的事件管理器的中断延时时间为20个cpu周期(典型),或25个cpu周期(最小保护),或8个cpu周期(单个中断),或l6个cpu周期(不考虑存储器空间)。在具体设计中,中断延时时间被设为某一定值。在通常中断处理程序很短的情况下,中断时间主要由中断延时时间决定。为了系统的扩展,即使是单个外设,也还是以采用中断方法为宜,而不是查询方法。

    2.3 can控制器模块和位定时器配置

    can控制器模块的配置包括初始化邮箱、位定时器设置和数据收发。有关内容参见文献[1]。这里介绍一下位定时器的设置。

    位定时器的设置决定总线传输信号的波特率,是can控制器模块的核心配置问题。tms320lf2407有两个位控制寄存器bcrl和bcr2。它们必须在can控制器处于复位模式下(即ccr=1)才能被配置。位控制寄存器bcr2包括波特率预分频位brp[7-0],用来确定can控制器的时间片tq,作为位控制的基准时间。位控制寄存器bcr2包括同步跳转宽度选择位sjw[1-0]、采样次数选择位sam[7]、包含传播延时时间段(prog seg)和相位延时时间段1(phase segl)的时间段1 tsegl[3-0]、决定相位延时时间段2(phase seg2)的时间段2 tseg2[2-0]。这样波特率为

    3 设计实例

    本例的基本设置是选定捕获单元4(cap4)对输入脉冲宽度进行捕获,事件管理器evb的通用定时器3对脉冲进行计数。捕获计数值从fifo堆栈取出送到临时寄存器cap4temp,以便于扩展。再从cap4temp送到3号邮箱经cantx/iopc6和canrx/iopc7发送,如图1所示。

    

        

    

    

    速度测量是控制工程的基本问题之一。在许多情况下,测速信号需要远距离传送。实现这个问题的一个主要方法是使用soc(片上系统)芯片。它所带的丰富外设改变了关于硬件和软件的观念。搭建硬件系统变为对硬件结构的理解掌握,软件的编程也从算法编制为主变为部件设置为主,具有简捷、完整的特点,体现了芯片的技术优势。soc类的tms320lf2407dsp芯片在测速和远程传送应用中的简捷一体化设计也体现了这一点。

    1 相关系统结构

    tms320lf2407所带有的事件管理器和can控制器模块为测速和远程传送提供了便利。 tms320lf2407有2个事件管理器eva和evb,各有3个捕获单元。对应6个捕获输入引脚ca(对eva,x=1,2,3;对evb,x=4,5,6)。6个捕获输入引脚分别与qepl/iopa3、qep2/iopa4、iopa5、qep3/iope37、qep4/iopfo和iopfl 共用。当捕获输入引脚ca上检测到所选的跳变时,所选的gp定时器的计数值被捕获并存入到一个2级深的fifo堆栈中。

    tms320lf2407的can控制器模块包括有邮箱和相应的控制/状态寄存器。共有6个邮箱:2个接收邮箱(mbox0、1),2个发送邮箱(mbox4、5),2个可配置为接收或发送邮箱(mbox2、3)。tm$320lf2407的can控制器模块完全支持can2.0b协议。

    通常情况下,测速传感器系统输出的是数字测速脉冲信号。因此,可把这个加到tms320lf2407dsp芯片捕获引脚上。利用tms320lf2407芯片的捕获单元测量输入脉冲的周期,再由内置的can总线控制器单元发出can周期信号,实现测速和远程传送一体化。

    2 系统配置

    2.1 捕获单元及相应定时器的配置

    tm$320lf2407捕获单元的工作原理是:以输入脉冲上升沿、下降沿或上升沿下降沿为界,由相应的定时器计数来度量周期,计数值被捕获送入相应的一个2级深的捕获堆栈fif0中。因此,涉及到捕获和定时器两部分的配置操作。需要配置的捕获操作有:在i/o口复用控制寄存器mcrx(x=a、b或c)中把相应引脚配置为捕获输入;在捕获控制寄存器capcona/b中选择(使能)捕获单元、选择(使能)相应的定时器和边沿选择(上升沿、下降沿或上升沿下降沿);在中断标志寄存器eva/bifrx和中断屏蔽寄存器eva/bimrx中设置中断控制情况。需要配置定时器的操作有:对单个通用定时器txcnt清零;在全局通用定时器控制寄存器gptcona/b中设置相应定时器的操作及计数方向;在单个通用定时器周期控制寄存器txpr中设置比较周期;在单个通用定时器控制寄存器txcon中设置计数操作模式。

    周期控制寄存器txpr中设置的比较周期应大于输入脉冲信号的周期。在不知道输入脉冲信号周期的情况下,应设置为最大值。当度量周期超过最大捕获时间时,用定时器溢出的方法再加软件计数解决。

    2.2 捕获周期的取出和传送

    存放于捕获堆栈fifo的捕获周期的取出有中断和查询两种方法。捕获单元所在的事件管理器的中断延时时间为20个cpu周期(典型),或25个cpu周期(最小保护),或8个cpu周期(单个中断),或l6个cpu周期(不考虑存储器空间)。在具体设计中,中断延时时间被设为某一定值。在通常中断处理程序很短的情况下,中断时间主要由中断延时时间决定。为了系统的扩展,即使是单个外设,也还是以采用中断方法为宜,而不是查询方法。

    2.3 can控制器模块和位定时器配置

    can控制器模块的配置包括初始化邮箱、位定时器设置和数据收发。有关内容参见文献[1]。这里介绍一下位定时器的设置。

    位定时器的设置决定总线传输信号的波特率,是can控制器模块的核心配置问题。tms320lf2407有两个位控制寄存器bcrl和bcr2。它们必须在can控制器处于复位模式下(即ccr=1)才能被配置。位控制寄存器bcr2包括波特率预分频位brp[7-0],用来确定can控制器的时间片tq,作为位控制的基准时间。位控制寄存器bcr2包括同步跳转宽度选择位sjw[1-0]、采样次数选择位sam[7]、包含传播延时时间段(prog seg)和相位延时时间段1(phase segl)的时间段1 tsegl[3-0]、决定相位延时时间段2(phase seg2)的时间段2 tseg2[2-0]。这样波特率为

    3 设计实例

    本例的基本设置是选定捕获单元4(cap4)对输入脉冲宽度进行捕获,事件管理器evb的通用定时器3对脉冲进行计数。捕获计数值从fifo堆栈取出送到临时寄存器cap4temp,以便于扩展。再从cap4temp送到3号邮箱经cantx/iopc6和canrx/iopc7发送,如图1所示。

    

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式