图1 智能温度采集器的系统结构框图
在设计Control Block的时候一般采取有限状态机(FSM)的方法。FSM分两大类:米里型(Inputs对输出逻辑和下一状态逻辑有影响)和摩尔型(Inputs只对下一状态逻辑有影响)。FSM设计中首要的是确定状态变量。这是以对设计问题的深入了解为基础的。每一个状态都有可以实现的进入条件,每个状态在所有输入条件下都有明确的下一状态,包括下一状态和目前状态相同的状态的情况。显然,如果下一状态只有和目前状态相同的状态才是可实现的,那么FSM一旦进入这个状态就不会再改变了,这种“死机”状态当然是要避免的。在此系统的 Control Block中的FSM采用摩尔型,设计出“下一状态逻辑”从而使得“状态寄存器”能在每一个时钟沿正确的进行状态转换,并确定好“输出逻辑”,在每一个状态都能输出正确的控制流来对 Data Path中的数据流进行正确的控制,保证整个系统能够正确的工作。图2 智能温度控制器逻辑功能流程图
控制器逻辑功能模块。FPGA实现的控制器处于PC端上位机与温度传感器DS18B2O中间。FPGA的主要设计任务便是接收从串口得来的PC端上位机命令,通过内部状态机逻辑的判断和控制,通过Data Path将命令传达至温度传感器DS18B20,并将命令的执行结果返回给上位机。FPGA主要实现1-wire收发器和RS232收发器,对两边起沟通作用。整个硬件模块大致分成三层(图3),第一层为RS232串行通信模块和时钟分频模块fenpin,第二层为主控模块 Control Block,第三层为 Data Path部分:读/写模块bytebit。图3 智能温度控制器系统模块层次结构图
l)RS232串行通信模块。负责外部上位机串行bit与主控模块Control Block并行byte间的数据传输。RS232串行通信速率采用 115200 bit/S。Uartrec从上位机接受一个字节com命令发给主控模块Control Block,同时Uarttran从主控模块Control Block接收一个字节result回应发给上位机。欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |