3 CAN通信传输电路
CAN相关电路如图3所示。LPC2292中虽然内嵌CAN控制器,但是必须与CAN收发器连接才能具备收发功能,在以往的设计中ARM和CAN收发器之间通常需要加入DC-DC电源隔离模块和高速光电耦合器组成的隔离电路,以确保在CAN总线遭受严重的干扰时控制器能够正常工作。然而考虑到复杂度、系统集成等因素,本设计中利用CTM8231接口芯片来实现带隔离的CAN收发电路。它将LPC2292中内建的CAN控制器逻辑电平转换为CAN总线的差分电平,实现起来非常简单而且有高抗电磁干扰性;每一路独立的CAN总线接口均配上120Ω的可跨接的终端匹配电阻,同时在印制板上留有可另接一其他阻值电阻的接口,以便在调试和使用过程中进行终端电阻的调整,由拨码开关选择。CAN总线上有数据传输时,用发光二极管闪烁指示。
4 软件设计
4.1 A/D转换程序设计
整个A/D转换的时间需要384个CLK时钟周期,ADsl251的工作时序如图4所示。ADS1251的输出信号DOUT/DRDY是在两种工作模式下转换的:第一种模式是DRDY(需要36个CLK时钟周期),它表明新的数据已经加载到数据输出寄存器中,可以进行读操作;第二种模式是DOUT(需要384个CLK时钟周期),它将数据以串行方式送到数据输出寄存器DOR。DRDY模式持续t4(24个CLK时钟周期)、t2(6个CLK时钟周期)、t2(6个CLK时钟周期)时间,然后在t3的下降沿进入DOUT模式,数据在t7之后开始输出。而LPC2292在t6时间后为ADS1251提供SCLK时钟,并在SCLK的上升沿锁存数据,为了接收到有效数据,DOR数据输出寄存器必须在DOUT/DRDY变回到DRDY模式之前将数据读出。