TMS320C6713 与DM9000A 的接口
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
与实现
《电子技术应用》 //0>. 硬件纵横
4,+31,+/ 5/-6789:/
!"#$%&’*$ +,-/
与 的接口设计与实现
倪启彦# 石建波
Y电子工程学院! 安徽 合肥 5"##"Z[
摘 要! 采用 .*+,-公司的以太网控制芯片和 C*公司的 C-:"5#+7Z!"设计
了网络通信电路$
$ $
该设计适用于各种嵌入式设备以及各种信号处理设备中 为各种设备之间的
通信提供解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
给
出了 C-:"5#+7Z!"和 .-/###的接口电路和软件编程实现$ 关键词’ .:A\ 以太网\ .-/###\ C+AH*A
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
中图分类号’ CA5Z$V5 文献标识码’ 9 文章编
号! !7Z$DZZ5#F5#!![#$D##5!D#" .LN1]2 S2E 1O^RLOL2?S?1P2 PQ 12?L_QSJL L?‘LL2 C-:"5#+7Z!" S2E .-/###
a1 b1cS2U :K1 d1S2P
YTRLJ?_P21J T2]12LL_ *2N?1?3?LU @LQL1 5"##"ZU +K12S[
&*+,-*’ .LN1]2 ?KL J1_J31? SNLN ?KL ^_12J1^RL PQ ?KL .*+,-&N .-/### S2E C*&N C-:"5#+7Z!"VCK1N ELN1]2 1N QP_
IS_1P3N LOLEELE S2E N1]2SR ^_PJLNN12] Le31^OL2?NV*? SP_EN S _LNPRIL2P
JPOO321JS?1P2N L?‘LL2 Le31^OL2?NV CKL S_?1JRL ]1IL
?KL 12?L_QSJL PQ .-/### ?P .:A S2E ?KL ^_P]_SOOLV
./0 12+3’ .:A\ T?KL_2L?\ .-/###\ C+AH*A ^_P?PJPR
随着嵌入式技术和网络技术的发展及以太网的广
! "#$%%%&芯片介绍
泛应用%各种应用设备的网络化成为未来设备发展的一 是 公司推出的一款高速以太网
.-/### .*+,-
个重要方向!各种嵌入式设备已经成功渗透到生产生活
接口芯片"其基本特征是$集成 !#-6!##-物理层接口%
&!’
的各个领域"并逐渐朝着网络化#智能化的方向发展 !
内部带有 !789 :;-用作接收发送的 *,缓存%支持
以太网因其在实时操作#可靠传输#
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
统一等方面的 两种主机工作模式%通过 认证的
6!71? @A BC,D-E14
卓越性能及其便于安装#维护简单#不受通信距离限制
F支持直接互连自动翻转G 功能% 支持 C+AH*A加速F*AI$
等优点"已发展成为一种成熟的技术! 人们希望通过网
JKLJM N3O PRPSEG 减轻 +AB负担" 提高整机效能%!# 2N 络连接各种现场"协调各种设备间的工作"实现设备的 读写时间! 该电路还集成了 接口"自举时
*H, TTA;,-
网络化控制与管理! *+,-公司的 .-/###是实现网 通过 TTA;,-接口输入到芯片中" 从而实现自动初始 络通信的芯片"它占用很少的硬件资源"可以在不改变 化!在现有以太网控制器芯片中大多数速度是 !#-的" 设备其他性能的基础上给设备加入网络功能!开发一个 其传输速率慢 是成本低速度快的以太网控
U .-/###
嵌入式通信控制器不仅实现了设备上网的低成本解决 制器芯片U速度 !#-H!##-自适应! 它被设计为低功耗# 方案%同时也提升了设备信息化水平! 随着数字信息技 高处理性能U 而其操作又非常简单U 具有通用的处理器 术#网络技术和嵌入式系统的高速发展"如视频监控#远 接口 可以与多种处理器直接连接"容易完成不同系统 U
程控制#信息家电#网络摄像头都离不开嵌入式设备与 的软件驱动开发 数
据总线宽度可设置为 和
! 1? !71?"
网络的结合"嵌入式系统的以太网接口设计已成为目前
*,口支持 "V"WX"因此几乎可以和所有处理器连接! 的一个研究热点!因此嵌入式以太网接口的设计对于嵌 .-/###以太网控制器遵循 *TTT颁布的 #5V"以太网 &"’
入式网络系统的建立是十分必要的!目前"01234 操作系 传输协议 ! 芯片
内部集成 双字节静态存取存储器
$ 89 U
&5’
统己经越来越广泛地被应用于嵌入式设备 "编写 01234 自动收发转换功能使开发变得更加简单U 容易完成不 下的设备驱动程序十分有意义!
同系统的软件驱动开发!
5"
!微型机与应用" !"!!年 第 "#卷 第 $期
欢迎网上投稿 !!!"#$%$&’%$*+
《电子技术应用》 //.!
!
!
《电子技术应用》 //.
硬件纵横
*+,-.+,/ 0/123456/
有两个的地址#命令口地址 和数
! "#$%%%&芯片的硬件接口设计 :/5###6 K#04#######L
据口地址######$’$ :/5###6有多个寄存器"通过 :/5###6可以很方便地与目前主流嵌入式 ’&H以 先向命令口写寄存器地址"再向数据口写寄存器数据来 4IJD或 !EIJD的总线方式连接"本文系统的 ’&H为 ,公 配置芯片$ 数据总线 则根据数据总线的位数
司的 :*,/*"3#’EG!"K’EG!"L"它是业界流行的一款高 *:#P*:!2
性能 浮点 在 时钟主频下 其最高执 接到处理器数据总线上$收发数据也
是通过读写相应的
"3 IJD :*&M 322 /NO " 寄存器实现$
行速度可达 ! 4## /&*$ ’EG!"拥有丰富的片内资源"常 图 3和图 "分别显示了 :/5###6的读写时序"由图 用于数字处理领域"二者的接口设计如图 !$ 可知" 的读写操作与一般的异步存储器相同$ :/5###6
:/5###61&
:*&
根据芯片资料"编写读写寄存器的子函数$
*:#
*:#
网络接口
’/:
变压器
*:!2 *:!2 ;
’/:
63
’*; :6,6
’*;
;
’*;
A$2
; :
’BC8D 图 3 :/5###6读时序图
1*,
1*,
+,
+,#
’/:
11:# : ;
:
!#F! 5"8$E
11’?@
’?@ :6,6
’*
11’*
’*;
图 ! ,/*"3#’EG!"与 :/5###6的接口
图 " :/5###6写时序图
现在的设备都包含数字处理器" 可以很容
:/5###6
寄存器的读操作#
易地应用到各种设备里$由图 !可以看到",/*"3#’EG!" STC7JC :/U+:1V WXYBZ9DJZC [\J]CT JD WL#04######
与 :/5###6硬件连接简单$ 系统上电时":*&通过总线 ;TC7JC :/U:6,6 WXYBZ9DJZC [\J]CT JD WL#04#####$
配置 内部网络控制寄存器 %中断寄存器
:/5###6 K+’L
JD T^5###U_C]U_C9TX8‘9_ _C]L
K*L等"完成 :/5###6的初始化$ 随后":/5###6进入 a :/U+:1V b _C]c
数据收发等待状态$ 该电路还集成了 11&/接口"自
_CD[_ :/U :6,6c d
举时通过 11&/接口输入配置数据到芯片中"从而实 寄存器的写操作#
现自动初始化$ 数据总线 可以直接挂在处理器
*:#P*:!2 YBJT T^5###U_C]Ue_JDCX8‘9_ _C]M 8‘9_ T9D9L 的数据总线上M无需电平转换$ 如果 11’*接一个 !#F!的 a :/U +:1V b
_C]c
!!!:/U :6,6 b T9D9c d
上拉电阻" 芯片在上电时将被配置成 4 IJD数据总线模 式"此时 可以用作 $ 再加一个硬件协议 "#%%%&芯片的初始化 *:4P*:!2 %&
对 芯片的初始化"就是向相应的寄存器写
栈"可以将其用在没有处理器的设备中$ :/5###6 ’ "#%%%&芯片的操作 入期望的值"为芯片的稳定工作做好准备$ 表 !列出
各
对处理器驱动网卡芯片来说"比较关心的有以下几 寄存器的名称%地址以及赋参考值"寄存器的具体功能 个引脚#%%’/: &63’%+,%*,以及数据引脚
可以参考 :/5###6的用户
手册
华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载
$
*:#Q*:!2$ 和 是 :/5###的读写选择引脚"低
初始化中还要对 寄存器初始化
&6&!#NPP!2N’ "
电平有效"即在信号的上升沿进行读KL写KL操 &6中保存的是芯片物理地址即通常的 /6’地址"芯 作$ 为命令 数据选择引脚" 低电平时读写命令操 ’/: R
片根据网络数据与 &6中的数据比较来确定保存或丢 作"高电平时读写数据操作"将它接到处理器的地址线 弃数据$初始化后"可以通过读 寄存器来判断芯片 +’
63 上 $ 如 :/5###6 工作的基地址为 #04#######"则 是否已经连上网络$
表 !各寄存器的初始化后的值
寄存器名 %&’ %& * +* ’ ,’ -&, .’, .’ */’ 地址 #0!1 #0!. #0.1 #0#! #0#2 #0#3 #0#4 #0#5 #0#6 #03.
数值 #0#! #0## #0"7 #038 #0"5 #0## #0"7 #0"9 #077 #0##
3$ !微型机与应用" !"!!年第 "#卷第 $期
《电子技术应用》 //.《电子技术应用》 //. 硬件纵横
*+,*- .-/01234-
储位置!接收成功返回 !不成功返回 "
! "#$%%%&芯片数据的发送和接收 ! #
I?6J?; 6?7 FC6@B7EI?6J?; C*F d;7K
在传送数据封包之前 ! 需将其封包数据存放在
L
%&’###的内存中" %&’###的内部 &地址 ####*+ I?6J?; 6?7 6H 7NM
用来存放发送数据包" 用户无需关心数据存放的 #,--*
I?6J?; 6?7 77IH :?M 地址 只要向 寄存器写入数据包即可 内部数 ! &./&% !
I?6J?; C*;eM
据指针会自动更新!将 &./&%寄存器的数据依次存到 F;e W #M TT希望读取到’#!4
内部 &" 另外还需将要传送封包的大小存放在 01# 77I W #M TT数据包状态
和 寄存器中 之后再将 的 设为
234 01233 " 0/ 567# !! 数据包长度
:? W #M TT
此时芯片开始进行封包的传送" 而在传送完成后!会将 Td以上为有效数据包前的 $个状态字节 dT 传送是否成功的信息放在 089#08::中"
F;e W ;N’###OFJOF;E&/&%1KM
以下为数据发送的函数$ 为要发送的数据在处
;7
TT第一次读取!一般读取到的是 ##4
理器缓冲区的地址!:?%两个字节&为要发送的数据长 F;e W ;N’###OFJOF;E&/&%1KM
度%以字节为单位&"
TT第二次读取!总能读对 6XEF;e W #R#!K @A6; ?;B7EC*F G;7H I?6J?; 6?7 :?K
L 6XEF;ef W #R##g
LI?6J?; 6?7 6M
若第二次读取到的不是 或 则
TT #!4 ##4H
;N’###OFJOPF67 Q9&H #RS#KMTT先禁止网卡中断! 防止 表示没有初始化成功
在发送数据时被中断干扰"
L ;N’###OFJOPF67Q9&H #RS#gM
%&O 9U%V1 W &./&%M TT写命令寄存器
屏幕网卡中断
TT
XAFE6W#M 6Y:?M 6ZW[K TT!\ 567 NA;
%&’###O6?67QgMTT重新初始化
%&O%0 W ;7]6^ _ Q;7]6Z!^YYSKM ;N’###OFJOPF67Q9&H #RS!gM
;N’###OFJOPF67Q01234H Q:?‘‘SK a #R#XXKM 打开网卡中断
TT
;N’###OFJOPF67E01233H :? a #R#XXKM
b
;N’###OFJOPF67E0/H #R#!KM TT请求发送数据 F7FI? #M
;N’###OFJOPF67E9&H #RS!KM
b
TT%&’###网卡的接收中断使能
b
b
Td以上表示若接收到的第一个字节不是’#!4!则表示 数据的发送比较简单!接收相对复杂一点" %&’### !
没有数据包 返回 #dT
接收到数据包时!会存放于 %&’###接收内存的 #/##*+ 77I W ;N’###OFJOF;Q&/&%gM
中" 若是读取位置超过 时! 会自动
"---* "---* %&’###
:? W %&O%0M
将位置移到 c/##*的位置" 在每一个数据包前!会增加
6XQf Q77I a #R5X##g aa Q:? Y !h[[gg
$,存放数据包相关资料" 接收数据包时首先要读取这 L XAFQ6W#M 6Y:?M 6ZW[gTT !\ 567 NA;
个字节来确定数据包的状态 第一个字节’ 表示 $ H #!4
L 7N W %&O %0M
接下来的是有效数据包! 若为 ’##4 则表示没有数据 ;7]6^ W 7N a #R#XXM
包!若为其他值则表示网卡没有正确初始化!需要重新 ;7]6Z!^ W Q7N ‘‘ Sg a #R#XXM
初始化" 在读取其他字节之前!必需要确定第 个字节 b !
b
是否为’#!*"第 [个字节则为这个数据包的相关信息! :
其格式与 8寄存器的格式一样" 第 "和 $个字节是 L
存放这个封包的长度大小%不包括前四个字节&" F7IF? #M
如果接收到的数据包长度小于 \# ,! 则 %&’###会 b
自动为不足的字节补上 #!使其达到 \#,"同时!在接收
网络数据传输协议
’
到的数据包后 还会自动添加 个 校验字
%&’### $ //
以上完成了以太网数据包的收发!应用网络传输还 节"可以不予处理"于是!接收到的数据包的最小长度也 需要完整的网络传输协议! 协议为互联网通用协 0/2T92
会是 \$,"
议" 协议族是一整套把各种系统连接在一起并保 0/2T92
接收数据包的过程$ 读 寄存器!判断是
E!K &/&%1
]$^
证数据准确快速传输的规定和格式 "通常把 0/2T92协 否有数据包"E[K如有数据包!读 &/&%寄存器!根据数 议族抽象成为一种具有四层结构的模型i链路层#网络 据包的长度信息将整个数据包读取出来"其中第一步需 层#运输层#应用层"每层各负责一个或一系列独立的功 要做两遍!因为第一次读到的值总为 #"
能"根据各种协议的格式编写相应的数据处理函数"在 以下为数据包接收的函数$ 为接收到是数据存
;7
[h
!微型机与应用" !"!!年 第 "#卷 第 $期 欢迎网上投稿 !!!"#$%$&’%$*+ 《电子技术应用》 //.