Page 173 - 配电网及其自动化技术研究
P. 173
第三章 配电网自动化系统的关键技术研究
的驱动能够对上层函数进行调用。
HSL属于内核的模块,因此加载这个模块需要对其进行模块加载函数定
义(module_init(),正在这个函数中注册一个新协议族PF_HAL,可以通过
sock__regis ter)函数来实现这一功能。然后对协议族PF_HaL的套接字操作函数
ioctl()进行定义,从而通过Liunx系统来调用ioctl()函数,用户空间的HAL模
块能够访问套接字操作函数。然后调用copy_ from._user()就能够将用户的参
考值传递过来,并检查参考值是否合法,非法参考值会将错误信息返回到用户空
间,参数合法后则直接调用Marvell SDK模块中导出的API函数,给用户空间返回
结果,通过copy__to_user()函数来实现这种功能。
4.业务子系统详细实现
业务子系统中主要包含了细分PON业务和交换业务,两个业务实现的功能不
同,下面分别介绍两个业务的具体实现过程。
(1)PON业务
OLT设备上需要实现的与EPON相关的业务主要有ONU的自动发现、掉电通
知功能;ONU的认证功能;基于DBA的带宽管理功能上行和下行方向的FEC功
能设置以及上下行数据进行加密的功能。
OLT需要实现的这些与EPON系统相关的功能,主要是依靠TK3723芯片,需
要对该芯片进行配置和管理。这个芯片的固件能够对外提供了管理和维护的接
口,接口是基于UDP协议制定的,且芯片内部还集成了一组管理消息集。本系统
中的EPOND模块同芯片的固件之间具有UDP报文通道,对芯片的消息集进行管
理就能够实现与芯片固件的监护,从而管理驱动该芯片,在此基础上对面向业务
功能的API函数进行封装,管理子系统模块IMI能够对其进行调用。EPOND模块
可以分成两个子层,分别是通信接口层和功能抽象层,下面分别对其进行介绍:
①通信接口层。程序第一步是调用socket函数,建立一个同TK3723固件实现
通信的UDP套接的接口。然后创建新的线程,其中线程可以分成异步和同步两
个方向。同步通路的作用是接收来自功能抽象层的调用请求,根据TK3723的相
关要求来对管理消息报文进行封装,然后开始发送消息报文、接收报文并进行响
应,对响应的报文进行解析,最后将处理的结果发送给抽象层。异步通路方面
首先是通过select()函数来对TK3723的固件产生的异步消息报文进行在线的监
听,当监听到报文时,理解对报文进行解析,检查报文的有效性,报文有效则对
165

