DM9000网卡原理与基地址设置

这里写图片描述
从上面可以看出DM9000的地址总线就一根,它不像CS8900那样地址总线和数据总线都齐全。而这里只有一根地址线(CMD),16跟数据线,所以可以确定位宽为16位,而地址线为什么只有一根,这是DM9000决定的,看手册可以知道CPU总线只访问它的两个地址,CMD管脚为0时,数据线送的是DM9000的寄存器地址,CMD管脚为1时,数据线上送的是16位的寄存器数据,所以对DM9000的操作至少需要两步:先写地址,再写(读)数据。他不像其他类内存总线那样直接把数据写到地址传输一次就可以了,而他要传输两次,因为他的总线地址就退化成了类似于NAND的ALE信号,就是地址和数据的区分信号了,而不是DM9000里面操作的寄存器地址。

上面的片选信号为:nLAN_CS,链接到S3C2440的CS4,对应BANK4,所以基地址为0X20000000,网上很多人讨论为什么有的开发板基地址设置为0X20000300,这个是没有任何作用的,之前分析了,DM9000对于CPU的地址线只认识一根线,只要这根线对应的CPU传送的地址的对应位匹配就可以了,上面接到LADDR2,也就是说:

传寄存器地址的时候操作的总线地址满足:

以基地址起头(0x20000000),偏移基地址LADDR2为0(低四位:0000),也就是写的时候总线地址为:0x20000000

传寄存器数据的时候操作的总线地址满足:

以基地址起头,偏移基地址LADDR2为1 (低四位:0100),也就是写的时候总线地址为:0x20000004

所以首先满足总线地址在BANK4里面(这样CS4才能自动选中),其次满足最后四位为0(传送寄存器地址)或4(传送数据)就可以了,满足这两个条件地址随便设。

所以上面0x20000300这个多出的300H没任何意义,他满足上面条件,你设置为0x20000400,0x20000320,0x23456780这些地址都没任何影响。

上面分析知道了基地址,位宽,再简要说下中断引脚:

这里的IRQ_LAN接的是S3C2440的ENT7,用的外部中断7,这个中断用于接收数据时触发的,中断服务函数处理接收数据,向协议层上报接收数据。这个中断号要和驱动里面的对应起来。

DM9000移植的要点:

1 基地址(看CS接口)

2 CPU的寄存器设置:位宽,时序等设置

3 设置中断号(看中断接口)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

采购订单接收备注为必输项

应用 Oracle Inventory 层 Level Function 函数名 Funcgtion Name RCV_RCVRCERC 表单名 Form Name RCVRCERC 说明 Description 采购订单接收备注为必输项 条件 Condition 触发器事件 Tirgger Event WHEN-NEW-FORM-INSTANCE 触发器对象 Tirgger Object…

网络编程知识预备(3) ——SOCKET、TCP、HTTP之间的区别与联系

参考:SOCKET,TCP,HTTP之间的区别与联系 作者:丶PURSUING 发布时间: 2021-03-19 11:54:01 网址:https://blog.csdn.net/weixin_44742824/article/details/114992140?spm1001.2014.3001.5502 参考:TCP连接、Http连接与S…

debian 9 安装后的配置,debian 9 开发环境。

注意:以下命令用sudo或者以root用户进行 一.Xterm(在安装KDE桌面情况下)的配置(可以黏贴,复制): 首先在根目录下编辑文件.Xresources(没有可以创建) rootdebian:~# vim ~/.Xresources rootdebi…

mysql 左连接 怎么走索引_mysql left join查询没走索引

SELECTt0.ID as id,t0.NAME as name,t0.PHONE as phone,t0.CITY_CODE as cityCode,t0.SHOOTING_TIME as shootingTime,t0.REMARK as remark,t0.SOURCE_FROM as sourceFrom,-- 平台来源t0.REFER as refer,t0.UPDATE_TIME as updateTime,CONCAT(IFNULL(t0.SHOOTING_NAME,),t1.SHO…

嵌入式RT3070 AP模式移植

环境:ubuntu1~14.04.3 编译器:arm-none-linux-gnueabi-gcc-4.8.3 无线网卡为RT3070,驱动分为STA驱动和SoftAP驱动两种,STA驱动支持无线网卡工作在STA模式下,而SoftAP的驱动支持无线网卡工作在软AP的模式下&#xff0…

Wireshark抓包介绍和TCP三次握手分析

wireshark介绍 wireshark的官方下载网站: http://www.wireshark.org/ wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。 wireshark是开源软件,可以放心使用。 可以运行在Wind…

网络编程知识预备(4) ——了解应用层的HTTP协议与HTTPS协议

参考:简单了解HTTP协议与HTTPS协议 作者:丶PURSUING 发布时间: 2021-03-15 10:55:13 网址:https://blog.csdn.net/weixin_44742824/article/details/114807328?spm1001.2014.3001.5502 编程实现人脸识别需要基于人工智能平台&…

Django之orm查询

ORM相关 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不…

qq显示下线通知什么意思_最近时不时地收到QQ下线的通知

话说,姐妹们,你们两口子之间,有没有秘密的啊?换句话说,你们之间的所有密码,是否都共享的呢?其实吧,我们两个人之间,倒是没有什么秘密的,我们两个人的密码都是…

thttpd移植

1.官网下载http://www.acme.com/software/thttpd/ 版本thttpd-2.25b.tar.gz 2.解压 tar -zxvf thttpd-2.25b.tar.gz ./configure 4.修改makefile CC arm-none-linux-gnueabi-gcc 总共有3个makefile要改 压缩根目录包1个,cgi-src目录1个,extras目录1个 5.make 6. 拷…

有关HL7 的C# 源码

<?xml version"1.0" encoding"UTF-8"?> https://github.com/OSEHRA/mdo C# http://sourceforge.net/p/nhapi/code/HEAD/tree/NHapi20/ C#转载于:https://blog.51cto.com/muzizongheng/1333001

智能家居 (2) ——设计模式的引入

目录设计模式的概念引入工厂模式的实现animal.hmainPro.ccat.cdog.cperson.c工厂模式的功能验证往期文章设计模式的概念引入 工厂模式的实现 所有代码最好在Source Insight下编写&#xff0c;并将所有代码进行关联&#xff0c;方便读写。 animal.h #include <stdio.h>s…

Pandas CookBook -- 04选取数据子集

选取数据子集 简书大神SeanCheney的译作&#xff0c;我作了些格式调整和文章目录结构的变化&#xff0c;更适合自己阅读&#xff0c;以后翻阅是更加方便自己查找吧 import pandas as pd import numpy as np 设定最大列数和最大行数 pd.set_option(max_columns,5 , max_rows, 5)…

卷积核和全连接层的区别_「动手学计算机视觉」第十六讲:卷积神经网络之AlexNet...

前言前文详细介绍了卷积神经网络的开山之作LeNet&#xff0c;虽然近几年卷积神经网络非常热门&#xff0c;但是在LeNet出现后的十几年里&#xff0c;在目标识别领域卷积神经网络一直被传统目标识别算法(特征提取分类器)所压制&#xff0c;直到2012年AlexNet(ImageNet Classific…

vnc配置备忘录

因为我开发板上要用到Qt&#xff0c;所以我在服务器上安装了Qt的开发环境&#xff0c;为了能远程连接到服务器我安装了VNC&#xff0c; 中间也是遇到了很多问题&#xff0c;比如连接上去后&#xff0c;只显示一个控制台的窗口&#xff0c;只能使用命令行。后来几经周折才搞定先…

编程挑战:字符串的完美度

题目详情我们要给每个字母配一个1-26之间的整数&#xff0c;具体怎么分配由你决定&#xff0c;但不同字母的完美度不同&#xff0c; 而一个字符串的完美度等于它里面所有字母的完美度之和&#xff0c;且不在乎字母大小写&#xff0c;也就是说字母F和f的完美度是一样的。 现在给…

网络编程知识预备(5) ——libcurl库安装及其编程访问百度首页

本文为学习笔记&#xff0c;整合课程内容以及下列文章&#xff1a; 其中&#xff0c;libcurl函数库常用字段解读部分&#xff1a; 参考博文&#xff1a;原文地址 作者&#xff1a;冬冬他哥哥 目录Libcurl库简介Libcurl等三方库的通用编译方法三方库使用前通读方法库的配置、编…

JSP(Servlet)中从连接池获取连接

1) 建立连接。 2) 执行SQL。 3) 处理结果。 4) 释放资源。 Connection pool&#xff1a;连接池 DataSource&#xff1a; LDAP ( Light directory access protocal )轻量级目录访问协议。 JNDI ( java naming director interface ) Java 命名目录接口。 使用连接池&#xff1a; …

文件系统模拟程序python_如何使用sh实现Python虚拟文件系统

我已经建立了一个模拟操作系统的Python脚本。它有一个命令提示符和一个虚拟文件系统。我使用shelve模块来模拟文件系统&#xff0c;它是多维的&#xff0c;以便支持目录的层次结构。但是&#xff0c;我在执行“cd”命令时遇到问题。我不知道如何进出目录&#xff0c;即使我有一…

udhcpd配置及使用

udhcpd配置及使用 1. 修改/etc/udhcpd.conf 修改 interface ra0 #default: eth0 为对应网卡 解决error, Unable to open /var/lib/misc/udhcpd.leases for reading&#xff0c; 在板子上执行以下命令&#xff1a; # mkdir -p /var/lib/misc/ # touch /var/lib/misc/udhcp…