基于P1C18F2455单片机的网络嵌入式系统设计与实现

更新时间:2022-11-04 17:42:56 阅读: 评论:0


2022年11月4日发
(作者:低压电工模拟考试app)

新技术新工艺2012年第7期 

2.3实现SPI通信 化的基础,其抗干扰能力与可靠性均可有所提高。 

2.2主处理器的软件设计 2.3.1 ENc28J6O的SPI时序 

2.2.1合理利用程序存储器 

要提高程序的设计质量,首先要了解处理器的 

ENC28J60能够和很多单片机的串行外设接口 

SPI直接连接,不过该器件不支持时钟极性选择,只 

体系结构。PICI8F2455的存储系统是以哈佛结构 

为基础,不仅具备8位处理器功耗低且简洁的优势, 

还具备32位处理器计算性能良好的特点,成本相对 

较低,且具备增强型的闪存程序存储器。其功能包 

支持SPI模式0,0。在空闲时,SCK的SPI端口要 

求其保持低电平,SCK的上升沿数据由SI引脚输 

入ENC芯片的内部,在其下降沿数据会进行更新, 

然后由SO引脚输出。在整个操作执行过程中,CS 

括故障保护时钟监视器、双速戾动、较高的存储器耐 

引脚要保持低电平,完成操作时再返回高电平。 

擦写能力、扩展的指令集、1O位A/D转换器以及专 2.3.2 PIC18F2455和ENC28J60引脚连接 

用的ICD/ICSP端口和增强型可寻址USART等。 P1C18F2455引脚和ENC28J60引脚相对应,其 

PIC18F2455自身具备24 KB的闪存存储器,可以 对应关系分别为:RB2对应SO;RB3对应SI;RB4 

存储12 288条指令。鉴于其存储器的容量比较大, 对应SCK;RB5对应CS。由于所有数据的发送及 

因此在设计程序时,可以进行数据结构及查找表的 

控制均由单片机来负责,其为主动方,因此编程设计 

创建。程序中创建查找表便于存储常量数据,查找 是针对PICI8F2455的I/O引脚来操作。针对 

表的实现方法包括计算GOTO以及表读写2种。 ENC28J60时序写出单片机引脚时序控制状态机图 

2.2.2数据存储器的高效寻址 如图2所示。 

在PICI8F2455器件中,通过静态RAM存储器 

实现数据存储器,共2 084字节。数据存储器要实 初态 { s需

一 

一 

现快带存取全部地址,就要具备有效的寻址机制。 

间接寻址是利用文件选择寄存器FSR作为指针,指 

完Ii 

待i 

向被读取或写入的单元,来实现其无需在指令中给 

出固定地址即可允许访问数据存储器中单元的功 

、‘ 1_,●_‘_- 能。每对FSR寄存器中包括5个额外间接操作数, 

避 一 S’C上K升_. ___-___ -一产沿生 / 、 ,  

这些额外间接操作是虚拟的寄存器,无法对它们直 图2 ENC28J60时序控制状态机图 

接进行读写,但提高了数据寻址的效率。 由于只规定SPI通信速度的上限,因此利用 

2.2.3 中断的安全处理 SPI进行通信时,编写的软件满足在选定的变通I/ 

P1C18F2455处理器具备可以提供多个中断源 

O引脚上,按照特定的顺序把数据电平或者时钟脉 

和1个中断优先级的功能,从而大部分中断源可以 冲输出即可。 

进行高低优先级的分配。高优先级中断向量的地址 

是OxO00008,低优先级的地址为0x000018。 

3网络控制器的实现 

由于高优先级中断会导致正在进行的低优先级 3.1 ENC28J60的控制和数据通信 

中断,此时可以先把控制中断的1O个寄存器中位采 

总线控制是由P1C18F2455与ENC28J60以太 

用Microchip命名,从而编译器可以自动识别指定 网控制器来实现的。ENC28J60是以太网控制器, 

寄存器中位的位置;然后精心设计中断现场保护,通 带有行业标准串行的外设接口,且是相对独立的,可 

常来讲,在中断服务程序中,只要寄存器有发生写操 

用作所有配置SPI控制器的以太网接口。外部主控 

作的可能均要保存,但是其对于现场的存储空间又 

制器利用SPI接口发出命令,以该命令为依据,进行 

提出了要求,所以高优先级中断可以将Status、 

ENC28J60的操作。这些命令通常用于访问以太网 

WREG以及BSR重要寄存器存储于快速寄存器堆 

缓冲区以及控制存储器,多为1个或者多个字节的 

栈,在应用RETFIE以及FAST指令由中断返回 指令。该指令最少包括1个3位操作码和1个5位 

时,这些值就会被重新装回其所对应的寄存器;最 

参数,参数的作用是指定寄存器地址或者数据常量。 

后,在进入中断服务程序后,中断源就能够通过查询 ENC28J6O共有7条指令,所用的操作命令代码见 

中断标志来确定。在重新允许中断之前,为防止重 表1。 

复响应该中断1周,应利用相关软件把中断标志位 

归零。 

72 l 《新技术新工艺》电子信息与自动控制 

电子信息 自动控制 

表1 ENC28J60操作命令代码集 说明 

指令命名称及其简称 字节。 字节1及后面 

操作码 参数 的字节数据 

读控制寄存器(RCR) 00O aaaaa N/A 

读缓冲器(RBM) OO1 11010 N/A 

写控制寄存器(WCR) 010 aaaaa ddddddd 

写缓冲器(WBM) O11 11010 ddddddd 

位域置1(BFS) 1OO aaaaa ddddddd 

位域清零(BFC) 1O1 aaaaa ddddddd 

下面以读缓冲器为例,说明ENC28J60的控制 

和数据通信的软件实现过程。读缓冲器命令可以让 

主控制器由SKB及接收缓冲器中读取字节。先把 

CS引脚拉至低电平以启动RBM命令;再把RBM 

操作码和随后的5位常量发送至ENC28J6O;接下 图3发送数据包结构图 

来从SO引脚中把ERDPT对应的存储器中的数据 

协议。以太网帧长度通常在64~1 518字节之间, 

移出;此时如果主控制器继续在SCK引脚提供时钟 由五六个不同的字段组成。如果利用以太网介质发 

信号,则ERDPT所对应的字节就会再次由SO引 

起数据包,1个字节的帧起始定界符以及7字节前 

脚移出。一旦ARTOINC被使用时,通过这种方法 导字段会被附加至以太网数据包的开头。而数据包 

不用多余的SPI指令就可以连续地由缓冲存储器中 在传输至以太网的主机时,其目的装置就需要通过 

顺序读取字节。 MAC地址来识别,所以在IP封包要把以太网封包 

在实现ENC28J60缓冲器RBM程序代码时, 

之前,要先获取目的装置的MAC地址,此时需采用 

可以调用SPI通信函数,P1C18F2455中所存放数据 ARP协议,其有效措施是把1个缓冲表设置在 

的缓冲区由该函数指定,因此要设置变量作为计数 

ARP的处理中。采用与LRC算法相近的方法设置 

器,以便能够保证接收数据不会超出预定数量。如 一个MAC以及IP地址映射的地址,然后再利用程 

果数据包的长度为特定时,在接收时采用这种方法 

序解析和发送ARP询问与应答的数据包。 

非常有效,它可以将冗长的数据自动忽略。 

3.2数据包的发送与接收 

5 结语 

在实现数据包的发送与接收之前,要先把数据 

因特网是社会发展中重要的基础信息设施。连 

缓冲区分为发送区与接收区,再利用二次读取法将 接嵌入式系统与因特网,可实现信息便利和低廉的 

ENC28J60所接受的数据包写入单片机的RAM 

传递,所以嵌入式系统的网络接人技术也将受到越 

中。该方法共分2步进行:1)先设置1个首读窗 来越多的关注。 

口,该窗口大小为6字节,读取该数据包的包头向量 

参考文献 

存储于PIC Bankl中,获取本数据包的长度;2) 

RBM程序中所获得的数据个数以包首部向量长度 

Eli田泽.嵌入式系统开发与应用教程EM].北京:北京航空 

大小为依据,以其为参数调用SPI通信程序就可以 

航天大学出版社,2005. 

E2]李兵建.基于嵌入式Intemet的远程电网参数实时检测 

读到该数据包到PIC Bankl中。发送数据包的结构 

系统的设计[D].江苏:江苏大学,2008. 

如图3所示。 

[3]杨恢先.单片机原理及应用I-M].长沙:国防科技大学出 

由图3可以看出,发送数据包的工作流程可以 版社,2003. 

分为4步:首先ETXST指针的编程要正确,使其指 

[4]沈红卫.单片机应用系统设计实例与分析[M].北京:北 

向存储器中的未用单元;然后通过WBMSPI命令把 

京航空航天大学出版社,2007; 

包控制字节、源MAC地址、数据有效负载以及有目 

E5]张明锋.PIC单片机入门与实战[M].北京:北京航空航 

天大学出版社,2004. 

标地址和类型长度等写入;正确编程ETXND指针, 

E6]康梅.嵌入式软件设计I-W.北京:机械工业出版社,2007. 

使其指向数据有效负载最后的1个字节;最后把 

ECONI.TXRTS位置1进行发送。 

作者简介:代礼前(1966一),男,副教授,主要从事机械电子工 

4实现网络协议栈 

程方面的研究。 

收稿日期:2012年O1月13 13 

本系统实现的最低层协议为以太网中的802.3 责任编辑 马彤 

《新技术新工艺》电子信息与自动控制 『 


本文发布于:2022-11-04 17:42:56,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/82/429216.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图