首 页 | IC | 非IC 电子资讯 技术资料 | 会员助手 | 电子论坛 | 帮助
资讯搜索:
首页 > 电子资讯 > 基础知识 > 正文 一周热门资讯排行
基于STR71X的高级数据链路控制规程设计
新闻出处:单片机与嵌入式系统应用 发布时间: 2008年05月30日
  高级数据链路控制(HDLC,High-level Data LinkControl)规程是由同际标准化组织开发,面向比特同步的数据链路层协议。随着ARM处理器市场的成熟,ARM处理器上的高级数据链路控制器外设,几乎涵盖了HDLC规程常用的大部分子集。随着处理能力的提高,在ARM的底层对HDLC通信过程进行控制,具有成本低、灵活性好、便于扩展为操作系统上的应用程序等优点。

  1 STR71X系列的数据链路控制器

  1.1 STR71X的芯片介绍

  STR71X系列足基于16/32位ARM7TDMI内核的微控制器。该系列中的所有器件都包含片上高速单电压Flash存储器和高速RAM存储器。除了HDLC同步通信接口外,还提供了I2C、UART、BSPI、USB2.0、CAN接口等,极大地丰富了该系列在通信、网络等方面的控制能力。

  1.2 STR71X的HDLC模块介绍

  STR71X系列上的高级数据链路控制器支持全双工操作,能够自动完成标志的设置、零位的检测、校验序列(FCS,Frame Check Sequence)的产生和校验;32位可屏蔽地址区域识别,3种可供选择的时钟,支持NRZ、NRZI、FM0或MANCHESTER数据编码模式,支持时钟恢复的数字锁相环(DPLL);内部含1个8位波特率生成器,2个128字节RAM缓冲器。实际应用中,fm0数据编码模式下,可以实现250 kb/s的数据收发。

  1.3 STR71X系列采用的HDLC帧的格式

  STR71X的HDLC模块中数据是以帧为单位发送的。STR71X系列采用的HDLC的帧格式如下:

  前(后)同步码:在发送器使能,且HDLC_TCTL中的前同步码发送使能开启的情况下,当把要传送的数据的字节数写入寄存器时,HDLC模块就开始发送0~16位的前同步码。

  标志序列:采用“0111 1110”为标忐序列,所有的帧必须以“0111 1110”标志开始和结束。标志的检测和插入由HDLC模块自动完成。在传送的数据中,“0”后面跟随连续的6个“1”再跟一个“0”,就会被模块识别为标志。一个标志可以同时作为一个帧的开始标志和下一个帧的结束标志。

  地址序列:STR71X有8组地址寄存器,通过设置可以实现32位可屏蔽私有地址域的识别,或者4字节的可屏蔽组地址域的识别(后者用于广播传送模式)。

  信息序列:需要传送的数据或者字符。

  校验序列:FCS域对标志位和插入的“0”以外的数据,进行循环冗余校验,采用CCITT(g(x)=16+X12+X5+1)对地址域,字节数据和FCS域数据生成CRC编码。接收方根据该编码进行检错,但不纠错。如果报错,将丢弃该帧。

  零插入:为了保证标志码“0111 1110”不在帧的内部出现,STR71X采用硬件自动实现“零插入”。该法在发送端监视除标志码以外的所有字段,当发现有连续5个“1”出现时,便在其后添加一个“0”;在接收端,连续的5个“1”后面的“0”自动被删除。

  帧间时间填充:可以选择为发送标志,或者发送空闲状态。

  2 STR71X系列中HDLC模块配置

  HDLC模块发送和接收可以有3种时钟配置:PLL2输出,PCLK1和DPLL。时钟配置框图如图1所示。

  HDLC控制器可以处理NRZ、NRZI、FM0、MAN-CHESTER编码。编解码方式可以独立选择,分别由HDLC_TCTL和HDLC_RCTL控制。使用PLL2为时钟源时,HDLC模块只能运行在NRZ和NRZI模式。

  3 STR71X系列中HDLC模块编程

  3.1 开启外设寄存器的访问及配置编译环境

  根据使用到的外设,编辑71x_conf.h文件,设定为:#define_HDLC,#define_GPIO,#define_TIM。去掉DEBUG注释屏蔽标记,允许在监视窗口查看外设寄存器。

  将STR71X系列的集成软件函数库添加到编译环境下,并且按照STR71X的使用说明配置编译环境。

  3.2 发送接收环境的设置

  ①配置不同的分频系数,产生适当的操作频率,配置HDLC的时钟为PLL2的输出。

  3.3 发送过程和接收过程

  利用库函数将数据写入缓冲区,当TEN置位时,写入需要传送的数据字节数。按如下方法配置好中断函数,就可以实现中断模式的传送。

  3.4 测试过程

  编写串口程序,将接收到的数据用超级终端显示出来。利用串口将实验板数据传送到PC机,在Windows界面下,用系统自带的超级终端检验数据传输的正确性。

  结 语

  HDLC规程透明传输、可靠性高,对于不同的使用需求有很好的灵活性。在没有操作系统的模式下,利用ST公司的硬件模块实现HDLC协议的传输,不仅可以减少不必要的开销,而且增强了对硬件直接应用的灵活性。

关闭】【推荐】【打印
相关资讯
· 暂且没有相关信息
·如何识别落后电池和反极电池
·固体氧化物燃料电池
·新型传感器研发呈现的五大特点
·胶辊轴承的工艺与使用
·丰炜PLC VB系列周边设备
·我国在海底勘探中使用的仪器设备
·基于嵌入式系统的多媒体控制前台设计
·基于SmartModule的雷达嵌人式计算机设计
·嵌入式系统的USB虚拟串口设计
·基于ARM-μCLinux嵌入式系统启动引导的实现

关于我们 | 服务项目 | 付款方式 | 诚聘英才 | 友情链接 | 投诉 建议 合作 | 网站地图 | 联系我们
©2006-2010 维库电子市场网 经营许可证编号:浙B2-20050339 法律声明