论文部分内容阅读
卫星访问控制器是MF-TDMA系统的控制核心,系统的正常运转很大程度上依赖于控制器的设计。为了实现MF-TDMA系统对卫星访问控制器提出的各项技术指标,进行合理的规划和认真的分析,确定卫星访问控制器实现所需要解决的关键技术。
卫星访问控制器使用MPC8260的FCC和SCC实现HDLC协议和透传协议。HDLC是帧中继等协议的基础,要实现帧中继首先要实现HDLC。MPC8260芯片可通过内部部件直接实现HDLC。透传是实现电视编解码等信号传输的技术基础。同时也是总体的一项技术要求。同样地,MPC8260芯片可通过内部部件直接实现透传。但是由于其控制比较复杂,实现透传需要进行比较多的控制操作,故将此确定为一个关键技术,如图1所示。
图1
具体实现方法:
(1)硬件接口
透传接口通过MPC8260的FCC来完成,在TDMA项目中使用三个FCC中的FCCl。通用FCC参数放在双端口RAM中。
(2)内存使用情况
在透传的接收部分,FCC的每个接收通道都有一个独立的BD(Buffer Descriptors)表,每个接收BD都对应一块内存,每个内存块的大小是固定的(1700BYTE)。在HDLC的发送部分,FCC的每个发送通道也都有一个独立的BD表,每个发送BD也对应一块内存,当要发送的数据不需要拆分,每个内存块的大小是固定的(1700BYTE)。
(3)初始化模块
初始化模块负责将MPC8260的FCC初始化为透传控制器,并完成寄存器基本设置,如FCC模式寄存器的设置,收发BD表的设置,事件和屏蔽寄存器的设置,中断表等等。
FCC透传通道初始化过程:
(a)初始化片选2(CS2),提供同调制解调器的访问、控制地址。
(b)初始化中断,在此将中断挂接,创建一个二进制信号量,初始化并启动一个中断处理任务。
(c)初始化FCC的收发BD表,印表位置定位于OXF0002000。将BD表的BUFFER指针指向SDRAM中开辟的BUFFER地址。
(d)初始化通用目的I/0管脚,因为通用目的I/O端口为一组多用途管脚,它们与通信能力有关,它们可以用于通用目的I/0或支持如:FCC、SCC、SMC等通信设备。它有4个端口A、B、C、和D,每一个管脚可以作为通用目的I/O管脚,所有管脚支持至少一个功能,在这里应根据自己的实际需要配置I/0管脚。
(e)初始化中断控制器,设置相应的寄存器使之能响应CPM的中断。
初始化FCC,在这里要初始化FCC的通用参数寄存器和特殊参数寄存器,使之能完成透传的功能。
(4)发送的实现
当GFMR寄存器中的ENT位设置,透传控制器进入发送允许状态,在这个状态控制器发送空闲位或标志,这决定于GFMR寄存器中RTSM域的内容。透传控制器在發送缓存描述符中选取第一个缓存描述字,当发送缓存描述字准备好时,透传控制器进入发送方式,在之间插入用户定义的最少标志后开始发送。注意,一个可以包含多个缓存,这样,控制器可以进入一个循环,发送Last位为0的缓存。然后关闭这个缓存,处理下一个缓存描述字,如果一个缓存描述字包含一个准备好位为1控制器发送这个缓存,后面下去。最终,控制器遇到一个缓存描述字Last位等于1的一个缓存,控制器进入关闭发送状态。
如果CRC允许,控制器附加一个CRC域,修改缓存描述字,清除准备好位,设置事件寄存器中的发送缓存发送位,然后,控制器附上标志,重新进入发送允许状态。
(5)接收的实现
接收模块完成数据的接收,当它被接收事件触发后(或轮询),它检查RxBDs中适当的BD(一般情况下是从当前BD检查到BD空为止)如果该BD非空(E位为O)则表明该缓冲区已经有数据,此时将该缓冲区地址发给上层,同时将该BD置为空并将此内存地址写入BD的address区,以备下次使用。然后处理下一个BD,直到BD为空。
当在GFMR寄存器中的ENR位允许时,透传控制器进入接收允许状态。如果相配,HADDRX和HMASK地址与进来地址相配,而且有一个空的缓存,控制器进入接收状态,接收进来的数据存入缓存中。
当控制器受到第2个标志,它进入尾状态,检测CRC,将长度写入计数域。设置最后“Last”位,清除“E”位,如果接收达到极限并且中断位设置时,控制器可能会出现长度超过最大定义的值,这时,控制器进入太长状态,它不接收任何多的数据,但继续纪录位元组的数量,当结尾标志出现,控制器进入尾状态,完成所需步骤然后设置状态和控制域中的LG位。
接收部分的流程相对比较简单,它首先为每个接收BD分配一个指定的内存块,当它检查到有新的数据时,经过地址匹配的检查后,将符合要求的内存块地址通过信号量发送给上层,将其它不符和要求的块释放掉,并把它的地址放入BD Buffer。
卫星访问控制器使用MPC8260的FCC和SCC实现HDLC协议和透传协议。HDLC是帧中继等协议的基础,要实现帧中继首先要实现HDLC。MPC8260芯片可通过内部部件直接实现HDLC。透传是实现电视编解码等信号传输的技术基础。同时也是总体的一项技术要求。同样地,MPC8260芯片可通过内部部件直接实现透传。但是由于其控制比较复杂,实现透传需要进行比较多的控制操作,故将此确定为一个关键技术,如图1所示。
图1
具体实现方法:
(1)硬件接口
透传接口通过MPC8260的FCC来完成,在TDMA项目中使用三个FCC中的FCCl。通用FCC参数放在双端口RAM中。
(2)内存使用情况
在透传的接收部分,FCC的每个接收通道都有一个独立的BD(Buffer Descriptors)表,每个接收BD都对应一块内存,每个内存块的大小是固定的(1700BYTE)。在HDLC的发送部分,FCC的每个发送通道也都有一个独立的BD表,每个发送BD也对应一块内存,当要发送的数据不需要拆分,每个内存块的大小是固定的(1700BYTE)。
(3)初始化模块
初始化模块负责将MPC8260的FCC初始化为透传控制器,并完成寄存器基本设置,如FCC模式寄存器的设置,收发BD表的设置,事件和屏蔽寄存器的设置,中断表等等。
FCC透传通道初始化过程:
(a)初始化片选2(CS2),提供同调制解调器的访问、控制地址。
(b)初始化中断,在此将中断挂接,创建一个二进制信号量,初始化并启动一个中断处理任务。
(c)初始化FCC的收发BD表,印表位置定位于OXF0002000。将BD表的BUFFER指针指向SDRAM中开辟的BUFFER地址。
(d)初始化通用目的I/0管脚,因为通用目的I/O端口为一组多用途管脚,它们与通信能力有关,它们可以用于通用目的I/0或支持如:FCC、SCC、SMC等通信设备。它有4个端口A、B、C、和D,每一个管脚可以作为通用目的I/O管脚,所有管脚支持至少一个功能,在这里应根据自己的实际需要配置I/0管脚。
(e)初始化中断控制器,设置相应的寄存器使之能响应CPM的中断。
初始化FCC,在这里要初始化FCC的通用参数寄存器和特殊参数寄存器,使之能完成透传的功能。
(4)发送的实现
当GFMR寄存器中的ENT位设置,透传控制器进入发送允许状态,在这个状态控制器发送空闲位或标志,这决定于GFMR寄存器中RTSM域的内容。透传控制器在發送缓存描述符中选取第一个缓存描述字,当发送缓存描述字准备好时,透传控制器进入发送方式,在之间插入用户定义的最少标志后开始发送。注意,一个可以包含多个缓存,这样,控制器可以进入一个循环,发送Last位为0的缓存。然后关闭这个缓存,处理下一个缓存描述字,如果一个缓存描述字包含一个准备好位为1控制器发送这个缓存,后面下去。最终,控制器遇到一个缓存描述字Last位等于1的一个缓存,控制器进入关闭发送状态。
如果CRC允许,控制器附加一个CRC域,修改缓存描述字,清除准备好位,设置事件寄存器中的发送缓存发送位,然后,控制器附上标志,重新进入发送允许状态。
(5)接收的实现
接收模块完成数据的接收,当它被接收事件触发后(或轮询),它检查RxBDs中适当的BD(一般情况下是从当前BD检查到BD空为止)如果该BD非空(E位为O)则表明该缓冲区已经有数据,此时将该缓冲区地址发给上层,同时将该BD置为空并将此内存地址写入BD的address区,以备下次使用。然后处理下一个BD,直到BD为空。
当在GFMR寄存器中的ENR位允许时,透传控制器进入接收允许状态。如果相配,HADDRX和HMASK地址与进来地址相配,而且有一个空的缓存,控制器进入接收状态,接收进来的数据存入缓存中。
当控制器受到第2个标志,它进入尾状态,检测CRC,将长度写入计数域。设置最后“Last”位,清除“E”位,如果接收达到极限并且中断位设置时,控制器可能会出现长度超过最大定义的值,这时,控制器进入太长状态,它不接收任何多的数据,但继续纪录位元组的数量,当结尾标志出现,控制器进入尾状态,完成所需步骤然后设置状态和控制域中的LG位。
接收部分的流程相对比较简单,它首先为每个接收BD分配一个指定的内存块,当它检查到有新的数据时,经过地址匹配的检查后,将符合要求的内存块地址通过信号量发送给上层,将其它不符和要求的块释放掉,并把它的地址放入BD Buffer。