Ff总线帧类型识别器的制作方法

文档序号:7928305阅读:208来源:国知局
专利名称:Ff总线帧类型识别器的制作方法
技术领域
本发明涉及一种现场总线技术,具体地说是一种可提取FF总线数据链路层数据 单元帧控制信息的FF总线帧类型识别器。
背景技术
FF现场总线(FOUNDATION Filedbus,简称FF)数据链路层上生成的协议控制信 息实现对总线上的各类链路传输活动的控制。总线通信中的链接活动调度、数据的接收和 发送、活动状态的探测和响应、总线上各设备间的链路时间同步等,都是通过数据链路层实 现的。数据链路层协议数据单元(DLPDU)提供数据链路的协议控制信息。协议控制信息由 三部分组成。第一部分是帧控制信息,指明数据链路层协议数据单元的种类、地址长度、优 先权等;第二部分是数据链路地址,包括目的地址与源地址,并非所有种类的数据链路层协 议数据单元都具有目的地址与源地址;第三部分则指明该类数据链路层协议数据单元的参 数。在传统设计中数据链路层协议数据单元的控制信息提取由软件实现,占用过多的资源, 性能比较低。

发明内容
针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种通过 硬件电路提取帧控制信息、数据链路地址以及相关参数的FF总线帧类型识别器。
为解决上述技术问题,本发明采用的技术方案是 本发明一种FF总线帧类型识别器,设于FF现场总线数据链路层中,包括帧控制 字译码和目的地址接收模块,将接收的来自现场总线的数据信号生成帧控制信息、地址匹 配结果和数据链路层协议数据单元的相关参数,转发给数据链路层的上层处理单元;地址 匹配模块,将接收到的数据链路层中的地址表数据以及通过转换电路接收的地址数据有效 指示信号进行地址匹配处理,输出至数据链路层的上层处理单元,指示地址匹配的结果;转 换电路,用于将地址数据有效指示信号进行时序调整,送至地址匹配模块,指示地址数据有 效。 所述帧控制字译码和目的地址接收模块包括 帧控制字锁存器,接收现场总线的数据信号,锁存帧控制字; 计数比较控制器,接收现场总线的控制信号,对控制信号进行计数,达到译码逻辑 电路输出的地址字节数时,产生输出信号至地址匹配模块; 译码逻辑电路,对帧控制字锁存器输出的帧控制字进行译码,输出至数据链路层 的上层处理单元; 目的地址接收器,接收现场总线的数据信号,提取目的地址,输出至地址匹配模 块。 所述地址匹配模块包括地址表数据接收模块,地址比较模块,请求延迟处理模块 和状态机四个模块
地址表数据接收模块,接收数据链路层中的地址表数据,送至地址比较模块;
地址比较模块,将接收的帧控制字译码和目的地址接收模块的目的地址和地址表 数据接收模块的地址表数据进行比较,生成地址匹配标志信号送至数据链路层的上层处理 单元; 请求延迟处理模块,对接收的地址表数据有效指示信号进行延时处理; 状态机,接收帧控制字译码和目的地址接收模块的信号,生成控制信号对地址表
数据接收模块和地址比较模块进行控制,同时生成状态信号送到数据链路层的上层处理单
元; 或门,接收地址比较模块的地址匹配标志信号及地址表结束标志信号,生成查表 结束信输出号至数据链路层的上层处理单元; 与门,接收地址比较模块的地址匹配标志信号、地址表结束标志信号、正在查表标
志信号以及查表使能信号,生成查表请求信号输出至数据链路层的地址表。 所述转换电路包括第1 3个触发器及异或门,其中第1触发器的输入端口接有
地址表数据的有效指示信号,输出至第2触发器的输入端口,第2触发器的输出端与第3触
发器的输入端口相连,异或门输入端分别与第2触发器的输出端和第3触发器的输出端相
连,输出端接至地址匹配模块。 本发明具有以下有益效果及优点 1.可以实时提取DLPDU的种类信息; 2.可以识别DLPDU的长地址或短地址; 3.可以提取DLPDU的地址信息; 4.可以以FPGA、CPLD、 IP等多种方式实现。


图1为本发明结构框图; 图2为本发明中帧控制字接收译码和目的地址接收模块的结构框图; 图3为本发明的帧控制字接收译码和目的地址接收模块采用数据比较控制流程
图; 图4为本发明的帧控制字接收译码和目的地址接收模块采用的数据比较控制时 序图; 图5为本发明中转换电路原理图; 图6为本发明中转换电路采用的时序图; 图7为本发明中地址匹配模块框图; 图8为本发明中地址匹配模块中的状态机转换图; 图9为本发明中地址匹配模块中的状态机状态转换时序图; 图10为应用本发明的FF现场总线模型结构图。
具体实施例方式
本发明FF总线帧类型识别器设于FF现场总线数据链路层中,如图10所示,FF现 场总线模型结构采用了 0SI模型中的三层物理层、数据链路层和应用层,隐去了第三 六
4层。其中物理层、数据链路层采用IEC/ISA标准。应用层有两个子层现场总线访问子层 FAS和现场总线信息规范子层FMS,并将从数据链路到FAS, FMS的全部功能集成为通信栈 (Communication Stack)。 如图1所示,本发明FF(FOUNDATION Filedbus,简称FF)总线帧类型识别器由三 个主要模块构成,分别是帧控制字译码和目的地址接收模块、地址匹配模块以及转换电路, 其中帧控制字译码和目的地址接收模块接收来自现场总线的数据信号rcv—data、数据字 节指示信号rCV_byteSyn和接收有效指示信号raf_syn,生成帧控制信号f lame—cntrl、帧 码信号flame—code、接收到广播帧标志信号rbmf 、接收到psa帧标志信号rpsaf 、接收到节 点地址帧标志信号maf 、接收到NS地址帧标志信号ns、接收到HL地址帧标志信号hi以及 接收到帧控制字标志信号rfcf,转发给数据链路层的上层处理单元,同时提取出目的地址 destaddr和目的地址字节数addrbytes,生成地址匹配启动信号addrmatch—start,送至地 址匹配模块;地址匹配模块将接收到的数据链路层中的地址表数据tab—data、本地节点标 识node」d、地址识别模式使能信号arme、接收错误标志信号ref以及通过转换电路接收的 地址数据有效指示信号tab_wr进行地址表查找和地址匹配处理,输出查表结束信号tab_ f inish、地址匹配标志信号amof 、正在查表标志信号ltaf和地址表结束标志信号etdf至数 据链路层的上层处理单元,指示地址匹配的结果,同时生成查表请求信号tab—drq至数据 链路层地址表;转换电路用于将地址数据有效指示信号tab_wr进行时序调整,生成地址表 数据指示信号tab—bytesyn送至地址匹配模块,指示地址数据有效。 如图2所示,所述帧控制字译码和目的地址接收模块包括帧控制字锁存器、计数 比较控制器、译码逻辑电路以及目的地址接收器,其中帧控制字锁存器,接收现场总线的数 据信号rCV_data和数据字节指示信号rcV_byteSyn,锁存帧控制字,送至译码逻辑电路, 并生成接收到帧控制字标志信号rfcf ;计数比较控制器,接收现场总线的数据字节指示信 号rcv_bytesyn和接收有效指示信号raf_syn,对rcv_bytesyn信号进行计数,根据计数值 生成帧控制字锁存使能信号fclatCh_en和目的地址接收使能信号addrget_en,分别送至 帧控制字锁存器和目的地址接收器,当计数值达到译码逻辑_电路输出的目的地址字节数 addrbytes时,产生地址匹配启动信号addrmatch_start至地址匹配模块;译码逻辑电路, 对帧控制字锁存器输出的帧控制字flame—cntrl进行译码,输出所有帧类型信息frame_ code、 rbmf、 rpsaf 、 maf、 ns和hi至数据链路层的上层处理单元;目的地址接收器,接收 现场总线的数据信号rCV_data和数据字节指示信号rcV_byteSyn,提取目的地址,输出 destaddr至地址匹配模块。 如图7所示,所述地址匹配模块包括地址表数据接收模块、地址比较模块、请求 延迟处理模块、状态机四个模块以及或门、与门,其中地址表数据接收模块,接收数据链路 层中的地址表数据tab—data,对地址表数据进行串并转换后生成寄存器信号shiftreg送 至地址比较模块;地址比较模块,将接收的帧控制字译码和目的地址接收模块的目的地址 destaddr和地址表数据接收模块的地址表数据shiftreg进行比较,生成地址匹配标志信 号amof送至数据链路层的上层处理单元;请求延迟处理模块,对接收的地址表数据指示信 号tab_byteSyn进行延时处理,生成查表使能信号tab_drq_en送至与门;状态机,接收帧控 制字译码和目的地址接收模块的信号,生成控制信号对地址表数据接收模块和地址比较模 块进行控制,同时生成状态信号送到数据链路层的上层处理单元;或门,接收地址比较模块的地址匹配标志信号amof及地址表结束标志信号etdf ,生成查表结束信号tab_f inish至 数据链路层的上层处理单元;与门,接收地址比较模块的地址匹配标志信号amof、地址表 结束标志信号etdf 、正在查表标志信号ltaf以及查表使能信号tab_drq_en,生成查表请求 信号tab_drq输出至数据链路层的地址表。 如图5所示,所述转换电路包括第1 3个触发器Dl D3及异或门XORl,其中 第1触发器D1的输入端口接有地址表数据的有效指示信号,输出至第2触发器D2的输入 端口,第2触发器D2的输出端与第3触发器D3的输入端口相连,异或门X0R1输入端分别 与第2触发器D2的输出端和第3触发器D3的输出端相连,输出端接至地址匹配模块。
如图1所示,本发明FF总线帧类型识别器中的帧控制字译码和目的地址接收模 块每当接收新的一帧时,接收其中的帧控制字并对其译码,锁存目的地址后,向地址匹配模 块发出地址匹配启动信号addrmatch—start。地址匹配模块则在地址识别模式使能(arme =1)情况下,通过其内部的状态机控制,根据帧控制字译码和目的地址接收模块中的译码 逻辑电路输出的目的地址字节数addrbytes (代表不同的地址类型)和目的地址destaddr 进行目的地址匹配操作,如果地址类型为HL或者NS,则需要进行查表操作。帧控制字译 码和目的地址接收模块与地址匹配模块之间的信号的作用为addrmatch—start为脉冲信 号,指示地址匹配可以进行,当目的地址接收完毕后,则可以使该信号有效;destaddr信号 输出目的地址;addrbytes信号为目的地址字节数,可取0, 1 , 2, 4。对于状态信号处理,在本 发明所产生的送至数据链路层上层处理单元的状态信号(frame—cntrl、frame—code、rmbf、 rpsaf、 rnaf、 ns、 hl、 rfcf、 tab_finish、 amof、 ltaf、 etdf),如地址匹配信号amof在比较 结束之后,其状态一直保持,直到下一帧到来才清除(利用raf—syn脉冲信号清除即可); 对于帧接收错误处理,如果在目的地址接收完成之前发生接收错误(ref = l),则地址匹配 应进行错误响应(停止地址匹配回到空闲状态);如果在目的地址收到之后发生接收错误 (ref = l),则地址匹配不做任何处理,因为尽管帧接收错误,但数据链路层仍然需要地址 匹配的信息进行错误处理。对于帧控制字译码和目的地址接收模块不做处理;对于地址匹 配模块,如果在未检测到addrmatch—start = 1之前检测到ref = 1则返回到初始状态,否 则不做任何处理。转换电路的主要作用是完成输入信号的整形功能。 计数比较控制器的流程图如图3所示,所述帧控制字译码和目的地址接收模块的 控制部分由计数比较控制器来实现,其内部包含控制计数器,复位后初始计数值为O,每当 clk上升沿时,当检测到接收有效指示信号(raf_syn= 1)时,控制计数器的计数值置l(做 好接收新一帧的准备);当检测到数据字节指示信号有效(rcV_byteSyn = 1)时,如果此时 计数值不大于addrbytes+2,则计数值加1 ;否则表示已经完成目的地址接收,不进行加1操 作。计数比较控制器由控制计数器来决定使能信号,当计数比较控制器的计数值为1时,帧 控制字锁存使能信号fclatch—en有效,否则当计数比较控制器的计数值大于1且小于等于 地址字节数加1时,目的地址接收使能信号addrget—en有效;否则当计数比较控制器的计 数值等于地址字节数加2时,地址匹配启动信号addrmatch—start有效,地址匹配开始,否 则结束操作。当addrbytes为2时,时序图如图4所示。 如图5所示,转换电路由第1 3触发器D1 D3与一个异或门X0R1电路构成。 由于地址表数据有效指示信号产生的时钟远高于地址匹配模块使用的500kHz时钟,所以 当地址表数据有效时会发出读写翻转指示信号,即tabjr,利用转换电路可以由tab_wr翻转信号获得一个500kHz时钟地址表数据指示信号信号tab—bytesyn。转换电路的时序关系 如图6所示。 如图7所示,所述地址匹配模块负责查表和比较操作,控制部分由状态机来实现。 匹配操作根据地址字节数addrbytes分类处理,如果无目的地址(addrbytes = 0)则无操 作;如果是node—id类型(addrbytes = 1),则直接与node—id比较即可;如果是HL或NS 类型(addrbytes = 4或2),则须进行查表操作。 地址表数据接收模块内部有两个计数器,地址表数据字节计数器和连续0字节计 数器,分别记录接收到的地址表数据的字节数和地址表数据中连续出现0字节的个数。在 clk上升沿,当检测到有效数据指示(raf_syn = 1)时,则置地址表数据字节计数器和连续 0字节计数器的计数值为0。当查表使能信号tabdataget—en有效(tabdataget—en = 1) 时,如果tab_byteSyn = 1时,则移位接收地址表数据到寄存器信号shiftreg,地址表数据 字节计数器的计数值加1 ,并判断地址表数据tab—data是否为0,如果为0,则连续0字节计 数器的计数值加l,否则重置连续0字节计数器的计数值为0 ;当收到一个完整地址(地址 表数据字节计数器的计数值等于addrbytes)时,则置地址表数据字节计数器的计数值为 0。地址表结束标志信号etdf是通过地址表数据接收模块统计地址表数据中连续0字节的 个数来判定的,当addrbytes = 2时,连续0字节计数器的计数值为3时,etdf被置为1 ;当 addrbytes = 4时,连续0字节计数器的计数值为6时,etdf被置为1。
请求延迟处理模块用于控制地址表数据接收,如果是目的地址是HL或NS类型, 查表操作就可以持续进行,但考虑到应适当的让出部分总线周期给其他事务处理,所以为 地址匹配加入请求延时机制每处理一个字节的地址表数据tab—data后,必须延迟若干个 500kHz周期,之后才能发出新的查表请求。具体实现,在请求延迟处理模块内部包含一个 延时计数器,每当在elk上升沿检测到tab_byteSyn为1时,将延时计数器的值置为初始值 (可根据需要设定初始值,初始值必须大于零);如果tab_byteSyn = 0且延时计数器的计 数值大于O,则计数值减1。当计数器的计数值为0时才将查表使能信号tab_drq_en置1。
地址比较模块的操作根据地址类型分为两种nodejd比较和查表比较。对于 node—id比较,在clk上升沿,检测到node」d比较使能nodeid_en = 1时,就可以进行比 较。对于查表比较,在clk上升沿,如果接收到的地址表数据的字节数等于目的地址字节数 (已数据链路层地址表接收一个完整的地址)时,才会进行比较。地址比较结果是将上述两 个比较结果进行或操作,最后得出地址匹配标志信号amof。 查表请求信号tab_drq由地址匹配标志信号amof 、地址表结束标志信号etdf、正 在查表标志信号ltaf以及查表使能信号tab—drq—en共同决定,生成表达式为tab_drq = ! amof&& ! 61(^&&11&&&肚&13_(1^_611,使用与门实现。查表结束信号由地址匹配标志信号 amof和地址表结束标志信号etdf决定,生成表达式为tab_finish = amof | | etdf,使用活 门实现。 如图8所示,所述控制状态机共有四个状态,分别为S0 :初始状态
(initialstate)进行初始化;S1 :等待状态(wait state)等待直到地址识别模式使能 并且接收数据有效;S2 :活动状态1 (active statel),查表比较;S3 :活动状态2 (active state2),一次性node」d比较。状态转换关系为在复位后,进入初始状态SO ;之后在elk 上升沿,若地址匹配模式使能信号arme无效,则状态机进入初始状态S0, arme有效,根据状态机当前状态currentstate完成状态转换。当前状态为SO时,如检测到地址识别模式 使能并且接收数据有效(arme = l&&raf_Syn = 1),则状态机的状态跳转到Sl。当前状态 为SI时,当检测到地址匹配开始并且地址字节数为0或者接收错误或者地址识别模式不使 會g ((addrmatch_start = l&&addrbytes = 0) | |ref = l| | arme = 0)时,则下一个状态为 SO ;若检测到地址匹配开始并且地址字节数等于l(addrmatch_start = l&&addrbytes = l&feiddrbytes > 0)时,则下一个状态为S3 ;如果检测到地址匹配开始并且地址字节数大于 1 (addrmatch_start = l&&addrbytes ! = l&&addrbytes > O),则下一个状态为S2。当前 状态为S2时,如果地址识别模式不使能或者地址表结束(arme = 0| | inner_tab_finish = l),则下一个状态为SO ;若检测到地址识别模式使能并且接收数据有效(arme = l&&raf_ syn = 1),则下一个状态为Sl。当前状态为S3时,node」d —次性比较只需要一个时钟周 期,如果检测到地址识别模式使能并且接收数据有效(arme = l&&raf_syn = l),则下一个 状态为Sl ;否则下一个状态为S0。状态机生成的控制信号由所处的不同状态决定,当状态 机的状态为SO时,进行初始化,ltaf置为0 (无查表请求),tabdataget—en置为0 (禁止 地址表数据接收使能),nodeicLen置为0(禁止node」d比较使能);当状态机的状态为 Sl时,ltaf置为0, tabdataget_en置为0, nodeid_en置为0 ;当状态机的状态为S2时, tabdataget—en置为1 (地址表数据接收使能),ltaf置为1 (有查表请求),nodeicLen置 为0 ;当状态机的状态为S3时,nodeid_en置为1 (使能node—id比较使能),tabdataget— en置为0, ltaf置为0。以接收目的地址类型为NS的帧为例,请求延迟处理模块的延时计 数器的初始值为2,假设第二个地址就匹配的状态机转换的时序关系如图9所示。
8
权利要求
一种FF总线帧类型识别器,设于FF现场总线数据链路层中,其特征在于包括帧控制字译码和目的地址接收模块,将接收的来自现场总线的数据信号生成帧控制信息、地址匹配结果和数据链路层协议数据单元的相关参数,转发给数据链路层的上层处理单元;地址匹配模块,将接收到的数据链路层中的地址表数据以及通过转换电路接收的地址数据有效指示信号进行地址匹配处理,输出至数据链路层的上层处理单元,指示地址匹配的结果;转换电路,用于将地址数据有效指示信号进行时序调整,送至地址匹配模块,指示地址数据有效。
2. 按权利要求1所述的FF总线帧类型识别器,其特征在于所述帧控制字译码和目的 地址接收模块包括帧控制字锁存器,接收现场总线的数据信号,锁存帧控制字;计数比较控制器,接收现场总线的控制信号,对控制信号进行计数,达到译码逻辑电路 输出的地址字节数时,产生输出信号至地址匹配模块;译码逻辑电路,对帧控制字锁存器输出的帧控制字进行译码,输出至数据链路层的上 层处理单元;目的地址接收器,接收现场总线的数据信号,提取目的地址,输出至地址匹配模块。
3. 按权利要求1所述的FF总线帧类型识别器,其特征在于所述地址匹配模块包括 地址表数据接收模块,地址比较模块,请求延迟处理模块和状态机四个模块地址表数据接收模块,接收数据链路层中的地址表数据,送至地址比较模块; 地址比较模块,将接收的帧控制字译码和目的地址接收模块的目的地址和地址表数据接收模块的地址表数据进行比较,生成地址匹配标志信号送至数据链路层的上层处理单元;请求延迟处理模块,对接收的地址表数据有效指示信号进行延时处理;状态机,接收帧控制字译码和目的地址接收模块的信号,生成控制信号对地址表数据 接收模块和地址比较模块进行控制,同时生成状态信号送到数据链路层的上层处理单元;或门,接收地址比较模块的地址匹配标志信号及地址表结束标志信号,生成查表结束 信输出号至数据链路层的上层处理单元;与门,接收地址比较模块的地址匹配标志信号、地址表结束标志信号、正在查表标志信 号以及查表使能信号,生成查表请求信号输出至数据链路层的地址表。
4. 按权利要求1所述的FF总线帧类型识别器,其特征在于所述转换电路包括第1 3个触发器(D1 D3)及异或门(X0R1),其中第1触发器(Dl)的输入端口接有地址表数据 的有效指示信号,输出至第2触发器(D2)的输入端口,第2触发器(D2)的输出端与第3触 发器(D3)的输入端口相连,异或门(X0R1)输入端分别与第2触发器(D2)的输出端和第3 触发器(D3)的输出端相连,输出端接至地址匹配模块。
全文摘要
本发明涉及一种FF总线帧类型识别器,设于FF现场总线数据链路层中,包括帧控制字译码和目的地址接收模块,将接收的来自现场总线的数据信号生成帧控制信息、地址匹配结果和数据链路层协议数据单元的相关参数,转发给数据链路层的上层处理单元;地址匹配模块,将接收到的数据链路层中的地址表数据以及通过转换电路接收的地址数据有效指示信号进行地址匹配处理,输出至数据链路层的上层处理单元;转换电路,用于将地址数据有效指示信号进行时序调整,送至地址匹配模块。本发明可以实时提取DLPDU的种类信息;可以识别DLPDU的长地址或短地址;可以提取DLPDU的地址信息;可以FPGA、CPLD、IP等多种方式实现。
文档编号H04L29/06GK101753543SQ20081022999
公开日2010年6月23日 申请日期2008年12月19日 优先权日2008年12月19日
发明者崔书平, 杨志家, 段茂强, 王剑, 董策, 谢闯 申请人:中国科学院沈阳自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1