本文主要是介绍HFC-S mini芯片通道复位和初始化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
该芯片支持4个HDLC通道,在对每个HDLC通道操作之前,需要设置R_FIFO (地址0x0F)寄存器的值为所操作的通道号,注意每个HDLC通道是分为发送和接收两个方向的。对某个HDLC通道初始化的顺序如下:
1、设定需要初始化的HDLC发送通道,通过设置R_FIFO寄存器来完成;
2、设置A_CH_MSK [FIFO]寄存器的值为0x00,据目前我的理解,该寄存器的功能是设定在HDLC通道发送过程中,哪些bit不处理,现在设置为0x00,表示所有bit都需要处理;
3、设置A_CON_HDLC [FIFO]寄存器值为0x64,内部字段的取值含义如下:
Bits7-5,V_DATA_FLOW,值为011b,数据传输方向为FIFO->PCM
Bits4,保留
Bits3-2,V_TRP_IRQ,值为10b,FIFO enabled, end of frame interrupt
Bits1,V_HDLC_TRP,值为0,工作在HDLC模式
Bits0,V_IFF,值为0,写入0x7E作为HDLC帧标志,也就是在传输时,芯片自动增加0x7E作为帧头和帧尾
4、设定需要初始化的HDLC接收通道,通过设置R_FIFO寄存器来完成;
5、同步骤2,设定所有接收的BIT位都要处理;
6、同步骤3;
对某个HDLC通道复位操作如下:
1、设定需要初始化的HDLC发送通道,通过设置R_FIFO寄存器来完成;
2、延时一小会儿(可以通过一个小的循环来实现延时);
3、设置A_INC_RES_FIFO [FIFO]寄存器值为0x02,复位该通道;
4、设定需要初始化的HDLC接收通道,通过设置R_FIFO寄存器来完成;
5、同步骤2-3;
这篇关于HFC-S mini芯片通道复位和初始化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!