java怎么拦截某个对象
251
2022-11-02
采用可编程逻辑器件实现温控电路接口及其与DSP通信接口的设计
(原文来源:微计算机信息 李森;张春熹;李保国;林恒 在此特别鸣谢!) 1 引言
温控电路整体结构
给 FPGA。FPGA将DSP发送来的数据存储在内部存储器后,对数据进行操作,生成输出信号。FPGA一方面将数据串行发送给 232接口芯片,然后通过 232串口发送给上位机。上位机可通过监视软件实时观测温度值和控制量的变化情况,方便系统调试与评估;另一方面从数据中提取出控制量,将其串行输出到DAC,数字控制信号经过 DA转换后输出模拟控制电压到后端控制电路,实现对七路温度的闭环控制。
4.FPGA与外围电路之间的通信接口 FPGA与外围电路之间的通信接口主要包括与温度传感器,DSP,232接口芯片和 DAC的通信接口四个部分。
(1) 与温度传感器的通信接口
本方案的温度传感器采用DS18B20,它通过硬件非常简单的 1-wire总线通信,由于硬件简单所以通信协议比较复杂。要实现与它的通信接口将占用大量 FPGA片内资源,而且本方案要进行七路温度采集,因此优化程序设计,减少冗余,节省资源显得尤为重要【2】。
(2) 与 DSP的通信接口
(3)与232接口芯片的通信接口 FPGA与 232接口芯片的通信是通过收发两条数据线实现的。本方案中,只存在温控系统到上位机的单向数据传输,故仅需一条发送数据线就可以完成与 232接口芯片的通信。
(4)与 DAC的通信接口
(1)RESET模块 该模块生成全局复位信号。是所有模块中优先级最高的。系统上电后,该模块将复位信号拉低并持续 1秒而后拉高,对 DSP和 FPGA内部其他模块进行复位。
(2)DS18B20接口模块 该模块用于实现与 DS18B20通信,读取并存储温度值。它包含 2个子模块。
一、温度采集模块
(3)DSP接口模块该模块主要用于与 DSP进行通信。它包含 3个子模块。 一、DSP写信号同步模块 DSP的数据写入在写信号控制下完成。由于 DSP和 FPGA采用不同的时钟源,所以 DSP产生的写信号无法和 FPGA的主时钟同步。这样就会导致写数据错误。该模块用于将 DSP写信号与 FPGA的主时钟同步。 二、中断生成模块 由于本方案中,温度值每秒更新一次。在温度值更新后,通过中断信号通知 DSP读取温度值。该模块用于生成周期为 1秒的中断脉冲。
三、寻址模块 该模块对 FPGA片内资源进行编址,由 DSP的地址总线控制寻址。准确读写所需的数据。
(4)总线控制模块 DSP和 FPGA之间的数据总线是双向总线,总线控制模块用于控制总线的数据流向。当DSP从 FPGA中读取温度值时,总线控制模块将温度存储模块和数据总线相连,输出数据。当 DSP向FPGA中写数据时,总线控制模块将数据总线和双口 RAM模块相连,输入数据。
(5)双口 RAM模块 该模块主要实现以下三个功能:当 DSP写数据时,将数据存储于内部存储器中;当数据存储完毕后,将其中的控制量发送给 DAC控制模块;与串口发送模块通信,将所有数据依次串行输出。
(6) 232接口模块 该模块用于实现串口数据输出,它包含 2个子模块: 一、串口波特率模块 串口通信协议要求数据收发双方有相同的波特率。该模块用于设定串口通信波特率。 二、串口发送模块
双口 RAM模块将数据存储完毕后,将给串口发送模块一个标志信号。串口发送模块接到此信号后,依次将双口 RAM模块中存储的数据串行输出。
(7)DAC接口模块 该模块包含 2个子模块: 一、DAC时钟模块 DAC需要特定频率范围的时钟来驱动。该模块用于生成驱动 DAC的时钟信号。 二、DAC控制模块
该模块用于生成DAC控制信号。它的基本原理是将双口 RAM模块输出的 7路控制量存储在内部存储器,然后根据 DAC的接口协议生成 CLK,DATA,LOAD和 LDAC等控制信号,这些信号将驱动 DAC的工作,将数字控制量转换成模拟电压值。
结束语
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~