对于帧错误(停止位为差模电感器0)标志FE,奇偶校验错误标志PE,最后一个接收到的数据所在接收缓冲区中的位置Rebuf_end[7..O],对外并不必须,可以留出这些端口备用,所以用虚线表示。
2.3 输入/输出寄存器操作
接收缓冲数据寄存器和发送缓冲数据寄存器都采用双口RAM实现,这比寄存器实现要节省很多资源。为了保证对它们的操作是原子的,即为了避免同时对相同地址执行写操作,故要求当CE_Modbus置低时,外部才可以对输入输出寄存器执行写操作,此时接口内部不会对接收/输出寄存器执行任何读写操作。
2.4 发送过程
(1)在发送模式使能之前,应先处于输入/输出寄存器模式,通过Trbuf_data[7..0],Trbuf_add[7..0],Trbuf_wren把待发送的不包卧式电感括两位CRC校验的Modbus协议帧从地址0x00依次写入发送缓冲寄存器中,然后使能Ld_TbNCE信号(一个时钟周期),同时存入发送缓存寄存器所装最后一个数据的地址,然后把该接口置于发送Modbus协议帧模式。
(2)发送模块先对发送数据缓冲寄存器中的所有数做CRC-16校验,然后把计算所得结果按低位在前高位在后的顺序依次放到用Ld_TbNCE信号锁存的地址的下两个地址位置处。
(3)发送模块从发送数据缓冲寄存器Ox00开始,依次读出数据并按所给的波特率发送出去,如果要求奇偶校验,则发送完数据之后加上计算所得的奇偶校验位发送出去。
(4)当发送完最后一个数据即CRC-16的高8位数据之后,Tr_finish发出一个脉冲表示发送完毕。
3 接口模块实现
3.1 波特率发生器
波特率发生器就是一个分频器,根据系统时钟分别发出位时钟(Tx_clk)和1/16位时钟(RX_clkl6)。由于系统的时钟周期可能不同,为了模块的通用性,该模块用一个类属(Generic)语句产生各种分频系数。为了保证同步设计,产生的位时钟和1/16位时钟作为控制信号在主时钟的驱动下控制其他模块。
3.2 接收模块
接收模块组包括同步滤波模块、接收机模块、接收控制模块、接收状态寄存器模块、时间标志产生模块等。
Modbus网络中设备是运行在不相关时钟上的,为了避免亚稳态现象,要求通信信号进入一体成型电感器FPGA时通过两个级联的寄存器。异步输入信号必须在足够一体电感的时间内保持数据有效,从而保证被目标时钟域检测到,在接收端则认为最少是大于几个脉冲宽度的信号才是应该被检测到的信号,于是在接收端加入滤波模块,具体算法如下:连续3次检测到为高(或低)电平时,才往接收寄存器写入高(或低)电平,否则保持原来检测到的电平,不到3个脉冲宽度的信号被过滤。显然,同步滤波模块引入了5个时钟的延迟,但这样的延时对于Modbus协议来说可以忽略。
接收机模块是一个改进的UART接收模块,其工作流程如下:
(1)当检测到起始位时,继续读取其他位并通过移位把它们移人接收移位寄存器RSR中;
(2)当所有的数据位和停止位都接收完毕后,置RDR寄存器满标志RDRF位为1;
(3)检测停止位和奇偶校验位,如果发现错误置相关错误标志位;
(4)如果所接收数据正确,RSR中数据载入到接收数据寄存器RDR中,清除错误标志。
从Rxd_syn上进入的比特流与本地的位时钟不是同步的,为了避免可能在错误的时间读取一些位,在每个比特时间塑封电感采样16次,在时钟Rx_-clkl6的每个上升沿采样,为了保证最大可行度,在理想情模压电感况下将在每比特时间中间进行采样。首先判断起始位,当检测Rxd_syn至少连续半个位时钟为低电平时,即从第一次检测到低电平之后,再连续9次检测,如果Rxd_syn为低电平的次数大于等于8次,则认为起始位到来,此时应该在起始位中间后两个Rx_clkl6处。之后每隔16个Rx_clkl6时钟周期在14,15,16个上升沿到来时分别采样,然后对3次采样结果取至少两次相等的数据作为所接收到的值,以保证接收数据的准确性。8个数据位采集完毕之后,根据Sel_parity[1..O]信号判断是否奇偶校验,如果有校验需求,则对第9个数据位的数据同样做3次采样取两次相同值作为接收到的奇偶校验位,同时计算奇偶校验结果。在停止位(不包括起始位,无校验时为第9位,有校验时为第10位)到来时,同样经过3次采样,但是只要检测到1位为高就认为停止位正确,为了减少状态机数量,可以在停止位到来时比较计算所得奇偶校验位和接收到的奇偶校验位从而判定接收数据是否奇偶校验错误。由于接收控制器一定会读取前一个数据字节并清零RDRF,所以常见的UART里的超限(overrun)错误这里并没有出现。图3为用QuartusⅡ软件自带仿真器仿真结果。
关于电源产品投标时标书文件的撰写方法1引言当今社会,在企业产品的买卖过程中,由以前的 计划经济 ,过渡到现在的 市场经济 (预计今后还将过渡到比较理想的某种经济),供需关系也将不断完善。在市场经济初期发展的情况下,物资供大于求的局面是发
利用直流误差计算器简化检流放大器的优化概述集成检流放大器经常用来测量电路中的电流,通过放大串联在电流通路的采样电阻压降实现重要的系统功能,例如过流保护、设备监测、可编程电流源、线性电源和开关电源、电池充电器和电量检测等。由于所要求的电流检
直流变换器并联运行时的环流和振荡控制 摘要:开关电源并联系统产生的环流和振荡会对电子元件产生高电压冲击,降低功率因数,并且使并联的各个模块之间产生抑止。因此,对开关电源并联系统的技术研究得到了广泛的关注。分析了直流变换器并联系统产生环流
2/4 首页 上一页 1 2 3 4 下一页 尾页