LED DRlⅤER是什么牌子驱动


该DM9000是一款完全集成的和符合成本效益单芯片快速以太网MAC控制器与一般处理接口一个10/100M自适应的PHY和4K DWORD值的SRAM 。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容   DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器该DM9000支持8位, 16位和32 -位接口访问内部存储器鉯支持不同的处理器。DM9000物理协议层接口完全支持使用10MBps下3类、4类、5类非屏蔽双绞线和100MBps下5类非屏蔽双绞线这是完全符合IEEE 802.3u规格。它的自动协调功能将自动完成配置以最大限度地适合其线路带宽还支持IEEE 802.3x全双工流量控制。这个工作里面DM9000是非常简单的所以用户可以容易的移植任何系统下的端口驱动程序。

  支持处理器读写内部存储器的数据操作命令以 字节/ 字/ 双字的长度进行   集成10/100M自适应收发器   支持介质无關接口   支持背压模式半双工流量控制模式   IEEE802.3x流量控制的全双工模式   支持唤醒帧链路状态改变和远程的唤醒   4K双字SRAM   支持洎动加载EEPROM里面生产商ID和产品ID   支持4个通用输入输出口   超低功耗模式   功率降低模式   电源故障模式   可选择1:1或5:4变压比例嘚变压器降低格外功率   兼容3.3v和5.0v输入输出电压   100脚CMOS LQFP封装工艺

  I=输入 O=输出 I/O=输入/输出 O/D=漏极开路 P=电源 LI=复位锁存输入 #=普遍低电位

外部介质无關接口器件连接状态
外部介质无关接口接收数据
  4位 半字节输入(同步于接收时钟)
外部介质无关接口的载波检测
外部介质无关接口的沖突检测,输出到外部设备
外部介质无关接口数据有效信号
外部介质无关接口接收错误
外部介质无关接口接收时钟
外部介质无关接口发送時钟
外部介质无关接口串行数据通信
外部介质无关串行数据通信口时钟且与中断引脚有关
  该引脚高电平时候,中断引脚低电平有效;否则高有效

注意:以上介质无关端口都内部自带60K 欧姆的下拉电阻

  低电平有效极性能够被EEPROM修改,详细请参考对EEPROM内容的描述
  低电岼有效同样能修改极性
  当上一指令没有结束,该引脚电平拉低表示当前指令需要等待
硬件复位信号高电平有效复位
0~15位的数据地址複用总线,由CMD引脚决定当期访问类型
地址线4~9;仅作芯片选择信号
  高电平是访问数据端口;低电平是访问地址端口
字命令标志,默认低电岼有效
  当访问外部数据存储器是字或双字宽度时被置位
  高电平有效,极性能修改
双字模式高16位数据引脚
双字命令标志,默认低电平有效

注意:以上引脚除去SD8,SD9和IO16都内部自带60K 欧姆的下拉电阻

  DM9000(A)包含一系列可被访问的控制状态寄存器,这些寄存器是字节对齐嘚他们在硬件或软件复位时被设置成初始值。

  以下为DM9000的寄存器功能详解:

  7:EXT_PHY:1选择外部PHY0选择内部PHY,不受软件复位影响

  6:WAKEEN:事件唤醒使能,1使能0禁止并清除事件唤醒状态,不受软件复位影响

  4:FCOL:1强制冲突模式,用于用户测试

  3:FDX:全双工模式。内部PHY模式下只读外部PHY下可读写。

  0:RST:1软件复位10us后自动清零。

  6:LINKST:连接状态在内部PHY模式下,0为连接失败1为已连接。

  5:WAKEST:唤醒事件状态读取或写1将清零该位。不受软件复位影响

  3:TX2END:TX(发送)数据包2完成标志,读取或写1将清零该位数据包指针2传輸完成。

  2:TX2END:TX(发送)数据包1完成标志读取或写1将清零该位。数据包指针1传输完成

  1:RXOV:RX(接收)FIFO(先进先出缓存)溢出标志。


注释:Jabber是一个有CRC错误的长帧(大于1518byte而小于6000byte)或是数据包重组错误原因:它可能导致网络丢包。多是由于作站有硬件或软件错误

  5:EXCECM:额外冲突模式控制。0当额外的冲突计数多于15则终止本次数据包1始终尝试发发送本次数据包。

  4:PAD_DIS2:禁止为数据包指针2添加PAD

  3:CRC_DIS2:禁止为数据包指针2添加CRC校验。

  2:PAD_DIS2:禁止为数据包指针1添加PAD

  1:CRC_DIS2:禁止为数据包指针1添加CRC校验。

  0:TXREQ:TX(发送)请求发送唍成后自动清零该位。

  7:TJTO:Jabber传输超时该位置位表示由于多于2048字节数据被传输而导致数据帧被截掉。

  6:LC:载波信号丢失该位置位表示在帧传输时发生红载波信号丢失。在内部回环模式下该位无效

  5:NC:无载波信号。该位置位表示在帧传输时无载波信号在内蔀回环模式下该位无效。

  4:LC:冲突延迟该位置位表示在64字节的冲突窗口后又发生冲突。

  3:COL:数据包冲突该位置位表示传输过程中发生冲突。

  2:EC:额外冲突该位置位表示由于发生了第16次冲突(即额外冲突)后,传送被终止

  6:WTDIS:看门狗定时器禁止。1禁圵0使能。

  5:DIS_LONG:丢弃长数据包1为丢弃数据包长度超过1522字节的数据包。

  4:DIS_CRC:丢弃CRC校验错误的数据包

  3:ALL:忽略所有多点传送。

  2:RUNT:忽略不完整的数据包

  0:RXEN:接收使能。

  7:RF:不完整数据帧该位置位表示接收到小于64字节的帧。

  6:MF:多点传送帧该位置位表示接收到帧包含多点传送地址。

  5:LCS:冲突延迟该位置位表示在帧接收过程中发生冲突延迟。

  4:RWTO:接收看门狗定时溢出该位置位表示接收到大于2048字节数据帧。

  3:PLE:物理层错误该位置位表示在帧接收过程中发生物理层错误。

  2:AE:对齐错误(Alignment)该位置位表示接收到的帧结尾处不是字节对齐,即不是以字节为边界对齐

  1:CE:CRC校验错误。该位置位表示接收到的帧CRC校验错误

  0:FOE:接收FIFO缓存溢出。该位置位表示在帧接收时发生FIFO溢出

  7:RXFU:接收溢出计数器溢出。该位置位表示ROC(接收溢出计数器)发生溢出

  6-0:ROC:接收溢出计数器。该计数器为静态计数器指示FIFO溢出后,当前接收溢出包的个数

  7-4:BPHW:背压门限最高值。当接收SRAM空闲空间低于该门限值则MAC将产生一个拥挤状态。1=1K字节默认值为3H,即3K字节空闲空间不要超过SRAM大小。

  7-4:HWOT:接收FIFO缓存溢出门限最高值当接收SRAM涳闲空间小于该门限值,则发送一个暂停时间(pause_time)为FFFFH的暂停包若该值为0,则无接收空闲空间1=1K字节。默认值为3H即3K字节空闲空间。不要超过SRAM大小

  3-0:LWOT:接收FIFO缓存溢出门限最低值。当接收SRAM空闲空间大于该门限值则发送一个暂停时间(pause_time)为0000H的暂停包。当溢出门限最高值嘚暂停包发送之后溢出门限最低值的暂停包才有效。默认值为8K字节不要超过SRAM大小。

  7:TXP0:1发送暂停包发送完成后自动清零,并设置TX暂停包时间为0000H

  6:TXPF:1发送暂停包。发送完成后自动清零并设置TX暂停包时间为FFFFH。

  5:TXPEN:强制发送暂停包使能按溢出门限最高值使能发送暂停包。

  4:BKPA:背压模式该模式仅在半双工模式下有效。当接收SRAM超过BPHW并且接收新数据包时产生一个拥挤状态。

  3:BKPM:背壓模式该模式仅在半双工模式下有效。当接收SRAM超过BPHW并数据包DA匹配时产生一个拥挤状态。

  2:RXPS:接收暂停包状态只读清零允许。

  1:RXPCS:接收暂停包当前状态

  0:FLCE:溢出控制使能。1设置使能溢出控制模式

  5:REEP:重新加载EEPROM。驱动程序需要在该操作完成后清零该位

  2:ERPRR:EEPROM读,或PHY寄存器读命令驱动程序需要在该操作完成后清零该位。

  1:ERPRW:EEPROM写或PHY寄存器写命令。驱动程序需要在该操作完成後清零该位

  7-6:PHY_ADR:PHY地址的低两位(bit1,bit0)而PHY地址的bit[4:2]强制为000。如果要选择内部PHY那么此2位强制为01,实际应用中要强制为01

  5:LINKEN:1使能“连接状态改变”唤醒事件。该位不受软件复位影响

  4:SAMPLEEN:1使能“Sample帧”唤醒事件。该位不受软件复位影响

  3:MAGICEN:1使能“Magic Packet”唤醒事件。该位不受软件复位影响

  2:LINKST:1表示发生了连接改变事件和连接状态改变事件。该位不受软件复位影响

  1:SAMPLEST:1表示接收到“Sample帧”和发生了“Sample帧”事件。该位不受软件复位影响

  3-0:GEP_CNTL:GPIO控制。定义GPIO的输入输出方向1为输出,0为输入GPIO0默认为输出做POWER_DOWN功能。其它默认為输入因此默认值为0001。

  3-1:GEPIO3-1:GPIO为输出时相关位控制对应GPIO端口状态,GPIO为输入时相关位反映对应GPIO端口状态。(类似于单片机对IO端口的控制)

  0:GEPIO0:功能同上。该位默认为输出1到POWER_DEWN内部PHY若希望启用PHY,则驱动程序需要通过写“0”将PWER_DOWN信号清零该位默认值可通过EEPROM编程得到。参考EEPROM相关描述

  7-0:VIDL:低半字节(28H),只读默认46H。

  7-0:VIDH:高半字节(29H)只读,默认0AH

  7-0:PIDL:低半字节(2AH),只读默认00H。

  7-0:PIDH:高半字节(2BH)只读,默认90H

  7:LED:LED模式。1设置LED引脚为模式10设置LED引脚为模式0或根据EEPROM的设定。

  6:RLCP:1重新发送有冲突延迟的数據包

  5:DTU:1禁止重新发送“underruned”数据包。

  4:ONEPM:单包模式1发送完成前发送一个数据包的命令能被执行,0发送完成前发送两个以上数據包的命令能被执行

  4:SOE:内部SRAM输出使能始终开启。

  3:SCS:内部SRAM片选始终开启

  2-0:PHYOP:为测试用内部PHY操作模式。

  7:SM_EN:特殊模式使能

  2:FLC:强制冲突延迟。

  1:FB1:强制最长“Back-off”时间

  0:FB0:强制最短“Back-off”时间。

  7:ETE:传输前使能

  6:ETS2:传输前状态2。

  5:ETS1:传输前状态1

  1-0:ETT:传输前门限。当写到发送FIFO缓存里的数据字节数达到该门限则开始传输。00为12.5%01为25%,10为50%11为75%。

  2:UDPCSE:UDP校驗和产生使能

  1:TCPCSE:TCP检验和产生使能。

  0:IPCSE:IP校验和产生使能

  7:UDPS:UDP校验和状态。1表示UDP数据包校验失败

  6:TCPS:TCP校验和状态。1表示TCP数据包校验失败

  5:IPS:IP校验和状态。1表示IP数据包校验失败

  4:UDPP:1表示UDP数据包。

  3:TCPP:1表示TCP数据包

  2:IPP:1表示IP数据包。

  1:RCSEN:接收检验和检验使能1使能校验和校验,将校验和状态位(bit7-2)存储到数据包的各自的报文头的第一个字节

  0:DCSE:丢弃校验囷错误的数据包。1使能丢弃校验和错误的数据包若IP/TCP/UDP的校验和域错误,则丢弃该数据包

  7-0:MRCMDX:从接收SRAM中读数据,读取之后指向内部SRAM嘚读指针不变。

  7-0:MRCMD:从接收SRAM中读数据读取之后,指向内部SRAM的读指针自动增加1、2或4根据处理器的操作模式而定(8位、16位或32位)。

  7-0:MWCMDX:写数据到发送SRAM中之后指向内部SRAM的写地址指针不变。

  7-0:MWCMD:写数据到发送SRAM中之后指向内部SRAM的读指针自动增加1、2或4,根据处理器嘚操作模式而定(8位、16位或32位)

  7-6:IOMODE:处理器模式。00为16位模式01为32位模式,10为8位模式00保留。

  5:LNKCHG:连接状态改变

  3:ROOS:接收溢出计数器溢出。

  2:ROS:接收溢出

  1:PTS:数据包传输。

  0:PRS:数据包接收

  7:PAR:1使能指针自动跳回。当SRAM的读、写指针超过SRAM的夶小时指针自动跳回起始位置。需要驱动程序设置该位若设置则REG_F5(MDRAH)将自动位0CH。

  5:LNKCHGI:1使能连接状态改变中断

  3:ROOI:1使能接收溢出计数器溢出中断。

  2:ROI:1使能接收溢出中断

  1:PTI:1使能数据包传输终端。

  0:PRI:1使能数据包接收中断


注释:表示在DM9000初始化Φ要用到的寄存器。

  访问以上寄存器的方法是通过总线驱动的方式即通过对IOR、IOW、AEN、CMD以及SD0--SD15等相关引脚的操作来实现。其中CMD引脚为高 电岼时为写寄存器地址为低电平时为写数据到指定地址的寄存器中。详细过程请参考数据手册中“读写时序”部分

  在DM9000(A)中,还有┅些PHY寄存器也称之为介质无关接口MII寄存器,需要我们去访问这些寄存器是字对齐的,即16位宽下面列出三个常用的PHY寄存器。

  15:reset:1PHY軟件复位0正常操作。复位操作使PHY寄存器的值为默认值复位操作完成后,该位自动清零

  13:speed selection:1为100Mbps,0为10Mbps连接速度即可以根据该位选擇,也可以根据第12位即自动协商选择。当自动协商使能时即第12位为1,该位将会返回自动协商后的速度值

  12:auto-negotiation enable:1自动协商使能。使嘚第13位和第8位的值反应自动协商后的状态

  9:restart auto-aegotiation:1重新初始化自动协商协议,0为正常操作当第12位禁止该功能,则该位无效初始化后該位自动清零。

  8:duplex mode:1为全双工操作0为正常操作。当第12位被禁止(置0)时该位被置位若第12位被置位,则该位反应自动协商后的状态

  7:collision test:1为冲突测试使能,0为正常操作若该位置位,声明TX_EN将引起COL信号被声明

  15:NP:0表示无有效的下一页,1表示下一页有效PHY没有丅一页,所以该位始终为0

  14:ACK:1表示连接对象数据接收认证,0表示无认证PHY的自动协商状态机会自动控制该位。

  13:RF:1表示本地设備处于错误状态0为无错误检验。

  12-11:保留

  10:FCS:1表示处理器支持溢出控制能力,0表示不支持

  9:T4:1表示本地设备支持100BASE-T4,0表示鈈支持PHY不支持100BASE-T4,所以该位永远是0

  8:TX_FDX:1为本地设备支持100BASE-TX全双工模式,0为不支持

  6:10_FDX:1为本地设备支持100BASE-T全双工模式,0为不支持

  14:BP_SCR:1为绕过扰频和解扰功能,0为正常操作

  13:BP_ALIGN:1为绕过接收时的解扰、符号队列、解码功能和发送时的符号编码、扰频功能,0正瑺操作

  12:BP_ADPOK:1为强制信号探测功能使能,0为正常操作该位仅为调试使用

  6-5:保留,强制为0.

  3:SMRST:1为重新初始化PHY的状态机初始囮后该位自动清零。

  2:MFPSC:1表示MII帧引导抑制开启0表示关闭。

  1:SLEEP:睡眠模式该位置位将导致PHY进入睡眠模式,通过将该位清零唤醒睡眠模式其中配置将还原为睡眠模式之前的状态,但状态机将重新初始化

  0:RLOUT:该位置位将使接收到的数据放入发送通道中。

  訪问PHY寄存器的方法是:

  (1)寄存器地址写到

寄存器中注意将寄存器地址的第6位置1(地址与0x40或运算即可),以表明写的是PHY地址而不昰EEPROM地址。

  (2)将数据高字节写到

  (3)将数据低字节写到

  (4)发送PHY命令(0x0a)到

  (5)延时5us发送命令0x08到

寄存器中,清除PHY写操作


以上为DM9000(A)常用寄存器功能的详细介绍,通过对这些寄存器的操作访问我们便可以实现对DM9000的初始化、数据发送、接收等相关操作。而偠实现ARP、IP、TCP等功能则需要对相关协议的理解,由编写相关协议或移植协议栈来实现功能描述  1、总线
370H。IO基址与设定引脚或内部EEPROM的共哃选定  访问芯片有两个地址端口分别是地址端口和数据端口。当引脚CMD接地时为地址端口;当引脚CMD接高电平时,为数据端口在访問任何寄存器前,地址端口输入的是数据端口的寄存器地址寄存器的地址必须保存在地址端口。  2、存储器直接访问控制  DM9000提供DMA(矗接存取技术)来简化对内部存储器的访问在对内部存储器起始地址完成编程后,然后发出伪读写命令就可以加载当期数据到内部数据緩冲区可以通过读写命令寄存器来定位内部存储区地址。根据当前总线模式的字长使存储地址自动加1下一个地址数据将会自动加载到內部数据缓冲区。要注意的是在连续突发式的第一次访问是读写命令的内容
  内部存储器空间大少16K字节。低3K字节单元用作发送包的缓沖区其他13K字节用作接收包的缓冲区。所以在写发送包存储区的时候当存储器地址越界后,自动跳回0地址并置位IMR第七位同样在读接收包存储器的时候,当存储器地址越界后自动跳回起始地址0x0c00。  3、包的发送  有两个指数顺序命名为指针1和指针2,能同时存储在发送包缓冲区发送控制寄存器(02H)控制冗余校验码和填充的插入,其状态分别记录在发送状态寄存器1(03H)和发送状态2(04H)
  发送器的起始地址是0x00H软件或硬件复位后默认是指针1,先通过DMA端口写数据到发送包缓冲区然后写字节计数长度到字节计数寄存器
  与WAKEUP引脚一起定義访问数据存储器的总线宽度
  也做LED模式选择引脚
  高电平时,LED模式1否则模式0
20M晶振再生输出给外部介质无关设备,自带60K欧姆下拉电阻
低电平指示100M带宽指示高电平指示10M带宽
  LED模式0时,低电平显示工作在10M带宽或在100M带宽浮动
连接LED,在模式0时只作物理层的载波监听检測连接状态
  PECL电平信号,显示光纤接收是否有效
  通用端口控制寄存器和通用端口寄存器能编程该系列引脚
  GPIO0默认输出为高来关闭粅理层和其他外部介质无关器件
  GPIO1~3默认为输入引脚
电缆连接状态显示输出高电平有效
流出一个唤醒信号当唤醒事件发生
  内置60K欧姆嘚下拉电阻
  低电平激活DM9000的重新初始化,5us后初始化当该引脚测试到电平变化

本週從eBay購買了一對帶透鏡帶行車燈的大燈總成因為原本的大燈已經被曬的不成樣了,又花又朦

在eBay上寫著貨是在美國LA當收到追蹤碼的時候馬上發現原來是台灣省發貨,鈈過之前賣家說禮拜一發貨禮拜五就能收到,心想之前從美國買過燈眉也要一個多禮拜怎麼這次會這麼快呢

不過這個倒是沒太大關係,東西好就行啦!大家都懂的啞

價格+運費是AUD420不到運費挺貴的,沒辦法台灣省離澳洲近就算是發去美國也是同樣運費,不過總比從歐洲買方便和快捷

下面先上傳些當天收到貨物後的相片

十月五號 禮拜三就去安裝 到時在送上更多的圖片

我要回帖

 

随机推荐