CN101551786B - 波特率自适应串行通信中继器的制作方法 - Google Patents
波特率自适应串行通信中继器的制作方法 Download PDFInfo
- Publication number
- CN101551786B CN101551786B CN2009100114497A CN200910011449A CN101551786B CN 101551786 B CN101551786 B CN 101551786B CN 2009100114497 A CN2009100114497 A CN 2009100114497A CN 200910011449 A CN200910011449 A CN 200910011449A CN 101551786 B CN101551786 B CN 101551786B
- Authority
- CN
- China
- Prior art keywords
- data
- baud rate
- signal
- serial communication
- microcontroller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims abstract description 110
- 238000004519 manufacturing process Methods 0.000 title abstract 3
- 238000000034 method Methods 0.000 claims abstract description 12
- 230000003044 adaptive effect Effects 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims description 37
- 230000009977 dual effect Effects 0.000 claims description 28
- 238000005070 sampling Methods 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims 1
- 238000004321 preservation Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 3
- 238000010079 rubber tapping Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明一种波特率自适应串行通信中继器的制作方法属于电子通信领域,特别涉及波特率自适应通信中继器的制作方法。本发明采用第一微控制器、第二微控制器与双口RAM相连接的数据处理方式,将第一微控制器与第一波特率自适应串行通信器件通过信号线连接:将第二微控制器与第二波特率自适应串行通信器件通过信号线连接。第一、第二波特率自适应串行通信器件内部模块包括波特率自适应发生器、信号转换器,并-串数据接收移位器、串-并数据发送移位器、逻辑与门和逻辑非门,均采用可编程器件制作。结构新颖、通信稳定速度高,能自动识别总线上的数据速率,双口RAM作为共享内存。接口灵活方便,易与控制。具有良好的可维护性和扩展性,成本低。
Description
技术领域
本发明一种波特率自适应串行通信中继器的制作方法属于电子通信领域,特别涉及波特率自适应通信中继器的制作方法。
背景技术
串行通信结构简单、硬件开销小,是当前应用最多的通信方式。随着串行总线网络区域的扩大,两个节点之间的直接传输数据难以满足远距离通信要求。中继器是延长串行总线通信距离的中转站,其通信效率和通信的可靠性直接影响串行总线的通信能力,传统的基于单微控制器的串行总线中继器难以满足大量数据的中转要求,因此设计一款性能优越的中继器就显得非常重要了。申请号为:200810020715.8的专利:基于双口RAM的双CPU保护信息共享系统及信息处理方法,采用了双口RAM芯片,两个CPU系统,分别与双口RAM的两端相连,每个CPU系统完成运算任务的不同部分,由双口RAM共享两个CPU系统需要交互的保护信息。此专利中只使用了双口RAM共享数据,而没有直接用信号线把两个CPU连接起来,因此两个CPU必需通过双口RAM进行联络,缺乏任务控制的实时性。因此本专利在使用双口RAM共享数据的同时用信号线直接将两个CPU相联,两个CPU能够实时查询对方的状态。一种利用双口RAM进行异步数据传输的装置,申请号200710001170.1,公开号CN101232434,公开了一种利用双口RAM进行异步数据传输的装置,该装置包括:一个数据更新FIFO、一个数据更新控制器和一个数据双口RAM。专利中只是对设备异步数据传输的中转,数据传输是单方向的,且无MCU控制,灵活性差。
发明内容
本发明要解决的技术难题是:串行通信传输距离短,采用传统的中继器后,虽然解决了通信距离问题,但总线的上的传输数据速度和数据的批量都有一定的限制,而且需要人工设置中继器的通信波特率。本发明采用双口RAM配合双微控制器的方案,双口RAM作为双微控制器件的共享资源,能够进行数据数据共享,同时,双微控制器可以直接进行通信联络,快速调度处理数据,解决了串行总线上大批量数据传输问题;采用可编程器件设计波特率自适应串行通信器件,解决了通信波特率的自适应问题。
本发明采用的技术方案:一种波特率自适应串行通信中继器的制作方法,采用第一微控制器III、第二微控制器IV与双口RAM3相连接的数据处理方式,第一微控制器III的引脚P2.2与第二微控制器IV的引脚P2.2直接相连接,第一微控制器III的引脚P2.3与第二微控制器IV的引脚P2.3直接相连接,它们之间直接进行通信联络,实时处理来自第一波特率自适应串行通信器件I、第二波特率自适应串行通信器件II上的数据;双口RAM3作为第一微控制器III、第二微控制器IV的共享资源,双口RAM3的第一数据/地址总线DB1/AB1与第一微控制器III的端口P0相连,双口RAM3的第二数据/地址总线DB2/AB2与第二微控制器IV的端口P0相连;第一微控制器III从第一波特率自适应串行通信器件I上接收来的数据送入双口RAM3,这些数据要被第二微控制器IV取走,送到第二波特率自适应串行通信器件II上;第二微控制器IV从第二波特率自适应串行通信器件II接收来的数据送入双口RAM3,这些数据要被第一微控制器III取走,送到第一波特率自适应串行通信器件I上。
将第一微控制器III与第一波特率自适应串行通信器件I通过信号线连接:即第一波特率自适应串行通信器件I的外部复位信号引脚RST与第一微控制器III的端口引脚P2.4相连,第一波特率自适应串行通信器件I的数据发送使能信号TE与第一微控制器III的端口引脚P2.5相连,第一波特率自适应串行通信器件I的用于传输发送数据的并行总线TDB与第一微控制器III的端口P3相连,第一波特率自适应串行通信器件I的发送完毕标志信号控制引脚TI与第一微控制器III的端口引脚P2.6相连,第一波特率自适应串行通信器件I的用于传输接收数据的并行总线RDB与第一微控制器III的端口P1相连,第一波特率自适应串行通信器件I的数据接收完毕标志信号引脚RI与第一微控制器III的端口引脚P2.7相连。
将第二微控制器IV与第二波特率自适应串行通信器件II通过信号线连接:即第二波特率自适应串行通信器件II的外部复位信号引脚RST与第二微控制器IV的端口引脚P2.4相连,第二波特率自适应串行通信器件II的数据发送使能信号TE与第二微控制器IV的端口引脚P2.5相连,第二波特率自适应串行通信器件II的用于传输发送数据的并行总线TDB与第二微控制器IV的端口P3相连,第二波特率自适应串行通信器件II的发送完毕标志信号控制引脚TI与第二微控制器IV的端口引脚P2.6相连,第二波特率自适应串行通信器件II的用于传输接收数据的并行总线RDB与第二微控制器IV的端口P1相连,第二波特率自适应串行通信器件II的数据接收完毕标志信号引脚RI与第二微控制器IV的端口引脚P2.7相连。
第一波特率自适应串行通信器件I、第二波特率自适应串行通信器件II其制作方法相同,其内部模块包括波特率自适应发生器6、信号转换器7,并-串数据接收移位器10、串-并数据发送移位器11、逻辑与门8和逻辑非门9,均采用可编程器件制作,其中,波特率自适应发生器6、并-串数据发送移位器10、串-并数据接收移位器11均采用程序状态机编程模式,其制作步骤如下:
用硬件描术语言VHDL编写程序,来实现波特率自适应发生器6对波特率的自适应控制;定义波特率自适应发生器6的内部复位信号Reset,波特率时钟输出信号BaudClk,内部时钟信号clock,复位输出信号ResetOut,串行数据接收校准信号RxDip,并将内部时钟信号clock映射到外部时钟信号引脚CLK,内部复位信号Reset映射到外部复位信号引脚RST;波特率自适应发生器6用来产生适合于相应波特率的时钟信号,其波特率通过输入时钟CLK生成,当复位引脚RST有效后,系统实现复位并进入时钟控制开始状态101,等待接收第一个字节,这一字节作为串行通信收发数据波特率的校准字节,本系统选取0x55作校准字节,由5个低电平和4个高电平交替出现的方波,其中每个电平分别持续一个波特率周期。在时钟控制逻辑处于时钟控制开始状态101时,当RxD为低电平时,跳转到校准字节接收状态102开始计数。计数一直到最后一个低电平结束为止,一共9个周期,对9个周期计数的结果除以9,便可得到一个波特率周期对应的系统时钟周期数,然后计算出对第一波特率自适应串行通信器件时钟源2和第二波特率自适应串行通信器件时钟源4的分频值并进行分频设置;接下来进入正常工作状态103,从而生成了串行通信收发数据波特率。
用硬件描术语言VHDL编写程序实现信号转换器7:定义信号转换器7的内部复位信号Reset,内部时钟信号clock,信号转换器输入信号SigIn,信号转换器输出信号SigOut,等待信号WaitSig,并将信号转换器输入信号SigIn映射到数据发送使能信号TE,内部复位信号Reset映射到外部复位信号引脚RST;信号转换器7将高速的数据发送使能信号TE由信号转换器输入信号SigIn输入,转换成低速信号后,由信号转换器输出信号SigOut输出到并-串数据发送移位器10的发送命令信号SendCmd的输入端。
用硬件描术语言VHDL编写程序,来实现并-串数据发送移位器10对数据的发送;定义并-串数据发送移位器10的内部复位信号Reset,内部时钟信号clock,发送命令信号SendCmd,数据发送完毕标志信号Done,8位发送数据缓存TxD_buf(7:0),1位串行数据发送缓存TxDi,串行数据发送引脚TxD,并将1位串行数据发送缓存TxDi映射到串行数据发送引脚TxD,8位发送数据缓存TxD_buf(7:0)映射到用于传输发送数据的并行总线TDB上;并-串数据发送移位器10完成数据的发送,初始处于发送器空闲状态201,在该状态下等待数据发送命令;当收到数据发送使能信号TE后,跳转到开始发送状态202,发送起始位,之后跳转到数据移位发送状态203依次从低位发送各个数据位,每次发送后跳转到数据发送等待状态204等待串口波特率所需要的延时时间,等待结束后若还有要发送的数据位则跳转回数据移位发送状态203继续发送;若已发送完毕则跳转到数据发送结束状态205发送终止位,这时数据发送完毕标志信号Done经过逻辑非门9转换电平后并和发送命令信号SendCmd通过逻辑与门8作“与”操作,输出结果送到发送完毕标志信号控制引脚TI,至此,并-串数据发送移位器10完成本次数据的发送,最后跳转回发送器空闲状态201等待下一次发送;
用硬件描术语言VHDL编写程序,实现串-并数据接收移位器11对数据的接收:定义串-并数据接收移位器11的内部复位信号Reset,内部时钟信号clock,1位串行数据接收缓存RxDi,8位接收数据缓存RxD_buf(7:0),数据接收完毕标志信号Ready,并将1位串行数据接收缓存RxDi映射到串行数据接收引脚RxD,8位接收数据缓存RxD_buf(7:0)映射到用于传输接收数据的并行总线RDB,数据接收完毕标志信号Ready映射到数据接收完毕标志信号引脚RI上;串-并数据接收移位器11完成数据的接收,当RxD发生电平翻转一个脉冲RxD=0状态出现时(即有数据将要到达),则跳转到开始接收状态302,在该状态下接收起始位,如果在该状态的下一时钟内,RxD又回到高电平RxD=1的情况,则说明串口线上产生电平抖动,不会继续接收。如果出现了连续的低电平RxD=0,确认有数据需要接收,并跳转到数据接收等待状态303等待采样点;当采样点时刻到来时跳转到数据接收采样状态304对RxD进行采样,并保存采样结果,再次跳转到数据接收等待状态303,等待下一次采样;如果全部采样结束,跳转到数据接收结束状态305,该状态将接收结果输出,并通过数据接收完毕标志信号Ready发送信号通知用户接收完毕,至此,串-并数据接收移位器11完成本次数据的接收,然后跳转回接收器空闲状态301等待下一次数据接收。
最后对各个模块信号进行连接:波特率自适应发生器6的内部时钟信号clock与信号转换器7的内部时钟信号clock相连,波特率自适应发生器6的波特率时钟输出信号BaudClk与并-串数据发送移位器10的内部时钟信号clock、串-并数据接收移位器11的内部时钟信号clock相连,波特率自适应发生器6的复位输出信号ResetOut与信号转换器7的内部复位信号Reset、并-串数据发送移位器10的内部复位信号Reset、串-并数据接收移位器11的内部复位信号Reset相连,波特率自适应发生器6的串行数据接收校准信号RxDip与串-并数据接收移位器11的1位串行数据接收缓存RxDi,相连,信号转换器7的输出信号SigOut与并-串数据发送移位器10的发送命令信号SendCmd相连,并-串数据发送移位器10的数据发送完毕标志信号Done经过逻辑非门9转换电平后并与并-串数据发送移位器10的发送命令信号SendCmd通过逻辑与门8输出后连接到发送完毕标志信号控制引脚TI。
本发明的效果是采用双微控制器配合双口RAM快速处理数据,用可编程逻辑器件制作的波特率自适应串行收发器件,结构新颖、通信稳定速度高,能自动识别总线上的数据速率。双口RAM作为共享内存,两个微控制器交换数据时无需数据等待。使用波特率自适应串行通信中继器后,在不同的场合下无需对中继器的通信波特率进行人工设置,通信距离能够延长到原来的二倍。接口灵活方便,易与控制。具有良好的可维护性和扩展性,较好的经济性,制造方便,成本低。
附图说明
图1为自适应双微控制器串行通信中继器硬件总体设计图,图2为第一波特率自适应串行通信器件I和第二波特率自适应串行通信器件II的内部逻辑与信号关系图。其中,I-第一波特率自适应串行通信器件,II-第二波特率自适应串行通信器件,III-第一微控制器,IV-第二微控制器,1-第一串行通信外接口接线端子,2-第一波特率自适应串行通信器件时钟源,3-双口RAM,4-第二波特率自适应串行通信器件时钟源,5-第二串行通信外接口接线端子,6-波特率自适应发生器,7-信号转换器,8-逻辑与门,9-逻辑非门,10-并-串数据发送移位器;11-串-并数据接收移位器,CLK-外部时钟信号引脚,TxD-串行数据发送引脚,RxD-串行数据接收引脚,TI-发送完毕标志信号控制引脚,RI-数据接收完毕标志信号引脚,RST-外部复位信号引脚,TE-数据发送使能信号,TDB-用于传输发送数据的并行总线,RDB-用于传输接收数据的并行总线,DB1/AB1-双口RAM的第一数据/地址总线,DB2/AB2-双口RAM的第二数据/地址总线,P0-微控制第0端口,P1-微控制第1端口,P3-微控制第2端口,P2.2-微控制端口2第2引脚,P2.3-微控制端口2第3引脚,P2.4-微控制端口2第4引脚,P2.5-微控制端口2第5引脚,P2.6-微控制端口2第6引脚,P2.7-微控制端口2第7引脚,Reset-内部复位信号,BaudClk-波特率时钟输出信号,clock-内部时钟信号,ResetOut-复位输出信号,RxDip-串行数据接收校准信号,SigIn-信号转换器输入信号,SigOut-信号转换器输出信号,WaitSig-等待信号,TxD_buf(7:0)-8位发送数据缓存,RxD_buf(7:0)-8位接收数据缓存,TxDi-1位串行数据发送缓存,RxDi-1位串行数据接收缓存,SendCmd-发送命令信号,Ready-数据接收完毕标志信号引脚,Done-数据发送完毕标志信号,
图3为波特率自适应发生器6程序状态机,图4为并-串数据发送移位器10程序状态机,图5为串-并数据接收移位器11程序状态机。其中:101-时钟控制开始状态,102-校准字节接收状态,103-正常工作状态,201-发送器空闲状态,202-开始发送状态,203-数据移位发送状态,204-数据发送等待状态,205-数据发送结束状态,301-接收器空闲状态,302-开始接收状态,303-数据接收等待状态,304-数据接收采样状态,305-数据接收结束状态。
具体实施方式
下面结合说明书附图和技术方案详细说明本发明的具体实施方式:波特率自适应串行通信中继器上电启动后,首先进行初始化,设置可用的双口RAM3的大小,使各个器件均处于使能状态,第一波特率自适应串行通信器件I、第二波特率自适应串行通信器件II处于监控状态。然后由波特率自适应发生器6完成波特率的自适应,波特率自适应发生器6程序状态机如附图3所示:系统复位后,波特率自适应发生器6进入时钟控制开始状态101,等待接收第一个字节,这一字节作为串行通信收发数据波特率的校准字节,本系统选取0x55作校准字节,由5个低电平和4个高电平交替出现的方波,其中每个电平分别持续一个波特率周期;当RxD为低电平时,跳转到校准字节接收状态102开始计数;计数一直到最后一个低电平结束为止,一共9个周期,对9个周期计数的结果除以9,便可得到一个波特率周期对应的系统时钟周期数。然后计算出对第一波特率自适应串行通信器件时钟源2和第二波特率自适应串行通信器件时钟源4的分频值并进行分频设置;接下来进入正常工作状态103,从而生成了串行通信收发数据波特率。
下面以串行数据从第一串行通信外接口接线端子1接收,通过第二串行通信外接口接线端子5发送出去为例说明中继器的具体实施方式。
串-并数据接收移位器11程序状态机如附图5所示,初始处于接收器空闲状态301,在该状态下第一波特率自适应串行通信器件I等待第一串行通信外接口接线端子1上的数据;当RxD发生电平翻转一个脉冲RxD=0状态出现时(即有数据将要到达),则跳转到开始接收状态302,在该状态下接收起始位,如果在该状态的下一时钟内,RxD又回到高电平RxD=1的情况,则说明串口线上产生电平抖动,不会继续接收;如果出现了连续的低电平RxD=0,确认有数据需要接收,并跳转到数据接收等待状态303,该状态等待采样点;当采样点时刻到来时跳转到数据接收采样状态304,对RxD进行采样,并保存采样结果;接下来再次跳转到数据接收等待状态303,等待下一次采样;如果全部采样结束,跳转到数据接收结束状态305,该状态将接收结果输出,并通过数据接收完毕标志信号Ready发送信号通知用户接收完毕,然后跳转回接收器空闲状态301等待下一次数据接收。
接下来第一微控制器III通过端口P1从第一波特率自适应串行通信器件I的用于传输接收数据的并行总线RDB上接收数据,并送入双口RAM3,这些数据要被第二微控制器IV取走,当第二微控制器IV通过P2.6查询到TI标志发送器件可用时,则通过端口P3把数据送到第二波特率自适应串行通信器件II的用于传输发送数据的并行总线TDB上,通过P2.5设置发送使能命令TE,使第二波特率自适应串行通信器件II处于发送状态。
采用并-串数据发送移位器10来完成数据的发送,并-串数据发送移位器10程序状态如附图4所示,初始处于发送器空闲状态201,在该状态下等待数据发送命令;当收到数据发送使能信号TE后,跳转到开始发送状态202,发送起始位;然后跳转到数据移位发送状态203,依次从低位发送各个数据位;每次发送后跳转到数据发送等待状态204等待串口波特率所需要的延时时间,等待结束后若还有要发送的数据位则跳转回数据移位发送状态203继续发送;若已发送完毕则跳转到数据发送结束状态205发送终止位,这时数据发送完毕标志信号Done经过逻辑非门9转换电平后并和发送命令信号SendCmd通过逻辑与门8作“与”操作,输出结果送到发送完毕标志信号控制引脚TI,至此,并-串数据发送移位器10完成本次数据发送,最后跳转回发送器空闲状态201等待下一次发送。
本发明波特率适应能力强,第一串行通信外接口接线端子1和第二串行通信外接口接线端子5是完全对称的结构,使用方便,采用双微控制器,数据周转延迟时间短,能够适应串行总线上大批量数据传输中转的要求,将串行总线的的通信距离延长一倍,第一波特率自适应串行通信器件I和第二波特率自适应串行通信器件II采用可编程逻辑器件制作,波特率无需人工设置,能够自适应串行总线上的波特率,处理速度快,可扩展性强。
Claims (2)
1.一种波特率自适应串行通信中继器的制作方法,其特征是,采用第一微控制器(III)、第二微控制器(IV)与双口RAM(3)相连接的数据处理方式,第一微控制器(III)的引脚P2.2与第二微控制器(IV)的引脚P2.2直接相连接,第一微控制器(III)的引脚P2.3与第二微控制器(IV)的引脚P2.3直接相连接,它们之间直接进行通信联络,实时处理来自第一波特率自适应串行通信器件(I)、第二波特率自适应串行通信器件(II)上的数据;双口RAM(3)作为第一微控制器(III)、第二微控制器(IV)的共享资源,双口RAM(3)的第一数据/地址总线DB1/AB1与第一微控制器(III)的端口P0相连,双口RAM(3)的第二数据/地址总线DB2/AB2与第二微控制器(IV)的端口P0相连;第一微控制器(III)从第一波特率自适应串行通信器件(I)上接收来的数据送入双口RAM(3),这些数据要被第二微控制器(IV)取走,送到第二波特率自适应串行通信器件(II)上;第二微控制器(IV)从第二波特率自适应串行通信器件(II)接收来的数据送入双口RAM(3),这些数据要被第一微控制器(III)取走,送到第一波特率自适应串行通信器件(I)上;
将第一微控制器(III)与第一波特率自适应串行通信器件(I)通过信号线连接:即第一波特率自适应串行通信器件(I)的外部复位信号引脚RST与第一微控制器(III)的端口引脚P2.4相连,第一波特率自适应串行通信器件(I)的数据发送使能信号TE与第一微控制器(III)的端口引脚P2.5相连,第一波特率自适应串行通信器件(I)的用于传输发送数据的并行总线TDB与第一微控制器(III)的端口P3相连,第一波特率自适应串行通信器件(I)的发送完毕标志信号控制引脚TI与第一微控制器(III)的端口引脚P2.6相连,第一波特率自适应串行通信器件(I)的用于传输接收数据的并行总线RDB与第一微控制器(III)的端口P1相连,第一波特率自适应串行通信器件(I)的数据接收完毕标志信号引脚RI与第一微控制器(III)的端口引脚P2.7相连;
将第二微控制器(IV)与第二波特率自适应串行通信器件(II)通过信号线连接:即第二波特率自适应串行通信器件(II)的外部复位信号引脚RST与第二微控制器(IV)的端口引脚P2.4相连,第二波特率自适应串行通信器件(II)的数据发送使能信号TE与第二微控制器(IV)的端口引脚P2.5相连,第二波特率自适应串行通信器件(II)的用于传输发送数据的并行总线 TDB TDB与第二微控制器(IV)的端口P3相连,第二波特率自适应串行通信器件(II)的发送完毕标志信号控制引脚TI与第二微控制器(IV)的端口引脚P2.6相连,第二波特率自适应串行通信器件(II)的用于传输接收数据的并行总线RDB与第二微控制器(IV)的端口P1相连,第二波特率自适应串行通信器件(II)的数据接收完毕标志信号引脚RI与第二微控制器(IV)的端口引脚P2.7相连。
2.如权利要求1所示一种波特率自适应串行通信中继器的制作方法,其特征是,第一波特率自适应串行通信器件(I)、第二波特率自适应串行通信器件(II)其制作方法相同,其内部模块包括波特率自适应发生器(6)、信号转换器(7),并-串数据接收移位器(10)、串-并数据发送移位器(11)、逻辑与门(8)和逻辑非门(9),均采用可编程器件制作,其中,波特率自适应发生器(6)、并-串数据发送移位器(10)、串-并数据接收移位器(11)均采用程序状态机编程模式,其制作步骤如下:
用硬件描术语言VHDL编写程序,来实现波特率自适应发生器(6)对波特率的自适应控制;定义波特率自适应发生器(6)的内部复位信号Reset,波特率时钟输出信号BaudClk,内部时钟信号clock,复位输出信号ResetOut,串行数据接收校准信号RxDip,并将内部时钟信号clock映射到外部时钟信号引脚CLK,内部复位信号Reset映射到外部复位信号引脚RST;波特率自适应发生器(6)用来产生适合于相应波特率的时钟信号,其波特率通过输入时钟CLK生成,当复位引脚RST有效后,系统实现复位并进入时钟控制开始状态(101),等待接收第一个字节,这一字节作为串行通信收发数据波特率的校准字节,本系统选取0x55作校准字节,由5个低电平和4个高电平交替出现的方波,其中每个电平分别持续一个波特率周期,在时钟控制逻辑处于时钟控制开始状态(101)时,串行数据接收引脚RxD为低电平时,跳转到校准字节接收状态(102)开始计数,计数一直到最后一个低电平结束为止,一共9个周期,对9个周期计数的结果除以9,便可得到一个波特率周期对应的系统时钟周期数,然后计算出对第一波特率自适应串行通信器件时钟源(2)和第二波特率自适应串行通信器件时钟源(4)的分频值并进行分频设置;接下来进入正常工作状态(103),从而生成了串行通信收发数据波特率;
用硬件描术语言VHDL编写程序实现信号转换器(7):定义信号转换器(7)的内部复位信号Reset,内部时钟信号clock,信号转换器输入信号SigIn, 信号转换器输出信号SigOut,等待信号WaitSig,并将信号转换器输入信号SigIn映射到数据发送使能信号TE,内部复位信号Reset映射到外部复位信号引脚RST;信号转换器(7)将高速的数据发送使能信号TE由信号转换器输入信号SigIn输入,转换成低速信号后,由信号转换器输出信号SigOut输出到并-串数据发送移位器(10)的发送命令信号SendCmd的输入端;
用硬件描术语言VHDL编写程序,来实现并-串数据发送移位器(10)对数据的发送;定义并-串数据发送移位器(10)的内部复位信号Reset,内部时钟信号clock,发送命令信号SendCmd,数据发送完毕标志信号Done,8位发送数据缓存TxD_buf(7:0),1位串行数据发送缓存TxDi,串行数据发送引脚TxD,并将1位串行数据发送缓存TxDi映射到串行数据发送引脚TxD,8位发送数据缓存TxD_buf(7:0)映射到用于传输发送数据的并行总线TDB上;并-串数据发送移位器(10)完成数据的发送,初始处于发送器空闲状态(201),在该状态下等待数据发送命令;当收到数据发送使能信号TE后,跳转到开始发送状态(202),发送起始位,然后跳转到数据移位发送状态(203)依次从低位发送各个数据位,每次发送后跳转到数据发送等待状态(204)等待串口波特率所需要的时延长度,等待结束后若还有要发送的数据位则跳转回数据移位发送状态(203)继续发送;若已发送完毕则跳转到数据发送结束状态(205)发送终止位,这时数据发送完毕标志信号Done经过逻辑非门(9)转换电平后并和发送命令信号SendCmd通过逻辑与门(8)作“与”操作,输出结果送到发送完毕标志信号控制引脚TI,至此,并-串数据发送移位器(10)完成本次数据的发送,最后跳转回发送器空闲状态(201)等待下一次发送;
用硬件描术语言VHDL编写程序,实现串-并数据接收移位器(11)对数据的接收:定义串-并数据接收移位器(11)的内部复位信号Reset,内部时钟信号clock,1位串行数据接收缓存RxDi,8位接收数据缓存RxD_buf(7:0),数据接收完毕标志信号Ready,并将1位串行数据接收缓存RxDi映射到串行数据接收引脚RxD,8位接收数据缓存RxD_buf(7:0)映射到用于传输接收数据的并行总线RDB,数据接收完毕标志信号Ready映射到数据接收完毕标志信号引脚RI上;串-并数据接收移位器(11)完成数据的接收,当有数据将要到达时,RxD发生电平翻转一个脉冲RxD=0,则跳转到开始接收状态(302),在该状态下接收起始位,如果在该状态的下一时钟内,RxD又回到高电平RxD=1的情况,则说明串口线上产生电平抖动,不会继续接收,如果出现了 连续的低电平RxD=0,确认有数据需要接收,并跳转到数据接收等待状态(303)等待采样点,当采样点时刻到来时跳转到数据接收采样状态(304)对RxD进行采样,并保存采样结果,然后再次跳转到数据接收等待状态(303)等待下一次采样,如果全部采样结束,跳转到数据接收结束状态(305),该状态将接收结果输出,并通过数据接收完毕标志信号Ready发送信号通知用户接收完毕,至此,串-并数据接收移位器(11)完成本次数据的接收,然后跳转回接收器空闲状态(301)等待下一次数据接收;
最后对各个模块信号进行连接:波特率自适应发生器(6)的内部时钟信号clock与信号转换器(7)的内部时钟信号clock相连,波特率自适应发生器(6)的波特率时钟输出信号BaudClk与并-串数据发送移位器(10)的内部时钟信号clock、串-并数据接收移位器(11)的内部时钟信号clock相连,波特率自适应发生器(6)的复位输出信号ResetOut与信号转换器(7)的内部复位信号Reset、并-串数据发送移位器(10)的内部复位信号Reset、串-并数据接收移位器(11)的内部复位信号Reset相连,波特率自适应发生器(6)的串行数据接收校准信号RxDip与串-并数据接收移位器(11)的1位串行数据接收缓存RxDi相连,信号转换器(7)的输出信号SigOut与并-串数据发送移位器(10)的发送命令信号SendCmd相连,并-串数据发送移位器(10)的数据发送完毕标志信号Done经过逻辑非门(9)转换电平后并与并-串数据发送移位器(10)的发送命令信号endCmd通过逻辑与门(8)输出后连接到发送完毕标志信号控制引脚TI。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100114497A CN101551786B (zh) | 2009-05-05 | 2009-05-05 | 波特率自适应串行通信中继器的制作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100114497A CN101551786B (zh) | 2009-05-05 | 2009-05-05 | 波特率自适应串行通信中继器的制作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101551786A CN101551786A (zh) | 2009-10-07 |
CN101551786B true CN101551786B (zh) | 2011-07-20 |
Family
ID=41156034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100114497A Expired - Fee Related CN101551786B (zh) | 2009-05-05 | 2009-05-05 | 波特率自适应串行通信中继器的制作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101551786B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035552B (zh) * | 2010-11-11 | 2013-04-17 | 大连理工大学 | 一种八通道高速模拟信号并行采集装置 |
CN102467477B (zh) * | 2010-11-12 | 2014-10-15 | 施耐德电器工业公司 | 一种波特率自适应的Modbus中继器和波特率自适应系统及方法 |
CN102141970B (zh) * | 2011-03-21 | 2012-12-19 | 深圳市理邦精密仪器股份有限公司 | 一种串行通信的装置 |
CN103138677B (zh) * | 2011-11-29 | 2016-06-22 | 江苏林洋能源股份有限公司 | 一种波特率校准方法、装置及系统 |
CN102938744B (zh) * | 2012-10-08 | 2015-09-23 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种通用串行收发器的实现方法 |
CN103019994B (zh) * | 2012-12-21 | 2015-07-08 | 北京电子工程总体研究所 | 基于fpga的可变波特率串行通讯接口电路 |
CN103957145B (zh) * | 2014-05-09 | 2017-08-22 | 国家电网公司 | 带双主控模块的can总线中继器及其数据中转方法 |
CN104199799A (zh) * | 2014-08-29 | 2014-12-10 | 天津市亚安科技股份有限公司 | 基于cpld的波特率自适应方法及装置 |
CN106095712A (zh) * | 2016-05-31 | 2016-11-09 | 上海工程技术大学 | 一种串口的软件自适应波特率方法 |
CN106326156B (zh) * | 2016-08-30 | 2024-04-05 | 西安翔腾微电子科技有限公司 | 基于自适应波特率的单端口通信处理电路和方法 |
US11561534B2 (en) * | 2018-08-06 | 2023-01-24 | Siemens Aktiengesellschaft | Adaptive repeater for industrial communication |
CN113820971B (zh) * | 2021-08-17 | 2023-06-06 | 广东智科电子股份有限公司 | 一种隔离中继器及其控制方法 |
-
2009
- 2009-05-05 CN CN2009100114497A patent/CN101551786B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101551786A (zh) | 2009-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101551786B (zh) | 波特率自适应串行通信中继器的制作方法 | |
CN202870808U (zh) | 一种spi串口模块的fpga实现装置 | |
CN106201946A (zh) | 一种基于fpga和dsp的星载电子系统数据接口系统 | |
CN207718364U (zh) | 一种基于fpga的多路rs-422串口扩展接口 | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
CN102752180A (zh) | Can总线网络节点的实现方法 | |
CN104156333A (zh) | 一种基于fpga的uart多接口扩展系统和方法 | |
CN101794152A (zh) | 具有lvds串行接口的嵌入式控制器及其控制方法 | |
CN102567260A (zh) | 具有多个uart接口的设备以及利用该设备的方法 | |
CN209149287U (zh) | 大数据运算加速系统 | |
CN109165178A (zh) | 一种基于RapidIO的弹上系统SoC芯片间高速通信方法 | |
CN101894086A (zh) | 串口集线器及多串口高速通讯方法 | |
CN105892359A (zh) | 一种多dsp并行处理系统及其处理方法 | |
CN202190284U (zh) | 一种CAN总线与SpaceWire总线的协议转换器 | |
CN114443170A (zh) | Fpga动态并行加卸载系统 | |
CN107908587A (zh) | 基于usb3.0的实时数据采集传输装置 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN111736115A (zh) | 基于改进型sgdma+pcie的mimo毫米波雷达高速传输方法 | |
CN109656850A (zh) | 采用单片cpld扩展的dsp串口通信电路 | |
CN107436851A (zh) | 串行外设接口四线隔离系统及其控制方法 | |
US8510485B2 (en) | Low power digital interface | |
CN105512005B (zh) | 控制/远程节点与总线监控节点同步工作的电路及方法 | |
CN103684945B (zh) | 通用SpaceWire节点装置 | |
CN110515879A (zh) | 一种异步传输装置及其传输方法 | |
CN101764795A (zh) | Ieee1394总线的链路层控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110720 Termination date: 20140505 |