基于以太网和DTMF编解码的远程家居控制器
以太网硬件结构图
2.单元功能模块电路
2.1 PHY芯片DP83848I的自适应以太网通信接口设计
DP83848I是工业温度单端口的10/100 Mb / s以太网物理层收发器,25MHz时钟输出,智能降功耗模式。可为系统提供稳定可靠的优质网络解决方案,为工厂企业及其他恶劣的操作环境下,支持实时传输的以太网,符合IEEE 802.3u的技术标准
以太网接口设计如下:

图 3.3-2 DP83848I以太网接口设计
2.3 TCP/IP协议栈
由于该嵌入式 Web 服务器硬件结构简单,硬件资源,特别是系统程序存储空间容量有限,所以我们在该系统中采用了精简 TCP/IP 协议栈,系统在应用层实现了HTTP 超文本传输协议,在传输层采用 TCP 协议,在网络层实现 IP 协议,同时还实现能报告数据传送差错等情况的 ICMP 协议。以太网数据的传输采用 MAC 地址来识别,而ARP协议提供 IP 地址和数据链路层使用的MAC地址之间的转换功能,为了保证系统在以太网的通信,实现了ARP协议。

本设计中的精简 TCP/IP 协议具有同 TCP/IP 协议一样的四层结构,各层实现的功能如下:
①链路层。设计中通过以太网接入到 Internet,因此物理层和数据链路层要符合以太网的 IEEE802.3 标准。ENC28J60向上层软件提供与硬件无关的接口,最终完成了数据在以太网中的接收和发送。因此,设计中物理层与数据链路层的设计是通过 ENC28J60硬件和驱动程序共同实现的。
②网络层实现了 ARP协议、ICMP协议和 IP协议。ARP是地址解析协议,具体处理过程是当接收到 ARP数据包,处理器就查看 IP地址是请求还是响应。如果是响应,则将响应中的网卡地址存到 ARP 高速缓存表中;如果是请求,处理器将返回自己的网卡物理地址给对方。ICMP 是调试响应 PING 的请求,检测网路是否通顺。依照系统实际应用的要求,IP协议只需实现对数据报传送和接收,无须实现路由选择算法和差错控制,同时也不需支持IP数据报的分片和重组。
③传输层实现 TCP 协议。TCP 协议是面向连接的、端对端的可靠通信协议。设计中采取了 TCP 连接的建立与关闭机制、超时重传机制、数据包确认机制、流量控制机制来保证
它的可靠性。在超时重传机制中,如果超时重传定时器溢出后还没有收到确认,则重传该数据包,并复位重传定时器。为简单起见,程序里每次只发送一个 TCP 数据包,然后等待它的确认,只有收到确认后才会继续发送下面的 TCP 数据包。在本设计,程序重传的间隔时间是固定的,没有采用 TCP 协议中的标准算法,当达到一定的次数后,发送方还没有收到确认,则会放弃该包的发送并关闭 TCP 连接。TCP 的流量控制是为了协调通信双方的收发速率不均衡而设计的。设计中考虑到系统在使用 TCP协议时,只设置了一个中等 IP包大小接收缓存,因此接收窗口恒定设为 1024。这样远端主机就会以较慢的传输速率与本端的 Web服务器进行通信,不会导致死机。
④应用层实现了 HTTP 协议。HTTP 是在 Web 服务器和浏览器之间通信的协议。为了简化,设计中采用固定的 HTTP报文头封装 HTTP应答数据报文。在响应 HTTP 请求时,由于以太网数据包的数据部分不能超过 1500 字节,因此当发送数据超过 1500 字节,需要分组发送。
四.操作系统的选择--FreeRTOS
FreeRTOS是一款可移植的、开放源代码的微型实时内核 ,它免费下载、免版税,并可用于商业应用。为多种不同的处理器架构和开发工具提供移植包。 每个官方移植包都包含一个配置好的应用范例,用来展示内核特性,加快学习进程,并允许"开箱即用(out of the box)"式的开发。活跃的用户社区能够提供免费技术支持。而商业支持则随全面的开发服务一起提供。
1. freeRTOS的特性
FreeRTOS是一种专为小型嵌入式系统设计的,可扩展的实时内核。亮点在于:
(1)免费RTOS内核- 占先式、协作式和混合式配置选项.
(2)SafeRTOS衍生产品,高信任度的代码完整性.
(3)设计遵循 小型,简单,易用.
(4)易于移植的代码结构,绝大部分使用C语言编写.
(5)同时支持 任务(tasks)和协程(co-routines).
(6)强大的 运行跟踪(execution trace) 功能.
(7)堆栈溢出检测 选项.
(8)软件不限制可创建任务数量.
(9)软件不限制可用优先级数量.
(10)优先级分配无限制 – 多个任务可指定为同一优先级.
(11)队列,二进制信号量,计数信号量,递归信号量和互斥量,用于任务之间、或任务和中断之间的通信和同步.
(12)Mutexes with priority inheritance.
(13)自由的开发工具 (Cortex-M3,
- 以太网温湿度传感器选型经验(02-06)
- 基于MODBUS总线的选矿计量网络监控系统开发(11-26)
- 基于以太网的远程数据采集系统(09-15)
