DS80C320在高速数据采集中的应用
发布时间:2008/6/3 0:00:00 访问次数:542
普通的51单片机工作在12mhz时,指令周期为1μs,而访问外部空间需要2μs,实现数据采集时速度不会达到500ksps。dallas的ds80c320与80c32兼容,但速度更快,工作在12mhz时指令周期为1/3μs,而且它的工作频率可达到33mhz,可用于高速数据采集。 1 ds80c320的相关寄存器 ds80c320内部增加了一些特殊功能寄存器,其中有一个影响着外部数据访问速度:ckcon(8eh)。它的低三位(md2、md1、md0)决定着访问外部数据消耗的时钟数及选通信号的宽度,它们的关系如表1所列。 ckcon(8eh) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 wd1 wd0 t2m t1m t0m md2 md1 md0 表1 md2 md1 md0 指令周期/个 选通信号时钟数/个 选通信号脉宽/ns 0 0 0 2 2 80 0 0 1 3 4 160 0 1 0 4 8 320 0 1 1 5 12 480 1 0 0 6 16 640 1 0 1 7 20 800 1 1 0 8 24 960 1 1 1 9 28 1120 ds80c320外部数据访问(movx)指令默认为3个指令周期,即上电复位时md0为1,改变md2-0的值可以改变访问速度,md2-0不是直接寻址位,需要对字节(ckcon)进行操作。另外,ds80c320有两个数据指针,通过dps寄存器的最低位来选择,进行数据埠移动时很方便。默认的数据批奖勤罚懒为dptr(82h,83h)。
2 高速采集应用实例 图1所示电路最高采样速度可达到1msps,可以以最高速度连续采集256个数据。采集的数据放入双口ram,低速总线可以从双口ram另一端读出数据,因为双口ram的两个端口可独立操作,故高、低速总线互不影响(这里只谈高速总线的工作情况,故图中没有画出低速部分的电路)。在高速应用时,器件的选择很重要。单片机为ds80c320,工作温度范围为-40~85℃;时钟选用24mhz晶振;a/d器件采用ad7822,精度为8位,转换时间为420ns;地址锁存为74f373,d到q端延时为8ns(74hct373为44ns);程序存储器为w29c020-90,取数时间为90ns;数据存储器为256字节的双端口ram ds1609(35ns)。此电路的连线也有些特别;adc的启动信号与单片机的写信号相连,即单机同执行一次写操作就开始一次a/d转换,同时把上次转换的结果写入双口ram;ad7822的cs端直接接地,免去选通信号(这种用法在ad7822数据手册里有介绍);ad7822的vmid连接到vref(2.5v)上,此时输入电压范围为1.25~3.75v,改变它们的连法可以改变输入电压范围;ad7822的eoc悬空,即不检查忙标志,严格控制时序即可。从时序上可以看到:从启动信号(wr)到读数据(rd)要至少13个振荡周期,对24mhz来说就是520ns,这比ad7822的最大转换时间要长,因此可以得到有效的数据。 a/d转换过程是一个循环过程。首先,执行一条写指令,wr信号触发了a/d转换的开始。然后,用两条nop指令进行延时,
普通的51单片机工作在12mhz时,指令周期为1μs,而访问外部空间需要2μs,实现数据采集时速度不会达到500ksps。dallas的ds80c320与80c32兼容,但速度更快,工作在12mhz时指令周期为1/3μs,而且它的工作频率可达到33mhz,可用于高速数据采集。 1 ds80c320的相关寄存器 ds80c320内部增加了一些特殊功能寄存器,其中有一个影响着外部数据访问速度:ckcon(8eh)。它的低三位(md2、md1、md0)决定着访问外部数据消耗的时钟数及选通信号的宽度,它们的关系如表1所列。 ckcon(8eh) bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 wd1 wd0 t2m t1m t0m md2 md1 md0 表1 md2 md1 md0 指令周期/个 选通信号时钟数/个 选通信号脉宽/ns 0 0 0 2 2 80 0 0 1 3 4 160 0 1 0 4 8 320 0 1 1 5 12 480 1 0 0 6 16 640 1 0 1 7 20 800 1 1 0 8 24 960 1 1 1 9 28 1120 ds80c320外部数据访问(movx)指令默认为3个指令周期,即上电复位时md0为1,改变md2-0的值可以改变访问速度,md2-0不是直接寻址位,需要对字节(ckcon)进行操作。另外,ds80c320有两个数据指针,通过dps寄存器的最低位来选择,进行数据埠移动时很方便。默认的数据批奖勤罚懒为dptr(82h,83h)。
2 高速采集应用实例 图1所示电路最高采样速度可达到1msps,可以以最高速度连续采集256个数据。采集的数据放入双口ram,低速总线可以从双口ram另一端读出数据,因为双口ram的两个端口可独立操作,故高、低速总线互不影响(这里只谈高速总线的工作情况,故图中没有画出低速部分的电路)。在高速应用时,器件的选择很重要。单片机为ds80c320,工作温度范围为-40~85℃;时钟选用24mhz晶振;a/d器件采用ad7822,精度为8位,转换时间为420ns;地址锁存为74f373,d到q端延时为8ns(74hct373为44ns);程序存储器为w29c020-90,取数时间为90ns;数据存储器为256字节的双端口ram ds1609(35ns)。此电路的连线也有些特别;adc的启动信号与单片机的写信号相连,即单机同执行一次写操作就开始一次a/d转换,同时把上次转换的结果写入双口ram;ad7822的cs端直接接地,免去选通信号(这种用法在ad7822数据手册里有介绍);ad7822的vmid连接到vref(2.5v)上,此时输入电压范围为1.25~3.75v,改变它们的连法可以改变输入电压范围;ad7822的eoc悬空,即不检查忙标志,严格控制时序即可。从时序上可以看到:从启动信号(wr)到读数据(rd)要至少13个振荡周期,对24mhz来说就是520ns,这比ad7822的最大转换时间要长,因此可以得到有效的数据。 a/d转换过程是一个循环过程。首先,执行一条写指令,wr信号触发了a/d转换的开始。然后,用两条nop指令进行延时,
上一篇:挖掘机自动测深仪的研制