- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ENC28J60驅动程序说明
Enc28j60以太网芯片驱动程序简介
本介绍可分为三块内容:
1.以太网数据帧结构
符合IEEE802.3标准的以太网帧的长度是介于64-1516字节之间。主要由目标MAC地址、源MAC地址、类型/长度字段、数据有效负载、可选填充字段和循环冗余校验组成,另外在通过以太网介质发送数据包时,一个7字节的前导字段和一字节的帧起始定界符被附加到以太网数据包的开头。以太网数据包的结构如图1所示。
图1以太网数据帧结构图
ENC28J60在发送或接收数据包时由以下几点值得关注:
首先,ENC28J60具有一个接收过滤器可以丢弃或接收具有组播、广播或单播目标地址的数据包。
其次,在数据字段处:
以太网数据字段的长度可以在0-1500字节之间变换,超过这一范围的数据包是违反以太网标准的,这些包将会被大多数以太网节点丢弃。若设置ENC28J60的巨大帧使能位为1,可以发送和接收超大规格数据包。
在数据域中的填充字段??在数据字段小于46字节时起填充作用。ENC28J60在发送数据包时,会自动填充0。ENC28J60在接收时自动拒绝小于18字节的数据包。数据填充亦可由主控芯片来配置。
最后,在CRC处:
ENC28J60在接收数据包时将检查每个传入数据包的CRC,通过检测ERXFCON.CRCEN位来判断输入数据包的CRC是否正确。ENC28J60在发送数据包时,将自动生成一个有效的CRC并发送它。发送数据包的CRC亦可由主控芯片来提供。
2.驱动程序介绍
(1)ENC28J60的寄存器读写规则
由于ENC28J60芯片采用的是SPI串行接口模式,其对内部寄存器读写的规则是先发操作码前3bit+寄存器地址后5bit,再发送欲操作数据。通过不同操作码来判别操作时读寄存器(缓存区)还是写寄存器(缓冲区)或是其它。
(2)ENC28J60芯片初始化程序
ENC28J60发送和接收数据包前必须对内进行初始化设置,通常在复位后完成,不需再更改。
void enc28j60_init(void)
{
//*****Bank1区相关寄存器配置 SPI操作块 数据块
//初始化程序一开始先进行软件复位,111操作码+11111参数, N/A
// ENC28J60_SOFT_RESET=0xFF
enc28j60WriteOp(ENC28J60_SOFT_RESET, 0, ENC28J60_SOFT_RESET);
delay_ms(5);
//初始化接收缓冲区,设置接收起始地址
NextPacketPtr = RXSTART_INIT; //读下一数据包指针
enc28j60Write(ERXSTL, RXSTART_INIT0xFF);
enc28j60Write(ERXSTH, RXSTART_INIT8);
//设置接收读指针指向地址
enc28j60Write(ERXRDPTL, RXSTART_INIT0xFF);
enc28j60Write(ERXRDPTH, RXSTART_INIT8);
//设置接收缓冲区的末尾地址
// ERXND寄存器默认指向整个缓冲区的最后一个单元
enc28j60Write(ERXNDL, RXSTOP_INIT0xFF);
enc28j60Write(ERXNDH, RXSTOP_INIT8);
//设置发送缓冲区的起始地址
//ETXST寄存器默认地址是整个缓冲区的第一个单元
enc28j60Write(ETXSTL, TXSTART_INIT0xFF);
enc28j60Write(ETXSTH, TXSTART_INIT8);
//*****Bank2区相关寄存器配置
//MAC初始化配置
//MAC接收使能,下行程序段表示使能MAC接收,使能IEEE流量控制
enc28j60Write(MACON1, MACON1_MARXEN|MACON1_TXPAUS|MACON1_RXPAUS);
//MACON2清零,让MAC退出复位状态
enc28j60Write(MACON2, 0x00);
//下行程序段表示使能自动填充和自动CRC添加
enc28j60WriteOp(ENC28J60_BIT_FIELD_SET,MACON3,
MACON3_PADCFG0|MACON3_TXCRCEN|MACON3_FRMLNEN);
//enc28j60Write(MACON3, MACON3_PADCFG0|MACON3_TXCRCEN|MACON3_FRMLNEN);
//配置非背对背包之间的间隔
enc28j60Write(MAIPGL
您可能关注的文档
最近下载
- 《常见的妇科阴道炎》PPT课件ppt.pptx VIP
- 2025新疆天泽水利投资发展有限公司及所属二级企业部分岗位社会招聘30人备考题库及答案解析.docx VIP
- 2025年匹克球主题团建活动方案.pdf VIP
- 2021年中华护理学会10项团体标准成人住院患者跌倒风险评估及预防.docx VIP
- TAVI(经皮导管主动脉瓣植入术)术后护理.pptx VIP
- 《中医学概论》课程教学大纲(本科).pdf VIP
- 冷冻食品生产质量控制措施.docx VIP
- 2023年新疆水利投资控股有限公司人员招聘考试参考题库及答案解析.docx VIP
- 围墙施工方案(围墙施工方案).doc VIP
- 中职中专新生入学开学第一课教育精品(1).ppt VIP
文档评论(0)