关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > MPC8280多通道HDLC控制器的应用

MPC8280多通道HDLC控制器的应用

作者: 时间:2011-02-14 来源:网络 收藏

4 MCC的超通道模式设计
工作于超通道模式下的MCC要求SI必须以字节为选路单位。通过“超通道”这个技术将原来分属于几个通道的FIFO聚合成1个更大的FIF-O,传输大容量的同步数据流。聚合的方法是在SI RAM中指定某几个MCCchannel的通道号属于一个超通道,也就是说,为使MCC工作在超通道模式下,必须完成SI RAM和超通道表的初始化。
超通道表用于表示哪几个通道的FIFO共享指定通道的控制参数。例如:160、161、162等3个标准通道组成1个超通道,且由160号通道的控制寄存器来控制该超通道的行为,那么就在超通道表表项中填入“160”。
超通道表仅用于发送控制,而接收不需要构造超通道表。接收的编程比较简单,既不需要设超通道,也比较直接,需要由某个通道处理的数据,直接在SI RAM里打开相应的通道接收即可。

5 中断模型
MCC的中断响应采用两级中断模型:第一级为全局中断状态标志寄存器MCCE,第二级为中断环表。MPC8280中共有5个中断环表为MCC通道中断提供中断标志服务:1个用于发送,4个用于接收。中断环表是所有通道共用的。每个通道初始化时必须指定它使用哪个接收中断表来上报接收中断,利用这个特性可以设计出带优先级的中断响应机制。
注意:因为是环表,所以环表内最后一条表项的Wrap位必须置1,环表内的其他表项必须全部置成O。
每当有MCC通道触发中断,MPC8280的CPM模块将会向中断环表中当前空表项位置写入一条表项,并将该表项的“V”有效标志位置1,表示已经收到一次中断,等待用户响应和处理。并且给表项指针加1以指向下一条空表项(当指针到达环表的最后一条时,则CPM模块自动将中断环表的基地址的值重新装入表项指针寄存器,使CPM下一次写入的位置重新定位到中断环表的顶部)。
注意:如果中断屏蔽寄存器INTMSK中设置了一些屏蔽事件,则当这些事件发生时,CPM不会向中断环表写入表项,自然也不会触发全局中断状态标志寄存器MCCE。
用户ISR代码响应MCC中断,访问中断环表表项时,应首先清除“V”标志,然后再处理具体中断请求,并在退出中断服务程序前清除MCCE寄存器的中断标志。程序员应该根据系统的实际情况决定是在进入MCC中断服务程序后将所有中断环表中的中断事件处理完才退出,还是仅处理中断环表一项中断请求后即退出中断服务程序,这需要程序员基于中断响应时间以及不影响其他程序代码运行作综合考虑。

6 实际调试
环回测试是测试硬件本身是否正常的重要手段。MPC8280各处理单元自身都有环回控制位,例如,SCCHDLC的环回控制在GSMR_L寄存器中设置;MCC的单个通道的环回控制在SI RAM里设置。单个TDM口也可以自环,在SIxMR寄存器里设置。因此,可以通过对MCC的单个通道的自环,以及单个TDM口的自环来测试驱动程序写得是否正确。在这个测试中,MPC8280的TDM口由片外时钟和帧同步脉冲驱动。注意:测试前必须先用示波器确认TDM口引脚上的时钟的频率、波形符合硬件设计要求。另外应当仔细选择MPC8280和外部交换芯片的时钟边缘关系,以免时钟同步异常导致数据判决出错。
初始化代码完成以后,应利用shell工具或其他观察手段检查初始化代码对相关寄存器的写入符合设计目标。不要因为粗心大意写错了寄存器值而无法获得正确结果。因为MCC的工作必须在SI模块的配合下完成,可以将SI模块和MCC分开调试。假如有已经调试完成的SCC(SMC也可以)单元的驱动程序,就可以将SCC的数据流从I/O脚定向到SI模块上,如图5所示。测试SCC经过SI模块进行环回是否正常,可以测试SI模块的驱动程序是否正确。测试好SI模块的驱动程序后,再将SCC的驱动程序替换成MCC的驱动程序,即可比较容易地采用相同的模型对MCC驱动程序进行测试了。注意MCC工作在标准模式和超通道模式下时对SI RAM的路由表初始化稍有不同。

g.JPG

7 小结
MPC8280是一种功耗低、通信处理能力强的处理器,利用MPC8280内部的多通道控制器的大通信容量通信能力,可以比较容易地设计出信令通道、数据通道、协议转换器等应用。本文介绍了MPC8280内部的多通道控制器的通信原理及调试方法,希望对有相关应用需求的科研人员有所帮助。


上一页 1 2 3 下一页

关键词: 通信

评论


相关推荐

技术专区

关闭