多通道A/D转换控制模块的设计与实现
正常工作以及实现端口数据的采集、分析和处理等功能。
2 软件设计
Neuron C是专门为Neuron芯片设计的编程语言,它以ANSI C为基础,包括对ANSI C的扩展,可直接支持Neuron芯片的软件固化。Neuron C定义了多种I/O对象类型,如直接、计数器/计时器、串行和并行。下面介绍MC143150 Neuron芯片对ADS7844的8个通道工作在差分输入方式下进行循环采样的程序设计过程。
选用MC143150 Neuron芯片的Neurowire输入/输出作为I/O对象,使MC143150 Neuron芯片循环采集ADS7844输出端口DOUT信号,实现与ADS7844同步全双工串行通信。
2.1 Neurowire输入/输出对象语法结构定义
IO_8:Neurowire输入/输出对象使用管脚IO_8~IO_10,IO_8指定时钟管脚,IO_9是串行数据输出管脚,IO_10是串行数据输入管脚。
Master:指定Neuron芯片在管脚IO_8上提供时钟,设置为输出管脚。
Slave:指定Neuron芯片检测在管脚IO_8上的时钟,设置为输入管脚。
Select(pin-nbr):为Neurowire master指定片选管脚,为IO_0~IO_7管脚之一。
Timeout(pin-nbr):为Neurowire Slave指定一个可选择的超时信号管脚,其范围是IO_0~IO_7。当使用超时信号管脚时,当neuron芯片等待时钟的上升沿或下降沿时,将检查该管脚的逻辑电平。如果检测到逻辑电平为"1",则传输停止。
Kbaud(const-expr):为Neurowire master指定比特率,const-expr可以为1 kb·s-1、10 kb·s-1或20 kb·s-1。对于10 MHz的Neuron芯片输入时钟,缺省值为20 kb·s-1。
Clockedge(+|-):指数据触发时钟信号极性,clockedge(+)为上升沿,clockedge(-)为下降沿。
io-object-name:由用户为该I/O对象指定的名字。
2.2 采样的程序清单
3 结束语
目前,该多通道A/D转换控制模块通过长时间运行测试,其性能可靠,故障率低,节约能耗,实现了多个模拟量转换、采集与处理功能,给现场自动化控制系统的集成带来较大的灵活性。
- 利用Σ-Δ ADC在工业多通道数据采集系统中进行信号调理(10-23)
- 基于PCI总线模块的多通道串行数据采集系统设计(11-01)
- 模数转换器组成的可编程40通道输出电路的设计方案(03-03)
- 数字电位器在雷达多通道接收机中的应用(03-15)
- 大功率LED照明方案(11-01)
- 并网光伏逆变器隔离的集成(10-12)