版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于嵌入式调试器的网络通信方法设计与实现摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTAC)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 MHz,阻带抑制率大于35 dB,带内波纹小于05 dB,采用18 V电源,TSMC 018m CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte摘要:本文介绍了在嵌入式调试器中如何通过以太网口进行嵌入式软件调试,实现了主
2、机与开发板之间的网口通信。针对具体的嵌入式开发板S3C4510B对网口驱动和网络协议进行了研究,裁减了网口驱动和网络协议的冗余部分,既保证了调试器可以通过以太网进行远程调试,又能满足嵌入式系统对资源占用的要求。关键词:嵌入式开发板;网络协议;嵌入式调试器0.引言 随着嵌入式系统的广泛应用,嵌入式软件开发变得日趋重要。嵌入式软件开发有别于桌面软件开发,其显著特点是软件开发的调试过程采用宿主机/目标机的模式进行,其交叉调试器分为宿主机和目标机两部分,因此在软件调试过程中就需要进行主机与目标机之间的通信。 目前宿主机与目标机之间
3、的通信方式主要有串口方式、以太网接口方式和USB接口方式三种,其中串口通信实现简单,稳定可靠,是目前广泛使用的通信方式,但是串口通信存在着速度慢、通信距离受限等弊端,而以太网接口方式则可以克服串口方式的不足,不仅可提供稳定可靠的数据传输,而且无论是传输速度还是传输距离都远远优于串口方式,是一种快速高效的通信方式。目前网络通信协议的发展已经相当成熟,Internet工程委员会IETF及其下属的管理组IESG在RFC文挡中已经明确定义了Internet协议族的规范,该规范已经成为一种标准在Internet中广泛应用。本文根据此规范讨论了在嵌入式调试器中如何实现以太网接口通信,给出了一种基于嵌入式调
4、试器的网络通信方法。1.硬件结构 S3C4510B是三星公司开发的一款16/32位RISC嵌入式处理器,芯片内部集成了一个10Mbps/100Mvps以太网控制器,网卡芯片采用的是RTL8201。以太网控制器主要分为BDMA控制器和MAC子层两部分,该控制器工作于MAC层,兼容IEEE802.3协议标准,支持半双工或全双工模式,采用介质独立接口(MII)与网卡芯片通信。2.通信协议 在嵌入式调试器的通信中,主机向目标机发送命令,目标机接收、执行命令并将结果返回主机,网口通信主要是面向数据和字符串传输的,因此在通信中主要用到
5、IP协议、ARP协议和UDP协议。要通过网络调试目标机,那么目标机IP地址的设置是必不可少的,因此目标机还需要实现BOOTP协议,通过BOOTP协议向主机申请本机IP地址,完成IP地址的配置。 BOOTP协议即引导程序协议,是一种基于UDP/IP的协议,主要用于客户机从服务器获得本机IP地址、服务器IP地址及其它配置信息,如本地子网掩码等。UDP协议即用户数据报协议,是一个简单的面向数据报的传输协议,与TCP不同,UDP不提供对IP协议的可靠机制、流控制以及错误恢复功能,所以实现起来比较简单,且不影响传输速度,适用于嵌入式系统。IP协议即网际协议,是网络上实
6、现数据传输的基础,所有的TCP、UDP数据都以IP数据报格式传输,该协议提供了一种高效不可靠的无连接传输方式。ARP协议即地址解析协议,为IP地址与对应的物理地址提供映射。3.网络通信程序实现 具体的程序实现主要包括网口驱动和通信协议两部分,网口驱动即初始化S3C4510B的硬件,主要是以太网控制器和收发缓冲的设置;网络协议的实现主要是完成数据的收发,保证目标板接入以太网。程序实现流程如图1所示。图1 程序实现流程图3.1网口驱动实现 网口驱动的实现主要是针对具体的开发板所做的硬件初始化,配置硬件工作环境。
7、160; 在4510开发板中由MAC层的状态管理控制机通过MII接口来读取和设置网卡的工作状态,物理设备地址及其内部寄存器地址存放在站管理控制与地址寄存器STACON中,而要设置或读取的数据则放在站管理数据寄存器STADATA中。 在实际应用中,网卡的MAC地址可以从ICC EEPROM中读取,也可自行设定,只要保证在同一局域网内该地址的唯一性即可。关闭MAC、BDMA收发中断,保证初始化程序的顺利进行。设置MAC、BDMA中断向量表。S3C4510B中共有21个中断源,MAC和BDMA发送/接收中断源占用1619四个中断号。设置MAC、BDMA
8、控制器的初始值,即初始化BDMA接收/发送控制寄存器和MAC接收/控制寄存器,具体收发细节。配置以太网的收发缓冲区。发送帧和接收帧的帧描述符起始地址分别存放在寄存器BDMATXPTR和BDMARXPTR中,在BDMA的操作过程中它们会更新为下一个帧地址。其中,帧描述符定义为结构类型,结构体成员描述了帧信息。使能BDMA接收中断和MAC发送中断。将中断屏蔽寄存器INTMSK中的相应位清零,响应BDMA和MAC中断请求。发送以太数据帧:调用发送函数DrvEthWrite(),从BDMATXPTR中获得发送帧地址,为发送帧缓冲赋值,将数据帧的控制权交给BDMA控制器,以太网控制器自动为发送数据加上同
9、步位、分割位、校验位以及填充字段并将以太帧发送出去。接收以太数据帧:接收时产生BDMA接收中断,中断处理函数BDMA_Rx_isr()完成数据的接收,并做相关的处理,如清楚中断标志位、检查数据帧的所有权、获取下一个未处理的帧结构指针等。部分主要程序如下:/*配置物理设备*/MIIWrite(0x0, 0x2, 1<<13|1<<8);/*设置物理设备的状态*/status = MIIRead(0x1, 0x0);/*读取物理设备的状态*/*配置MAC地址*/GetMyMacAddr():/*关闭收发中断*/Disable_Int(nMAC_RX_INT);Disable
10、_Int(nMAC_TX_INT);Disable_Int(nBDMA_RX_INT);Disable_Int(nBDMA_TX_INT);/*设置MAC发送中断和BDMA接收中断向量*/SetInterrupt(nMAC_TX_INT, MAC_Tx_isr);SetInterrupt(nBDMA_RX_INT, BDMA_Rx_isr);/*初始化MAC、BDMA控制器*/BDMARXCON = BRxRS; /*设置BDMA接收控制寄存器*/BDMATXCON = BTxRS; /*设置BDMA发送控制寄存器*/MACCON = Reset; /*复位MAC控制寄存器*/BDMARXLS
11、Z = MaxRxFrameSize+40; /*接收帧的最大尺寸*/MACON = gMacCon; /*设置为全双工方式*/*配置以太网的收发缓冲*/TxFDInitialize();RxFDInitialize();/*使能BDMA接收中断和MAC发送中断*/Enable_Int(nBDMA_RX_INT);Enable_Int(nMAC_TX_INT);3.2通信协议实现 本文采用结构类型定义数据结构bootphdr、Udphdr、ip和arphdr,分别用来记录BOOTP、UDP、IP和ARP协议数据报报头的各种信息。
12、60; 目标机首先向主机发送BOOTP请求,主机运行DHCP服务为目标机分配IP地址,向目标机发送BOOTP应答包,目标机收到应答包后,按照协议格式获取主机和本机的IP地址以及其它相关信息。接收BOOTP应答包,获取主机和本机的IP地址。采用中断方式接收BOOTP应答包。中断处理函数BDMA_Rx_isr()将接收到的包存放在接收帧描述符RxFDBaseAddr中,提取有效数据放入BOOTP接收缓冲区BOOTP_REC_BUF中,并且复位相应的BDMA控制寄存器道和中断控制位。按照协议的数据报格式从BOOTP_REC_BUF中提取数据,记录本机和主机的IP地址。
13、0; 数据的收发主要是涉及IP、UDP和ARP三个重要的协议,在具体实现中根据嵌入式系统的特性有针对性地做了裁减,既保证了网口的正常工作,又节省了嵌入式系统的资源。有以太网数据包到来,首先进行判断。如果是ARP请求则发送一个ARP应答;如果是ARP应答,则记录发送方的IP地址和以太网地址;如果是IP数据包,则开始接收数据。接收数据:IP数据包到来,中断处理函数将数据包放在接收帧描述符RxFDBaseAddr中,提取IP包放入接收缓冲区IP_REC_BUF。从IP_REC_BUF中提取有效数据交给调试器进行处理。发送数据:发送的数据封装在UDP数据报中,目标机IP地址和主机IP地址分别记录在全局
14、变量MyIpAddr和HostIpAddr中,按照UDP和IP协议的数据报格式为数据加上UDP报头和IP报头。以本机MAC地址作为源物理地址,以ARP应答中获得的主机物理地址作为目的地址,封装成以太数据帧,调用写函数DrvEthWrite()发送,中断处理函数MAC_Tx_isr()进行发送中断处理。部分主要通信程序如下:SendBootpRequest(bootp_id);/*发送BOOTP请求,bootp_id是该请求随机分配的标识号*/*等待BOOTP应答包*/*BOOTP应答包到来,从接收缓冲BOOTP_REC_BUF提取数据*/memcpy(MyIpAddr,bhdr->your_ip,4); /*提取目标板的IP地址放在全局变量MyIpAddr中*/memcpy(HostIpAddr,bhdr->server_ip,4); /*提取主机IP地址放在全局变量HostIpAddr中*/*检查到来的包*/if(pro_type=ETHERTYPE_IP) IpProcess(IP_REC_BUF);/*处理到来的IP包*/if(pro_type=ETHERTYPE_ARP) ArpProcess(IP_REC_BUF,42);/*处理到来的ARP包*/4.结语 用C语言实现的程序代码已调试通过,并成功应用于嵌入式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河南省辉县市高二化学下册期末考试模拟试卷附答案(达标题)
- 2026年云南省楚雄市高二化学下册期末考试模拟考试卷(典优)附答案
- 2026年黑龙江省五大连池市高二化学下册期末考试模拟测试卷附参考答案【培优A卷】
- 2026年山东省禹城市高二化学下册期末考试模拟卷必考题附答案
- 2026年广东省鹤山市高二化学下册期末考试模拟卷含完整答案【名校卷】
- 2026年湖北省钟祥市高二化学下册期末考试模拟考试卷带答案(预热题)
- 2026年山东省昌邑市高二化学下册期末考试模拟检测卷附完整答案(名校卷)
- 2026年浙江省瑞安市高二化学下册期末考试模拟试卷附答案【基础题】
- 2026年辽宁省凌海市高二化学下册期末考试模拟测试卷参考答案
- 2026年河北省泊头市高二化学下册期末考试模拟卷【名师系列】附答案
- 工业研学游专题报告0905
- GB/T 45953-2025供应链安全管理体系规范
- 广东省2025年中考物理真题附同步解析
- 2025年picc置管与维护临床护理实践指南
- 【真题】人教版八年级下学期期末考试数学试题(含解析)广西南宁市南宁二中初中大学区2024-2025学年
- 心理健康服务行业深度报告-压力时代的心理突围-科技赋能破局疗愈赛道-中邮证券
- DB11∕T 510-2024 公共建筑节能工程施工质量验收规程
- T/CCMA 0164-2023工程机械电气线路布局规范
- 中国近代外交史课件
- 九年级道德与法治上册 第二单元 民主与法治 第四课 建设法治中国教学设计 新人教版
- 主旋律叙事策略:影视剧创作中的价值引领与艺术表达
评论
0/150
提交评论