由于串行通信在一位上只能是唯一的,因此我们在当前操作中遇到并行数据传输的问题是不可避免的。
果设计不好,很容易导致传输数据不准确。文档提出了一种基于FPGA的并行数据传输串行通信控制器设计,可以很好地解决这一问题,使数据通信任务能够顺利,准确地进行。FPGA;串行通讯; RS-232-C通信协议[中国图书馆分类] $ 972.7 6 [文件识别码] A [商品编号] 1672-5158(2012)09-0151-01通讯串口通讯串行(串行通信)这是一种通信方法,其中外围设备和计算机请求每条数据线,地线,控制线等的位数据传输。
种通信方法使用较少的数据线并且可以降低长距离通信中的通信成本,但是其传输速度低于并行传输的传输速度。着计算机系统和计算机网络的发展,通信功能变得越来越重要,这里提到的通信涉及计算机和外部世界之间的信息交换。此,通信包括计算机和外部设备,以及计算机和计算机N2_Q。为串行通信通过传输线路传输比特信息,所以它使用较少的传输线路并且可以通过标准电话网络传输信息。
此它特别适用于长距离传输。于靠近计算机的用户,例如终端,打印机,逻辑分析仪和磁盘,交换串行数据也很常见。实时控制和管理中,恒温阀芯使用几个微处理器处理器来形成分级分配控制系统,CPU之间的通信通常是串行的。此,串行接口是微计算机应用系统的常用接口。于串行通信在一位上只能是唯一的,因此我们在当前操作中遇到并行数据传输的问题是不可避免的。果设计不好,很容易导致传输数据不准确。文档提出了一种基于FPGA的并行数据传输串行通信控制器设计,可以很好地解决这一问题,使数据通信任务能够顺利,准确地进行。RS-232-0通信协议RS-232-C(协议)的全称是EIA-RS-232C,代表美国电子工业协会的电子工业协会(EIA); RS(推荐标准)是推荐标准。
232是标识号,c代表RS232(1969)的最新版本。此之前,有RS232B,RS232A。规定了连接电缆以及机械,电气,信号和传输过程。前的物理标准是EIA RS422A,EIA RS-423A和EIA RS-485。处仅显示EIARS-232C(称为232,RS232)。如,当前安装在IBM PC上的COMl和COM2接口是RS-232-C接口。简单和最常见的RS-232C连接方法是3线连接方法,即接地,接收数据和传输数据相互连接。
是因为接收和发送的数据在时间上被划分,并且两者不会同时发送。RS-232-C串行总线在空闲时保持“1”逻辑状态,即串行链路电平为-3-15V。要发送字符时,发送具有逻辑“o”的起始位,表示该库开始被发送:数据位,奇偶校验位和停止位(逻辑1)是然后一个接一个地传输,一次一个字符。(可以设置为5-8位)。于对应于该瞬间的任何两个字符字符的时间间隔是可变的,因此它也变为异步格式。RS-232-C协议中,可以设置数据传输速率。外,可以设置位宽,奇偶校验和字符停止位。符可以设置为5到8位,奇偶校验位可以删除,停止位可以设置为1位,2位或甚至1.5位。
前,大多数处理器都包含一个通用异步收发器,它支持RS-232-C,以便于处理器和串行设备之间的通信。也为我们提供了串行通信控制器的有利条件。行数据通信控制器并行数据设计通用串行通信控制器的上层模块由三个子模块实现,包括流量发生器,接收模块和传输模块。了满足并行数据传输的需要,我们增加了一个基于原控制器的模块:传输控制模块。
模块具有处理,排队,等待数据传输的功能,最终完成数据传输任务。强型串口控制器的结构如图所示:发送模块的发送工作由状态机完成,主要分为几个部分:非活动状态,初始状态,状态待机,数据偏移状态和传输拦截状态。复位信号正确或传输任务完成时,传输模块处于空闲状态并等待发送命令的到达(tx cmd)。
时,tx ready处于高状态,表示可以随时接受外部发送命令。tx cmd有效时,发送器模块进入启动状态并拉出tx就绪,指示发送器模块正在工作,将位线txd提取为低电平,给出起始位,然后移至等待状态。待机状态下,保持所有信号值不变,确定是否发送了8个有效数据位,如果传输完成,则转到发送的停止状态,否则转到移动数据的状态。数据移动状态中,发送器模块将下一个要发送的数据移动到发送端口,然后直接进入等待状态。
后,切换到传输切断状态,完成后自动切换到空闲状态,整流传输电平,数据传输完成。收模块的接收任务也由状态机完成,主要分为几个部分:非活动状态,数据采样状态和控制停止位状态。活动状态,用于检测接收数据字符串上的启动信号。旦系统复位,接受模块就处于这种状态,并始终检测rxd数据是否从1变为0.一旦检测到起始位,它立即进入数据采样状态,收集有效数据。此状态下,Rx就绪信号的值为1.数据采样状态:在此状态下,接收模块连续采样数据,直到接收到8位数据后,进入直接在检测的停止位。此状态下,rx_ready信号的值为o。测到停止位为了允许更广泛地使用接收模块,程序在该状态下等待一定时间并直接进入空闲状态。制模块的发送任务也由状态机完成,状态机分为几个部分:空闲状态,数据队列状态,待机状态和停止状态。闲状态用于检测接受模块是否接受相应的数据传输命令。果收到传输命令,则输入数据队列的状态。据的排队状态包括将每8位传输的并行数据传输到发送模块,然后传输到等待状态。起状态是等待发送到发送模块的数据完成,然后终止数据的排队状态并继续发送数据,直到数据为止发送。
止状态是发送数据的状态,控制模块直接进入空闲状态,等待下一次数据传输。特率发生器是一个时钟发生器,它根据波特率生成不同的时钟。计相对简单,此处不再赘述。计验证我们已经检查了上面的设计。们将相应的命令(F)发送到串口,串口返回相应的数据(数据等距,间隔为零)。
果的屏幕截图如下:接受F命令证明接受模块工作正常,返回所需数据以证明发送和发送控制模块工作正常。也证明了我们的方法具有一定的可行性,可以执行正常的数据通信任务。
本文转载自
恒温阀芯 https://www.wisdom-thermostats.com