首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
MPC860的HDLC通道驱动程序的设计与实现
来源:本站整理  作者:佚名  2010-01-13 13:39:34




  3 驱动程序的设计思想及其实现
    这里选择VxWorks作为本CPU板的操作系统。VxWorks是美国风河系统公司推出的一种高性能、可裁减的实时嵌入式操作系统,以其良好的可靠性和卓越的实时性被广泛应用于通信、军事、航天等领域。因此,程序的设计必须按照这个操作系统的结构来构建。本文的主要目的是将MPC860处理器的一个SCC通道配置成为HDLC模式,以支持VxWorks操作系统下的HDLC通信,所以程序的设计主要围绕这个目的进行,在此并没有按照传统驱动的模式构建驱动程序,而是直接对硬件进行操作。首先设置通道参数,将其配置成HDLC模式,然后设计基本功能函数。当驱动程序运行时,首先要进行SCC通道的初始化以及存储区的初始化,然后才开始执行收发功能,在这当中要加上中断控制。按照这个程序的基本流程,具体的实现分为下面几步(在本设计中将SCC2配置成HDLC模式)。


  3.1 定义参数RAM
  

  参数RAM主要包括通道参数RAM和通道协议参数RAM两部分,SCC通道的主要参数都在这个里面配置。它们包含CPM RISC用来正确操作SCC通道的特定协议所用的信息。


  3.2 初始化SCC2
  (1)将MPC860的PA12、PA13引脚作为SCC2的收发引脚。
  (2)MPC860有四个BGR和八个外部时钟引脚,将SCC的收发时钟分别配置成内部时钟和外部时钟。
  (3)将SCC2配置为NMSI模式。
  (4)初始化SDCR寄存器,给予SDMA一个仲裁ID以提供U总线上的优先级。
  (5)初始化SCC2的参数RAM(这步对所有的协议都是通用的):
  ①设置Rx/TxBD 表的基址相对于双端口RAM的偏移量;
  ②设置收发缓冲区描述符表基址相对于IMMR寄存器中值的偏移量;
  ③设置Rx/Tx 的函数代码;
  ④在MRBLR中设置接收缓存的最大空间。
  (6)针对SCC2的HDLC模式进行初始化;
  ①通过C_MASK和C_PRES 设置CCITT-CRC;
  ②对CPM维护的五个计数器DISFC、CRCEC、 ABTSC、 NMARC和RETRC清零;
  ③在MFLR中定义最大帧长度,通常定义为0x0100,表示最大帧长度为256字节;
  ④在RFTHR中定义接收到多少个HDLC帧时产生一个中断申请,当将RFTHR置位0x0001时,表示每接收到一个帧产生一个中断申请;
  ⑤设置接收地址,hmask用来定义地址掩码,当hmsk=0x0000时,表示接收所有帧。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:331,914.10000 毫秒