DSP、CAN、USB、以太网系统

2019-07-13 11:04发布

《基于DSP的数据采集系统设计》武汉理工大学硕士学位论文
    本系统基本组成:传感器、前置放大、滤波器->多路选择开关->S/H->ADC->计算机接口。
    DSP技术已经广泛应用于仪器仪表、通信、图像处理、频谱分析、电机控制等领域,在推进信息处理数字化方面发挥着越来越大的作用。DSP放弃了冯-诺伊曼结构,代之以程序和数据分开的哈佛结构。
    新型DSP应用于只能测控、电机控制、电力电子等领域,并可以组成新型的DSP嵌入式应用系统。


    TMS320C24X系列DSP将实时信号处理能力和控制器外设功能集于一身,为本数据采集系统提供了一个非常理想的解决方案。基于成本、速度、功耗等考虑,本课题采用了TMS320C24X系列DSP中的TMS320LF2407作为数据采集系统的中央处理器。


    CAN总线作为现场设备级的现场总线,与其他总线相比,具有很高的可靠性和性价比。
    前后通信技术分析:以往没有更好的选择,大多数采用BITBUS或RS-485作为通信总线。其不足主要有:一主多从,无冗余;数据通信为命令响应,传输率低;错误处理弱。
    CAN网络上任何一个节点均可作为主节点主动与其它节点交换数据;CAN网络节点的信息帧可以分出优先级,这对于有实时性要求的控制提供了方便;CAN的物理层以及数据链路层有独特的设计技术,使其在抗干扰以及错误检测方面的性能均大大提高。CAN的特点是其称为诸多工业测控领域中首选的现场总线之一。


    CAN技术应用在智能楼宇和小区建设中,如安防系统、抄表系统、家用控制等。每个节点可以随机访问,通信速度完全满足要求,且这类应用中数据交换量很少。适当的网关如CAN与TCP/IP协议的转换,可以使一个居室或一栋大楼的现场CAN信息转变为Internet的形式外传,或反过来通过这类网关把外部网传来的信息转换为CAN的形式,此即实现了远程控制。
研究内容:   (1) 完成DSP输入/输出模块、模数转换模块、串行外设接口模块和CAN控制器模块
             (2) 研究CAN总线在数据采集系统中的应用。CAN总线的传输介质使用光纤和双绞线接口。  
            (3)用Visual C++6.0中的Windows API编程应用上位机监控软件,软件要求对个通道数据进行
                 实时监控,并且能够连接数据库,保存所采集的数据,以便对数据进行分析,监控。
系统结构:1.模数转换模块主要是处理器基础上扩展A/D转换芯片来完成于传感器的链接,模拟转数字信号。
          2.串行通信接口模块主要是用来实现处理器与上位机的串行同行,保证处理器与上位机实时通信
          3.CAN控制器模块是将本数据采集系统设成一个CAN总线上的一个节点,通过CAN通信与其他子系统    进行通信
          4.上位机监控软件的设计很好的实现了采集数据的实时监控,使用户能够通过数据实时作出判断


难点:CAN总线通信模块的设计 
    现场总线的设计过程中,我们考虑过RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
    (1)CAN控制器工作于多主方式,网络中的各节点都可以根据总线访问的优先权(取决与报文标示符)         采用无无损结构的逐为仲裁的方式竞争向总线发送数据,可以使不同节点同时接收相同的数据,这          些特点使得数据通信实时性强;并且能够容易构成冗余结构,提高系统性和系统的灵活性。
         RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统实时性、可靠性差     (2)CAN总线通过CAN控制器芯片82C250的两个输出端CANH和CANL与物理总线相连,这就保证不会出现在         RS-485网络中,当系统错误时,出现多节点同时向总线发送数据时,导致总线出现短路,从而损坏         节点的现象。
    (3)CAN具有完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低了系统开发难度。
         同时本系统是整个现场主控制系统中的一个,需要主系统与其他子系统进行通信,并且相互能够进         行实时的数据交流。
     主控中心<--CAN-->DSP数据采集系统、控制系统、其他子系统。


上位机部分:
     VC++6.0的基础类库(MFC)封装了WIN32 API中的标准通信函数,可方便的支持窗口通讯。
     它很容易实现Windows下的PC机与DSP的串行通信,使系统具有很强的通用性。
     由于串行通信的WIN32 API非常的庞大,而且使用起来也很困难。它包含了很长的函数列表,在
  加上内容相当多的数据结构,而且还没有明确的方法使用户所需的功能综合在一起。
     本系统实现上位机和下位机实时通信,采用了一个CSerialPort类,里面封装了WIN32 API的标
  准通信函数,来完成于微机软件的设计任务。
     在对话框类CCommtestDlg中调用CSerialPort类及其它类的成员函数,完成微机通信的软件设计
  任务。在程序工程中添加多个对话框,实现对数据的采集与监控、端口通信配置、数据存储等功能。