微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > EPA主控卡的硬件设计与驱动开发

EPA主控卡的硬件设计与驱动开发

时间:07-26 来源:互联网 点击:

如图3所示,整个USB主机控制器都挂接在AHB总线上,内核与USB主机控制器的数据交换通过DMA接口完成,与USB寄存器的通信则通过寄存器接口来实现。该主机控制器具有两路端口,分别对应着两路LPC2478内置的模拟收发器(ATX)。这两路端口是完全一样的,可以根据实际情况自由选择。
2.5 电源模块
EPA控制器的电源通过以太网供电,即以太网在数据传输的同时输送电源,避免系统因电源不稳出现掉电的情况。采用RJ45接口的4/5、7/8作为电源和地传输线,数据收发1/2、3/6一起构成两个双绞线对,存在同一网线内,减少了扰动,增强了系统稳定性。供电输入电压DC-24 V,由于CPU内核和以太网PHY收发器、存储器的工作电压为3.3 V,所以需要对输入电压进行DC—DC转换,以满足系统需求。
2.6 调试模块
通过JTAG调试接口,可以很方便对程序进行跟踪调试。通过通用的串口,可以将调试信息打印到屏幕上,给调试带来了极大的方便。

3 EPA主控卡驱动软件设计
作为工业应用产品,需具有可靠性、准确性、实时性要求。在EPA主控卡软件开发过程中,采用模块化设计思想,以减少程序间耦合,增强代码的可移植性、可读性和可靠性,同时也方便测试、维护和升级。主控卡中软件功能模块的划分如图4所示。图中浅灰色模块为待移植或待开发的模块,深灰色模块为已经存在的模块,白色部分是本文将要实现的模块。

3.1 以太网驱动模块
此模块包含3个部分:
①以太网模块初始化。此模块主要完成PHY读写、以太网SRAM分配、接收和发送缓冲区初始化,以太网MAC的硬件设置、寄存器设置、工作模式配置以及中断配置等。
②以太网接收数据。此模块主要将缓冲区中数据读取并保存到接收缓冲区,并通知上层协议软件进行处理。数据包的接收由硬件自动完成,在接收数据完成后产生中断触发接收任务。
③以太网发送数据。此模块将上层协议(EPA协议、UDP/IP协议)数据包封装并拷贝到发送缓冲区中,然后由以太网PHY收发器自动完成数据发送。
3.2 USB HOST驱动模块
USB HOST驱动设计是基于LPC2478内部集成的嵌入式USB主机控制器的基础上的,该主机遵循OHCI规范。USB HOST设计包含以下两部分:
①OHCI规范的介绍。此模块介绍了OHCI工作范围——HCD(主机控制器驱动)和HC(主机控制器)、数据传输类型、HCD和HC各自的任务以及HCD和HC之间接口HCCA。
②USB HOST驱动设计模块。此模块实现硬件配置、中断配置和USB HOST协议设计。分为PDD(Plat-form-Dependent Driver,与硬件平台相关)层和MDD(Model Device Driver,与硬件平台无关)层。MDD主要包括HCD实现对HC的管理、根集线器的管理、OHCI规范的数据结构(ED/ TD/HCCA)、USB SRAM管理分配,USBD(USB核心驱动)实现USB协议的标准请求以及检测到设备插入后完成设备的枚举。
3.3 时钟模块
实时时钟是实时操作系统的时间基准,没有实时时钟,也就不可能有实时系统的一切活动。此模块包含两个部分:
①系统时钟模块。对定时器0的寄存器进行配置以及中断配置,使定时器0作为系统时钟。
②USB时钟模块。对LPC2478内部PLL(锁相环)寄存器和USB时钟寄存器配置,设置USB时钟频率,使LPC2478的USB主机控制器可以正常运行。
3.4 操作系统
嵌入式实时操作系统将复杂的软件工程分解成多任务,简化了软件设计,有助于提高系统稳定性和可靠性,也使系统实时性得到了保证。考虑EPA主控卡中较多模块实现,简化主控卡软件的设计,所以在EPA主控卡的软件开发中使用μC/OS-II系统。μC/OS-II操作系统有着优秀的稳定性和可靠性,它基于优先级调度的多任务,绝大多数的函数调用和系统服务具有可确定性、独立的任务栈等特点。

4 主控卡以太网通信与USB验证
4.1 以太网通信验证
为测试和验证主控卡硬件电路和以太网驱动的功能正确性,搭建了测试平台,如图5所示。上位机起到监控作用,EPA集线器一端通过网络和PC机相连,一端连接若干EPA标准设备和EPA主控卡。

以太网通信验证设备主要有:一台PC机、一根9针的串口线、一个带总线供电的EPA集线器、一个JTAG调试器、EPA主控卡。EPA主控卡与PC机通过EPA集线器连接在同一局域网内,EPA主控卡的IP地址为192.168.1.2,PC机的IP地址为192.168.1.161。
ICMP是Internet控制报文协议,它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。ICMP是一个“错误侦测与回报机制”,其目的就是检测网路的连线状况,也能确保连线的准确性。通过ICMP的回显请求和回显应答报文组合可以确定PC机和EPA主控卡能否彼此通信。
4.2 USB Host驱动验证
USB Host驱动验证设备主要有:1台PC机、1根9针的串口线、1个JTAG调试器、EPA主控卡、USB设备(U盘)。
为验证硬件USB接口和软件USB Host的正确性,需要选定USB设备,并为这个设备编写USB主机驱动程序。本文中选用了常用移动存储设备——U盘。在编写好U盘驱动后,通过JTAG调试器将USB Host下载到主控卡中,并将主控卡串口0与PC机串口相连,开启超级终端,然后将U盘插入主控卡主机端口。在U盘插入主控卡以后,开始对U盘枚举。枚举成功以后,往U盘内写入数据,然后从U盘读出数据并对读写数据进行比较,所有的枚举信息、读写信息都通过超级终端打印出来。在U盘读写完成以后,将U盘插入电脑,在电脑上读出U盘数据,再次验证主控卡USB主机的功能正确性。

结语
EPA标准成功进入国际标准,为我国工业自动化发展带来新的际遇,产生了巨大的社会效益。本文提出针对EPA主控卡的系统结构,并对主控卡进行功能需求分析,然后对主控卡硬件和软件进行了总体设计以及软件功能模块划分,为EPA的推广与应用打下坚实基础。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top