本帖最后由 lszisgood 于 2015-11-1 10:31 编辑
FRDM-K64+ENC28J60实现双以太网方案
Kinetis K64系列MCU产品基于ARM® Cortex®-M4内核,内部集成了一个具有10/100Mbsp速率的以太网MAC模块,可以通过MII或者RMII接口外接PHY提供网络连接功能。 对于需要的双网口支持的应用方案,需要外扩另一个以太网控制器。用于嵌入式系统的独立以太网控制器种类很多,有并口形式的RTL8019S,DM9000A,CS8900A等,也有SPI接口的ENC28J60等。目前市场上大部分以太网控制器的封装均超过80引 脚,而符合IEEE802.3协议的ENC28J60只有28引脚,既能提供相应的功能,又可以大大简化相关设计,减小空间。
FRDM-K64通过SPI1与ENC28J60进行硬件连接。当新数据到达、数据发送完成、错误异常等事件发生,ENC28J60通过INT中断输出脚通知FRDM-K64。
飞思卡尔MQX RTOS实时操作系统提供了完整的软件平台,帮助用户快速地开始应用级代码的开发,除了RTOS内核以外,还包含了芯片相关的板级支持包,USB协议栈,TCP/IP协议栈。
ENC28J60驱动程序源代码位于$(MQX_DIR)\mqx\source\io\enet\enc28j60目录下。
enc28j60.c – ECN28J60网络功能初始化,ENC28J60数据接收函数,当接收到数据后将查找相应的网络接口;数据发送函数接口。
enc28j60_spi.c – ENC28J60与K64硬件SPI1接口初始化,SPI读写操作函数等。
enc28j60_prv.h – ECN28J60驱动私有数据结构。
init_enet.c – 声明ENC28J60作为系统第二个网口接口。
|