C11L05 TCP 在您的 PIC 设计中应用 TCP/IP 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 1
课程目标 阐述基于以太网技术的 TCP/IP 基本理论 探究针对基于以太网设计的 TCP/IP, Microchip 相应的 MCU 解决方案 通过参加 Microchip 技术精英年会 ( MASTERs ) 和 RTC 培训课程找出适当的方法 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 2
课程安排 介绍 TCP/IP 标准的协议和选项 根据系统要求选择正确的 MCU 和相关的开发工具 资源 培训和总结 可选的演示 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 3
介绍 TCP/IP 标准的协议和选项 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 4
为什么选择以太网? 它是使用最广泛的网络 普遍熟悉 办公室 家庭和工业楼宇 已建成的大型基础设施 互用性 开放性标准 利用现有的协议 利用现有的软件 浏览器, 邮件客户端等 广泛支持的网络社区 自动化系统管理 可选的展开协议 低延迟性 实时 远程传输 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 5
网络可升级 设备便宜 自动配置 互联网 为什么选择基于以太网的 TCP/IP? 采用相同的标准, 相同的协议 标准被称为请求注解 (RFC) 交叉平台 Windows Mac Linux 方便向无线网络移植 WiFi 802.11 与以太网互用 相同的标准, 相同的协议 仅替代 MAC/PHY 层 安全套接层 (SSL) 确保安全性 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 6
嵌入整个 PC! 成本更高, 浪费 产生更多的失效机制 : 风扇和光盘 适配器和模块 可用于多端口设计 无需固件研发 TCP/IP- 以太网的实现备选方案 :PC 模块或嵌入式? 对于早期产品的投产是非常好的解决方案 不能采用黑盒特性, 也没有扩展的功能 通常限制于串行至 USB 转换 嵌入式 MCU 对于单端口或端口少的解决方案来说, 成本更低 最少的固件研发 系统更小 可向现有的 MCU 添加闪存固件 可在多个 MCU 产品系列间升级 S/W 协议栈 在同一个器件内可集成其他嵌入式模块 USB 图形控制器 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 7
什么是以太网? 宽带网络技术 通过 IEEE RFC 流程符合 IEEE 802.3 协议 定义为 IEEE 多层通信标准 自动协调不同的速率 10 Mbps 100 Mbps 1 Gbps 和更快 标准的寻址 MAC 针对每个节点设置独一无二的地址 需要一个 OEM 的组织惟一标识符 (OUI) 可从 IEEE 购买 http://standards.ieee.org/regauth/oui/index.shtml 4K/16M 地址的价格分别为 $550/$1,650 美元 MCU 通过固件 EEPROM 或预编程进行配置 部件便宜且线缆 (CAT5+) 是现在最为常用的 采用星形拓扑结构用双绞线连接 RJ-45 连接器 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 8
MAC 地址 MAC 地址 与硬件相关 6 个字节 :00:04:A3:00:12:34 仅限于 IEEE 802. 网络 以太网 WiFi 等 仅在本地网络中使用 IEEE 以模块的形式出售 在全球范围内独一无二 US$550 / 4096 pcs 或 US$1650 / 16M pcs 2010 Microchip Technology Incorporated 版权所有 TCP/IP: Designing a Monitor C11L05 TCP and Control Device Slide 9
IP 地址 互联网协议 (IP) 地址 由软件分配 (DHCP 或手动 ) 四个字节用作点地址 :192.168.1.100 新版本 (IPv6) 将有 128 位 全球范围内都可以连接 由区域权威部门进行管理 通常由 ISP 提供 某些地址分配给私人网络 192.168.* 10.*, 169.254.* 和 172.16.* 在防火墙和 / 或路由器之后 2010 Microchip Technology Incorporated 版权所有 TCP/IP: Designing a Monitor C11L05 TCP and Control Device Slide 10
网络地址转换 32 位地址空间还不够 NAT 提供一对多路由 可在许多设备间共享一个全球 IP 路由器 / 网关实现所有对外输出的连接 可以端口转发输入连接 同时确保安全性 2010 Microchip Technology Incorporated. All Rights Reserved. TCP/IP: Designing a Monitor 1445 TCP2and Control Device Slide 11
地址解析协议 (ARP) 1 为什么在以太网中源主机 A 要向目的主机 B 发送数据, 除目的主机 B 的 IP 地址外, 源主机 A 还必须要知道目的主机 B 的 MAC 地址? 2 主机 A 如何通过主机 B 的 IP 地址解析得到主机 B 的 MAC 地址? 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 12
地址解析协议 (ARP) IP 地址只是主机在网络层中的地址, 若要将网络层中 传送的数据包交给目的主机, 必须知道该主机的物理地址 10.0.0.2 10.0.0.1 MAC 地址 :00ef00010203 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 13
地址解析协议 (ARP) 我需要 1 0.0.0.1 的以太网地址 收到广播, 这是我的以太网地址! 10.0.0.2 10.0.0.1 IP :10.0.0.1 =??? Ethernet=:0010:0020:0030 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 14
动态主机配置协议 (DHCP) DHCP 动态主机配置协议 提供静态和动态地址分配 建立物理地址和 IP 地址的绑定 使用 UDP 协议 Microchip 协议栈可以自动调用 DHCP 为其分配 IP 地址 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 15
动态主机配置协议 (DHCP) 1. DHCP 是用于给网络中各种设备分配网络配置的协议 2. 在 TCP/IP 网络上, 网络中的网络设备都需要配置 IP 地址 网络掩码 网关地址 DNS 服务器地址等信息才能使用网络 可以使用 DHCP 服务来完成这样的要求 3. DHCP 服务还可以解决 IP 地址不足的问题 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 16
域名系统 (DNS) 为什么要用域名系统 IP 与域名地址两者相互对应, 而且保持全网统一 这是一种分层的管理模式, 域名用文字表达比用数字表示的 IP 地址容易记忆 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 17
域名解析过程 DNS 客户向本地的 DNS 服务器发出个查询请求 如果该 DNS 本身具有客户想要查询的数据, 则直接返回给客户, 如果没有, 则该服务器和其他域名服务器联系, 从其他服务器上获取信息, 然后返回给用户 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 18
基本的网络拓扑结构 一个网络可能包括 : 计算机 打印机 网络设施设备 集线器 交换机 路由器 嵌入式器件 IP 电话 同一网络上采用相同线缆类型的所有节点以相同的速度运行吗? 大多数情况下采用相同的 CAT5+ 线缆 无线网络也普遍应用,IEEE 802.11 802.15 等 所有节点都能以不同的速度运行 是否有以太网线缆最大长度限制? 有, 任何单根以太网线缆应不超过 100 米 但可通过集线器 交换机或路由器延长, 所以实际上长度是没有限制的 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 19
以太网硬件 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 20
基本的以太网集线器 (Hub) 原始节点扩展设备 最初仅为 10 Mbps, 现在为 10/100 Mbps 集线器是一种有效的电气中继器 数据从一个端口进入, 并被发送到所有其他端口 没有流量过滤或只能网关应用于数据传输 这会导致低流量 对研发来说, 应用仍过于简单 中继器在监视网络流量时非常有用 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 21
基本的以太网交换机 最为常用的设备 通常用于本地网络 能提供 10/100 Mbps, 涵盖 10/100/1000 Mbps 交换机能智能地对流量进行过滤, 以降低流量 保存哪些节点连接至哪个端口的列表 自动检测终端器件的速率 存储和转送机制先在一个端口上缓冲数据, 然后转发给其他端口 在一个端口上以 10 Mbps 的速度接收数据, 在另一个端口上以 100/1000 Mbps 的速度将数据发送至目标 ( 反之亦然 ) 通过端口映射, 也对开发有用 允许端口映射至另一个端口, 进行监视 / 检测 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 22
基本的以太网路由器 将网络连接起来 LAN 网段到 LAN 网段 LAN 到 WAN 互联网 创建 路由选择表 进行 IP 地址的智能转换, 从而实现高效数据路由 ADSL 路由器或家庭用网关将基于以太网的 IP 转换为基于线缆或 DSL 的 IP 使所有以太网端的器件看起来像单个器件 使用网络地址转换 (NAT) 对互联网和本地网络间的地址进行转换 路由器在 IP 地址层工作 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 23
需要应用层吗? ( 在固件中选择的选项 ) HTTP SMTP Telnet SNMP SSL Bootload DDNS TCP/UDP 网络服务器为网页服务, 并用来处理网络表单输入 电子邮件客户端发送电子邮件或 SMS 报文 命令行接口服务器允许简单的基于文本的监视和控制 简单的网络管理协议服务器具有企业监视控制能力 安全套接层对不信任的网络进行通信加密 TFTP 系统启动加载器 ( Bootloader) 远程更新嵌入式固件 动态域名客户服务端相关主机以动态地址命名 普通数据传输从服务器找回数据, 或向客户端提供数据 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 24
防火墙和路由器 可供选择的配置 : 服务器还是客户端? 阻止大多数的传入流量 允许大多数的传出流量 Internet 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 25
服务器 服务器还是客户端 ( 续 ) 侦听远程节点的连接 总是开启, 总是等待 固定的单元或地址 客户端 与远程节点连接 偶尔处于活动状态 事件驱动 未知的单元或地址 这两种方案都会产生流量 不同之处在于谁启动了连接 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 26
套接字 套接字 通信传输 ; 与某一端口有关 在单个端口上可以有多个套接字 2010 Microchip Technology Incorporated. All Rights Reserved. TCP/IP: Designing a Monitor 1445 TCP2and Control Device Slide 27
选择一个协议 HTTP SMTP Telnet SNMP TCP/UDP SSL 网络服务器为网页服务, 且处理网络表单输入 电子邮件客户端发送电子邮件或或 SMS 报文 命令行接口服务器允许简单的基于文本的监视和控制 简单的网络管理协议服务器具有企业监视 / 控制能力 普通数据传输建立您自己的协议! 安全套接层对两个节点间的流量进行加密 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 28
与线缆的物理连接理想的图表 隔离变压器 终端 共模电感 RX TX 发送器 接收器 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 29
物理连接 : 外部元件表示例 :ENC28J60 25 MHz, 50 ppm 晶振 RJ-45 Jack 网络变压器模块 采用的型号带集成的磁件 请参见 ENC28J60 数据手册中的规范 无源元器件 ~11 个电阻 ~10 个电容 1 个铁氧体磁环 电源为 3.3V,200 ma 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 30
选择正确的 MCU 和相关的开发工具 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 31
以太网硬件 : 集成的 MCU 和以太网控制器 PIC18F97J60 系列 PIC18 8 位 MCU, 带集成的 10 Mbps MAC + PHY 3.3V,64-128K 闪存,3.8 kb + 8 kb 缓冲 RAM( 存储器映射 ) 64 80 或 100 引脚 TQFP 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 32
以太网硬件 : 独立的以太网控制器 PIC MCU 以太网控制器 ( 显示了 SPI 接口 ) 连接器和磁件 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 33
ENC28J60 以太网硬件 : 10 Mbps 独立控制器 独立的 10 Mbps 以太网控制器 集成了 MAC + PHY + 8 kb SRAM 3.3V,20 MHz SPI 接口 28 引脚 SOIC SSOP QFN 和 SPDIP 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 34
以太网硬件 : 10BaseT/100BaseTx 独立的 ENC624J600 独立的 10/100 Mbps 控制器 集成了 MAC + PHY + 24 kb SRAM 3.3V,SPI 或 8/16 并行接口 44 引脚 TQFP 和 QFN,64 引脚 TQFP 预编程 MAC 地址 针对 SSL 的硬件加密加压引擎 RSA DHE MD5 和 SHA-1 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 35
固件支持 TCP/IP 协议栈 硬件仅产生信号 仍需要 : 找到其他的节点和地址 发送数据到指定的节点 管理传入和传出数据包 与其他软件进行通信 固件选项 : 针对 PIC18F PIC24 dspic 和 PIC32MX 的 Microchip TCP/IP 协议栈 PIC32MX 带 BSD 套接字 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 36
提供 C 源代码 免费的许可协议 固件支持 TCP/IP 协议栈 ( 续 ) 使用 Microchip PIC MCU 或 dspic DSC 针对 ENC28J60 & ENC624J600 子集的驱动器 下载地址 : www.microchip.com/tcpip PIC18 PIC24 dspic DSC 和 PIC32 RTOS 独立且模块化 多个套接字连接和传输 示例项目 配置和网页用法 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 37
包含了什么? NBNS SNTP DNS DHCP SNMP Telnet SMTP HTTP 应用 UDP ICMP TCP 传输 IP 以太网 MAC/PHY( 硅 ) ARP 寻址 物理 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 38
为编译产生源文件 为开发添加独一无二的 MAC 地址 允许选择协议栈特性选项 指定 HTTP 文件的大小和位置 协议栈的用法 : TCP/IP 配置向导 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 39
协议栈的使用 : 网页文件生成和 Bootloader 将 HTML 文件转换为图片, 从而为网页服务 为随后进行的编译产生源文件 Web Pages MPFS2 Utility Your Embedded Application CustomHTTPApp.c (HTTPPrint.h) (MPFSImg2.c) MPLAB IDE Using EEPROM? no yes EEPROM MCU Internal Flash Program Memory 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 40
安全套接层 SSL 提供的 SSL 模块带协议栈 >v4.55 要求加密的程序单独提供, 需要购买 www.microchipdirect.com SW300052 下载或使用 CD 遵守出口条例 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 41
分配 MAC 地址 25AA02E48 串行 EEPROM EUI-64 Compliant Also 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 42
Microchip 开发工具 PICDEM.net 2 开发板 (DM163024 ) PIC18F97J60 ENC28J60 以太网 PICtail 开发板 (AC164121) PICDEM HPC Explorer (DM183022) PIC18 Explorer (DM183032) 以太网 PICtail Plus 开发板 (AC164123) Explorer 16(DM240001) PIC24 dspic DSC 和 PIC32 PIMs 串行 EEPROM 存储器 开发板 :DV243003 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 43
资源 培训和总结 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 44
www.microchip.com/tcpip 固件协议栈下载 应用示例下载 参考文档 网络研讨会 许可证应用 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 45
第三方工具 CMX-MicroNet 可选的 TCP/IP 协议栈 (www.cmx.com/microchip) 当使用带非 PIC MCU 的 ENCxx 时非常有用 TCPmaker 直观地产生网络管理接口代码 www.tracesystemsinc.com EZ Web Lynx 针对现有应用的以太网模块 模拟 数字和串行 I/O 引脚 www.ezweblynx.com Wireshark 协议嗅探器 www.wireshark.com 其他 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 46
获得帮助 Microchip TCP/IP 协议栈帮助 与 TCP/IP 协议栈一起提供 在您的 Windows 开始菜单中 Microchip 论坛 http://forum.microchip.com 直接提问 http://support.microchip.com 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 47
发布在网上的应用笔记 AN724: Using PIC MCUs to Connect to Internet via PPP AN731: Embedding PIC Microcontrollers in the Internet AN833: Microchip TCP/IP Stack AN870: An SNMP Agent for the Microchip TCP/IP Stack AN1108: Microchip TCP/IP Stack with BSD Socket API (PIC32MX) AN1120: Ethernet Theory of Operation AN1128: TCP/IP Networking: Internet Radio Using OLED Display and MP3 Audio Decoder 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 48
Microchip 区域培训中心 (RTC) 全球的网络培训机构 分别面向产品 工具和应用的课程 ( 以太网 USB 以及电机控制等 ) 灵活的 大多数课程需要半天或一天的时间 可以非常容易地进行修改以满足特定的客户需求 有成本效益的 大多数的课程只向参与者象征性地收取一定费用 在购买开发工具时能获得非常优惠的折扣 许多培训中心降低了出差费用 TCP/IP 的特定课程 COM4201/1446: 设计嵌入式 TCP/IP 监视和控制 COM43xx: 附加的将来要进行的课程 示例 : 基于 TCP 的高级 HTTP EMAIL/SMS 的发送 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 49
总结 证明基于以太网的 TCP/IP 是您进行设计的理想选择 介绍基于以太网规范的 TCP/IP 为您的应用选择最佳的 PIC MCU 订购开发板或演示板 确定 RTC 课程的培训并注册 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 50
可选的演示 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 51
演示 1 远程监视和控制 基于文本的 Telnet 图形化的 HTTP 交叉平台! 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 52
演示 2 连接串行端口至以太网桥 等待连接 转发 : 向串行端口传入以太网数据 向远程节点传入串行数据 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 53
演示 3 以太网 TCP 服务器 TCP 客户端 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 54
感谢您的参与! 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 55
商标 Microchip 的名称和徽标组合 Microchip 徽标 dspic KeeLoq KeeLoq 徽标 MPLAB PIC PICmicro PICSTART PIC 32 徽标 rfpic 和 UNI/O 均为 Microchip Technology Incorporated 在美国和其他国家或地区的注册商标 FilterLab Hampshire HI-TECH C Linear Active Thermistor MXDEV MXLAB SEEVAL 和 The Embedded Control Solutions Company 均为 Microchip Technology Incorporated 在美国的注册商标 Analog-for-the-Digital Age Application Maestro CodeGuard dspicdem dspicdem.net dspicworks dsspeak ECAN ECONOMONITOR FanSense HI-TIDE In-Circuit Serial Programming ICSP Mindi MiWi MPASM MPLAB Certified 徽标 MPLIB MPLINK mtouch Omniscient Code Generation PICC PICC-18 PICDEM PICDEM.net PICkit PICtail REAL ICE rflab Select Mode Total Endurance TSHARC UniWinDriver WiperLock 和 ZENA 均为 Microchip Technology Incorporated 在美国和其他国家或地区的商标 SQTP 是 Microchip Technology Incorporated 在美国的服务标记 在此提及的所有其他商标均为各持有公司所有 2010,Microchip Technology Incorporated 版权所有 2010 Microchip Technology Incorporated 版权所有 C11L05 TCP Slide 56