CN103347023B - 一种工业现场环境下hdlc通信控制器 - Google Patents
一种工业现场环境下hdlc通信控制器 Download PDFInfo
- Publication number
- CN103347023B CN103347023B CN201310278753.4A CN201310278753A CN103347023B CN 103347023 B CN103347023 B CN 103347023B CN 201310278753 A CN201310278753 A CN 201310278753A CN 103347023 B CN103347023 B CN 103347023B
- Authority
- CN
- China
- Prior art keywords
- module
- hdlc
- data
- register
- ram
- 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.)
- Active
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明提出一种工业现场环境下HDLC通信控制器,包括接收模块、与接收模块连接的发送模块、分别与接收模块和发送模块连接的寄存器模块、分别与接收模块和寄存器模块连接的接收RAM,以分别与发送模块和寄存器模块连接的发送RAM,所述寄存器模块还连接有微控制单元。
Description
技术领域
本发明属于通讯技术设备领域,尤其是涉及一种工业现场环境下HDLC通信控制器。
背景技术
HDLC(High Level Data Link Control)是通讯领域中应用最广泛的协议之一,它是面向比特的高级数据链路控制规程,具有差错检测功能强大、高效和同步传输的特点。对于工控领域而言,如何在通讯过程中保证数据传输的正确可靠一直是该领域中非常关键的一项技术。基于HDLC的上述特点,在工控行业的某些应用中采用HDLC协议作为数据链路层的通讯协议,能够在数据完整可靠的前提下,进行数据交换,保证了系统的可靠性。
目前市场上有很多专用的HDLC芯片,这些芯片一般都针对通用的HDLC协议,因此对芯片的操作相对复杂。实际上,在许多领域的应用并不需要如此完备的HDLC协议,而是选择HDLC协议中符合系统要求的部分功能,设计一种相对简单、使用灵活的HDLC控制器。由于可编程逻辑器件(CPLD/FPGA)采用硬件技术处理信号,也可以通过软件反复编程使用,能够兼顾速度和灵活性,并能并行处理多路信号,实时地预测和仿真。所以综上所述,本设计提出了一种基于CPLD(Lattice公司的LCMXO1200HC芯片)的简化功能HDLC控制器,实现了DCS系统总线RS485通讯的数据链路层控制。
发明内容
为了达到上述通讯中相对简单、使用灵活的HDLC控制器,本发明提出一种工业现场环境下HDLC通信控制器。
实现上述有益效果的技术方案为,一种工业现场环境下HDLC通信控制器,包括接收模块、与接收模块连接的发送模块、分别与接收模块和发送模块连接的寄存器模块、分别与接收模块和寄存器模块连接的接收RAM,以分别与发送模块和寄存器模块连接的发送RAM,所述寄存器模块还连接有微控制单元。
本设计针对DCS控制系统中RS485通讯的特殊应用场合实现了专用的HDLC控制器,在实现了基本HDLC通信协议以外,主要对如下两部分内容进行应用针对化处理:
由于工控行业对于数据传输的可靠性要求非常高,在工业现场不可避免的会经常产生电磁干扰,必须在这种情形下降低数据传输的过程中出现误码的概率。利用CPLD实现的HDLC控制器作为主控芯片MCU的一个外扩资源,MCU一般采用并行总线访问HDLC控制器。而CPLD和MCU进行通信时,如果并行总线上存在干扰,导致数据线或者地址线信号产生错误,那么将导致HDLC控制器接收/发送给MCU的数据非预期结果,则RS485端的数据传输就会产生错误。如果利用原有CRC校验方式,则无论在RS485远端接收和RS485本地端接收数据时都无法识别该数据帧的错误。所以本设计中,数据链路层并不进行CRC校验功能,而将CRC校验值放在MCU中生成,HDLC控制器不区分数据和CRC校验值,将其均作为数据进行透明传输。避免了上述问题的发生,进一步提高了系统的可靠性。
利用乒乓操作的方式,在有限的存储资源下,支持无限长数据帧的发送和接收。在一般的可编程逻辑器件中(如FPGA和一些比较新型的CPLD)都集成一部分RAM块,在实际应用中可以调用这部分资源实现数据存储
功能,从而避免了外接独立存储芯片。但FPGA和CPLD中集成的RAM块毕竟有限,如果采用内部集成RAM块容量较大的可编程逻辑器件将大幅提升成本。所以,如果要利用有限的内部存储资源支持较长的HDLC数据帧甚至无限长帧,可以采用乒乓缓存的方式来实现。在本设计中调用了2个双口ram资源,一个用于接收数据缓存另一个用于发送数据缓存,在每一个缓存区又分为高半区和低半区。在进行一帧的接收或是发送时,HDLC控制器利用这两个高低半区进行乒乓缓存操作,并且在接收缓存半满和发送缓存半空时产生相应的中断信号。一般说来,MCU的读写操作时钟频率要远大于HDLC的发送/接收时钟频率,并且MCU对数据的操作采用的是并行总线结构,这样就可以利用乒乓缓存的方式支持无限长数据帧的发送和接收。
附图说明
图1为本发明的一种实施方式的结构框型示意图。
具体实施方式
下面结合附图对本发明做进一步说明。结合图1,一种工业现场环境下HDLC通信控制器,其特征在于,包括接收模块、与接收模块连接的发送模块、分别与接收模块和发送模块连接的寄存器模块、分别与接收模块和寄存器模块连接的接收RAM,以分别与发送模块和寄存器模块连接的发送RAM,所述寄存器模块还连接有微控制单元。
本发明在工作时,在接收使能的前提下,HDLC输入数据hdlc_idata在HDLC时钟hdlc_clk同步下,由接收模块(hdlc_receiver)按照HDLC帧格式进行解析,如果接收数据长度小于128字节,接收完毕后,硬件自动清零接收使能并产生接收完成中断信号通知MCU,MCU利用并行总线从接收缓存rec_dpram中将接收完成的数据取走。如果接收数据长度超过128字节,则接收缓存区半满中断产生,通过乒乓方式将数据传输给MCU。MCU读取整帧数据完毕后,清零中断标志,即进行下一次接收。
发送过程:
MCU通过并行总线将要发送的数据写入发送缓存双口ram(trans_dpram)中,如果发送数据长度小于128字节,则数据一次全部写入trans_dpram后,打开发送使能,发送模块(hdlc_transmitter)从trans_dpram读出待发送数据开始按照HDLC帧格式封装数据并且将数据在hdlc_clk同步下由hdlc_odata发送出去。如果发送长度大于128字节后,MCU添满缓存区后,根据发送缓存器高/低半空中断信号进行乒乓操作添写高/低缓存区,以保证长数据连续发送。待整帧数据发送完成后,硬件自动清零发送使能并产生发送完成中断信号通知MCU。MCU清零中断标志,即可进行下一次发送。
系统寄存器配置和MCU总线时序解析:
系统寄存器配置和MCU总线时序解析的由hdlc_register_group_config模块完成,包括HDLC控制器的相关参数,HDLC收发控制和中断控制,以及MCU异步读写信号的本地同步化等功能。
以上所述,为本发明的较佳实施案例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。
Claims (1)
1.一种工业现场环境下HDLC通信控制器,其特征在于,包括集成于该HDLC通信控制器内部的接收模块、与接收模块连接的发送模块、分别与接收模块和发送模块连接的寄存器模块、分别与接收模块和寄存器模块连接的接收RAM,以及分别与发送模块和寄存器模块连接的发送RAM,接收模块、发送模块连接有时钟;接收RAM和发送RAM均分为用于进行乒乓缓存操作的高半区和低半区;所述寄存器模块还连接有用于生成CRC校验值的微控制单元;微控制单元与寄存器模块之间通过并行总线连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310278753.4A CN103347023B (zh) | 2013-07-04 | 2013-07-04 | 一种工业现场环境下hdlc通信控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310278753.4A CN103347023B (zh) | 2013-07-04 | 2013-07-04 | 一种工业现场环境下hdlc通信控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103347023A CN103347023A (zh) | 2013-10-09 |
CN103347023B true CN103347023B (zh) | 2016-08-10 |
Family
ID=49281797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310278753.4A Active CN103347023B (zh) | 2013-07-04 | 2013-07-04 | 一种工业现场环境下hdlc通信控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103347023B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685275B (zh) * | 2013-12-17 | 2016-03-23 | 南车青岛四方机车车辆股份有限公司 | 一种CompactRIO的HDLC通信模块 |
CN104881386B (zh) * | 2015-05-14 | 2017-12-19 | 南京国电南自维美德自动化有限公司 | 一种解决blvds总线直流平衡问题的装置 |
CN105262659A (zh) * | 2015-11-02 | 2016-01-20 | 日立永济电气设备(西安)有限公司 | 基于fpga芯片的hdlc协议控制器 |
-
2013
- 2013-07-04 CN CN201310278753.4A patent/CN103347023B/zh active Active
Non-Patent Citations (6)
Title |
---|
AIS系统设计及实现探讨;许华杰;《中国优秀硕士学位论文全文数据库》;20021215;全文 * |
基于FPGA的HDLC协议的控制器的设计;张必英;《中国优秀硕士学位论文全文数据库》;20051215;正文第33页 * |
实时视频处理系统中的乒乓缓存的设计;康艳霞,等;《弹箭与制导》;20071231;说明书第219-220页,图2 * |
康艳霞,等.实时视频处理系统中的乒乓缓存的设计.《弹箭与制导》.2007, * |
张必英.基于FPGA的HDLC协议的控制器的设计.《中国优秀硕士学位论文全文数据库》.2005, * |
许华杰.AIS系统设计及实现探讨.《中国优秀硕士学位论文全文数据库》.2002, * |
Also Published As
Publication number | Publication date |
---|---|
CN103347023A (zh) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103825696B (zh) | 一种基于fpga实现光纤高速实时通信的装置 | |
CN103605632B (zh) | 一种axi总线与ahb总线的通信方法与装置 | |
CN103902486A (zh) | 一种远端直接内存访问实现方法、装置及系统 | |
CN101788972A (zh) | 一种数据传输的系统与方法 | |
CN101409675A (zh) | 网络分组净荷压缩 | |
CN103218337B (zh) | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 | |
CN105208034A (zh) | 一种spi总线与can总线协议转换电路及方法 | |
CN105450588A (zh) | 一种基于rdma的数据传输方法及rdma网卡 | |
KR20080076811A (ko) | 이동통신 시스템의 데이터 처리 방법 및 장치 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
CN110417780A (zh) | 定制化数据传输协议的多通道高速数据接口转化模块 | |
CN103347023B (zh) | 一种工业现场环境下hdlc通信控制器 | |
CN104320317A (zh) | 一种以太网物理层芯片状态的传送方法和装置 | |
TW201947976A (zh) | 中繼系統同步方法、裝置、電腦設備及存儲媒介 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN105578585A (zh) | 一种确定链路延时的方法、装置和通信设备 | |
CN104780019A (zh) | 光纤通信数据的存储方法 | |
CN115361704A (zh) | 基于基站mac子层直接传输的c2d通信系统及i/o数据通信方法 | |
CN102567272A (zh) | 一种提高spi接口电路工作频率的方法 | |
CN111510363A (zh) | 基于modbus协议的从站转换装置及其控制方法 | |
CN109143940A (zh) | 一种通用数据采集装置 | |
CN104317747A (zh) | 一种网格接收机的数据缓存与发送装置及方法 | |
US20240104046A1 (en) | Spread spectrum clock negotiation method, and peripheral component interconnect express device and system | |
CN102420734A (zh) | 一种can总线拓扑结构实现系统 |
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 |