用于工业过程网络的通信单元的制作方法

文档序号:17098738发布日期:2019-03-14 00:05阅读:242来源:国知局
用于工业过程网络的通信单元的制作方法

本申请要求于2013年3月14日递交的题为“MODEM ASIC ARCHITECTURE FOR HART COMMUNICATIONS PROTOCOL”的美国临时申请No.61/781,348的优先权,其全部内容在此一并引入作为参考。



背景技术:

本公开一般涉及在工业过程网络中使用的现场设备。更具体地,本公开涉及使用现场设备的通信单元的消息处理和数据传输。

在典型的工业设备(plant)中,分布控制系统(DCS)用于控制在设备处执行的多个工业过程。通常,该设备具有具备有用户输入输出(I/O)、光盘I/O以及其他外设的计算机系统的中央控制室。控制器和过程I/O子系统与计算系统相耦合。

过程I/O子系统包括遍布于设备连接至各种现场设备的I/O端口。现场设备包括各种类型的分析设备、硅压力传感器、电容式压力传感器、电阻式温度检测器、热电耦、应变测试仪、限位开关、通断开关、流量变送器、压力变送器、电容电平开关、磅秤(weigh scales)、换能器、阀门定位器、阀门控制器、致动器、螺线管和指示灯。术语“现场设备”包括这些设备以及在分布控制系统中执行功能的任何其他设备。

传统地,模拟现场设备已经通过两线制双绞线电流环连接至控制室,每个设备通过单个两线制双绞线连接至控制室。模拟现场设备能够响应于或发送特定范围内的电信号。在典型配置中,通常在双绞线的两条线之间具有约20-25伏的压差以及流经环的4-20毫安的电流。向控制室发送信号的模拟现场设备调制流经电流环的电流,电流与所感测到的过程变量成比例。另一方面,在控制室的控制下执行动作的模拟现场设备由通过环的电流幅度控制,电流幅度通过过程I/O系统的I/O端口调制,I/O系统的I/O端口由控制器控制。具有激活的电子器件的传统两线制模拟设备还可以从环中接收高达40毫瓦的功率。要求更高的功率的模拟现场设备通常使用四条线连接至控制室,两条线向设备发送功率。在现有技术中这种设备称作四线制设备,并且不像两线制设备那样功率受限。

历史上,大多数传统现场设备已经具有直接与由现场设备执行的基本功能直接相关的单个输入或单个输出。例如,由传统模拟电阻式温度传感器实现的唯一功能是:通过调制流经两线制双绞线的电流来发送温度,而由传统模拟阀门定位器实现的唯一功能是:基于流经两线制双绞线的电流的幅度,在开和关位置之间(含开和关位置)定位阀门。

最近,在电流环上叠加数字数据的混合系统已经被用于分布控制系统中。一种混合系统在控制技术中被称为可寻址远程传感器高速通道(HART)并且与贝尔202调制解调器规范相类似。HART系统使用半双工主-从协议。通常,主机发送命令并期待应答。用互补的方式,从机方通常等待命令并在响应中发送应答。每个命令或应答可以被认为是长度从几字节变化到269字节的消息。该消息由以1,200比特每秒(BPS)发送的异步串行数据组成。传输是通过频移键控(FSK)完成的,使得逻辑1由1,200赫兹(Hz)信号表示并且逻辑0用2,200Hz信号表示。这些HART协议信号被调制到承载直流电源的两线制通信线上。

使用HART通信协议,消息交易由中央或控制站向指定现场设备发送命令,通常通过以唯一地址寻址现场设备来发起。该命令可以例如指示现场设备以关于其状态的信息(例如感测的电流压力或者其他状态信息)来应答。一旦从控制站接收到该命令,现场设备向控制站发送所接收到的并处理的应答。HART系统允许控制站进行每秒约两个或三个交易。因此,当使这种数字消息能够在模拟介质上发送的数字消息时,HART协议可以相对慢地发送和接收这种消息。输入和输出HART消息的数据速率可以要求处理器在间隔中服务于这种消息,以避免处理器的其他高优先权任务的额外延迟。这进而可以对每个消息要求处理器的多个中断,由此增加处理器上的多任务切换和其他负载,并增加在处理器上实现通信协议的复杂度。



技术实现要素:

在一个示例中,现场设备被配置为:在工业过程网络上发送并接收数据。所述现场设备包括:处理器;以及通信连接到工业过程网络的通信单元。所述通信单元被配置为:经由第一通信协议以第一数据速率在工业过程网络上发送并接收数据。通信单元被连接以经由第二通信协议以大于第一数据速率的第二数据速率与处理器通信。

另一个示例中,通信单元配置为在工业过程网络上发送并接收数据。所述通信单元包括:第一通信接口、第二通信接口、第一接收缓冲器和第二接收缓冲器。第一通信接口被配置为:经由第一通信协议以第一数据速率在工业过程网络上发送和接收数据。第二通信接口被配置为:经由第二通信协议以大于第一数据速率的第一数据速率与处理器通信。第一接收缓冲器被配置为:存储与在工业过程网络上接收的第一消息相对应的第一消息对象。第二接收缓冲器被配置为:存储与在工业过程网络上接收的第二消息相对应的第二消息对象。

另一个示例中,在工业过程网络上发送和接收数据的方法包括:现场设备的通信单元经由第一通信协议以第一数据速率接收第一消息。所述方法还包括:通信单元在通信单元的第一接收缓冲器中存储第一消息,并通信单元根据第一通信协议确定第一消息包括完整消息。所述方法还包括:通信单元响应于确定第一消息包括完整消息,向现场设备的处理器通知已经收到第一消息;通信单元经由第二通信协议以大于第一数据速率的第二数据速率向处理器发送第一消息。

附图说明

图1是包括通信单元的现场设备的框图,所述通信单元经由第一接口通信连接至工业过程网络并且经由第二接口连接以与处理器进行通信。

图2是被连接以经由串行外围接口(SPI)协议与处理器通信并经由可寻址远程传感器高速通道协议在工业过程网络上发送和接收数据的通信单元的示意图。

图3是包括用于处理器和工业过程网络之间的通信的消息缓冲器的通信单元的框图。

具体实施方式

根据本公开的技术,通信单元(例如现场设备或其他仪器的通信单元)通信耦合到工业过程网络。通信单元包括第一通信接口和第二通信接口。第一接口被配置为经由第一通信协议(例如,HART协议)以第一数据速率(例如1,200比特每秒)在工业过程网络上通信。第二接口被配置为经由第二通信协议(例如串行外围接口(SPI)协议)以大于第一数据速率的第二数据速率与处理器通信。通信单元和处理器之间的更高速率接口可以使处理器能够在每个给定的时间单元检索更大量的数据,由此允许处理器更少次的中断以检索在工业过程网络上接收到的消息。此外,通信单元可以确定接收到的消息的错误状态,并且能够中断处理器以仅检索那些被确定为具有非致命错误的消息,由此进一步减少处理器的中断的数量。在工业过程网络上接收到的消息可以存储在通信单元的一个或更多个消息缓冲器中。因此,通信单元可以在接收到完整的消息之后中断处理器以检索消息,而不是每个消息多次中断处理器。用这种方式,实现本公开的技术的通信单元可以降低处理器上的任务切换负载,由此使处理器能够把更多的时间和/或处理功率专用于非通信任务,例如数据操作和处理。此外,多个消息缓冲器可以例如当在处理器检索先前消息之前接收后续消息时使通信单元能够存储多个接收到的消息。以类似的方式,在某些示例中,通信单元可以将要在工业过程网络中发送的完整消息存储在发送缓冲器中,由此使通信单元能够从处理器卸载发送任务并发送完整消息,而无需要求处理器多次中断来发送消息。这样,本公开的技术可以降低现场设备的处理器的负载,并增加工业过程网络上的通信的鲁棒性。

图1是包括通信单元12的现场设备10的框图,通信单元12经由正极端14A和负极端14B(这里合并成为“端14”)通信连接至工业过程网络,并且经由接口18连接以与处理器16进行通信。尽管这里在HART系统的上下文中描述现场设备10,应理解,本公开的技术对于具有在网络上发送并接收数据的现场设备的工业过程网络具有普遍的适用性。

如图1中所示,现场设备10经由端14与工业过程网络(例如HART网络)通信连接。端14在现场设备10和网络之间提供接口,以使能现场设备10与控制器或连接至网络的其他仪器之间的通信。现场设备10可以是感测一个或更多个参数并基于所感测到的过程参数提供数据的过程仪器。在一些示例中,现场设备10可以是过程致动器,过程致动器基于经由端14在工业过程网络上接收到的命令消息提供物理输出。在某些示例中,现场设备10可以既包括感测也包括致动能力。

如图1所示,现场设备10还可以包括:电源20、信号处理电路22、传感器24、非易失性存储器26、易失性存储器28和易失性存储器30。电源20向现场设备10的组件供电。例如,如图1中说明的示例,电源20可以从HART环汲取功率(例如,高达40毫瓦)并向诸如通信单元12、处理器16、信号处理电路22和传感器24之类的组件供电。

传感器24感测一个或更多个过程参数或变量,并向信号处理电路22提供传感器信号。传感器信号可以包括初级变量(例如,压力)以及次级变量(例如,温度)中的一个或多个。可以例如通过用于表示初级变量的传感器信号的修正或补偿的处理器16使用次级变量。

信号处理电路22通常包括模数转换电路,以及滤波和其它信号处理,以对由处理器16使用的传感器信号进行格式化。例如,信号处理电路22可以包括一个或更多个∑Δ模数转换器和数字滤波器,以向处理器16提供数字化的和滤波后的传感器信号。

处理器16可以被配置为:实现用于在现场设备10内运行的功能和/或过程指令。例如,处理器16能够处理存储在一个或更多个非易失性存储器26和易失性存储器28中的指令,例如创建并选择要包含在将经由通信单元12和端14在工业过程网络上从现场设备10发送的消息中的数据,如下面进一步描述。处理器16的示例可以包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他等同离散或集成逻辑电路中的任何一个或更多个。

非易失性存储器26可以用于存储处理器16运行的程序指令。在一些示例中,非易失性存储器26可以存储配置数据、校准数据以及由处理器16使用以控制现场设备10的操作的其他信息。在某些示例中,非易失性存储器26可以被配置为存储相比于易失性存储器更大量的信息,并且能够被配置为信息的长期存储器。这种非易失性存储元件的示例可以包括闪存或电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。

易失性存储器28还可以被配置为:在操作期间在现场设备10内存储信息。易失性存储器28可以(例如,在RAM或高速缓冲器中)存储可能随时间变化的数据。易失性存储器28可以被认为是临时存储器,意味着易失性存储器28的主要目的不是长期存储。易失性存储器的示例可以包括随机接入存储器(RAM)、动态随机接入存储器(DRAM),静态随机接入存储器(SRAM),以及其他形式的易失性存储器。在一些示例中,易失性存储器28由在现场设备10上运行的软件或应用所使用,以在程序运行期间临时存储信息。

示为连接至通信单元12的易失性存储器30可以基本类似于易失性存储器28。即,易失性存储器30可以包括在现场设备10的操作期间可以由通信单元12用来临时存储数据的RAM、DRAM、SRAM或者其他形式的易失性存储器。例如,如下面进一步描述,通信单元12可以使用易失性存储器30来存储对应于在工业过程网络上接收和/或发送的消息的消息对象。尽管示为包括两个易失性存储器28和30,但是某些示例现场设备10中可以包括由处理器16和通信单元12共享的单个易失性存储器。在这种示例中,现场设备10可以包括协调对共享存储器的访问的控制器。尽管与处理器16和通信单元12分开说明,在一些示例中,存储器26、28和30可以与处理器16和通信单元12的一个或更多个相集成。例如,易失性存储器30可以与通信单元12集成。类似地,非易失性存储器26和易失性存储器28中的一个或更多个可以集成到处理器16。在一些示例中,通信单元12还可以包括和/或耦合到非易失性存储器,例如存储用于通信单元12的操作的配置和/或其他数据。

在一些示例中,非易失性存储器26、易失性存储器28和易失性存储器30中的一个或更多个可以被描述为计算机可读存储介质。在一些示例中,计算机可读介存储介质可以包括非瞬时性介质。术语“非瞬时性”可以指示未在载波或传播信号中具体化的存储介质。

通信单元12经由端14通信连接至工业过程网络。通信单元12被配置为经由通信协议(例如HART协议)在工业过程网络上发送并接收数据。通信单元12可以是集成电路,例如ASIC,离散组件的集合、FPGA或者其他等同的离散或集成逻辑电路。

通信单元12可以使用HART协议发送并接收消息(例如,去向和/或来自主机设备和/或控制站),该消息包括以每秒1200比特发送的异步串行数据。根据HART协议,逻辑1由1,200Hz的信号表示,并且逻辑0由2,200Hz的信号表示。即,HART信号是相位连续的频移键控(FSK)信号,其通过首先用1700Hz的自由运行的本地振荡器频率混频、然后识别所产生信号的相位进行解调。将HART信号与1,700Hz频率相混频将1,200Hz(二进制1)和2,200Hz(二进制0)信号移动到+/-500Hz信号。所产生的信号的相位将连续地增加,由此指示从1,200Hz信号导出了所产生的信号;或者相位将连续地减小,由此指示从2,200Hz信号导出了所产生的信号。HART协议的比特识别将通过感测相位是增加的(二进制1)还是减小的(二进制0)来实现。用这种方式,通信单元12可以根据HART通信协议以每秒1,200比特的数据速率经由端14来调制和解调数据信号。

根据本公开的技术,通信单元12还被连接以经由接口18以大于经由端14接收到的消息的数据速率的数据速率与处理器16通信。例如,通信单元12可以使用串行外围接口(SPI)协议以高达921.6千比特/秒的数据速率经由接口18与处理器16通信。在操作中,通信单元12解调经由端14接收到的信号,并经由接口18向处理器16传递消息数据。例如,通信单元12可以调用处理器16的中断来使处理器16服务于被配置为经由接口18检索消息的中断服务程序。通信单元12和处理器16之间的高速通信可以使处理器16能够对于每个给定时间单元检索更大量的数据。因此,高速接口18可以使处理器16能够相比于处理器16经由较低速接口连接至通信单元12的情况将需要较少的中断以检索消息。

在一些示例中,通信单元12可以将接收到的消息数据存储在消息缓冲器(例如,易失性存储器30中),并且可以当接收整个消息时候调用处理器16的中断。用这种方式,通信单元12可以对每个消息(例如,在高达数据的30字节之后)中断处理器16一次,而不是对于每个消息多次中断处理器16,例如在接收到的数据的每八比特后。这样,通信单元12可以帮助减小与服务于中断相关联的处理器16上的任务切换负载,由此使处理器16能够把更多的时间和/或处理功率专用于其他任务,例如数据操作和/或处理。此外,在某些示例中,通信单元12可以存储多个消息缓冲器,每个消息缓冲器对应于不同的接收消息。例如,在处理器16没有在接收第二消息之前检索第一接收消息的情况下,通信单元12可以在第二缓冲器中存储第二消息,以避免数据丢失或缓冲器溢出,由此增加通信的鲁棒性。在某些示例中,通信单元12可以存储待经由端14在工业过程网络上发送的整个消息,由此使通信单元12能够使用处理器16的单个中断来发送数据。因此,通信单元12使用高速接口18和/或易失性存储器30可以减小处理器16上的操作负载,并可以增加经由工业过程网络的通信的鲁棒性。

图2是通信单元12的一个实施例的示意图,通信单元12经由接口18连接至处理器16并且经由端14连接至HART网络。如图2中示出的,通信单元12经由输入端I_RXAF、I_RXAN和I_RXAP并经由输出端O_RXAF、O_TXA和O_SIG_DAC连接至端14(并由此到HART网络)。用这种方式,端I_RXAF、I_RXAN、I_RXAP、O_RXAF、O_TXA和O_SIG_DAC定义通信单元12通过其耦合至与HART网络的电流环相连的端14的接口。

通信单元12经由端I_RXAF、O_RXAF、I_RXAN和I_RXAP与接口滤波器电路32连接,接口滤波器电路32由虚线示出。接口滤波电路32包括被配置为对经由HART网络接收到的输入信号进行滤波的电阻器R1-R9和电容器C1-C6。在操作中,通过端14经由电流环接收到的作为输入的FSK HART信号流过接口滤波电路32,接口滤波电路32对接收信号进行滤波并调节。

如进一步说明,通信单元12经由输出端O_TXA和O_SIG_DAC连接至电流控制电路34。电流控制电路34包括电阻器R10-R19、电容器C7-C11、晶体管Q1和Q2以及运算放大器36。电流控制电路34被配置为:控制从端14A流至端14B的直流电流(DC)IL,以指示由传感器24感测到的过程变量的值(图1),例如通过调整电流IL的值在4和20毫安之间。此外,电流控制电路34在直流信号上叠加交流电流(AC)FSK信号,以根据HART协议在HART网络上发送消息。

例如,如参照下面图3中所说明的,通信单元12可以包括将数字信息(例如,存储在一个或更多个消息缓冲器的数字信息、转换为数字格式以由处理器16处理的传感器信号,或者其他数字信息)转换为模拟电压的数模转换器(DAC)。在操作中,通信单元12输出具有基于由一个或更多个传感器24(图1)感测到的过程变量的端O_SIG_DAC上的平均电压的脉冲宽度调制信号,转换为数字值并由信号处理电路22处理(图1),由处理器16处理,并经由接口18由通信单元12接收。

如图2所示,经由端O_SIG_DAC输出的电压通过电阻器R19、R16和R17施加到运算放大器36的正极(即非反相)输入。在运算放大器36的正极输入处施加的电压不仅基于经由端O_SIG_DAC输出的电压,还与跨在地与负极端14B之间连接的反馈电阻器R12的反馈电压相结合。因此,随着电流IL增加,跨反馈电阻器R12的电压增加。负电压通过电阻器R15施加并与来自O_SIG_DAC的信号在节点38处结合,由此将来自O_SIG_DAC的正电压与通过电阻器R16和R17施加于运算放大器36的正极输入端的负反馈电压相结合。

运算放大器36的输出通过电容器C8连接至运算放大器36的反向(即,负极)输入端。电阻器R14提供滤波,该滤波基于电容器C8和电阻器R14的RC时间常量减慢在运算放大器36的负极输入端的电压的改变速率,以便有助于防止信号的抖动。运算放大器36的输出还通过电阻器R13施加于晶体管Q1的基极,与晶体管Q2共同形成达林顿晶体管对。该基极电流控制晶体器Q1中的集电极和发射极。来自晶体管Q1的发射极的电流流至达林顿对的第二晶体管-晶体管Q2的基极。第二晶体管的基极电流控制从第二较大晶体管Q2的集电极流至发射极的电流量,由此控制从正极端14A到负极端14B的电流量。用这种方式,基于经由端O_SIG_DAC来自通信单元12的输出配置电流控制电路34,以设置流经HARQ环的基极直流电流。

此外,电流控制电路34被配置为:在直流信号上叠加AC FSK信号,以根据HARQ协议在HART网络上发送消息。例如,如上所述,通信单元12可以发送并接收由以每秒1,200比特发送的异步串行数据组成的消息,其中逻辑1由1,200Hz的信号表示并且逻辑0由2,200Hz的信号表示。在操作中,通信单元12在输出端O_TXA处输出交流波形,交流波形包括1,200Hz信号(即,逻辑1)或者2,200Hz信号(即,逻辑0)中的一个。交流信号经过电容器C11并经过电阻器R18到节点40,在节点40中将电流命令信号IL施加于运算放大器36的非反相正极输入端。用这种方式,来自O_TXA的发送信号被叠加在通过端14在电流环中建立的直流电流电平上。随着发送信号在正幅度和负幅度之间变化,发送信号以瞬时电平改变电流环中的直流电流,同时确保环中的平均电流电平与直流命令电流IL相平衡。因此,通信单元12确保HART信号不扰乱指示从现场设备输出的过程变量值的环电流测量。

如在图2中示出的实施例中进一步说明,通信单元12经由输入端I_CS、I_SCLK、I_MOSI、I_KICK和输出端O_PCLK1、O_NRESET、OT_MISO、O_NINT和O_CD连接至处理器16。可以在其上由通信单元12输出可编程时钟信号的输出端O_PCLK1与处理器16的CLOCK输入端连接。例如,如图所示,通信单元12还包括端I_XTL和O_XTL。在一些示例中,输入端I_XTL可以从振荡器接收时钟信号,例如图2中示出的3.6864MHz振荡器。在其它示例中,通信单元12可以经由端O_XTL接收外部时钟信号。在这种示例中,输入端I_XTL可以连接低电位。接收到的时钟信号(例如,经由端I_XTL或O_XTL接收)可以用于设置通信单元12的时钟速率,例如等于接收到的时钟速率的时钟速率,或者等于接收到的时钟速率的分数倍的时钟速率,例如接收到的时钟速率的八分之一,接收到的时钟速率的四分之一或者接收到的时钟速率的其他分数倍。计算出的时钟速率可以经由输出端O_PCKL1输出至处理器16。连接至RESET输入端或者处理器16的输出端O_NRESET可以用于重置处理器16,例如当处理器16没能将数据发送至通信单元12的看门狗电路时。例如,如图所示,通信单元12的输入端I_KICK可以连接至处理器16的输出端PBy。处理器16可以在输出端PBy上输出数据(例如,一个或更多个比特),数据由通信单元12经由输入端I_KICK接收。响应于确定在时间阈值量内没有经由端I_KICK接收数据,通信单元12的看门狗电路(图3中示出)可以被配置为:经由端O_NRESET向处理器16输出重置命令,重置命令被配置为重置处理器16的操作。

每个模式选择管脚I_FUNC1、I_FUNC2、I_MOD3、I_MOD2和I_MOD1可以视情况而定与地连接,其组合指示通信单元12的操作模式。例如,通信单元12可以被配置为在多个模式之一中操作,例如全功能模式、半改造(semi-retrofit)、基本调制解调器模式和仅数字模式之一。通信单元12可以基于指定的模式来配置通信单元12的一个或更多个功能和/或物理属性。例如,响应于确定模式选择管脚I_FUNC1、I_FUNC2、I_MOD3、I_MOD2和I_MOD1的组合指示全功能模式,通信单元12可以使能通信单元12的每个物理组件和/或功能属性。作为另一个示例,响应于确定指示半改造模式,通信单元12可以禁用消息缓冲功能和/或与这种功能相关联的物理组件(例如,一个或更多个易失性存储器)。响应于确定指示仅数字模式,通信单元12可以禁用(例如,避免提供电能)模拟电路,例如数模转换器等。响应于确定指示基本调制解调器模式,通信单元12可以仅实现调制解调功能,例如通过禁用数模输出,并在在请求通信单元12的操作时利用唤醒管脚来指示。不同的操作模式可以使通信单元12能够与各种HART协议的实施方式兼容,并通过禁用在所指示的功能模式中在操作期间不需要的物理组件来降低功耗。

如图2中示出的,通信单元12的片选输入端I_CS连接至处理器16的片选输出端CS。通信单元12的串行数据时钟输入端I_SCLK连接至处理器16的串行数据时钟输出端SCKL。此外,通信单元12的主输出从输入端I_MOSI连接至处理器16的主输出从输入端MOSI。通信单元12的主输入从输出端OT_MISO连接至处理器16的主输入从输出端。连接至处理器16的端CS、SCKL、MOSI和MISO的通信单元12的端I_CS、I_SCLK、I_MOSI和OT_MOSI可以定义被配置为经由串行外围接口(SPI)协议通信的通信单元12和处理器16之间的接口。这种接口通常被称为SPI总线。然而,虽然本示例参照SPI协议描述,但是通信单元12和处理器16之间的其他协议和接口也是可能的。例如,在通信单元12和处理器16之间使用的另一个示例接口可以是串行通信接口(SCI)。通常,通信单元12和处理器16可以经由使能大于工业过程网络的数据传输速率的数据传输速率的任何通信协议来通信。

SPI总线通常与主设备和一个或更多个从设备操作。图2的示例中,处理器16可以被配置为主设备,并且通信单元12可以被配置为从设备。因此,通信单元12经由输入端I_MOSI接收由处理器16经由输出端MOSI发送的数据。类似地,处理器16经由输入端MISO接收由通信单元12经由输出端OT_MISO发送的数据。处理器16和通信单元12之间经由SPI总线的通信可以以小于或等于设备的最大时钟速率的数据速率实现。例如,通信单元12可以经由SPI总线向处理器16发送数据,例如经由端14在HART网络上接收的消息(即,以每秒1,200比特的速率接收的消息)。类似地,通信单元12可以经由SPI总线从处理器16接收要在HART网络上发送的消息。在SPI总线上的数据传递可以以高于在HART网络上的接收的消息的数据速率(例如,高于每秒1,200比特的数据速率)的数据速率(例如高达921.6千比特每秒的数据速率)来实现。

在根据该实施例的操作中,通信单元12在输出端I_RXA、I_RXAN和I_RXAP处经由端14接收HART消息。通信单元12解调已经由接口滤波电路32滤波的接收信号,以确定以每秒1,200比特的数据速率接收的串行数据。如下面进一步描述,通信单元12可以将接收数据和/或与接收数据相对应的信息存储于一个或更多个缓冲器中。

响应于接收阈值数据量(例如,阈值比特数量、阈值字节数量、完整消息或者其他阈值数据量),通信单元12可以向处理器16输出被配置为使处理器16检索接收数据的指示。例如,如图2中所示,通信单元12可以包括连接至处理器16的中断端INTn的中断端O_NINT。通信单元12可以向处理器16输出通知,以使处理器16例如通过调整中断端O_NINT上的电压在指示逻辑0的电压(例如,低态电压,例如0伏或约为0伏的电压)与指示逻辑1的电压(例如,高态电压,例如3.3伏或约为3.3伏的电压)之间,调用处理器16的中断服务程序。例如,如图2的示例中,端O_NINT可以是有效低位,意味着当端O_NINT保持高位(指示逻辑1)时不请求中断,而当端O_NINT保持低位(指示逻辑0)时请求中断。在其他示例中,端O_NINT可以是有效高位,意味着高态电压指示所请求的中断,而低态电压指示不请求中断。

在操作中,通信单元12使O_NINT有效以调用处理器16的中断服务例程来服务于中断。此外,通信单元12可以指示与经由通信单元12的寄存器接收的消息相对应的中断和/或信息的类型。与接收消息相对应的这种信息可以包括与接收消息相对应的消息状态信息、错误信息、接收消息中的数据的字节数或者其他信息。响应于经由中断端INTn接收中断的指示,处理器16经由SPI总线发起数据交易以检索接收消息。例如,根据SPI协议,处理器16可以经由端CS声明片选信号,片选信号由通信单元12经由输入端I_CS接收,以发起SPI通信。此外,处理器可以经由输出端SCKL发送数据,以配置数据传递的数据速率,数据是由通信单元12经由输入端I_SCLK接收的。此后,在处理器16和通信单元12之间以经由端SCLK和I_SCLK确立的数据速率完成数据传递。

处理器16经由处理器16的MOSI端发送数据,以确认在通信单元12的中断寄存器中设置的比特。响应于接收该确认,通信单元12使O_NINT端无效。处理器16可以例如通过读取通信单元12的接收消息状态寄存器的一个或更多个比特,确定任何错误是否与接收消息相关联。即,通信单元12可以例如通过确定接收消息的校验字节是否验证消息来确定错误是否与接收消息相关联。在某些示例中,通信单元12可以设置寄存器(例如接收消息状态寄存器)的一个或更多个比特,以向处理器16通知错误的类型和/或存在。此外,通信单元12可以设置寄存器(例如接收字节计数寄存器)的一个或更多个比特,以指示包括在接收消息和/或包括该消息和对应于该消息的信息(例如,消息类型信息、消息状态信息、消息头部信息、消息前导码信息或其他类型的信息)的消息对象中的数据的字节数。处理器16可以读取接收字节计数寄存器(即,经由端MOSI和MISO),以确定包括在接收消息和/或消息对象中的数据的字节数。在一些示例中,通信单元12可以基于接收消息的错误状态,确定是否向处理器16通知(例如,通过使中断端O_NINT有效(assert))接收消息。例如,如下面进一步描述的,通信单元12可以实现确定接收消息的错误状态(例如帧错误、奇偶校验错误、间隙错误、载波丢失检测错误、校验字节错误或其他这样的错误)的状态机。在一些示例中,通信单元12可以确定错误状态是致命的还是非致命的。在这种示例中,通信单元12可以响应于确定错误状态是非致命的错误状态,向处理器16输出接收消息通知,并且可以响应于确定错误状态是致命的错误状态,避免输出接收消息通知。

处理器16响应于接收接收消息通知(例如,经由处理器16的端INTn的中断),经由SPI总线发起交易来检索来自通信单元12的接收消息数据。例如,处理器16可以经由MOSI端发送由通信单元12经由I_MOSI端接收的数据,该数据指示要从通信单元12向处理器16发送的数据量(例如,字节数)。请求的数据量可以包括在接收字节计数寄存器中指示的数据量的全部或一部分。用这种方式,处理器16可以在单个交易中检索整个消息和/或消息对象,或者可以经由多个交易检索消息和/或消息对象。在一些示例中,经由SPI总线的交易的数据速率可以使处理器16能够在由处理器16分配以服务于中断的时间帧中检索整个消息和/或消息对象,由此使处理器16能够响应于处理器16的一个中断检索整个数据量。因此,本公开的技术可以有助于降低处理器16上可能由服务于多个中断导致的任务切换负载。

响应于从发起交易的处理器16接收数据,通信单元12经由端OT_MISO向处理器16发送指示消息数据的字节数。处理器16经由处理器16的端MISO接收所发送的数据。此外,由通信单元12发送的数据可以包括指示已经传递了整个消息(例如,整个HART帧)的一个或更多个字节和/或比特。这种字节和/或比特可以被认为是消息结束端(EOM)指示。处理器16响应于接收EOM指示发送消息接收通知,例如通过在通信单元12的接收消息确认寄存器中设置一个或更多个比特来完成消息交易,以检索经由HART网络接收到的消息数据。

处理器16可以通过在SPI总线上向通信单元12发送数据,以在HART网络上发送数据(例如,消息数据、过程变量数据或其他类型的数据)。例如,处理器16可以在输出端MOSI上移出由通信单元12经由输入端I_MOSI接收的消息数据。处理器16可以经由输出端MOSI输出(并经由输入端I_MOSI接收)发送使能命令。如上所述,通信单元12可以响应于接收发送使能命令,通过将数字消息数据转换为经由输出端O_TXA和电流控制电路34调制并输出的模拟电流来经由端14发送消息数据。响应于发送消息数据的整体,通信单元12可以例如通过使端O_NINT有效并写入由处理器16读取的中断状态寄存器的一个或更多个比特,向处理器16输出消息交易完成的确认,所述一个或更多个比特被配置为指示完成发送。作为响应,处理器16可以例如通过写入由通信单元12读取的中断确认寄存器的一个或更多个比特,向通信单元12发送返回确认。在一些示例中,通信单元12可以响应于从处理器16接收确认来使端O_NINT无效(de-assert)。

在一些示例中,通信单元12可以在通信单元12的消息缓冲器中存储要在HART网络上发送的整个消息和/或消息对象,如下面进一步描述的。用这种方式,通信单元12可以使处理器16能够在分配以服务于单个中断的时间内发送要在HART网络上发送的整个消息,由此有助于降低处理器16上的任务切换负载。

如这里所述,通信单元12可以经由第一协议(例如,HART协议)以第一数据速率(例如,每秒1,200比特)在工业过程网络上发送并接收消息数据。通信单元12可以在一个或更多个消息缓冲器中存储消息数据(即,接收消息数据和/或要在工业过程网络上发送的消息数据)。响应于在工业过程网络上接收阈值数据量(例如,阈值字节数、完整的HART帧或者其他数据量),通信单元12可以向处理器16输出通知以检索消息数据。在某些示例中,通信单元12可以向处理器16输出通知以基于接收消息的错误状态(例如致命的或非致命的错误状态)来检索消息数据。处理器16可以经由第二通信协议(例如,SPI协议)以高于第一协议的第一数据速率的第二数据速率(例如,每秒高达921.6千比特)来检索消息数据并发送要在工业过程网络上发送的数据。因此,处理器16在每个时间单元可以向通信单元12发送和/或从通信单元12检索较大的数据量,由此使处理器16能够响应于较少的中断(例如,单个中断)检索接收消息并发送消息。用这种方式,本公开的技术可以降低处理器16上的任务切换负载,由此使处理器16能够把更多的时间和/或处理功率分配专用于非通信任务,例如信号处理和/或数据操作。

图3是包括用于处理器(例如,图1-2的处理器16)和工业过程网络(例如HART网络)之间的通信的接收消息缓冲器40A和40B和发送消息缓冲器42的通信单元12的一个实施例的框图。如图3中说明的,通信单元12还可以包括接收滤波电路44、FSK数字调制解调器46、载波检测电路48、发送波整形电路50、时钟配置电路52、通电复位(POR)电源电路54、看门狗电路56、∑-ΔDAC 58以及寄存器60。

POR电路54经由端I_VSET1接收设置电压输入。POR可以包括比较器或者其他等效电路,以将通信单元12(例如,从图1的电源20)接收的模拟电压与经由端VSET1接收的电压进行比较。响应于确定接收到的模拟电压小于经由端VSET1接收的电压,POR电路54例如通过向通信单元12的组件循环供电,将通信单元12重置为默认状态。因此,当通信单元12的模拟功率降至设置电压以下时(例如用于初始化和掉电保护),POR电路54将通信单元12重置为上电。

时钟配置电路52经由端I_XTL和O_XTL接收时钟循环信号。例如,如上述参照图2描述的,时钟配置电路52可以经由端I_XTL从振荡器接收时钟信号。在其他示例中,时钟配置电路52可以经由端O_XTL从外部时钟接收时钟信号,在这种情况下端I_XTL可以连接至低电位。接收时钟信号可以用于设置通信单元12的时钟速率。

看门狗电路56经由端I_JUMP接收警报状态配置信息,并经由端I_KICK接收指示处理器活动的数据。例如,看门狗电路56可以被配置为:响应于针对阈值时间量(例如,半秒、一秒、两秒或其他阈值时间量)经由端I_KICK从处理器接收的数据的缺少(例如,比特触发)来输出重置命令。此外,看门狗电路56可以被配置为:在检测到(例如,经由端I_KICK)处理器不活动、检测到时钟故障、接收时钟信号不一致或不可靠或其他这种事件的情况下输出警报。看门狗电路56发布的警报可以至少部分基于经由端I_JUMP接收到的信号的状态。例如,当端I_JUMP上的电压高于阈值电压(即,保持高)时,看门狗电路56可以通过使∑-ΔDAC58以最大占空比(例如230.4KHz上的50%的占空比)输出信号来宣告警报。作为另一个示例,当端I_JUMP上的电压少于阈值电压(即保持低)时,看门狗电路56可以通过使∑-ΔDAC 58以恒定的高或低信号输出信号来宣告警报。来自∑-ΔDAC 58的输出可以经由HART环连接至控制室,由此向控制器和/或控制人员来宣告警报。

接收滤波电路44经由端I_RXAF、I_RXAN和O_RXAF接收HART FSK信号。载波检测电路48在接收信号上检测HART FSK信号的存在,并例如通过将端O_CD上的电压调整为表示逻辑1(例如,有效高位),经由端O_CD(例如,向处理器)输出检测载波信号的指示。

由接收滤波电路44接收并处理的HART FSK信号被路由至FSK数字调制解调器46,在某些示例中,数字调制解调器46解调FSK信号(包括1,200Hz和2,200Hz频率)并再现数字非归零(NRZ)信号。其他示例中,例如当通信单元12被配置为在半改造功能模式中操作时,FSK数字调制解调器46经由端I_TXD以NRZ形式(例如,从处理器)接收数字数据。将NRZ信号路由至接收状态机电路62,接收状态机电路62实现确定对应于接收消息(例如,状态信息、错误信息或其他信息)的信息并在消息缓冲器40A和消息缓冲器40B之一中存储信息的状态机逻辑。消息缓冲器40A和40B可以存储在通信单元12的易失性存储器中,例如易失性存储器30(图1)。消息缓冲器40A和40B可以被配置为存储消息对象,消息对象包括接收消息数据以及对应于接收消息数据的信息,例如由接收状态机62确定的状态信息(例如,错误状态信息)、消息头部信息、消息前导码信息或对应于接收消息的其他信息。即,通信单元12在消息缓冲器40A和40B之一中存储接收消息数据,并且接收状态机62确定并在消息缓冲器40A和40B中的相应消息缓冲器中存储与接收消息相对应的信息,接收消息数据和信息的组合对应于定义消息对象的消息数据。

在本实施例的操作中,通信单元12在接收缓冲器40A中存储接收消息数据并确定接收数据量(例如,字节数),在寄存器60的接收字节计数寄存器中更新该接收数据量。此外,对应于接收消息的信息,例如消息头信息、由接收状态机62确定的状态信息以及亦存储于接收缓冲器40A中的其它这样的信息。在一些示例中,响应于接收数据和/或完整消息(例如,完整的HART帧)的阈值字节数,通信单元12向处理器(例如,图1和2的处理器16)输出通知,以使处理器检索接收到的消息数据。例如,如上述参照图2描述的,通信单元12可以调用处理器的中断,以使处理器服务于发起数据交易以经由第二接口(例如,SPI接口)检索消息数据的中断服务例程。在由通信单元12在处理器检索存储于消息缓冲器40A中的接收消息对象之前接收后续消息数据的情况下,通信单元12可以在消息缓冲器40B中存储后续消息数据,由此通过帮助防止丢失数据和/或缓冲器溢出错误来增加通信的鲁棒性。尽管针对两个消息缓冲器40A和40B进行说明,但是在一些示例中,通信单元12可以包括多于两个消息缓冲器。例如,通信单元12可以包括三、四、五或更多个消息缓冲器以进一步增加通信的鲁棒性。

在一些示例中,存储在消息缓冲器40B中的数据可以在发送消息缓冲器40A中的数据之后向处理器发送。在某些示例中,通信单元12被配置为仅从消息缓冲器40A发送数据,由此在传输之前从消息缓冲器40B向消息缓冲器40A传递数据,或者改变消息缓冲器的定义,以有效地交换消息缓冲器40A和40B的标识符。用这种方式,通信单元12可以指定消息缓冲器40A和40B中激活的一个。即,激活的消息缓冲器可以是从其传递数据的消息缓冲器。

在一些示例中,通信单元12可以调用处理器的中断,以使处理器基于接收消息数据的错误状态检索接收消息数据。例如,接收状态机62可以确定接收消息的错误状态(例如,当接收消息数据时)。这种错误状态的示例包括但是不限于:帧错误、奇偶校验错误、间隙错误、载波丢失检测错误以及校验字节错误。

帧错误可以对应于接收消息中的停止位的未定义的和/或不正确的位置。奇偶校验错误可以对应于接收消息中的奇偶校验字节的未定义的和/或不正确的值,例如当指定偶校验(即,字节中偶数个1)时指示奇校验的奇偶校验比特(即,字节中的奇数个1),或者当指定奇校验时指示偶校验指示偶校验的奇偶校验比特。例如,奇校验可以对应于奇偶校验比特值1,以及偶校验可以对应于奇偶校验比特值0。可以由通信协议指定奇校验、偶校验之一或者不指定校验。例如,在其中HART通信协议指定奇校验字的示例中,对应于偶校验的接收到的数据字节的校验比特值0可以对应于奇偶校验错误。在指定偶校验的示例中,奇偶校验比特值1(对应于奇校验)可以对应于奇偶校验错误。

间隔错误可以对应于在接收停止位之后在时间阈值量(例如12.5毫秒的阈值时间)内在消息中接收起始位失败。载波丢失检测错误可以对应于在接收消息的校验字节的期望停止位之前的低载波检测信号。校验字节错误可以与由接收状态机62相对于接收消息确定的校验比特值与包括在接收消息中的校验字节之间的不匹配相对应。例如,接收状态机62可以将接收消息的校验字节值确定为接收消息的全部字节的异或。通信单元12可以对所确定的校验字节值与包括在接收消息中的校验字节值进行比较,并且当所确定的校验字节值与接收到的校验字节值不匹配时,可以确定校验字节错误。

通信单元12可以确定消息错误状态是致命错误状态或者非致命错误状态中的一个。例如,与接收消息的分隔符、地址或字节计数部分中的任何字节中检测到的帧错误相对应的帧错误状态可以被认为是致命的帧错误。在接收消息的其他部分中检测到的帧错误可以被认为是非致命的帧错误。在某些示例中,在接收消息的分割符部分、地址部分或字节计数部分中检测到的奇偶校验错误可以被认为是致命的奇偶校验错误,并且在接收消息的数据字段区域中检测到的奇偶校验错误可以被认为是非致命的奇偶校验错误。在一些示例中,间隔错误、载波丢失检测错误以及校验字节错误均可以被认为是致命的错误。在其他示例中,全部的错误可以被认为是致命的错误。在另外的其他示例中,全部的错误可以被认为是非致命的错误。

通信单元12可以基于所确定的消息的错误状态,确定是否调用处理器的中断以检索接收消息。例如,通信单元12可以响应于确定对应于消息的错误状态是非致命错误状态,调用处理器的中断,并且可以响应于确定该错误状态是致命的错误状态而避免调用中断。用这种方式,通信单元12还可以通过避免中断处理器来检索突发和/或无效的消息来降低中断数和处理器上的关联任务切换负载。

如图3中示出的实施例说明的,通信单元12还包括可以确定发送缓冲器42以及可以确定对应于存储于发送消息缓冲器42中的消息的状态和其它信息的发送状态机64。发送缓冲器42可以存储包括要在HART网络上发送的消息数据的消息对象以及对应于发送消息的信息。例如,通信单元12可以在图1的易失性存储器30中存储发送缓冲器42。在一些示例中,发送缓冲器42被配置为存储完整消息(例如,完整HART帧)。

在操作中,∑-ΔDAC 58将要在HART网络上发送的过程变量数据转换为模拟电压。经由端O_SIG_DAC输出的该模拟电压用于控制HART环上的直流电流。此外,如上所述,发送波形整形电路50形成经由端O_TXA输出的调制交流信号,该调制交流信号叠加在直流电流上以指示HART信号。

用这种方式,通信单元12可以在一个或更多个缓冲器中存储消息数据,由此增加通信的鲁棒性并降低现场设备的处理器上的任务切换负载。因此,本公开的技术可以使能这种处理器把更多的时间和/或功率专用于非通信性任务,例如数据处理和/或操作。

尽管本发明已经参照示例性实施例描述,本领域技术人员将理解,可以在不偏离本发明的范围的情况下,做出各种改变并且等同物可以替代其元素。此外,可以在不偏离本发明的范围的情况下对本发明的示教做出许多修改以适应于特定情况或材料。因此,本发明不意在限于公开的特定实施例,而是本发明将包括落入所附权利要求的范围内的全部实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1