系统总体设计方案.doc_第1页
系统总体设计方案.doc_第2页
系统总体设计方案.doc_第3页
系统总体设计方案.doc_第4页
系统总体设计方案.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 系统总体设计方案本系统为虚功率源的部分硬件电路和部分软件,包括基于分级结构的人机界面、功能键盘输入、仪器对外接口和对仪器内部主处理器的接口。系统框图如图1所示。图12 以太网接口以太网接口部分采用W3100A实现传输层、网络层、数据链路层的功能,采用RTL8201BL实现物理层的功能。2.1 W3100AW3100是WIZnet公司专门为以太网互联和嵌入式设备推出的硬件TCP/IP协议栈芯片,其硬件TCP/IP协议栈包含了 TCP、UDP、IP、ARP和ICMP协议。在软件源代码当中有W3100A的Socket API函数,可使网络通讯的软件设计更加方便。利用这些函数进行设计时,应首先初始化W3100A的网络设置,即调用相应的API函数设置默认网关、子网掩码、本机物理地址和IP地址,然后建立Socket连接以实现通讯。2.2 RTL8201BLRTL8201BL是一个单端口的物理层收发器,它实现了全部的10/100M以太网物理层功能,包括物理层编码子层(PCS),物理层介质连接设备(PMA),双绞线物理媒介相关子层(TP-PMD),10Base-Tx编解码和双绞线媒介访问单元(TPMAU)2.3 以太网接口调试方法使用Ethereal协议分析系统进行以太网接口的调试是行之有效的方法。Ethereal是目前最好的开放源码的网络协议分析器,Ethereal可以捕捉网络数据包,通过分析网络数据包的内容可以知道以太网接口的各层是否工作正常。2.4 自动获得IP地址自动获得IP地址基于DHCP协议,由于W3100提供的TCP/IP协议栈并未包含应用层,所以需要研发人员按照DHCP协议自行编写代码来实现自动获得IP地址的功能。为实现自动获得IP地址,局域网内必须存在DHCP服务器。DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。DHCP协议通讯使用端口UDP 67(服务器端)和UDP 68(客户端)进行通讯,为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯,所使用的数据包分别为DHCP DISCOVER,DHCP OFFER,DHCP REQUEST,DHCP ACK。DHCP工作流程如图2所示。图2DHCP封包格式如图3所示。图3编写程序时DHCP封包必须严格按照图4所示的格式,否则DHCP服务器不能识别出DHCP封包,不会应答DHCP OFFER。有关DHCP协议的具体内容可以参考相关RFC文件:RFC-95、RFC-1084、RFC-1123、RFC-1533、RFC-1534、RFC-1497、RFC-1541。3 USB接口3.1 CH372USB接口采用CH372芯片,CH372是一个USB总线的通用设备接口芯片,兼容USB2.0协议。在计算机端,CH372的配套软件提供了简洁易用的操作接口,通用Windows驱动程序提供设备级接口,通过DLL提供API应用层接口,与本地端的单片机通讯就如同读写文件;CH372内置了USB通讯中的底层协议,本地端单片机只需负责数据交换,所以单片机程序设计很简洁。4 液晶显示模块液晶模块采用C240128型液晶显示模块,此款液晶模块采用8133控制器,此款液晶模块还内置了简体中文字库。5 功能键盘设计由于要对键盘功能及数量进行定制,所以采用行列式扫描键盘,键盘控制芯片采用CH451。在使用CH451之前要先对其功能进行初始化,使能键盘扫描,命令代码请参考软件源代码。6 软件设计6.1 软件总体设计图4系统软件包括初始化,LXI接口,USB接口和人机界面四个主要模块,系统软件模块框图如图4所示。6.2 软件结构系统程序流程如图5所示,程序启动后首先对单片机和各器件初始化,然后设置全局变量来存储一些系统和人机界面的状态信息,接着调用显示主界面函数,最后进入主循环,在主循环中各任务以一定顺序串行执行。由于DHCP模块占用资源较多,处理时间较长,不适合放在中断服务函数中,所以放在主循环中按照一定条件执行。同时,为了保证对键盘操作响应的实时性,键盘中断服务函数中包含了对按键所有功能的处理,如果用户希望中断服务函数尽量简短,也可以把按键的功能模块放在主循环中执行。另外,用户可以在主循环中添加自己定义的模块。图56.3 初始化对单片机和各器件初始化的顺序具有较严格的要求:应首先禁止看门狗定时器,并初始化系统时钟,在此之后才可以调用延时函数实现较精确的延时;在对外部器件操作之前应该先初始化I/O端口;由于LXI接口初始化和Socket初始化的过程中会触发单片机中断,所以在此之前必须先配置中断系统,否则不能完成LXI接口初始化和Socket初始化。所以,如果用户需要修改初始化部分的代码,建议用户严格按照上述顺序执行。6.3.1 MCU初始化单片机的初始化包括禁止看门狗定时器,设置中断,系统时钟初始化,I/O端口初始化,串口初始化。6.3.2 协议栈芯片初始化系统上电后要对W3100进行初始化,可以调用Socket API函数中的initW3100A()函数来初始化W3100。6.3.3 USB接口芯片初始化CH372的初始化包括执行硬件复位,并设置CH372的工作模式为内置固件模式。相关函数可以参考。6.3.4 键盘控制芯片初始化CH451初始化包括使能键盘扫描功能,禁止显示驱动功能,禁止看门狗。相关函数可以参考。6.3.5 LCD模块初始化在使用LCD模块之前,先要对其进行一次复位操作,并置LCD_REQ线为低电平。相关函数可以参考。6.4 LXI接口LXI接口包括初始化,Socket API函数,DHCP协议模块。6.4.1 初始化在使用LXI接口进行通信之前,先要进行初始化,包括设置IP地址,子网掩码,网关和物理地址,并初始化Socket链接,为实现自动获取IP地址,先设置为UDP。6.4.2 Socket API函数使用W3100A的Socket API函数可以使网络通讯的软件设计更加方便,与Windows Socket编程十分类似。6.4.3 DHCP协议模块由于W3100提供的TCP/IP协议栈并未包含应用层,所以需要研发人员按照DHCP协议自行编写代码来实现自动获得IP地址的功能。相关函数可以参考。6.5 USB接口CH372芯片内置了USB接口的固件程序,CH372的配套软件提供了通用Windows驱动程序和动态链接库文件。6.6 人机界面的分级结构设计图6为了实现人机界面的分级结构,定义了一些变量来标识当前界面的状态信息,这些变量被定义成全局变量,可以被包括中断服务函数在内的各个函数访问。某时刻要显示的界面及其状态取决于这些变量的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论