基于CPCI总线的智能A/D,D/A模块设计
0 引 言 在工业控制领域,为了实现采集和控制功能,经常会使用到A/D,D/A模块。在实际使用中A/D,D/A模块和主机之间通信方式可以有很多选择。比如RS 232,RS 422,网络等接口方式。在该设计中A/D,D/A模块通过CPCI总线与主机通信,通过A/D接口采集数据,经过伺服控制软件处理,输出模拟量驱动执行机构。 从而实现一个闭环的控制。另外通过对DSP软件的修改,该模块还可以单独实现A/D或者D/A功能。 该设计中A/D,D/A模块具备以下功能: (1)提供2路16位A/D,输入信号范围±5 V,精度要求小于士16 LSB; (2)提供2路16位D/A,输出信号范围±5 V,精度要求小于土8 LSB,受系统复位控制; (3)使用TI公司DSP(TMS320VC33)作为板载处理器,该DSP主要实现管理A/D和D/A、运行控制算法、与主机通信功能,并受系统复位控制; (4)DSP与主机采用双口RAM(IDT7133)实现数据交换功能。
1 设计原理 如图1硬件结构框图所示,该模块采用TI公司高性能CPU器件TMS320VC33为核心。模块通过PCI9052芯片与CPCI总线连接,PCI9052的本地总线的信号连接到双口RAM的一端。双口RAM的另一端通过电平缓冲器连接DSP。 DSP核心电路包括DSP芯片TMS320VC33、数据RAM CY7C1041VC33、程序FLASH芯片SST39VF800A组成;DSP的地址、数据、控制总线通过电平缓冲器件连接双口RAM、A/D芯片、D/A芯片、CPLD。DSP通过双口RAM芯片与主控计算机进行数据交换;A/D芯片的初始化以及读写操作也由DSP负责完成;DSP控制D/A芯片输出模拟信号;CPLD内部主要实现组合逻辑功能,将DSP输入的控制信号译码,然后输出给双口RAM以及A/D,D/A等功能芯片使用。 双口RAM芯片是实现智能板的重要组成,由于DSP与主控计算机的地址空间资源是分别进行独立分配的,无法直接进行互相访问,在两者之间需要一个数据缓冲,双口RAM的特点使其可以满足这个要求。
2 实现方法 2.1 主要原器件选择 在该设计中采用成熟技术,选用常用、可靠的控制芯片,结合一些常用的外围电路和专用电路实现全部的功能。即选择PC19052作为接口芯片,利用该芯片实现PCI总线从接口逻辑。 选择TMS320VC33作为板载处理芯片,该芯片是TI公司推出的专门用于实现浮点运算的高性能DSP,数据处理能力强,并且包含丰富的外围电路扩展接口。 为了实现模块上的电平转换功能,选择应用比较广泛SN74ALVC164245DL作为电平转换缓冲芯片。 2.2 PCI9052与双口RAM硬件接口实现 如图3所示PCI9052与双口RAM连接的本地总线信号包括地址、数据、控制信号3个部分。地址总线宽度为12位,数据总线宽度为16位,因此寻址空间为2 KB的16 b地址空间。控制信号包括读写控制信号和外设准备完成信号,当双口RAM将外设准备完成信号拉低后,主机就可以通过输出读写控制信号对双口RAM进行读写的操作。 2.3 DSP设计核心电路设计 DSP是整个设计核心,DSP核心电路由DSP芯片、FLASH和RAM三个部分组成。DSP通过双口RAM与处理计算机交换数据。 如图3所示,DSP核心电路设计如下所述。DSP的电源包括核心工作电压1.8 V与I/O电压3.3 V两种,分别由板上电源模块提供。时钟信号由外接晶振提供。复位信号由CPLD提供,由于DSP的I/O电压为3.3 V,在与I/O电平标准为+5 V的信号连接时需要进行3.3~5 V之间的电平转换。中断信号同样通过电平转换器件连接到CPLD。地址和数据总线根据实际设计的需要连接功能器件。JTAG接口连接到模块的一个标准的双列14脚直插连接器上。Page0~3信号通过电平转换器件连接到CPLD。 2.4 电源设计 系统电源包括+5 V.3.3 V,1.8 V,+15 V,-15 V。 DSP芯片核心电压为1.8 V,I/O电压为3.3 V,所以需要该板提供3.3 V和1.8 V两个电压源。D/A芯片需要提供+15 V,-15 V两种电源。+5 V电源是由系统提供,其他的电源均由+5 V电源转换获得。 对于线性稳压来说,其特点是电路结构简单,所需元件数量少,输入/输出压差可以很大,但其致命弱点就是效率低,功耗高。DC-DC电路的特点是效率高,升降压灵活,缺点是干扰和纹波较大。 对比凌特公司、国家半导体公司、德州仪器公司等的同类型电压转换芯片,选取德州仪器公司的TPS73HD318模块作为3.3 V和1.8 V电压转换芯片。选用RECOM公:REC3-0515DRW完成+5 V和+15 V,-15 V之间电压转换。他们具有90%以上的转换效率、简单的外围电路、更小的封装、2.5%以下的纹波电压等特点。 2.5 复位设计 如图4所示,复位的输入包括两个部分:MAX1232输出的RESETA和电源芯片TPS73HD318输出的RESETB。MAX1232的输入为手动复位信号输入和看门狗喂狗信号输入。手动复位信号来自复位按钮,喂狗信号来自CPLD。复位输出2个信号分别给DSP,D/A使用。
2.6 电平转换设计 由于DSP的接口电平为3.3 V,CPLD和PC19052接口电平为5 V,为了将两部分兼容起来,需要使用电平转换缓冲芯片。如图5所示该器件有两个供电电源、两个方向控制端、两个使能端。通过连接不同的电压源可以为器件的信号引脚提供不同的电平。 2.7 A/D,D/A设计 A/D和D/A芯片通过电平缓冲期间与DSP的地址数据总线连接,由DSP芯片负责A/D和D/A的初始化以及读写控制。
3 CPLD逻辑设计 CPLD片内逻辑实现描述框图见图6。在CPLD内部主要实现了三个的功能,与DSP总线的逻辑接口、内部的寄存器、控制逻辑。 与DSP总线的接口逻辑实现与DSP逻辑接口,使DSP对CPLD的内部寄存器可以进行访问。状态寄存器为只读寄存器,用来读取中断状态、与双口RAM进行通信的标志位等信息;控制寄存器为只写寄存器,用来控制中断屏蔽、修改通信的标志位。组合逻辑主要用来进行地址译码、读写译码。
4 DSP软件设计 DSP软件开发主要是在TI提供的集成开发环境CCS下,充分利用实时操作系统DSP/BIOS的强大功能,结合自己特定的处理算法.快速构筑一个满足需求的高效率的软件系统。在设计中,对DSP的初始化是必须的,该设计主要应用于实时控制系统中,其电路的主要功能是用于采集、运算、输出。程序流程图如图7所示,上电后存储在FLASH内的程序开始运行,DSP开始依次初始化RAM存储器、CPLD内部寄存器、A/D寄存器、D/A寄存器。初始化完成后开始读取A/D输入,由于A/D转换速度比读取的速度慢,在读取过程中需要查询A/D转换状态,等待A/D芯片输出转换完成信号。将读取的数据写入双口RAM的指定位置,并刷新双口RAM和CPLD内部的标志位,通知主机读取数据。对A/D数据进行运算,根据运算结果控制D/A输出,等待查询D/A转换完成之后,程序再次跳转至读取A/D。 5 结 语 将该设计用于某一伺服控制系统,实现了系统功能,同时对系统的稳定性和可靠性给予了足够的关注。经长时间考核,本系统运行稳定可靠。
|