冲服是什么意思| 4月25日是什么星座| 猫为什么不怕蛇| 误喝碘伏有什么伤害吗| 眉毛里有痣代表什么| 声色什么| 什么的河水填词语| 安全期是什么时候| 猕猴桃树长什么样| 君子菜是什么蔬菜| 琉璃是什么材质| 太阳穴长痘痘什么原因| 人为什么没有尾巴| rap是什么意思| 七月十九是什么星座| 男生纹身纹什么好| 挖坑是什么意思| 吃什么养肝护肝最好| 紫苏什么味道| 务实什么意思| 人过留名雁过留声什么意思| 西安香烟有什么牌子| 头晕是什么症状引起的| nbr是什么材料| 减肥饿了可以吃什么| 肾轻度积水是什么意思| 夏天有什么水果| 花椒桂圆艾绒敷肚脐有什么作用| 神经病和精神病有什么区别| 煜这个字读什么| 榴莲什么人不适合吃| 剥苔舌是什么原因| 骨质疏松是什么原因引起的| 什么山峻岭| 什么是不饱和脂肪酸| 梦见建房子是什么预兆| 姑奶奶的老公叫什么| 河蟹吃什么食物| 移动硬盘什么牌子好| 老公的弟弟叫什么| 小饭桌是什么意思| 尿蛋白阳性是什么意思| 什么情况下需要做造影| 脚趾长痣代表什么意思| library是什么意思| 做梦梦到很多蛇是什么意思| 梦游是什么意思| 什么是白条| 免疫力是什么意思| 2002年是什么命| 兰州大学什么专业最好| 梦见头发长长了是什么意思| 狮子是什么科| 为什么乳晕会变大| 耳鼻喉科主要看什么病| 碱性磷酸酶高是什么意思| 口臭吃什么药好| 八月十五是什么节日| 积德是什么意思| 阉鸡是什么鸡| 黄瓜什么时候种| 94年是什么命| 供不应求是什么意思| 光明会到底是干什么的| 八点是什么时辰| 什么叫肝功能不全| 黑色素痣看什么科| 缓刑是什么意思还要坐牢吗| 2023年什么年| 角是什么意思| 视网膜病变有什么症状| 酉是什么意思| 最高位是什么位| 睡不着觉什么原因| 道理是什么意思| 做梦梦见狗咬我什么意思啊| 梦到蛇是什么意思周公解梦| 梦见自己头发白了是什么意思| 拔罐对身体有什么好处| ad什么时候吃最好| pet-ct检查主要检查什么| 唯小人与女子难养也什么意思| 悠哉悠哉是什么意思| 瑜伽是什么运动| prg是什么意思| 牙齿发炎吃什么药| 西凤酒属于什么香型| 本科一批和本科二批有什么区别| 腮腺炎的症状是什么| 胖子适合什么发型| otg线是什么| 身是什么结构| 星期三左眼皮跳是什么预兆| 尿ph值是什么| 脆生生的什么| 马代表什么数字| 天恩是什么意思| 纸醉金迷什么意思| 高血压吃什么助勃药好| 滴滴什么意思网络用语| eos是什么| 命中注定是什么意思| 一级亲属指的是什么| 3885是什么罩杯| 涵字取名的寓意是什么| 胃不好吃什么药| 心里难受想吐是什么原因| 大校军衔相当于什么官| 和什么相什么| 宇宙的中心是什么| 什么病属于重大疾病| 魂牵梦萦的意思是什么| 系少一撇叫什么| 西葫芦不能和什么一起吃| 伏特加是什么酒| 大姨妈血块多是什么原因| 3.8什么星座| 粘膜充血水肿什么意思| 一段奶粉和二段奶粉有什么区别| 眼皮发肿是什么原因| 驴胶补血颗粒什么时候喝最好| 左边小腹痛什么原因女| 大人发烧吃什么退烧药| 葛根长什么样子图片| 孔子的真名叫什么| 特警是干什么的| camus是什么酒| 小学生的学籍号是什么| 命大是什么意思| 葬礼穿什么衣服| 眼睛经常有眼屎是什么原因| 孩子脾胃虚弱吃什么药| 什么叫伪娘| 坐落是什么意思| 午时是什么时候| 凤眼果什么时候成熟| 灌顶是什么意思| 忌讳什么意思| 腹泻什么意思| 妈富隆是什么药| 花园里有什么花| 无什么不什么| 吃头孢为什么不能喝酒| 腮腺炎挂什么科| 台球杆什么牌子的好| 益母草长什么样| 稽留流产是什么原因| 肠胃炎可以吃什么食物| 窦炎症是什么病| 痣长什么样| 什么的森林| 苋菜与什么食物相克| 女性血热吃什么好得快| 9月14号什么星座| 口且念什么| txt是什么意思| 金酒是什么酒| 头发拉焦了有什么补救| 金牛男最烦什么女孩| 大堤是什么意思| 中午12点到1点是什么时辰| 11月16日是什么星座| 血小板是什么意思| 古力娜扎全名叫什么| 智齿什么时候拔最好| 什么是尘肺病| 捡什么废品最值钱| 小孩贫血有什么症状| 朱顶红什么时候剪叶子| 文采是什么意思| 路由器管理员密码是什么| 瘙痒是什么意思| 星期天左眼皮跳是什么预兆| 好吧是什么意思| 三天不打上房揭瓦的下一句是什么| 一天吃一个苹果有什么好处| 处女座和什么星座最配| 24属什么生肖| 茉莉龙珠是什么茶| 浮肿是什么原因引起的| 甲基苯丙胺是什么| 呆小症是缺乏什么激素| 尿素氮是什么意思| 补充蛋白质吃什么最好| 肝腹水是什么症状| 杨五行属什么| 排卵期出血是什么样的| 晚上老咳嗽是什么原因| 冠状动脉钙化什么意思| 脾肾阳虚吃什么药最好| 阴骘什么意思| 中年男人遗精是什么原因| 6.22什么星座| 咽口水喉咙痛吃什么药| 阳痿早泄用什么药| 杭州什么宽带好又便宜| 女孩当兵需要什么条件| 小腿肿胀是什么原因| 1级高血压是什么意思| 白头翁是什么| 玄牝是什么意思| 燃面为什么叫燃面| karcher是什么牌子| pbc是什么| champion什么牌子| 拉肚子去医院挂什么科| 婚检有什么项目| 烟囱是什么意思| 知乎是干什么的| zhr是什么牌子的鞋| 常吃猪油有什么好处和坏处| 追龙什么意思| 男人吃什么可以补精| nak是什么牌子| 心内科全称叫什么| 什么名字好听男生| q是什么意思| 女生男相的是什么命| 乌梅是什么水果做的| 手筋鼓起来是什么原因| 卡地亚属于什么档次| 牙龈肿了吃什么药| 妇科支原体是什么病| 静脉曲张做什么检查| 睡眠不好是什么原因| 肩周炎用什么药好| 什么是2B铅笔| 胃食管反流能吃什么水果| 夏吃姜有什么好处| 人间炼狱是什么意思| 脚心疼痛是什么原因引起的| 手指甲有月牙代表什么| 什么是数位板| 什么是淋巴结| 空调嗡嗡响是什么原因| 什么颜色招财并聚财| 胃窦炎吃什么药| 老舍的原名是什么| MD是什么| 牛肉跟什么炒好吃| ons是什么意思| 云翳是什么意思| 双侧输尿管不扩张是什么意思| 福建岩茶属于什么茶| yw是什么| 草酸钙结晶是什么意思| 小孩胃疼吃什么药好| sby是什么意思| 碘伏和络合碘有什么区别| 怀孕梦到蛇预示着什么| 西地那非是什么| sls是什么化学成分| 邮电局是干什么的| 智齿什么时候长| 四维和大排畸有什么区别| 什么的风雨| 子痫是什么意思| 心电图窦性心律是什么意思| 铁观音适合什么季节喝| 娃娃鱼吃什么食物| 心电监护pr是什么意思| 隐患是什么意思| 侄子叫我什么| 中午是什么时辰| 百度

新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 由网络协议栈芯片W3100A构成的TCP/IP处理平台

美联航又赶乘客下机 准新人因换座位被当“危险人物”

作者: 时间:2025-08-04 来源:网络 收藏
百度 有代表说,监察法将所有行使公权力的公职人员纳入监察对象,这将对保证所有公权力在正确轨道上运行起到很好促进作用。

摘要:详细介绍一种基于AT91M40800 ARM7器和的设计与实现。在概述嵌入式的前景之后,提出一种的方案,并详细分析这种的硬件模块设计、软件模块设计与实现。

关键词: AT91M40800 网络

引言

越来越多的人已经认知到后PC时代的到来,越来越多的嵌入式产品走到了现实应用的前台。嵌入式产品从出生到繁荣一直秉承着与应用紧耦合这个宗旨。过去它们基本上都是独立的工作,最多是通过485、CAN总线之类的互相交换信息;但随着信息时代的信息大爆炸的到来,这些简单的传递内部少量信息的方案已经不能够能很地满足实现的市场需求,越来越多的嵌入式产品有了与Internet互连、进入互联网这个浩瀚的信息库的要求。嵌入式Internet技术是一种将嵌入式设备接入Internet的技术。利用该技术可将Internet从PC机延伸到8位、16位、32位单片机,并实现基于Internet的远程数据采集、远程控制、自动报警、上传/下载数据文件、自动发送E-mail等功能,大大扩展Intenrt的应用范围和嵌入式产品触及的领域。为此本人提出一种基于芯处的网络处理开发平台的方案,并予以实现。

1 嵌入式网络处理平台方案的介绍

目前,国内外嵌入式网络处理平台基本上是采用软件来实现TCP/IP栈。这种方案在大批量生产时,具有成本低的优点。因为用软件设计的TCP/IP栈,是一次投次多次使用;但这种方案开发周期比较长,对开发人员的要求高,要求对操作系统和TCP/IP协议都要有一定程度的熟悉,并且高档MCU和RTOS的价格也很高。为此本人提出了一种直接利用TCP/IP协议栈的实现方案。它由W3100A、RTL8201、AT91M40800组成,如图1所示。这种方案,尽管在大批量生产时成本高,因为每个智能设备都要嵌入TCP/IP协议栈芯片;但是在非大批量生产时个有设计简单、灵活的特点,因为不需要实时操作系统的支持,并且在本人给出的各种工具和芯片厂商提供的函数库的支持下可以实现上一种方案能实现的绝大部分功能。

2 W3100A的介绍

W3100A是TCP/IP协议芯片。它有如下特点:首先,自带TCP/IP协议栈(如TCP、UDP、Ipver.4、ICMP、ARP、DLC、MAC协议);其次,能同时支持四个独立的连接通道,具有高速传输速率,同时,具有与MCU和物理层电路接口。虽然数据手册中只提取了Intel和Motorola的MCU,但是经过笔者的实际证明,W3100A对Atmel的AT91M400800也能很好的支持。W3100A还提供了Socket应用程序编程接口,为那种需要进行因特网连接的智能设备,提供了一种简便、廉价、高效的方案。其功能框图如图2所示。

W3100A的寄存器分成四类:①与控制寄存器相关的命令、状态和中断寄存器;②设置网关地址、子网掩码、源IP地址、源硬件地址和超时变量的关系寄存器;③管理发送和接收数据的指针寄存器;④控制每个通道操作的通道寄存器。

W3100A的0X4000~0X5FFF为发送数据缓冲区,该缓冲区只能写不能读;0X6000~0X7FFF为接收数据缓冲区,只能读不能写。

W3100A与MCU的接口包括直接总线模式、非直接总线模式和I2C接口模式。第1种是15根地址线全部与MCU相连;第2种只要0、1两根地址线与MCU相连,2、3地址线接高电平,剩下的地址线全部接地;第3种方式是把W3100A当作I2C设备来使用,其中8~14地址用来提供I2C设备的地址。这里使用了第2种方式与MCU相连。其中这些模式的选择由MODE0、MODE1、MODE2三个引脚的电位所决定。

3 硬件电路设计

如图1所法,本电路主要由基于ARM7的AT91M40800、W3100A、RTL8201来实现网络的功能,但是本系统设计的目的是实现一个嵌入式TCP/IP网络开发平台,以便使工程师把精力从大量的底层细节开发转移到面向应用的层面上来,所以硬件电路外扩了SDRAM、Flash、LED、KEYBARD、RS232等接口电路。其中Flash、SDRAM、W3100A分别占用CS0、CS1、CS2三个地址空间。LED、KEYBARD共占用CS4一个地址空间。SDRAM使用了16位数据线的方式,Flash、W3100A都使用了8位数据线的方式。AT91M40800接口电路如图3所示。SDRAM、Flash都提供了较大的剩余空间,以便将来用户在其上开发自己的用户程序。其中Flash片选线为NCS0,8位数据总线宽度,初始化程序将其基地址定位在0x01000000,地址范围是0x01000000~0x011FFFFF。系统使用了2片SDRAM,其片选线为NCS1,再使用SN74HC139D分别进行片选,初始化程序将其基地址定位在0x02000000,地址范围是0x02000000~0x02FFFFFF。除此以外,AT91M40800还有8KB的内部RAM,32位数据总线宽度,在初始化结束后,重射定位在0x00000000。

W3100A片选线为NCS3,8位数据总线宽度,初始化程序将其基地址定位在0x0300000,其硬件连接如图4所示。由于采用了第二种接入方式,只需用到四个地址寄存器地址,且偏移量分别为0x0c、0x0d、0x0e、0x0f,所以其地址范围为0x0300000C~0x0300000F。W3100A与主MCU的通信采用中断方式,其INT引脚接到AT91M40800的P9/IRQ0的引脚,以实现中断触发。其中W3100A与AT91M40800分别进行复位,以便分别调试。

图3

为了便于用户在平台上开发自己的应用程序,本人在平台上面实现了初始化和调试程序代码。系统提供了两个DB-9插头,分别连接到AT91M40800的UART0和UART1:一个用于与笔者的调试程序实现通信,一个用于用户其它调试应用。在系统上还使用了一个拨码开关,以便用户执行自己的应用程序和对Flash进行编程保护,。

其中拨码开关的1、2脚分别接高、低电平并且与AT91M40800的P23脚相连,以决定MCU初始化后执行程序的起始地址;3、4脚分别接高电平和AT91M40800的NWR0/NWR引脚,并且与Flash的写使能脚相连,以决定Flash是否可编程。

4 软件模块设计

本系统中软件主要包括三大部分:AT91M40800的初始化代码、监控程序的目标板与PC平台的实现、Flash的编程实现。

4.1 AT91M40800的初始化模块

在这个模块里,主要以目标板的硬件设计为基础,实现MCU的寄存器初始化、异常向量表的初始化、异常处理程序和各种处理器模式下的堆栈的分配并实现重映射。然后,把系统运行权交给监控程序或者是用户的应用程序(由拨码开关来实现)。其中寄存器初始化既包括ARM7核内的寄存器的初始化,也包括AT91M40800芯片内外围寄存器的初始化,具体的有R15、EBL_CS0、EBL_CS1、EBL_CS2、EBL_CS3、AIC_SVR0、PIO_IDR、PIO_PDR、US_CR等。这里的代码部分全部是用ARM的指令集来实现。为了增加源程序的可读性、可移植性,将寄存器的地址和数据全部重定义命名,如addr_SVR8 EQU 0x0202000,CODE_SVR8 EQU 0x01010000,CODE_SVR8_END EQU 0x01011000。

4.2 监控程序的实现

监控程序可以实现以下几个功能:显示处理器各状态下寄存器的值,修改指定地址的SDRAM、FlashROM中的内容,查看指定地址的存储器中的内容,将用户编写的代码下载到目标板指不定期地址的SDRAM、FlashROM中,从指定地址开始执行用户代码,支持用户设置的软件中断。

监控程序包括两部分:一是运行在目标板上的程序,二是运行在PC机上的应用程序。目标板上的程序实现与PC机上程序的交互操作,并按照PC机上程序的指令要求来完成读写寄存器、SDRAM、Flash和执行指定地址的代码程序。这段代码也是用ARM指令集来实现的,它与PC机的交互是使用指定ASCII码字符的方式来实现的。比如,按下PC机上的Memory按钮以后,PC机将发送一个V字符,这些信息将以ASCII码的方式通过串口发送到目标机上。当目标板上的监控程序收到V字符后,马上跳转到Memory标号段,在这段程序中回应一个OK。PC机收到OK后,就发送地址信息,目标板上的监控程序收到地址后紧接着就处理相应的要求。PC机端的应用程序是使用VB开发环境来实现的,其界面如图5所示。它提供给用户一个交互的界面。这样开发工具给那些没有昂贵的ARM仿真器的用户提供了一个较为简便的调试方法。

4.3 Flash的编程实现

Flash的编程作为一个独立的代码部分与调试程序代码部分协同工作,使用C语言来实现,并最终与前两个部分链部到一起。它主要由以下几个部分组成:Flash编程模块void Program(void);擦除整个Flash芯片Void EraseAll(void);擦除扇区void EraseSector(void);擦除一个扇区int OneSectorErase(ulong targetAddr);空字节检查int BlankCheck(ulong targetAddr,ulong targetSize);编程结果校验int Verification(ulong targetAddr,ulong limit,ulong srcAddr);等待延时int Wait(ulong tAddr).其中擦除与编程操作利用AM291V160D的指令字就可以完成。空字节检查是读出Flash中的数据并且与0xFF比较得到结果。编程结果校验是在编程结束后调用的函数,它是通过读出Flash当中的数据与源数据相比较的方法来实现的,以确保编程结果正确。由于擦除操作与编程操作需要一定的时间,为了保证擦除与编程操作的正确性和判断它们所处的阶段,一般Flash芯片都提供三种判断方法:一是应用引脚电平方式,二是采用TOGGLE位的方式,三是采用POLLING位的方式。这里在等待延时程序中采用TOGGLE位和超时判断位DQ5相结合的方式来实现判断擦除编程操作的具体状态。具体的判断算法流程可以参考AM291V160D的数据手册。

4.4 函数库的支持

用户在开发自己的应用程序时,还有两个强大的函数库可以利用:一个是Atmel公司提供的AT91M开发库(在Atmel公司的主页上可以下载),另一个是Wiznet公司提供的W3100A的API函数(可在Wiznet公司的主页下载)。

结语

用户在采用此系统以后,可以免除对大量实时操作系统和底层TCP/IP协议细节的了解。应用本人提供的底层软件、工具和芯片厂商提供的开发库,将能够灵活、快速地实现自己的嵌入式上网方案和应用。此方案为加快用户的产品上市提供了一个不可多得的平台。

tcp/ip相关文章:tcp/ip是什么




评论


相关推荐

技术专区

关闭
渣男最怕什么样的女人 隅读什么 7月9日是什么星座 榴莲不可以和什么食物一起吃 牛肉馅配什么菜包饺子好吃
尿频尿急吃什么药比较好 喝醋有什么作用与功效 肠炎吃什么药好得快 盆腔积液是什么症状表现 什么拜之交
lining是什么意思 94年什么生肖 什么是医疗器械 恶露是什么 牙根发黑是什么原因
原则性问题是什么意思 为什么减肥一直减不下来 6点是什么时辰 小妾是什么意思 每天喝柠檬水有什么好处
人乳头瘤病毒是什么hcv9jop6ns5r.cn 胰腺炎吃什么药hcv7jop5ns6r.cn 苡字取名寓意是什么hcv9jop4ns2r.cn 尿液有隐血是什么情况hcv8jop6ns0r.cn 胡萝卜炒什么hcv7jop7ns0r.cn
血糖高的人应该吃什么食物最好mmeoe.com 中气是什么意思wuhaiwuya.com 阿莫西林是治什么的cl108k.com 丈夫的弟弟叫什么hcv8jop2ns5r.cn 阴山是今天的什么地方hcv9jop3ns1r.cn
市公安局政委是什么级别hcv9jop6ns5r.cn 梦到人死了是什么意思hcv9jop2ns8r.cn 变色龙吃什么食物hcv8jop5ns3r.cn 遗精吃什么药最好hcv9jop1ns9r.cn mi是什么单位hcv9jop6ns4r.cn
干咳吃什么药好的快hcv9jop4ns4r.cn 孕妇吃什么对胎儿好hcv9jop2ns9r.cn 百合花什么颜色hcv9jop7ns2r.cn 皮肤软组织感染是什么意思hcv8jop4ns3r.cn 什么是伪娘hcv9jop7ns2r.cn
百度