X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
嵌入式系统
请问rtl8309如何控制其PHY寄存器
king315
2010-6-23 22:27
楼主
RTL8309的资料好少,我在网络上有找到通过SMI接口协议来操作寄存器的,能通过主芯片和8309之间的I2C来进行通信,然后控制寄存器吗?
点赞
回复评论 (3)
沙发
zhengyusun
通过SMI来操作寄存器的代码如下:但我是想通过I2C来操作
unsigned int Read8309(unsigned int phyad,unsigned int regad)
{
unsigned char i;
unsigned int tmp=0;
unsigned int idata OutData=0;
for(i=0;i<32;i++)//send preamble,32 1
{
SMI_1();
}
{//01 //send start
SMI_0();
SMI_1();
}
{//10 //opcode
SMI_1();
SMI_0();
}
//PHYAD
for(i=0;i<5;i++)
{
if(phyad&0x10)
SMI_1();
else
SMI_0();//0
phyad<<=1;
}
for(i=0;i<5;i++)//send reg address
{
if(regad&0x10)
SMI_1();
else
SMI_0();//0
regad<<=1;
}
{//10 //send turn around
SMI_1();
SMI_0();
}
OutData=0;
for(i = 0; i < 16; i++)
{
MDC=1;
OutData=(OutData<<1);
if(MDIO==1) OutData|=1;
MDC=0;
}
return OutData;
}
void Write8309(unsigned int phyad,unsigned int regad,unsigned int regvalue)
{
unsigned char i;
unsigned int tmp=0;
unsigned int InData=0;
for(i=0;i<32;i++)//send preamble,32 1
{
SMI_1();
}
{//01 //send start
SMI_0();
SMI_1();
}
{//10 //opcode
SMI_0();
SMI_1();
}
//PHYAD
for(i=0;i<5;i++)
{
if(phyad&0x10)
SMI_1();
else
SMI_0();//0
phyad<<=1;
}
for(i=0;i<5;i++)//send reg address
{
if(regad&0x10)
SMI_1();
else
SMI_0();//0
regad<<=1;
}
{//10 //send turn around
SMI_1();
SMI_0();
}
for(i = 0; i < 16; i ++)
{
if(regvalue&0x8000)
SMI_1();
else
SMI_0();//0
regvalue<<=1;
}
}
点赞
2010-6-23 22:32
板凳
hudao499
我也在找资料,高人
点赞
2011-6-13 21:39
4楼
decade_0809
看到您以前的一个关于RTL8309的帖子,请问您知道如何将配置数据放到外部24c02么?代码大概是怎样编写?
点赞
2015-7-5 09:38
最新活动
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
TI 有奖直播 | 使用基于 Arm 的 AM6xA 处理器设计智能化楼宇
Follow me第二季第3期来啦!与得捷一起解锁高性能开发板【EK-RA6M5】超能力!
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
随便看看
今年大四要做一个基于单片机的电子万年历的设计论文 那位高手能帮下
自激振荡分析与解决
基于Windows CE的嵌入式导航软件设计与实现.pdf
有没有人用ACTEL 的FPGA哦
初次接触模拟电路,有没有常用的增益带宽积和底噪好的运放,用来代替5532
基于fpga时间精度的测量
TEC 控制器常见问题解答
如何用Tina看频谱呢?
德州仪器:C553x超低功耗DSP突破2美元DSP最低价格屏障
【Atmel SAM R21创意大赛周计划】+场景遥控增加OLED功能程序
谁能给说一个替代27C512 的EEPROM?
电阻电容里的寄生电感值哪里可以查得到?
看视频,读资料,参与PI答题有惊喜!
求温度采集模块的设计
STM32奇怪问题之PWM与UART1打架
怎么查看WIN CE的注册表?
一种基于DSP的中文语音合成系统设计
公司急聘 兼职(3000元/月,日结)适合在校在家
Pocket pc 2003 中文显示的问题
晒WEBENCH设计的过程 + 高通滤波器设计
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复